python - 如何计算熊猫股票开盘价的百分比变化
问题描述
我有以下数据框。
Date Open Close
2016-06-01 17670.85 17423.45
2016-06-02 17405.15 17567.80
2016-06-03 17657.20 17680.80
2016-06-06 17710.45 17671.40
2016-06-07 17796.55 17948.15
... ... ...
2020-05-11 19610.45 18950.50
2020-05-12 18751.40 18862.85
2020-05-13 20017.75 19634.95
2020-05-14 19197.70 19068.50
2020-05-15 19098.80 18833.95
我需要计算前一收盘价的开盘价变化百分比。
我尝试使用pct_change
pandas 的功能,但百分比计算不正确。
这就是我试图计算的方式:
historical_data['change'] = historical_data[['Open','Close']].pct_change(axis=1)['Close']
并且输出数据低于其中百分比变化不正确。
Date Open Close change
2016-06-01 17670.85 17423.45 -0.014000
2016-06-02 17405.15 17567.80 0.009345
2016-06-03 17657.20 17680.80 0.001337
2016-06-06 17710.45 17671.40 -0.002205
2016-06-07 17796.55 17948.15 0.008519
... ... ... ...
2020-05-11 19610.45 18950.50 -0.033653
2020-05-12 18751.40 18862.85 0.005944
2020-05-13 20017.75 19634.95 -0.019123
2020-05-14 19197.70 19068.50 -0.006730
2020-05-15 19098.80 18833.95 -0.013867
知道我在这里做错了什么吗?
解决方案
是的。这是您想要的 PREVIOUS close,所以
historicalData["prevClose"] = df.Close.shift(1)
historical_data['change'] = historical_data[['Open','prevClose']].pct_change(axis=1)['Close']
推荐阅读
- python - 从命令行运行时,在pycharm中运行的python脚本有内存分配错误
- c# - 构造函数链创建对象,但在调用者中为空
- r - 将从 PDF 读取的文本转换为 unnest_tokens 的可用格式?
- windows - 尝试在 Visual Studio Code 上保存/创建文件时出现“NoPermissions (FileSystemError): Error: EPERM: operation not allowed”
- c# - 这是一种搜索子字符串并忽略特定单元格的方法吗?C#
- kotlin - 如何在调用主构造函数之前运行代码?
- docker - 让 Neo4J 在 OpenShift 上运行
- ios - 未找到 ReactNativePermissions pod 规范
- python - Python tuple() :它什么时候重新排序?
- javascript - ExtJS 组合框过滤器