掘金社区

短周期量价策略(附源码)Pinned highlighted

你好,掘金者 发表在策略分享 2021-12-17 17:21:55

策略分享
1175
5
0

可能不少朋友都有阅读过国泰君安《基于短周期价量特征的多因子选股体系》这篇研报,对其内多达191个量价因子印象深刻。该研报是在2017年中旬发布的,时至今日已过去四年时光,为此大家可能会好奇,这些因子“尚能饭否”?

 ​
为此,基于单因子方式,我们做了一些简单测试。
 ​

一、策略逻辑简述:

 ​

基于研报内的量价因子,做多单因子前N只股票,周频持仓。

 ​

我们测试了Alpha001至Alpha050这50个因子,其中Alpha007因子在今年表现较为优越。其因子定义分为如下:

 ​

Alpha007 = ((RANK(MAX((VWAP - CLOSE), N)) + RANK(MIN((VWAP - CLOSE), N))) * RANK(DELTA(VOLUME, N)))
 ​

  • RANK为排序函数,以数值从小到大排序;
  • MAX为最大值函数,MAX(A,N)为历史N个数据中的最大值;
  • VWAP是当日均价,常用当日成交额/当日成交量;
  • CLOSE为当日股票收盘价;
  • MIN为最小值函数,MIN(A,N)为历史N个数据中的最小值;
  • DELTA(A,N)为差值,A(i) 减去 A(i-N)。

 ​

回测日期:2021年1月1日至2021年12月15日

回测品种:全A(剔除ST股)

初始资金:1,000,000.00元

手续费率:0.001

Alpha007参数N设定为5

 ​
Alpha007回测结果如下:
 ​
0_1639732548607_图片1.png

 ​

二、策略优化:

 ​
从上述收益结果来看,基于这个策略,我们能做什么优化呢?
 ​

可能有些读者对我们之前做的简单仓位管理有印象(点击回顾:阻力支撑的新视角(下)),在此不如将它放到该策略试试。

 ​

仓管管理设置如下:

 ​

1.当5日线处于20日线以下和40日线以上,则只买八成仓位
2.当5日线处于40日线以下和120日线以上,则只买四成仓位
3.当5日线处于120日线以下,只买1成仓位
4.其他情况可以满仓操作
 ​
上次我们策略的仓位管理基准是沪深300,但本次策略的大部分持仓都是中小盘股(在所有持仓中平均市值为250亿左右,千亿市值以上的持股数量仅占5%左右),用沪深300指数的话就不是很合适,为此调整为中证500指数。
 ​
Alpha007因子+仓位管理的回测结果如下:
 ​
0_1639732629944_图片2.png
 ​
Alpha007与Alpha007仓位管理的回测结果对比:
 ​
0_1639732698536_screenshot-20211217-171804.png

 ​

三、结论:

 ​
加入仓位管理后,策略年化收益几乎保持不变,但最大回测有了一定的改善,减小了2.05%,夏普比率从2.48提高到了3.04,从曲线图中也可以看出,增加了仓位管理后的策略涨幅更加平稳。
 ​

整体而言,该种方式的仓位管理还是具有一定的适应性,可以在其他策略上尝试。
 ​
本文仅测试研报中的前50个因子,感兴趣的朋友可以继续测试下剩余因子的表现。全部测试后再正交化,进一步筛选因子形成自己的量价多因子模型。

 ​

声明:本内容由掘金量化原创,仅供学习、交流、演示之用,不构成任何投资建议!如需转载请联系掘金小Q(VX:myquant2018)授权,否则作侵权处理!
评论: 5
  • 源码在哪里请问?

    2021-12-19 22:40:57
  • @石斑鱼先生 😌 在声明下面

    2021-12-24 09:50:34
  • 这个测试也就是1.3的收益,文中的收益从哪里来?

    2021-12-24 14:38:14
  • 0_1640976456237_Snipaste_2022-01-01_02-47-28.jpg
    源码回测,结果与楼主不同,累计收益率仅11.74%

    2022-01-01 02:48:18
  • @韭菜根-0 很抱歉这是我程序的错误:在alpha007()函数中调用排序命令的rank()应该用axis=1,用axis=0计算的是股票自身时间序列的排序,应该用截面股票间的排序;用axis=0不仅是理解错误,还容易导致计算出来的因子具有大量相同数值,这导致选出来的股票数量容易大于初始化中设置最大股票数量,这样每次选出来的股票就会有随机的可能,导致每次回测结果都不一样。😌 囧......

    2022-01-14 17:45:38

Looks like your connection to 掘金量化社区 - 量化交易者的交流社区 was lost, please wait while we try to reconnect.