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

Live简介

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

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

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

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

本次 Live 主要包括以下内容

• 上节课的反馈
• 设计indicator注意事项和一些细节处理
• 如何分析indicator进而提升策略表现
• 一些避免过拟合的经验
• 开发indicator分析平台

嘉宾分享

上节课的反馈

  • 系统化的量产原始策略,然后进行整合
  • 授之以鱼,不如授之以渔
  • 凡事自己先独立思考解决,再请教他人

设计indicator注意事项和一些细节处理

  • indicator的注意事项:

    • 常见的:rsi, kdj, macd, 布林轨道

    • 时间序列的预处理:剔除周期以及趋势->有限微分处理->平稳序列->平稳性检验

      stationary_series

    • indicator的设计,要保证它的时间序列是平稳的(否则不同时间段会有不同的阈值,不利于后续的分析处理)

  • indicator的设计

    • 模仿已有的indicator(枚举看有没有某种模式)
    • 切忌不要使用未来函数

如何分析indicator进而提升策略表现

  • indicator的发现

    • 金融市场信噪比非常低

    • 过滤噪声:做积分 (锁相放大器)

    • 对(pnl, indicator)排序,求pnl累积和,来构建indicator的范围

      rsi_pnl

    • 用上面indicator的范围来过滤策略的信号(如何保证不是过拟合?

      comparison

开发indicator分析平台

  • 特别牛逼的万能indicator是很难发现的(所以就当不存在)

  • 列举所有肯能的indicator以及潜在参数,然后组合indicator很重要

  • 高效批量分析indicator

    • 批量生成indicator(字符串解析,一层嵌套+正则表达式)

      string_parser

    • 可视化indicators

  • xml配置文件

    xml1

    xml2

注意事项

  • 第三方软件的可扩展性
  • 回测好也不一定意味实盘好,注意过拟合;回测不好,也不一定就差
  • 本次live重点在系统平台的搭建

###

观众提问

Q: 教父你好,我想问一下,能不能自己开发回测平台,实盘在mt4上用ea?你之前说,要自己开发框架的关键是知道软件每一步在做什么,测试策略时我能理解这句话。但是实盘不都是数据来一条,策略逻辑运行一遍然后出一个结果,如果用mt4之类的还会有什么变数吗?如果以你课上举例子的那种类似策略,每四小时产生一个挂单,用mt4和用api去给平台信号有什么不同吗?

A: 我课上讲过,mt4对入场条件的判断是未知的。挂单的入场条件用mt4不一定准确。总之我用mt4回测的结果一看就不靠谱。更关键的问题,即使你用mt4能做,我后面讲的深入的内容,mt4就无能为力了。到时候仍然需要从头开发自己的平台。用mt4平台的另外一个限制是扩展性不够,你稍微想变一下规则,引入一些新的逻辑或者功能,你就会发现mt4不行了。如果你不断的加新功能,你会发现每一步你都要为了mt4做妥协,总有一天你会受不了的。你如果还没有体会到mt4的局限性,你可以先用着。等到你到那了那个点之后,你会有所体会的。如果你用自己的回测平台研发策略,实盘的时候用你自己的平台输出信号。用mt4 listen这个信号并且下单,这样是可以的。这么做,相当于mt4做为一个execution的平台,而不是跑策略的平台,这样是完全可以的


Q: 那如何创造新的indicator 呢? 这节课只是讲了现有indicator 的枚举和组合而已
A: 旧瓶换新酒(macd的标准化,收盘价换成开盘价,『比方说 MA(5)-MA(26), 这个不行, 必须是(MA(5)-MA(26))/R(26)。 就是用volatility(这里用的是range)做分母』);现有indicator已经很多了,组合很关键


Q: 这个精炼的系统和企业级别的大概差别

A: 团队管理;数据源;更多的研究员


Q: indicator 都有有效期吧,是每天都全局枚举一遍吗,还是等亏钱了再剔除该indicator,应该有算法吧
A: 每隔一段时间需要复盘以及重新枚举


Q: 信号处理方面的知识有哪些可以用得上
A: 基本就是滤波,做积分


参考资料