Greenwicher's Wiki【金融】手把手入门量化交易4 2018-01-22
请见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, 布林轨道
时间序列的预处理:剔除周期以及趋势->有限微分处理->平稳序列->平稳性检验
indicator的设计,要保证它的时间序列是平稳的(否则不同时间段会有不同的阈值,不利于后续的分析处理)
indicator的设计
- 模仿已有的indicator(枚举看有没有某种模式)
- 切忌不要使用未来函数
如何分析indicator进而提升策略表现
indicator的发现
金融市场信噪比非常低
过滤噪声:做积分 (锁相放大器)
对(pnl, indicator)排序,求pnl累积和,来构建indicator的范围
用上面indicator的范围来过滤策略的信号(如何保证不是过拟合?)
开发indicator分析平台
特别牛逼的万能indicator是很难发现的(所以就当不存在)
列举所有肯能的indicator以及潜在参数,然后组合indicator很重要
高效批量分析indicator
批量生成indicator(字符串解析,一层嵌套+正则表达式)
可视化
xml配置文件
注意事项
- 第三方软件的可扩展性
- 回测好也不一定意味实盘好,注意过拟合;回测不好,也不一定就差
- 本次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: 基本就是滤波,做积分