先计算各种回测和评估策略时要用的指标吧。
参考:
https://zhuanlan.zhihu.com/p/24356155
https://zhuanlan.zhihu.com/p/55425806
https://zhuanlan.zhihu.com/p/29386150
先建立一个新的分支Index,再建立一个新文件index.py,写计算各种指标的程序。
这个过程折腾了我几天,方法是先建立一个testpaper.py的文件,复制上面第二篇文章中的代码,直到调通,得到跟作者一致的结果。然后再把各个指标的计算方法放到各自的函数里,最后再写一个总的调用各个指标计算方法的函数。做成一个index库。调通以后,再用文章中的数据来检验库的计算是否正确(的确发现几个bug)。另外因为我的数据是收益率数据(因为成本在变化,收益率能涵盖成本变化,而市值等数据貌似不行),计算年化收益率和最大回撤的方法跟作者不一样。
1 | #计算期间年化收益率,用原始数据 |
完整代码就不贴了,去看我的github项目主页吧: https://github.com/zwdnet/etfdata
最后用我实际定投数据算出的指标为
1 | 年化收益率 -0.114184 |
任何夏普比例低于1的策略都不适合单独使用,几乎每月都实现盈利的策略,其年化夏普比率通常都大于2;几乎每天盈利的策略,其夏普比率通常大于3。(《量化交易 如何建立自己的算法交易》 p18)
夏普比率越高,该策略在每单位风险(标准差)上创造出的超额收益就越多。
α表示了一个策略风险调整后的超额收益。与夏普比率不同之处是它使用β来表示风险。
(《量化投资策略:如何实现超额收益》 p22)
可见我的策略实盘并不好,接下来就利用这些函数开始折腾数据啦。
我发文章的三个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。
我的个人博客地址:https://zwdnet.github.io
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的微信个人订阅号:赵瑜敏的口腔医学学习园地