请见https://www.zhihu.com/lives/883084078365179904

Live简介

知乎id:教父。曾经全国奥赛获奖,保送国内top2本科。出国取得物理学博士学位,毕业后进入海外知名对冲基金,一直从事量化交易员和研究员职位。掌握丰富的全平台经验,擅长期货和外汇的短线和日内策略。

本Live面向量化交易新手,主讲短线,日内CTA型策略,干货较多,要求听众具备 1)基本高等数学,概率统计知识 ; 2)一定的编程能力,编程语言不限,比如C++, Java, python, Matlab, C#等等都可以。听课不需要跟着一起写代码,课上只讲解决方案,比如架构,伪代码,截图,以及一些重要代码抓屏等等。自己有时间开发后,可以将本课程当作技术文档,工具书等等。

本系列大约5节课,内容先后都有关联。 本节课是第三节课,建议学习本课之前先学习我的live: “手把手入门量化交易1”, “手把手入门量化交易2”。

本系列live将覆盖新手入职国内外量化对冲基金(CTA型)后第一年的大部分工作内容。 量化交易是一个复杂而庞大的系统工程,通常需要全职团队。本课程将对冲基金的工作方法精简化,通过大约5节课带领听众在业余时间搭建一套轻量级的,可以在家跑起来的交易系统。

本次 Live 主要包括以下内容

  1. 上节课听众反馈的回应
  2. 避免过拟合的一些常用方法
  3. 一些其他参数选择注意事项
  4. 结合以前的例子策略进一步讲解
  5. 回答问题

嘉宾分享

上节课听众反馈的回应

  • 编程复杂度和工作量
    • 单策略回测
    • 多策略多线程优化
    • 可视化界面
  • 关于第三方平台
    • 可以用,但必须清楚了解源代码
    • 业界公司大部分都是自己开发平台的
  • 先理解算法的大体思路

策略例子

  • volatility clustering / leverage effect

    • volatility: 日回报率的平方;最高价减最低价(range)

      daily_range

      5days_range

    • volatility的自相关效应(存在日周期的记忆)

      volatility_autocorrelation

      volatility_autocorrelation2

    • $p- p(open) = -k1 * range$

      • 止盈止损:比如说50点
      • $k1$: 尽量覆盖所有可能入场点位

避免过拟合的一些常用方法

参数对绩效敏感性的可视化

  • 看相应的parameter跟performance的空间曲线情况,是否存在某种模式,来确定相应parameter的选择是噪音还是信号

    • 一维参数

      overfitting1

      overfitting2

      overfitting3

    • 二维参数(heatmap)

      heatmap1

      heatmap2

样本外检测

  • 样本内外数据集的确定(3~5年作为样本内,最近半年或者更早之前的数据作为样本外),也比较主观

  • k-fold cross-validation

  • 切莫把样本外『逐步』变为样本内

    out-of-sample1

    out-of-sample2

  • walking-forward test(参数每一样本内需要重新估计)

    walking-forward-test

一些其他参数选择注意事项

  • 参数的数量
    • 越少越鲁棒
    • 越简洁越好
  • 其他cost function的选择
    • 胜率(最好『略』大于50%)
    • 盈亏比(最好『略』大于1)
  • 做多和做空的对称和非对称
  • 动态更新参数
    • 作者不太主张,原因是自由度过大,有可能会过拟合,减弱泛化能力

结合以前的例子策略进一步讲解

观众提问

Q: 上面讲的有较大回撤的欧元美元的第一个策略,如果有另外一个策略同它盈利负相关,是不是可以同时加入这两个策略
A: 说的没错,多空对冲


Q: 请问一下,止损的时候应该都是市价止损吧,没有试过止损出来的时候滑点非常大呢?这种情况应该是回测不出来的吧
A: 上亿级别才需要考虑滑点,而且需要有execution团队,个人小资金不需要考虑


Q: 请问您平时所做的策略会结合order book 信息吗?如何在非高频策略中结合这些高频特征有什么经验可以分享吗
A: 资金量比较大的时候,需要考虑滑点,这个时候比较需要考虑order book里的信息


Q: 还有一个问题,外汇上也是振荡行情比趋势行情多吗?你是同时跑振荡和趋势策略,还是自己先主观判断一下接下来的行情是什么类型的行情,再决定跑的策略
A: 外汇上震荡行情相对多;答主震荡和趋势策略都在跑;大突破或大事件要发生的时候,会暂停震荡策略


Q: 教父开发策略的灵感都来自哪里?
A: 了解不同公司资深人士的做法,总结成自己的经验


Q: 教父后面会不会讲讲趋势类策略的开发?
A: 本节讲到的框架应用在反转策略上,但其想法也可以用在趋势跟踪上


Q: 请问如果策略回测发现2012-2017表现很好,但2010-2012表现不好,您会如何做进一步研究?如果进步研究对回测结果没有改善,您还会用它吗?
A: 具体情况具体分析,找出亏赚的逻辑


Q: 频繁跳槽真的好吗?
A: 2~3年是个时间点,除非有很好的上升路径


Q: 教父平时会看论文吗?从论文中找灵感
A: 不定期看论文;但是大部分论文作用不大


参考资料

  • 知友提到的一些交易平台:盈透,oanda