果仁课程(四) 股票池的应用(2016-8-6) 点我看视频(四)

用户有很多时候需要在指定的几只股票或几只基金里制作轮动策略, 比如在4只银行股票里轮动或者在两个基金里做二八轮动。 这时候, 就需要使用股票池(或者基金池)。

一个股票池可被看作一个自定义投资域,股票池功能可以让用户为策略设定一个更灵活的投资域。 用户可以到我的主页里创建股票池, 也可以在策略研究界面里直接创建股票池。 股票池分为三种:静态股票池动态股票池和合成股票池静态股票池是一个手工键入的股票代码集合(或者拷贝粘贴一个股票代码表)。静态股票池是最常用的一个股票池,使用静态股票池用户可以实现几只股票之间的轮转策略,比如几个银行股票之间的轮转策略。 动态股票池是根据选股条件和排名条件产生的动态股票集合,股票清单可以每日动态变化。 使用动态股票池,用户可以实现分层量化策略,也就是将筛选排名条件分在两步里完成,这样策略的表达能力更强。比如用户可以首先创建一个动态股票池: 总市值和股价综合排名最小的100只股票,然后再在这个股票池里面选择市盈率最小的10只股票。动态股票池创建界面和策略创建界面及其相似,只是更简单些,没有策略回测那些设置。合成股票池可以实现两个股票池之间的集合操作, 包括排除(实现黑名单), 交集, 并集等。 

在股票策略研究界面里, 选择股票池默认是全部股票, 用户可以通过下拉菜单看到可以使用的股票池。

基金池和股票池基本一样,区别是基金池里的代码都是基金代码,而股票池里的代码是股票代码。基金池目前不支持动态基金池, 只有静态基金池和合成基金池。 除了基金以外,静态基金池还可以放入指数代码, 支持指数回测。 比如对上证指数进行回测,可以创建一个静态基金池,键入上证指数代码“000001I”, 在果仁网里,所有的A股指数代码都有一个”I”(大写的i)后缀,以区别于股票/基金代码。

股票池使用示例
示例1 四大银行轮动策略
1 策略研究界面->我的股票池的右面点击 + 号,下图:



2创建一个4大银行的静态股票池, 我们可以将四大银行(即工商银行 601398,建设银行 601939,农业银行 601288,中国银行601988)的股票代码直接输入到股票列表里,然后点击保存。如下图:



3 创建股票池完毕后,去创建股票策略->选股设置页面,“四大银行”股票池出现在选择范围的下拉菜单里,如下图。




4选择四大银行股票池, 就可以制作在四大银行之间轮动的量化策略。使用每日选股可以确认股票池里的股票确实是四大银行。 如下图。


5然后可以创建一个量化策略, 持有市盈率最低的一只四大银行股票, 每20个交易日轮动一次。 最近4年的总收益是58.9%,在同一时间段沪深300的总收益只有-1.21%。 这么一个简单的量化轮动策略可以轻易战胜沪深300。如下图



示例2 排除四大银行的银行股轮动策略

有用户认为四大银行没有增长潜力, 需要制作非四大行的银行量化轮动策略。 这时候,可以将四大银行股票池作为黑名单,从股票中排除。
1 在策略创建页面->我的股票池 点击+ 号, 创建一个合成股票池“排除四大行“, 定义是”全部股票 排除 四大银行“。


2 在创建股票策略->选股设置页面,选择范围设定为“排除四大行“,行业为 “银行”, 通过每日选股, 可以看到银行股票列表里已经排除四大行。 如下图。




3 现在可以制作出一个非四大行的银行个量化策略。 比如按照示例1的公式做出一个最小市盈率非四大行银行股策略, 最近四年的总收益是181%。如下图

实例3 指数轮动回测
ETF轮动策略可以使用静态基金池来完成,流程类似于上面两个例子。ETF策略的一个缺点就是历史不够长, 用户可以使用指数来做出更长时间的轮动策略。
1 比如创建一个沪深300 和中小板指数的轮动策略。首先可以创建一个指数池,叫做“沪深中小指数轮动”如下图:



这里需要注意指数代码后面需要加一个后缀”I”(大写的i), 以便和股票基金代码区别。


2 在创建基金策略->选股设置页面,选择范围设定为“沪深中小指数轮动”, 再把基金类别设为“指数”。 用每日选股可以验证选出正确的指数。 如下图



3. 设置选股排名条件进行回测, 步骤类似上例, 省略。

示例4 动态股票池示例
使用动态股票池可以做出更加复杂或更加灵活的选股策略。比如从市盈率最小的100只股票里选出市值最小的5只股票持有策略。
1 创建一个叫做“小PE100”的动态股票池,定义是市盈率最小的100只股票。下图显示这个动态股票池的定义。


动态股票池的定义界面非常类似于股票策略的选股设置, 只是更简单。

2 基于这个股票池创建一个市值最小的5只股票策略。如下图设置






3 最近4年的回测结果如下