分享

从头做小弟: 简单的量化策略

 liamlin 2016-04-18
好久没写文了,都不知道从何开始,作为报答一直支持小弟的粉丝,这里写一系列市面上没有的简单策略。主要目的:1.带大家直接看到量化策略的开发,其实不难;2.希望大家能有自己的思路想法,并且用历史数据回测看看,策略哪里不足,哪里有优势,哪里容易亏损;3希望大家懂得独立思考,很多东西验证一下就知对错了

    第一步,数据的准备,A股所有日K线数据,这个通达信很容易拿到,上证指数,深证成指,沪深300指数等等。

    这个有几点还是要说明的,往往很多初学者会忽略,股票的复权问题,这个必须清楚,股票的日K数据包括前复权,后复权,未复权。至于这些复权如何复的,大家自行百度下,我主要是想说明,复权对策略搭建的选择及策略结果与实际的偏差。如果是求N日均线,前复权,后复权都可以,不复权就会存在奇异值了,突然的变化,肯定不真实,这只是指标计算上的选择问题。还有一个问题,我想大部分资深量化投资者都不一定会注意到的,比如收益里面包含了月涨幅等等,你会发现前复权后复权的结果不同,举个例子

                                     
                                        

    同样的同花顺2010年3月份,前面是前复权的涨幅30.08%,后面是后复权的涨幅27.47%,然后你可以假设你自己在2月最后一个交易日收盘价买了1000股,然后中间发生复权,持有到三月底,最后的实际收益是接近后复权的,原因是这个同花顺刚好上市,所以接近后复权,所以最后回测出来的收益结果是要细细推敲的,最准确的当然就是算实际收益,而不是软件上的复权,这个过程会非常非常麻烦。这里需要表达的意思是,用前复权做的,前几年收益是要扣一些折扣的,前复权是收益算多了的,特别更奇葩的出现前复权负的股价等等,这些都需要注意。同样大家可以随便拿个股票,翻到前面同一日对比下前复权,后复权涨跌幅。
     
    第二步,模型的构建与编程实现,这个策略比较简单,所以实现会比较容易,我就说说思路,因为每个人的编程工具不同。
A.取得当日所有涨停的股票(不包括ST股)
B.按时间为主键,得到05年到现在每一日涨停股票代码
C.计算沪深300每日的涨幅(这里的涨幅定义为close/open-1,需要解释下为什么,因为前一日得到涨停股,当日得到开盘竞价,预测大盘涨跌,才能决定做空or做多沪深300,由于股指期货时间从2010年才开始,这里就直接考虑做多做空沪深300指数了,有偏差,这里只是展示策略)
D.计算每个涨停股,后一日竞价的涨幅,即open/前一日close-1,然后计算当日所有涨停股的平均竞价涨幅,现在很多软件平台都做了涨停股后一日表现

        

E.连接输入项昨日涨停股今日的竞价平均涨幅,输出项今日沪深300指数涨幅
     
    第三步,编程思路已经搞定,然后编好,扣除合理的手续费,现在就可以做一些自己想做的咯,这里做一些超级简单的研究,毕竟带大家体验这个过程
1.       若涨停股竞价涨幅为正,当日是不是指数也收阳,相反竞价涨幅为负,是不是指数收阴
2.       若涨停股竞价涨幅为正,开盘做多沪深300,竞价涨幅为负,开盘做空沪深300,这样的策略收益曲线等等怎么样
3.       等等等等

      第四步,研究结果,结果一般展示哪些内容,这里我讲一下比较重要的指标,以供参考。
首先最直观的收益曲线,然后我个人比较关注的,每年的单利复利收益,最大回撤,最后就是总体的最大回撤,及最终的夏普比率,基本看这些就足以,这些是比较大的关注指标,不同模型还有不同细节需要关注的。那下面就给大家展示下回测结果。

             

                                                    05-16年回测结果
          其中sum_pro为当年单利净值,sum_fpro为当年复利净值,wrate为当年胜率

                
                                                           最终结果
其中sum_pro最终净值,sum_fpro为最终复利净值,xp_ln为对数夏普,xp_exp为指数夏普,mbt为所有最大回撤

曲线不截图了,下面谈谈如何评价策略,站在策略的角度,这是个不能垃圾再垃圾的策略,也就是说涨停股的竞价赚钱效应对于指数的预测很一般一般,殊不知网上经常说,竞价知当日行情?当然这里的竞价只是一小小部分,不足以推翻竞价知当日行情这个论断,但可以说明仅仅涨停板的赚钱效应还是不够预测当日行情的。
那就谈谈如何评价策略,第一看总体,夏普值太低了吧,夏普值的定义大家可以百度,这里分对数和指数夏普,想深入了解为什么的可以私聊我。夏普一般低于3的策略,我一般不会看,其实夏普有个近似值,就是年化收益率/最大回撤率,只是近似,也就是单位风险下的收益率,承受相同的风险,当然选收益高的对不对。3的意思大概就是,控制回撤率10%,年化可以达到30%,这里0.128太烂了,只是展示策略。第二就是看最大回撤率,可否接受,为什么发生最大回撤率等等。第三看每年的回测结果,是不是每一年都稳定or只是某些年特别好,某些年特别不好,最好的策略是每年都稳定,偏多头的策略牛市好是肯定的,熊市不能太烂。基本包括了策略的效率,风险,稳定。

恩,简单的烂策略,不过也说明了很多问题,本篇主要告诉大家量化过程其实很简单,就是思路编程,有思路可以靠量化验证,不要傻不拉几听说什么什么好。该策略是可以深入挖掘的,涨停股竞价,还有烂板竞价,首阴竞价,涨停还能分几板,几板,这样输入端是不是多了很多,同样输出端也可以多变,不一定是预测当日涨幅,可以前多少分钟等等。量化狗就是给我足够有效的输入端,可变的输出端,构建稳定的模型(黑盒子),输入得到输出决策。

也许本章有纰漏,谢谢大家指正。
@今日话题 @雪球达人秀 @褚悦霖 @超短学徒  @果壳中的呆瓜  @星光之夜 @曹屎儿 @持有封基 @橙子林 @梁宏 @进化论一平 @阿拉斯加的夏天

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多