使用yfinance以自定义格式获取历史每月股票收盘价

Get historical monthly stock close price in custom format using yfinance

提问人:Sergey Sypalo 提问时间:11/22/2022 最后编辑:Martijn PietersSergey Sypalo 更新时间:1/27/2023 访问量:267

问:

我需要按以下格式获取股票的历史价格:

[
  {'AMZN': [
    {'Sep 2022': 113},
    {'Oct 2022': 102},
    {'Nov 2022': 92}
  ]},
  {'AAPL': [
    {'Sep 2022': 137},
    {'Oct 2022': 153},
    {'Nov 2022': 147}
  ]},
  {'MSFT': [
    {'Sep 2022': 232},
    {'Oct 2022': 231},
    {'Nov 2022': 241}
  ]}
]

但是不知道如何将正确的配置传递给 yfinance,或者如果无法仅获得收盘价,那么将输出转换为我需要的格式的最佳方法是什么。玩弄dataframe.to_dict(“记录”),但只得到没有日期的价格。

这是我的代码

from datetime import date
import yfinance as yf

tickers = ['AMZN', 'AAPL', 'MSFT']
data = yf.download(
        tickers = tickers,
        start="2019-01-01",
        end=date.today().replace(day=2),
        interval = "1mo",
        group_by = 'ticker'
    )
python-3.x 帧数据 操作 yfinance

评论


答:

0赞 Sergey Sypalo 11/22/2022 #1

让它工作:

[{ticker: [{str(x.strftime('%b %Y')): int(tickerdata[ticker]['Close'][x])} for x in tickerdata[ticker]['Close'].index]} for ticker in tickers]