掘金社区

帮助量化入门者穿过迷茫之路-方法论Pinned highlighted

wen66 发表在策略研究 2018-11-01 15:16:35

策略研究
536
2
0
做量化投资方面的工作也有一段时间了,想分享一些做量化的心得,这些经验来自于我自己的实践,希望能帮助初学者减少在策略构建上的迷茫感,增强方向性和针对性。

先要深刻理解机器相对于人的决策占绝对优势的方向:

  • 数据处理速度和数量
  • 交易的速度、数量、低成本
  • 严格执行的纪律性
  • 无偏差的历史验证
  • 弱有效市场假设
  • 特征和降维的模型

策略的思路了应该扬长辟短,发挥机器的长处,尽量少的被人的思维角度束缚
刚开始接触量化的朋友,多是从各种关于市场理论、因子公式、策略模型,以及瞻仰前辈各种效果逆天的策略,坚信计算机决策用于取代人的决策,这个事情迟早会发生。

培养数据角度的市场感觉

初期一叶蔽目,大海捞针的学习和研究方式,反复印证自己的假设等折腾,有利于形成从数据、统计的角度培养对市场的认知。形成这种认知后,对于各种思路的策略都会形成一定的判断,前提是这种认知一定要正确,以市场数据为依据,以市场判断准则,或许稍长时间就会形成不少自己的理论
在这个过程中,理论不足补理论,拓宽对市场看法的角度;数学工具的深度不足补数学,关系重大,决定在量化上能走多远;思路穷尽读研报 ,可能会有一些灵感发生;编程能力,是量化的基石但不是量化的灵魂,所以够用就行。

关于指标

对一般指标解释为:对数据,一特定角度去简化、总结的数学公式
优势是简单、简化,能够很好的传递出指标的解释和意思
但是对于量化,常规指标的价值是很低的,回测过几十个常规的指标,无论参数怎样优化,也是无法达到稳定收益的,甚至出现难以解释的反作用,这在数学上可以解释为模型维度不足,无法建立有效分割面,区分开复杂的因素之间的关系,并且一般的数学公司在处理时会损失很多数据细节,也是不利于正确结论的
所以,quant不要执着在指标公式上,来点更复杂的模型吧,或许能发现别样的天地

关于数据

数据是做量化的基础,数据中的坑是比较多的(不管哪家的数据源),所以策略中一个重要的职能就是要数据清洗,零值、异常值,缺省值等,以保证策略稳定的运行

关于数学

数学水平至关重要,我认为这是能否做好量化的一个重要天赋之一。
量化深入到一定程度后,数学都是最为关键的问题,只有通过合理的数学手段,才能解答你的假设和验证对于市场预测推理的正确性,数学水平越高,研究越高效,视野越广阔,越能够穿透表象,建立合适的模型;高等数学(基础)、统计学(数据处理、特征量的抽取、推理验证,投资组合构建)、线性代数(矩阵运算)、时间序列分析(择时、时间维度的规律分析),以及各种信号分析中的数学,滤波、分形,深度学习……总之多多益善

关于编程

策略需要的编程技术要求并不高,如果学过C语言,也懂证券交易的基本理论和交易规则,那么从零开始到写一个策略出来,两个月足矣,前提是有指引和基本的软件工具。
python语言是目前量化的主流语言,主要原因是:科学计算库齐全、支持很多现成的数学计算模型(这个很重要,建模时很多数学模型只需要逻辑和参数就很容易构建起来)、语言兼容性和开放性非常好,更重要的是python是比较容易学习和阅读的
matlab和R语言是数学和统计优势的语言,用于构建模型和研究是非常好用的,简单且功能强大,但由于本身的限制和其他系统交互时存在各种不易解决的问题
策略的编写,如果在成熟的策略平台上做策略,策略需要处理的内容会相对聚焦,就是策略的逻辑;如果没有策略平台,那么策略就需要处理的内容会较多:历史数据,更新数据,策略调用,策略回测功能的搭建,策略回测到策略实盘运行的转换,策略实盘接口的接入等,这些其实无关于策略的好坏,单确实会花很多时间,且有很多的坑要踩,得不偿失。

关于回测中的坑

过拟合

过拟合就是在模型的构建中加入了很多可调整的参数,并在一段区间上进行了参数优化,导致参数和这段时间的数据高度拟合,而展现出好的绩效。过拟合的绩效曲线并没有明显的识别性特征(可能的特征,不同区间的收益好坏差别比较大),总收益好看,但是一旦切换了回测的时间段,过拟合就原形毕露了,收益迅速消失,这就是过拟合是没效果的原因。过拟合比较难以防止,老司机也难免入坑,但是在构建模型时,追求尽量少参数、让参数的变化尽量处于线性单调状态、追求收益的稳定而非最大化是可以减少过拟合的发生的

未来数据

过拟合是技巧问题,未来数据是典型的bug问题,简单解释就是:知道了未来的收益情况从而影响了当前决策,因为没人能够知未来。未来数据收益形态比较容易识别,收益呈比较规范的一次函数或二次函数,基本可断定为未来数据的引入。
未来数据的引入的原因可以从以下几种情况做检查:数据错位,计算数据中直接引入未来数据;交易结果反推分析逻辑,因为交易结果是未来的结论,包含有未来数据,不能用于分析决策;幸存者引入,我们用现在的股票标的集在过去交易,和容易就获取高收益,因为现在的股票都是从ST 中杀出重围的,自然天生有着较高收益,ST的股票都被人工过滤了。

捕捉到回测的缺陷

另外,回测尽量避开成交性的问题,应为回测的成交都是假的,比如涨停股票卖了第二天涨的概率大,但是实际中一定能买到吗?高频和大笔委托都存在成交性问题,在研究中一定要主观上尽量避免这个方向的深入。为什么?因为模型在很多情况下会自动捕捉优势因素,这些已知的没价值的因素不应该成为策略的优化点。不然空欢喜的事情,总会不断出现。

关于炒了多年股票的经验

炒股的经验是复合型经验,量化起来还是比较困难的,因为主导思维决策的所有因素很难一一列举,经常有老股民奉为圭臬的盈利法宝转到量化就失效的情况,一个是上面那个原因,经验没有完全量化,另外就是,心里因素导致的,心里上归因理论能够很好的解释这种现象

关于那些大V的话

因子失效了吗?

简单的总会失效,悬崖上那块最大的林芝总有更加强大而英勇的人获得。这不是俏皮话,而是这个量化市场的真实写照

止损要不要做?

要,一定要!止损会损失收益,但更多是让收益存留。有些理论家认为止损也算是个因子,而且是个很劣质的因子,这么分析没错。但是这个因子有一个至关重要的点是所有因子无法具备的:包含了所有策略未知的信息,换句话就是止损知道策略不知道的信息。不是很好理解,举个例子,策略认为要涨,实际跌了,是不是有某种未知的因素导致跌了,这个因素是不是比策略知道的因素更强大,一般情况下是的(也可能是时效性问题)。说明策略在位置因素上没有做足分析,但事实,没有策略能够考虑那么全
关于量化工具的选择
适合的才是最好的,能让使用者最少做策略无关事情的量化工具就是好的

  • 最好有成熟的数据接口,数据种类齐全
  • 最好带有回测和图标分析,当然自己画图分析是少不了的
  • 如果有仿真交易功能,也能够给策略实盘多一层保护,尤其对于捕捉到 回测因素的策略模型,就是个照妖镜
  • 平时维护多套代码是必须的,但是代码之间,不同场景的切换,代码改动越少越好
    暂时想到的就这些,希望对彷徨量化入门的人有所帮助
评论: 2

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.