Python量化交易实战-16如何利用单次收益率计算累计收益率。

auto-trade 虚幻 1844℃ 0评论

如何计算累计收益率

一、如何利用单次收益率计算累计收益率。

1.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,将本金删除掉

1.2定义方法:

import pandas as pd
# 计算累计收益率
def calculate_cum_prof(data):
    data['cum_profit'] = pd.DataFrame(1+data['profit_pct']).cumprod()-1
    return data

1.3调用方法:

    # 考虑特殊情况
    data = compose_signal(data)
    # 计算单次的收益率
    data = calculate_profit_pct(data)
    # 计算累计收益率 
    data = calculate_cum_prof(data)
    return data
if __name__ == '__main__':
    data = week_period_strategy(stock_code='000001.XSHE', timefrequency='daily', start_date=None, end_date='2021-06-01')
    print(data)
    print(data.describe())
    data['cum_profit'].plot()
    plt.show()

运行:

最终的收益图:

20210606211918 - Python量化交易实战-16如何利用单次收益率计算累计收益率。

20210606213603 - Python量化交易实战-16如何利用单次收益率计算累计收益率。

从这个收益图来看,如果我坚持周四买入 周一卖出的策略,钱已经翻了10倍,换句话说,如果我在2005年投入了1000元,现在就是1000*10 = 1万。感觉还是很可观。

转载请注明:虚坏叔叔 » Python量化交易实战-16如何利用单次收益率计算累计收益率。

喜欢 (7)

您必须 登录 才能发表评论!