我正在Pycharm社区版2017.3.3中运行此代码,它可以完美运行。但是,当我尝试从命令行运行它时,会得到:
”从iexfinance导入get_historical_data ModuleNotFoundError没有名为iexfinance的模块”
有什么想法吗?你可以猜到我真的! Python的新手。
<code>
from iexfinance import get_historical_data
from bokeh.plotting import figure, show, output_file
from bokeh.models.annotations import Title
from datetime import datetime
import pandas as pd
import matplotlib as plt
from datetime import date
from dateutil import parser
from datetime import datetime
import time
from math import pi
from pykalman import KalmanFilter
#This works in pycharm community but not from Command Line
ticker=input("Ticker: ")
start_date=input("Start Date: ")
end_date = input("End Date: ")
start_date = pd.to_datetime(start_date)
end_date = pd.to_datetime(end_date)
#Get rid of nsepy will use Quandl instead
df = get_historical_data(ticker, start=start_date, end=end_date, output_format='pandas')
#Show it
print(df)
kf = KalmanFilter(transition_matrices = [1],
observation_matrices = [1],
initial_state_mean = df['close'].values[0],
initial_state_covariance = 1,
observation_covariance=1,
transition_covariance=.01)
state_means,_ = kf.filter(df[['close']].values)
state_means = state_means.flatten()
df["date"] = pd.to_datetime(df.index)
mids = (df.open + df.close)/2
spans = abs(df.close-df.open)
inc = df.close > df.open
dec = df.open > df.close
w = 12*60*60*1000
TOOLS = "pan,wheel_zoom,box_zoom,reset,save"
p = figure(x_axis_type="datetime", tools=TOOLS, plot_width=1000, toolbar_location="left",y_axis_label = "Price",
x_axis_label = "Date")
p.segment(df.date, df.high, df.date, df.low, color="black")
p.rect(df.date[inc], mids[inc], w, spans[inc], fill_color='green', line_color="green")
p.rect(df.date[dec], mids[dec], w, spans[dec], fill_color='red', line_color="red")
p.line(df.date,state_means,line_width=1,line_color = 'blue',legend="Kalman filter")
t = Title()
t.text = 'Kalman Filter Estimation'
p.title = t
p.xaxis.major_label_orientation = pi/4
p.grid.grid_line_alpha=0.3
#Needed this
output_file(ticker + ".html")
show(p)
</code>
答案 0 :(得分:1)
您需要安装该软件包。您可以使用“ pip install iexfinance”
答案 1 :(得分:0)
我认为该软件包已更新。现在您应该这样使用:
从iexfinance.stocks导入get_historical_data
我从以下来源找到它: https://addisonlynch.github.io/iexfinance/stable/usage.html?highlight=get_historical_data
快乐编码