Python Yahoo数据源

2024-04-25 05:05:26 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码正在从Quandl接收数据,工作正常。我的问题是我不知道如何从yahoo而不是Quandl检索数据。有没有人可以告诉我如何使用雅虎数据源相同的代码。它可以是任何仪器。最好的将是间谍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()

Tags: 代码importclosedatesignalshiftasplt
2条回答

似乎可以使用yahoo财经api:https://pypi.python.org/pypi/yahoo-finance

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

您可以使用datareader(以前称为熊猫.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/ datareader还支持GoogleFinance、FRED等。你知道吗

相关问题 更多 >