一类简单的群体行为择时模型框架及实现测试-by李洋faruto
标签:
matlabquant量化投资择时模型选股 |
分类: MATLAB量化投资策略分析 |
原帖地址:
一类简单的群体行为择时模型框架及实现测试-by李洋faruto
==========================================
Index = f( Rule(sPool) ) = f( Rule(Stock_1,Stock_2,…,Stock_M) )
Index = f( Rule(sPool) ) = f(Stock_1,Stock_2,…,Stock_N )
TM(Index) = {-1,1} 或 TM(Index) = {-1,0,1}
其中定义1:涨(做多);-1:跌(做空);0:平(不操作)。
TM(Index) = TM(f(Stock_1,Stock_2,…,Stock_N ))
TM(Index) = TM(f(Stock_1,Stock_2,…,Stock_N))
= sf(sTM(Stock_1,Stock_2,…,Stock_N) )
TM(Index) = sf(sTM(Stock_1,Stock_2,…,Stock_N) )
构建择时模型TM_demo,对于单只个股定义
sTM(Stock_i)={个股与均线1的相对位置量化描述,个股与均线2的相对位置量化描述},sf为某种加权平均(线性或非线性),
这样的模型是有直观理解的,比如指数下破20日均线,说明指数可能开启下跌行情,但往往此时可能行情已经走出了一些时日了,想象一下“指数下破20日均线”这一行为的发生过程:初期有指数的成分股有少数几只股票下破了20日均线,但综合起来指数仍然在20日均线上面,慢慢地,随着下破20日均线的股票数目增多,一直处于20日均线下面的股票数量越来越多,最后导致某一天综合起来指数下破了20日均线。如果能有有效的量化描述“指数下破20日均线”这一行为过程,那么就可以更好地更加及时的进行指数择时,上面的择时模型TM_demo就可以是一个量化描述,下面来具体测试实现一下。
以下测试基于MATLAB,数据来源为FQuantToolBox和Wind,测试标的为沪深300指数(000300.SH),使用T日之前(T-1日、T-2日,… …)的数据来生成信号指导T日交易,按照择时模型TM_demo生成的择时信号如下:
可以看到正如我们料想的那样,群体行为择时模型TM_demo在某些时点可以提前发生买入和卖出信号,但也不是在任何时候都百分之百准确,因为不存在圣杯。
在来放到看下2015年近期的信号:
可以看到模型的“运气”还比较不错。
基于上面的择时信号,下面再来系统回测一下,使用T日之前(T-1日、T-2日,… …)的数据来生成信号指导T日交易,若有最多信号,则T日开盘买入测试标的,若有做空信号则空仓观望(后面会有做空的测试),测试结果如下:
若允许做空,测试结果如下:
当然任何模型都有参数,择时模型TM_demo核心参数有两个,上面的测试结果没有进行参数寻优,是我自己给出的经验参数。
总结:希望大家能够理解我前面的介绍的群体行为择时模型框架,后面的测试仅仅是一个简单的实例测试,这里多说一句,一个好的择时模型,一则可以用来直接交易相关标的,二则可以用来进行相关板块投资的仓位调控。

加载中…