用雅虎财经将商品读入python

时间:2017-01-23 03:23:58

标签: python yahoo finance

我正在使用雅虎财经将股票数据读入python。它适用于股票,但它会给商品带来错误。

以下代码完美无缺:

click

但是,如果您将句柄更改为商品而非股票,则会出现此错误:

import pandas as pd
import numpy as np
import pandas.io.data as web
import datetime

# We will look at stock prices over the past year, starting at January 1, 2016
start = datetime.datetime(2016,1,1)
end = datetime.date.today()

stock = "AAPL"

# get stock data, from yahoo finance within the dates specified
stock = web.DataReader(stock, "yahoo", start, end)

stock.head(n=3)

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

您可以使用YQL Console并尝试使用SQL来提取所需的数据。

例如,我尝试select * from yahoo.finance.historicaldata where symbol = "AAPL" and startDate = "2016-01-01" and endDate = "2017-01-22并成功获得我想要的表格。

如果我更换" AAPL"通过" GCG17.CMX"而且我什么都得不到。因此,我不认为python中的库如pandas和yahoo_finance有任何问题。问题发生在雅虎方面。

您可以尝试找到其他数据库,例如Wharton数据服务等,以获得您想要的表格。希望这可以提供帮助。

答案 1 :(得分:0)

您收到错误是因为雅虎财经没有保存历史商品价格。

答案 2 :(得分:0)

请改用著名的yfinance。这里是糖:

import yfinance as yf
df = yf.download('SB=F', '2020-03-23')

如果您想要黄金,只需使用符号GC=F即可。您是否希望绘制它:

import finplot as fplt
fplt.candlestick_ochl(df[['Open','Close','High','Low']])
fplt.show()

sugar