这是一个全新的系列,第一篇文章正好对运行恰好三个月的量化交易脚本作一个简单的总结,也是在挖了许多坑以后,又挖的一个新坑。这个量化系列会不定时更新,会记录我在量化学习过程当中的心得,以及对实际测试的总结(其实就是记一个流水帐。。。)。html
常常看我文章的朋友应该知道,以前我写过一篇关于网格交易的文章:震惊!有人用Python写了个自动亏钱脚本,还能微信实时通知!。本文中的网格策略正是来自其中的“自动亏钱脚本”,有兴趣的朋友建议先去简单浏览一下那篇文章,里面会简单介绍一些这个模型。git
以下图,策略早在2020年9月就已经在运行了,但运行以后都没有想起来去作调整,由于网格模型实际上是须要动态调整参数的,因此这个实盘一直是听任无论的状态。github
直到2020年11月底左右想起来,把代码作了一些更新,加入了更多策略运行的日志,也对策略运行时的数据作了保存。在2020年11月25日晚十点半左右,从新把新版程序运行了起来。不过中间因为服务器缘由,数据没有存储下来,直到2020年12月9日才有数据,不过问题不大。服务器
废话很少说,下面是网格模型在2020年11月25日到2021年2月25日期间,整三个月的投资表现(图比较大,请耐心等待加载):微信
其中,蓝色线条表示帐户总资产,红色线条表示投资标的的价格。同时,画图时对它们作了归一化,两条线第一个点的纵坐标都是1,便于观察。markdown
先简单介绍一下评价一个策略好坏的各类经常使用指标的涵义:oop
年化收益率学习
将回测的投资产品的总收益率换算成以年为单位的几何平均收益率。数值越高表明不考虑风险的状况下股票的表现越好。测试
Beta优化
表明某股票走势与大盘的相关程度,它表明股票价格被大盘所解释的权重。
Alpha
鉴于Beta
只能解释市场收益,那么市场以外的超额收益咱们便用指标Alpha
来表示。投资产品能产生Alpha
的缘由不少,经常使用的方法是用一些基本面、技术面指标因子的组合去寻找Alpha
。
夏普比率
描述投资产品在单位风险下的所能得到超额收益的程度。它将一只标的或组合的风险归一化,便于更好的比较组合之间的有效性。数值越高表明考虑风险的状况下股票或组合表现越好。
最大回撤
描述产品历史表现中从某高点开始最大的下跌比例,最大回撤一般越小越好。
那么,下面就是本文策略对应的指标结果:
评价指标 | 网格模型 |
---|---|
年化收益率 | 349.15% |
基准年化收益率 | 76.98% |
Alpha | 2.0029 |
Beta | 0.4443 |
夏普比率 | 2.1077 |
年化的波动率 | 91.66% |
最大回撤 | -31.69% |
从整个指标的结果来看,策略的年化收益率大概是基准年化收益率的4.5倍,可是回撤也达到30%多。从Alpha
和夏普比率的角度来看,策略表现中规中矩,不算好也不算差。
另外,上图中①处,投资标的价格持续快速下跌,咱们的策略虽然也在下跌,可是速度很慢;②处,投资标的价格走出了一个"M"形走势,可是咱们策略的资产却没有什么变化。
分析一下缘由,①这种状况发生时,策略是会慢慢买进筹码,而不是一次性吃满;②就是由于当时是春节期间没有想起来要调整策略参数,致使一大波行情没有吃到利润。
因此能得出结论:①策略自己具备抗跌的特性;②策略的参数须要及时调整。后面也会慢慢根据状况来优化策略。
无论写什么,但愿能跟更多人沟通,有问题或者需求随时欢迎交流。
我全部的项目源码都会放在下面的github
仓库里面,有须要能够参考,有问题欢迎指正,谢谢!
https://github.com/TitusWongCN/
复制代码
下面是个人公众号,有兴趣能够扫一下: