Python Yahoo数据Feed

时间:2017-04-18 22:07:19

标签: python

以下代码是从Quandl接收数据并且工作正常。我的问题是我不知道如何从雅虎而不是Quandl检索数据。是否有人可以告诉我如何在Yahoo数据源中使用相同的代码。它可以是任何乐器。最好的将是SPY etf。

import numpy as np
import pandas as pd
import quandl
import matplotlib.pyplot as plt

sp500_daily = quandl.get("CHRIS/CME_ES1",
                     start_date="2000-1-1",
                     end_date="2017-4-15")
sp500_daily.columns=['Open', 'High', 'Low', 'Close',
                 'Change', 'Settle', 'Volume',
                 'Open Interest']

multiplier = 50

# close[0] <= close[9] &&
# low[0] <= low[1] &&
# low[3] <= high[6] &&
# volume[0] <= volume[1]
 signal = ((sp500_daily.Close <= sp500_daily.shift(9).Close) &
      (sp500_daily.Low <= sp500_daily.shift(1).Low) &
      (sp500_daily.shift(3).Low <= sp500_daily.shift(6).High) &
      (sp500_daily.Volume <= sp500_daily.shift(1).Volume))
# hold time 1 day
profits = (signal * multiplier * (sp500_daily.shift(-1).Close - 
sp500_daily.Close))
returns = (signal * (-1 + sp500_daily.shift(-1).Close / sp500_daily.Close))

profits.cumsum().plot()
plt.show()

2 个答案:

答案 0 :(得分:1)

好像你可以使用yahoo finance api:https://pypi.python.org/pypi/yahoo-finance

我没有亲自使用它,但上面的链接似乎提供了很好的使用示例。

答案 1 :(得分:1)

您可以使用pandas_datareader(以前称为pandas.io)。

例如:

import pandas_datareader.data as web
import datetime


start = datetime.datetime(2010, 1, 1)
end = datetime.datetime.today()

f = web.DataReader("^GSPC", 'yahoo', start, end)

print (f.tail())

查看他们的网站了解更多信息: https://pandas-datareader.readthedocs.io/en/latest/ pandas_datareader还支持谷歌财务,FRED等等。