【发布时间】:2018-07-27 12:42:52
【问题描述】:
我在 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>
【问题讨论】:
-
哼...你安装包
iexfinance了吗? -
是的,我用 easy_install 试过了,它安装了它,但仍然出现同样的错误。在 IDE 之外。我认为这与版本有关,也许我有 Python 2.7 和 3.6?打算尝试摆脱一个...
-
如果你运行
pip install iexfinance,命令行会给你什么?