量化投资中常见问题汇总#散户量化投资

复利哥 2020年11月17日量化投资中常见问题汇总#散户量化投资已关闭评论200

数据过少

上证指数数据优化回测

从历史数据中发掘规律,一般来说至少需要经历一个牛熊周期。在AJ股,一般一个牛熊周期3-5年,最长7年,所以少于3年的数据就不太合适,如2014、2015年两年是牛市,如果用这两年的数据找到的最佳值,到2016年走熊的时候就不一定合适了。我们来看一个最简单的,用上证指数2014、2015年两年数据找到最佳均线策略的一个例子,如表9-1所示。

量化投资中常见问题汇总#散户量化投资

2021最靠谱三大平台推荐

量化投资中常见问题汇总#散户量化投资 量化投资中常见问题汇总#散户量化投资 量化投资中常见问题汇总#散户量化投资 量化投资中常见问题汇总#散户量化投资
中文官网 forex.com/cn xmbrokerfx.com easymarkets.com
全球官网 forex.com xm.com easymarkets.com
成立时间 1999 2009 2001
最低入金 100美金 5-20美金 25美金
入金渠道 银联/信用卡 银联/信用卡 银联/信用卡
交易软件 MT4/MT5 MT4/MT5 MT4/网页版
杠杆倍数 400倍 888倍 400倍
交易品种 外汇/贵金属/CFD 外汇/贵金属/指数/股票 外汇/金属/原油/期权

从表9-1中我们可以看到,通过部分数据的遍历,找到了均线为71天,对应2014、2015年两年总收益率101.42%这个最佳值,但这个71 天的参数在2016 年表现又如何呢?

量化投资中常见问题汇总#散户量化投资

如果用71天这个参数2014年基本持平2015年跑赢指数23个点,表现不错,但在2016年熊市却大跌了近10个点,还跑输了指数、2015年的跑赢,只是在纸面上的,而如果采用此策略进入实战,在2016年亏损10个点,则是实实在在的。这个量化其实也模拟了很多人的牛市思维进入熊市后的结果。

上证指数25年数据优化回测

把上证指数1991-2015年25年的数据做个优化,还是用MA均线策略,线上买进并持有,线下卖出并空仓。通过部分温历优化,找到了22日均线这个最佳值,如表9-3所示。

量化投资中常见问题汇总#散户量化投资

对比一下用22日均线策略对应的每年的收益率情况,如表9-4所示。

量化投资中常见问题汇总#散户量化投资

量化最佳均线回测

显然,都是截至2015年的数据,前一个方案只用了2年的数据,2016年的实盘收益率是一9.76%,而后一个方案用了25年的数据,2016年对应的收益率却是4.02%,不仅远远跑赢了2年策略,而且还大幅度跑赢了指数。从这个案例也可以看出数据量大,对于优化策略的好处。

但在实盘中依然有问题,除了上证指数,很少有指数、股票有25年的数据可供使用,那我们该怎么办呢?前文提到,最近的一个牛熊周期,基本能代表历史的所有情况,特别是2010年后这个周期,基本反映了股指期货这个做空工具对大盘的影响。还是拿上证指数为例子,用2010-2015年共6年的数据进行优化,结果找到了21天这个非常接近用25年数据得到的结果,如表9-5、表9-6所示。

量化投资中常见问题汇总#散户量化投资

量化投资中常见问题汇总#散户量化投资

用6年数据优化得到的21天均线策略和用25年数据优化得到的22天均线策略,进行比较可以看出,不仅2016年的收益率完全相同,而且历史数据差异也不大,最近10年21天均线策略还平均每年跑赢了22天均线策略大概1个点。

从上面的案例可以看到,回测用的历史数据太少了肯定不好,但太多了也没有必要,采用一个牛熊周期的数据就足够了。考虑到2010年以后股指期货的做空力量对大盘的影响,从2010年开始的数据,基本就能满足回测的需求。

技术错误

使用未来函数

例如,2015年年报的数据,从理论上说,可以在2016年1月1日后使用,但实际情况并非如此,因为很少有公司在2016年的第一天公布年报。假如公司在2016年2月1日公布年报,那么回测时用到2015年年报数据,就只能在2016年2月1日后使用,如果在2016年2月1日前使用,就是使用未来函数。

除了年报、季报数据,还有如分红送股、重大利好等,在回测时,都必须在这些消息在公开媒体上公布后才能作为计算的依据,再则就是使用了未来函数。使用未来函数的坏处是:回测取得了非常高的收益率,但实际情况根本做不到,这样就给我们很大的误导,使实战的结果远远偏离回测。

还有一个错误也是初学者经常犯的,就是用当天的数据作为当天操作的依据,如计算出当天的均线,线上当天做多。其实当天的收益率是和昨天的收盘价去比较的,你昨天根本没买进,如何取得当天的收益率?

要100%避免未来函数是一件几乎不可能的事情,但我们应是要尽可能地减少使用未来函数。避免使用未来函数的主要日的是:使实盘尽可能接近模拟盘的结果,而不是去做什么学术讨论。

不注意边界条件

中国A股有些边界条件是比较特殊的,一不注意就使回测进入误区,如在回测中买进了涨停、停牌的股票和基金,卖出了跌停的股票和基金等。不注意这些边界条件,会使回测收益率巨高无比,实盘结果却差异甚大,最后导致对量化丧失信心。

过度优化

过度优化好比做了一件非常贴身的西服,穿在这个人身上还不错,但只要换一个人马上就穿不了。

往往过度优化后实盘和模型的差异非常大,最后导致否模型。笔者建议的办法是:一方面不要使用过多的参数来优化松化模型;另一方面,可以采取这样的办法,如现在有2010-2016年的数据,你可以先去掉2016年的数据,"假装"回到了2015年,然后优化模型,再把2016年的数据放到模型中,看是否有效,如果效果非常差,十有八九就是过度优化了。

另外,关于优化因子,一般建议不要超过5个,如果超过10个因子,过度拟合的可能性就非常大。当然,这只是经验之谈。

理念错误

对收益有不切合实际的期望值

有些初学者过度相信量化投资,希塑能每个月甚至每周都战胜大盘。存在这种想法,其实还是没有真正理解量化投资。好的量化策略确实能大概率地跑赢大盘,但不能说每个甚至每周都跑赢。从概率上说,甚至某一年战胜不了都是很正常的事情。特别是在大牛市,跑输也是正常的。我们看量化策略的效果,不是看一年甚至一个月、一周,而是看一个较长时间内是否大概率地战胜大盘。初学者跟踪了某个模型后,问的最多的问题就是,为什么今天会跑输?为什么这个月也跑输了?笔者可以很负责地告诉大家,我做了十多年的量化,还从未没有遇到过一年里每个月都能跑赢参照指标的系统。将来随着散户的慢慢退出,更加不可能有。

把量化等同于对冲

诚然,对冲策略是量化的一种,但不是所有的量化策略部是对冲略。本书讨论的策略很多都是通过数字统计得到的。国外量化投资做对冲的非常多,但在A股并不常见,主要由于做空品种少,无法做到完全对冲或大部分对冲;有一些类似牛熊宝的产品不是场内的,而且交易量也不大,并且经常偏差较大;同时,现在的政策又限制做空。所以,本书的模型,大部分只用概率和负相关品种,而没有用对冲。当然,如

果是在商品市场、外币市场等,就另当别论了,这里讨论的范用仅仅限于A股市场,而且是绝大部分"小散"可以做的事情。

把量化等同于高频交易

确实,高频交易是量化的一种,但量化交易不仅限于高频交易。应该这样说,大部分高频交易都是量化交易,而量化交易不仅仅是高频交易,除了高频交易,每周一次甚至每月一次的量化交易模型在A股市场也可以取得很好的收益。笔者因为前几年工作很忙,没有用过日线外的任何数据,交易也仅仅是最多一周交易一次,但依然可以获得很好的效果。

量化一定要用"高大上"的工具

经典的量化书上使用了大量的高等数学公式及"高大上"的复杂语言,如Matlab、Python等,当然,这些工具会使量化锦上添花。但绝大部分普通投资者学习量化的主要目的不是去掌握这些工具,而是能真正在实战中用量化获得良好的收益。总结下来,目前的量化工具和方法可以分为以下三类。

第一种:用专用的工具如Matlab、Pytbon,或者使用这些工具做成的平台,如优矿、米筐等。这种工具就好像机关枪,熟悉了后效率非常高,但枪械相对复杂,对非专业人士显得要求高,而且扫射可能有死角。

第二种:就是笔者现在用的,已经用了十年的Excel加上类似果仁这样不用编程的平台,非常"土",适合非专业投资者。好比一把小手枪,因为方便,可以随身带着,拿出来就可以打,但可能打不远。

第三种:用高级语言针对一个特定的需求编制软件,计算求得最佳值,如人气网友f1itter,当年为了求得封基的多因子最佳配比,编写了专用的软件,动用了四台服务器,算一次花很长时间,但能找到一个最佳值。这比较像祖击枪,一次组击要花很长时间,要有耐心,但好的组击手则会一枪制胜。

不管你用什么枪,能战胜对手就是好枪。目前的中国资本市场还处在"大刀长矛"时代,有一把枪就足够你横行江湖了。

相关文章推荐阅读

XM外汇基础点差广告
复利哥