【问题标题】:Using Yahoo Finance API for Minute Data?使用 Yahoo Finance API 获取分钟数据?
【发布时间】:2015-10-20 02:48:25
【问题描述】:

我发现 Yahoo Finance Chart API 包含纽约证券交易所证券的每分钟数据。

这是一个例子:

http://chartapi.finance.yahoo.com/instrument/1.0/GOOG/chartdata;type=quote;range=1d/csv

我正在尝试将这些数据导入我的 Python 回测平台。我不太确定如何使用这个 API,也没有找到太多的文档。

将数据导入我的程序的最佳方式是什么?我考虑过使用 BeautifulSoup 和 Mechanize 进行抓取,但我也不太确定我会怎么做。

我希望至少对过去 5 年的策略进行回测。

【问题讨论】:

  • 如果在没有 Yahoo API 的情况下有其他 API 或方法可以做到这一点,我也很想听听建议!
  • API for stock price?的可能重复
  • 对于 API 的历史股票价格,以及一般的 API,请尝试 ProgrammableWeb。 programmableweb.com/news/…

标签: python api yahoo-finance


【解决方案1】:

您想使用库来处理 http 交换。我更喜欢requests

import requests

url='http://chartapi.finance.yahoo.com/instrument/1.0/GOOG/chartdata;type=quote;range=1d/csv'
response = requests.get(url)
response_body = response.content
data = response_body.split('\n')
# Timestamp, close, high, low, open, volume in data[11]
summary = data[12:17]
interval_data = data[17:]

您可以使用interval_data_fields = interval_data.split(',') 以逗号分隔行,但您最好学习使用python csv 库以备不时之需;否则,当您想要的某些数据出现在包含引号逗号的 CSV 文件中时会发生什么?

对于 API 的历史股票价格,以及一般的 API,请尝试ProgrammableWeb

【讨论】:

    【解决方案2】:

    不幸的是,雅虎决定移除他们的 API。为此,您可以在代码中将 stock_price_url 更改为以下内容:

    stock_price_url = 'https://pythonprogramming.net/yahoo_finance_replacement'

    仅支持 AAPL。如果您有自己的源代码,请随意调整代码以适应它,或者您可以查看 pandas 以提取数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 2021-10-07
      • 2021-10-30
      相关资源
      最近更新 更多