Robert Carver是一位CTA策略研究与实战领域活跃的分享者,他的书Systematic Trading清晰且系统的介绍了如何构建一套多品种多周期的CTA交易系统。知乎上有小伙伴分享了系统的读书笔记:
https://zhuanlan.zhihu.com/p/26584986
除了书本之外,他还在个人博客不断的更新他在CTA实践过程中的心得。他的所有分享都配有代码,且在github上有开源的项目pysystemtrade。
最近Robert Carver在个人博客对其2021年的研究及过去在博客发表的文章做了系统化的总结,公布了其正在使用的交易系统,涉及从品种的筛选到具体的交易规则。这篇文章中,作者大量链接了过往的文章,如果需要对系统化的掌握Robert Carver的研究,推荐直接阅读原文:
https://qoppac.blogspot.com/2021/12/my-trading-system.html
接下来,我们简要总结下本文值得关注的地方。
研究踩坑:哪些可以做,哪些不可以做
我从2013年到2021一直在使用这套交易系统,并且在2020年把策略的执行切换到了pysystemtrade(作者的开源框架)。一个月前,我对这套系统做了一个很大的升级,并投入到了实盘中。在这之后,我有这样一个机会来回顾我过去三年时间的研究,以及这些研究中最终哪些部分值得放入到我现在使用的新系统中。
以下是一些我知道无效的方法,但还是有人推荐我去尝试的:
以下是一些我原本觉得有效,但实际研究出来无效的尝试:
以下方法确实有效,但我不准备应用在实盘中:
以下方法确实有效,且已经应用在了今年的交易系统改进中:
在经过了今年的调整后,在接下来我不准备再对当前的系统做过多的调整。我准备尝试一些完全不同的策略。接下来我们从不同的角度来分享当前的系统。
如何选择交易的标的/市场?
关于这个问题,我之前也写过一些文章,现在我总结性的概括一下我筛选标的/市场的流程:
回测时会忽略以下标的:
实盘交易时,会忽略以下标的:
我使用的交易策略规则
我当前使用的交易策略分为趋势跟踪和非趋势跟踪两大类,其中趋势跟踪的策略包括(关于策略具体逻辑请参考原文):
非趋势策略包括:
其中有些策略,并没有在博客中提到,但会在我明年(2022年圣诞)的新书中给大家分享。所有策略的代码可以在pysystemtrade中找到。
其他
关于仓位的确定:每个品种的仓位通过Partially Mean Reverting的方法进行确定,在波动率的选取上使用波动加权的方法:近期波动的30%加上10年波动的30%。
此时,我可能会列出100多个品种的最佳头寸。但其中绝大多数都少于一份合约,因此不可交易,而且我的账户里也没有数千万美元我需要在所有这些工具中保持合理的头寸。今年我的系统最大的变化是引入了一个动态优化系统,这意味着我不会真的会交易100+的品种!通过动态组合优化的研究,我发现跟踪误差最小的投资组合是最优投资组合,我在这些品种上采用整数合约头寸。
关于动态组合仓位的优化,可以关注,公众号也会在近期进行解读和分享:
https://qoppac.blogspot.com/2021/10/mr-greedy-and-tale-of-minimum-tracking.html
最后上一张作者实盘会回测对比的收益图: