分享

【果仁量化课堂】用果仁快速创建第一个量化策略

 月光刀vbyq1lix 2017-07-07


-写在前面-


各位来到【果仁量化课堂】的同学们,大家好,很高兴今天在量化课堂和大家见面。


果仁网从创立至今已经快两年了,随着我们产品的持续迭代与打磨,我们的量化交易系统日趋完善,各种量化因子指标不断丰富,策略商城上的量化策略也百花齐放。


但是在我们快速前行、不断通过技术突破以降低量化投资门槛之时,却发现很多对量化投资感兴趣朋友仍然在量化投资的大门口外张望,踌躇不前。也有很多初期的果仁用户在不断自我摸索使用果仁的过程中,仍然无法创建出有效的实盘策略,并没有将果仁网的功效彻底地发挥出来。理论不懂实操抓瞎,研究了10分钟,最终从入门到放弃….


所以这就是我们重新开启量化课堂的起因希望在这一系列循序渐进的课程中,让大家可以通过果仁网快速地创建自己的量化策略,在学习的过程中更深刻地理解量化投资的思想与逻辑,逐步走上科学化的投资道路。这一系列课程将尽量做到简单易操作,让每个热爱量化的朋友们都可以动手参与进来。


那么肩负着如此重要使命的我在准备撰写这篇材料之前却莫名地打开了维基百科搜,然后看到了下面这句话:

“作为人类区别于其他物种,一个强大的优势就在于我们会使用工具。使用工具已被学者诠释成一种智力的标志,而且学者提出理论,工具使用可能触发了人类演化的某些层面——最值得一提的是人类脑子的持续扩张。”


所以说工具是个好东西,快速提高工具的使用能力,可以使我们远远领先同类,持续进化。这也回答了“果仁网”这个看似无厘头的站名由来,我们的初衷就是希望大家利用好我们这样一个投资工具,在股票市场,敲碎那坚硬的市场外壳,吃到美味的果仁。





-正文-


情怀卖完了,广告也做完了,我们正式开始上课。今天不扯西蒙斯,不扯阿法贝塔,就是教大家如何在五分钟内快速创建出一个简单实用的低市净率、市盈率经典量化策略。

 

该策略的定义如下:

在A股全市场中选取成交额每日大于1000万且市盈率和市净率综合排名最低的5只股票,每周轮动一次。

 

通过这个案例你将用到学习到以下内容

1.投资域,筛选条件与排名条件的使用

2.果仁轮动模型(模型 I)的使用

3.有效解读回测数据

4.根据回测结果持续地优化模型


OK Let’s go!!!


首先我们进入创建策略页面,看到的将是如下界面:



希望大家一进入这个界面就能在脑海中脑补出这四个红色线框选出来的四个区域,并牢牢记在脑海中。


下一步我们在相应模块内填入具体参数:


操作步骤如下:

1. 勾选“排除ST股票”投资域中其他参数不去改变

2. 在搜索框内搜索指标“成交额”,添加进入“筛选条件”选项卡

3. 比较符选择“大于”,填写“0.1亿”,即1000万

4. 切换至“排名条件”选项卡,添加市盈率指标,次序“从小到大”排列,其他默认选项不动,同理添加市净率指标

5. 回测时间设定为:2011/01/02-2017/07/06


需要注意的是在选股指标中,既可以通过搜索框直接对需要选择的指标进行筛选,也可以直接点击各条目的下拉菜单勾选各类指标。但这里我们更推荐通过搜索的方式,因为更高效。

 

“择股设置”设置完毕后,点击交易模型选项卡,其他参数不变,只将“最大持仓股票数”设置为5只,如图所示:


上述步骤选择完毕后,暂时不做更多说明,直接“点击回测”,查看回测结果:


在这一张图上我们这一讲只聚焦在三个指标上面:年化收益最大回撤率、以及收益曲线,分别在图中被红色框框选,但是这里比较容易犯错的地方是,系统默认只展示最近一年的收益曲线,因此我们这里要通过鼠标将年份拉动到起始端,才能显示策略从2011年开始完整的收益。调整后的收益如下图所示:



可以发现调整后的收益曲线形态与只有最近一年的收益曲线形态是完全不同的。


根据回测数据该策略的年化收益为15.15%,最大回撤率为30.34%,而同期的比较基准沪深300的年化收益为2.14%,最大回撤为46.70%,因此无论是从收益还是风险控制两个方面来衡量,该策略都是比较优秀的。

 

那么问题来了,如果量化这么简单,那么每三个人中不就有一个是股神了?显然不可能。所以我们肯定要对策略进行进一步的优化需要。那么该如果改建呢?我们接着往下看:

 

在分析报告中我们还能看到一栏叫做历史持仓详情的表格如下图所示:


任意点击第一列数字,比如“15”可以查看策略当期的持仓股票:



通过持仓情况我们发现了什么情况?银行银行还是银行,不是我们的系统出bug了,是我们的这个组合行业分布不够合理,因为一般国内银行股的市盈率市净率都出奇的低,所以导致策略持有银行行业的股票比例偏高(后面若干期持仓银行股所占比例都很高),这对于一个投资组合而言是存在潜在风险的。


所以改进策略的灵感来了:策略需要降低行业的集中度,也许会有不错的回测效果,所以我们策略增加一个限定条件:“每个行业每期最多仅允许持有一只股票”。


因此,如上图所示,在筛选条件中添加“市净率”筛选条件其他选项按图中示例进行设置,该筛选条件的妙用在于可以从A股市场涵盖的所有行业中的每个行业中挑选出市净率最小的那一只股票,(果仁网数据覆盖28个申万一级行业,所以会筛选出28只股票)然后再将此步骤中选中的所有股票按之前设置的排名条件进行排名,选出每期排名分最高的5只股票作为持仓股票。同样地,其他细节不做过多解释,我们点击查看回测结果:



可以发现年化收益提升到了22.11%,最大回撤为35.68%



查看第二期持仓,将会发现持仓的行业分布更加分散,年化收益有所提升,但是最大回撤也略有提升,效果并不是特别符合预期。那么问题又来了,策略有没有可进一步优化的空间呢?接着,我们发现晨鸣纸业并不是沪深300成分股,在投资域做些改变是否会对策略有所改进呢?


所以灵感又来了:如果我们将投资域从A股全市场缩小到沪深300中的成分股中,会不会降低最大回撤呢?顺着这一思路我们做了进一步调整:将指数成份只勾选沪深300,操作如图所示:


然后点击开始回测按钮:


通过回测可以发现,最大回撤下降到了33.21%,年化收益同时又增加到了24.71%收益up,回撤down完美


将沪深300与我们三个策略方案的年化收益和最大回撤的数据对比列于下表:



可以发现,最终经过两次改进后的策略可以在6年半的时间里达到24.71%的年化收益,轻松秒杀沪深300。而同期巴菲特的巴克希尔哈撒韦的年化收益也只有17.5%。   意不意外?惊不惊喜?



一直被大家认为鸡肋的市盈率市净率因子,组合起来进行量化选股还没有加入择时条件就取得了如此惊人的收益,这也许就是量化投资的魅力吧


最后我们再点击一下“年度收益分布”选项卡,可以发现我们制作的策略每一年均战胜了沪深300,这是非常不错的战绩,却在5分钟之内轻松实现了!虽然未来没人能确定该策略能否持续战胜市场,但至少证明该策略的逻辑到目前都是有效(该策略仅供参考,并不构成投资建议)





-总结-


最后帮大家做个总结。

在果仁网创建自己的策略大致流程如下图所示,可以概括为4大步骤:


1.在限定的投资域内选择策略的量化因子,如各种技术指标与财务指标等,并对其进行筛选与排名


2.根据自己的策略逻辑,选择相应的的交易模型,与风控模型


3.使用果仁网的回测引擎输出回测结果,并对策略结果进行分析解读;


4.添加或修改指指标,优化策略。重复执行第3步进行多次回测,直到输出满意结果,生成最终策略。


我们今天通过一个双因子选股的案例教会大家通过以上四个步骤在五分钟之内就可以快速创建出一个简单实用的量化策略。希望大家后面一定要对照教程登录果仁网实际操作一遍,在操作过程中可能会越到很多细节上的问题搞不清楚,比如:


为何要选择日均成交量一千万以上的股票?

模型一模型二有啥区别?

其他回测的收益指标如何解读?

筛选条件与排名条件的逻辑判断顺序是?


这些作为思考题,我们暂此按下不表,希望大家可以结合果仁网多尝试,多练习,多思考,带着更多问题,我们下期量化课堂再见。




祝果友们周末愉快~



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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多