前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的交易系统

我的交易系统

作者头像
量化投资与机器学习微信公众号
发布2022-01-10 14:05:46
9920
发布2022-01-10 14:05:46
举报
文章被收录于专栏:量化投资与机器学习

前言

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(作者的开源框架)。一个月前,我对这套系统做了一个很大的升级,并投入到了实盘中。在这之后,我有这样一个机会来回顾我过去三年时间的研究,以及这些研究中最终哪些部分值得放入到我现在使用的新系统中。

以下是一些我知道无效的方法,但还是有人推荐我去尝试的:

  • Discrete trading / expanding stop losses
  • Fixed vol targeting
  • Binary forecasts
  • Using a fixed estimate of vol

以下是一些我原本觉得有效,但实际研究出来无效的尝试:

  • Heuristic dynamic optimisation
  • Dynamic optimisation using a grid search

以下方法确实有效,但我不准备应用在实盘中:

  • Fitting forecast weight by instrument and asset class (too complex!)
  • Setting risk using drawdown levels (too simple!)
  • A risk overlay (actually was in my old system, but not yet in my new system - a change I plan to make soon)
  • Kurtosis as a trading rule (too complex and didn't work as well as expected)

以下方法确实有效,且已经应用在了今年的交易系统改进中:

  • Dynamic optimisation using minimum tracking error (here and here)
  • A systematic method for choosing instruments to trade or not
  • Changing behaviour of rules when vol changes
  • Handcrafting in it's automated variant
  • Improving handcrafting correlation estimate adjustments and Sharpe Ratio estimate adjustments
  • Estimating vol using a partially mean reverting method
  • Skew as a trading rule
  • Various other trading rules (no blog posts - read the book I'm currently writing and hope will come out next year!)

在经过了今年的调整后,在接下来我不准备再对当前的系统做过多的调整。我准备尝试一些完全不同的策略。接下来我们从不同的角度来分享当前的系统。

如何选择交易的标的/市场?

关于这个问题,我之前也写过一些文章,现在我总结性的概括一下我筛选标的/市场的流程:

  • 阶段性的关注下经纪商(盈透)现在可供交易的品种;
  • 维护一个关注品种的清单 (当前清单中有64个品种);
  • 从barchart.com提取历史数据,并加入到当前的交易系统。

回测时会忽略以下标的:

  • 已经在列表中的标的,但只是合约大小不一下(比如SP500 emini和micro); 但如果是不同市场交易的同一种合约或标的,是可以进一步测试的;
  • 数据质量与数据源不稳定的标的;
  • 合约头寸太贵的品种,或者交易成本太高的品种。

实盘交易时,会忽略以下标的:

  • 法律限制,我无法交易的市场;
  • 没有达到我对于成本和流动性考量的市场。

我使用的交易策略规则

我当前使用的交易策略分为趋势跟踪和非趋势跟踪两大类,其中趋势跟踪的策略包括(关于策略具体逻辑请参考原文):

  • 时序动量-EWMAC
  • 突破
  • 截面动量
  • 大类资产动量
  • 标准化动量
  • 动量加速

非趋势策略包括:

  • 大类资产内的慢速均值回归策略
  • Carry
  • 相对Carry
  • 偏度套利
  • 相对价值偏度
  • Mean reversion in the wings

其中有些策略,并没有在博客中提到,但会在我明年(2022年圣诞)的新书中给大家分享。所有策略的代码可以在pysystemtrade中找到。

其他

关于仓位的确定:每个品种的仓位通过Partially Mean Reverting的方法进行确定,在波动率的选取上使用波动加权的方法:近期波动的30%加上10年波动的30%。

此时,我可能会列出100多个品种的最佳头寸。但其中绝大多数都少于一份合约,因此不可交易,而且我的账户里也没有数千万美元我需要在所有这些工具中保持合理的头寸。今年我的系统最大的变化是引入了一个动态优化系统,这意味着我不会真的会交易100+的品种!通过动态组合优化的研究,我发现跟踪误差最小的投资组合是最优投资组合,我在这些品种上采用整数合约头寸。

关于动态组合仓位的优化,可以关注,公众号也会在近期进行解读和分享:

https://qoppac.blogspot.com/2021/10/mr-greedy-and-tale-of-minimum-tracking.html

最后上一张作者实盘会回测对比的收益图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档