奇怪的是“ModuleNotFoundError没有名为iexfinance的模块”

问题描述 投票:1回答:2

我在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>
python pycharm
2个回答
1
投票

您需要安装该软件包。你可以使用'pip install iexfinance'


1
投票

该包已更新。导入功能如下:

from iexfinance.stocks import get_historical_data

我发现它在usage examplesiexfinance documentation

© www.soinside.com 2019 - 2024. All rights reserved.