yfinance只能下载2栏吗?
Can yfinance download 2 columns only?
现在,我想下载一些代码的历史价格,但我不需要完整下载,只需要日期和收盘价。
目前我是这样做的:
with open("tickers_list.txt") as fp:
Lines = fp.readlines()
for line in Lines: #for each line = ticker
line = line.strip() #remove "/n" in the line
data = yf.download(line,period = '10y', interval='1d')
del data["Open"] #remove useless column
del data["High"] #remove useless column
del data["Low"] #remove useless column
del data["Adj Close"] #remove useless column
del data["Volume"] #remove useless column
data.to_csv('download/'+line+'.csv')
# close the file
fp.close()
如您所见,我下载了整个“包”,然后删除了无用的列。
这种方式未来的问题是:如果我需要下载10'000家公司的数据,我在这个过程中有时会丢失很多。
正常下载
yf.download(line,period = '10y', interval='1d')
Date Open High Low Close Adj Close Volume
2012-04-23 409.200012 410.899994 398.700012 402.399994 331.590271 203708
2012-04-24 408.600006 412.299988 406.700012 408.500000 336.616821 204588
我在找什么
yf.download(line,period = '10y', interval='1d', [Date], [Close])
Date Close
2012-04-23 402.399994
2012-04-24 408.500000
df = yf.Ticker("IBM").history(start="2017-01-01", end="2017-04-30", frequency='1dy')['Close']
Returns只有一个价格
输出:
Date
2017-01-03 125.567116
2017-01-04 127.121788
2017-01-05 126.701187
2017-01-06 127.324532
2017-01-09 125.912628
...
2017-04-24 121.685005
2017-04-25 121.412483
2017-04-26 121.162666
2017-04-27 121.359474
2017-04-28 121.336777
另外,如果你请求所有的数据,你可以尝试立即删除不需要的
data = yf.download("AAPL", start="2017-01-01", end="2017-04-30", auto_adjust=True)
data = data[['Close']]
print(data)
现在,我想下载一些代码的历史价格,但我不需要完整下载,只需要日期和收盘价。
目前我是这样做的:
with open("tickers_list.txt") as fp:
Lines = fp.readlines()
for line in Lines: #for each line = ticker
line = line.strip() #remove "/n" in the line
data = yf.download(line,period = '10y', interval='1d')
del data["Open"] #remove useless column
del data["High"] #remove useless column
del data["Low"] #remove useless column
del data["Adj Close"] #remove useless column
del data["Volume"] #remove useless column
data.to_csv('download/'+line+'.csv')
# close the file
fp.close()
如您所见,我下载了整个“包”,然后删除了无用的列。 这种方式未来的问题是:如果我需要下载10'000家公司的数据,我在这个过程中有时会丢失很多。
正常下载
yf.download(line,period = '10y', interval='1d')
Date Open High Low Close Adj Close Volume
2012-04-23 409.200012 410.899994 398.700012 402.399994 331.590271 203708
2012-04-24 408.600006 412.299988 406.700012 408.500000 336.616821 204588
我在找什么
yf.download(line,period = '10y', interval='1d', [Date], [Close])
Date Close
2012-04-23 402.399994
2012-04-24 408.500000
df = yf.Ticker("IBM").history(start="2017-01-01", end="2017-04-30", frequency='1dy')['Close']
Returns只有一个价格
输出:
Date
2017-01-03 125.567116
2017-01-04 127.121788
2017-01-05 126.701187
2017-01-06 127.324532
2017-01-09 125.912628
...
2017-04-24 121.685005
2017-04-25 121.412483
2017-04-26 121.162666
2017-04-27 121.359474
2017-04-28 121.336777
另外,如果你请求所有的数据,你可以尝试立即删除不需要的
data = yf.download("AAPL", start="2017-01-01", end="2017-04-30", auto_adjust=True)
data = data[['Close']]
print(data)