python - 有没有办法从 Yahoo Finance API 检索股票的假设增长?
问题描述
我有兴趣从 yahoo Finance api 中提取假设的增长,包括再投资股息。我编写了以下代码,在不包括股息的情况下拉动了假设的增长:
import yfinance as yf
data = yf.download("MSFT", '2015-01-01', '2021-09-10')['Adj Close']
ROI = (data[-1] - data[0]) / data[0]
print ("ROI:", ROI)
是否有数据将其 API 上可用的再投资股息考虑在内,或者我是否需要经过艰苦的过程来弄清楚每个季度的支付股息是多少,并在一个循环中一次一个季度地考虑到这一点?
解决方案
首先,由于您使用“AdjClose”数据,您的短语“假设增长”令人困惑。这不是假设。
第二,你错了。您对“AdjClose”代表什么的理解是错误的。此值存在,因此它确实包括股票的变化,例如股息和股票分割。有关详细信息,请参阅 yahoo 的知识库 Yahoo 对 Adj 的定义。关
但是,如果您有兴趣比较收盘价和“AdjClose”之间的变化(增长),有一个简单的数学解决方案。
- 只需将所有收盘价除以系列中的第一个收盘价即可。这将为您提供相对变化和标准化增长率。
- 对“AdjClose”系列执行相同的方法。现在您会看到这些比率更大,其中当然包括由于股息和股票分割引起的变化。现在可以直接比较这两个比率。
- 如果您希望查看价值的总变化,这些也是简单的计算。但是有几个结果需要考虑和计算:简单的股票价格变化,b. 累积价格+股息,无需再投资,c。再投资累积价格+股息+股票分割。
但是,为您提供特定代码需要您缩小问题范围。
推荐阅读
- typescript - PIXI.js 将另一个实体从单独的文件中添加到游戏类中
- ssh - Laravel 6:无法在服务器上运行任何工匠命令
- batch-file - 如果不存在该格式的文件,请第二次询问(BATCH)
- python - 如何用新字典替换旧字典,python编程
- python - 从多个文本文件中提取 URL 的循环
- c# - C# 中的数字模式程序
- python-3.x - 当 href 包含 javascript:__doPostBack() 时如何通过页码进行分页
- mysql - 如何在运行时从 VB 在 MySql 中创建数据库?
- python - 为什么 numpy.fromstring 读取数字错误?
- umbraco - 是否可以限制 Umbraco CMS 8 中富文本编辑器的高度?