【金融量化】Python实现根据收益率计算累计收益率并可视化

1 理论

理财产品(本金100元)

第1天:3% :(1+3%) ✖ 100 = 103

第2天:2% :(1+2%)✖ 以上 = 103 +2.06

第3天:5% : (1+5%)✖ 以上 = 收益 ✖ 以上

第4天:6% :(1+6%)✖ 以上 = 收益 ✖ 以上

... 累计收益=(1+当天收益率)的累计乘积-1

这里的计算公式为什么需要减去1呢? 因为我们上面的公式都是包括本金的,比如说103应该减去100,只有3元才是我们的利润,所以这里需要减去1,将本金删除掉

2 实现

python 复制代码
import pandas as pd
# 计算累计收益率
def calculate_cum_prof(data):
    data['cum_profit'] = pd.DataFrame(1+data['profit_pct']).cumprod()-1
    data['cum_profit'].plot()
    return data
相关推荐
2301_781571429 分钟前
mysql数据库响应缓慢如何排查_使用EXPLAIN分析执行计划
jvm·数据库·python
彳亍10125 分钟前
实现倒计时数字在到达1后自动隐藏(2为最后可见数字),同时继续运行至-1再终止
jvm·数据库·python
X56611 小时前
CSS如何处理SSR中CSS引入_在服务端渲染时提取关键CSS
jvm·数据库·python
duke8692672141 小时前
PostgreSQL 中高效插入多对多关联数据的三种方案对比与最佳实践
jvm·数据库·python
狮子座明仔2 小时前
AgentSPEX:当 Agent 框架开始把“控制流“从 Python 里抠出来
开发语言·python
m0_463672202 小时前
mysql数据库如何进行逻辑备份与物理备份对比_优缺点分析
jvm·数据库·python
2401_867623982 小时前
SQL如何进行分组后字符串拼接_使用GROUP_CONCAT或STRING_AGG
jvm·数据库·python
kexnjdcncnxjs2 小时前
MySQL触发器无法触发的原因分析_MySQL触发器排查指南
jvm·数据库·python
Java后端的Ai之路2 小时前
CodeBuddy-Rules配置
人工智能·python·ai编程
拾-光2 小时前
【Git】命令大全:从入门到高手,100 个最常用命令速查(2026 版)
java·大数据·人工智能·git·python·elasticsearch·设计模式