点宽专栏-华泰金工-CAPM择时(下)

  • A+
所属分类:百科
摘要

绩效点评 该策略未进行参数优化时,已经表现较好,为了稳健性,我们将其信号再次滞后一阶,虽然业绩出现大幅下滑,但是仍然可以看出是一个向上的趋势。 以每周 5 个交易日,每

点宽专栏-华泰金工-CAPM择时(下)

绩效点评

该策略未进行参数优化时,已经表现较好,为了稳健性,我们将其信号再次滞后一阶,虽然业绩出现大幅下滑,但是仍然可以看出是一个向上的趋势。

以每周 5 个交易日,每月 4 个交易周为假设,我们以万得全 A 为市场指数,分别计算中信一级行业指数的 29 个行业两年左右( 96~104 周) 的贝塔。得到贝塔后,我们对 29 个行业每周的收益率和贝塔计算Spearman 秩相关系数 。我们观察Spearman 秩相关系数的时间序列、分布后,决定采用4周滚动平滑处理Spearman 秩相关系数,降低其切换频率。

%% 收益率与beta的spearman系数num = length(datelist);spearman_ts = zeros(num,1);for i=1:num? ?spearman_ts(i) = corr(ret_mat(i,2:end)',beta_mat(i,:)', 'type' , 'Spearman');end%?figure()%?plot(spearman_ts)%?xlim([0 num])%?figure()%?hist(spearman_ts)%?xlim([p0 num])%?4周平均[temp,~] = movavg(spearman_ts,4,6);spearman_ts = [spearman_ts,temp];%?bar(spearman_ts(:,2),'r')%?xlim([0 num])

从平滑后结果来看,spearman系数已经具备较好的持续性。此外,还可选用其他方法进行优化和平滑,这里不再展开。

spearman系数时间序列、分布、4周MA序列

点宽专栏-华泰金工-CAPM择时(下)

根据spearman系数的分布,秩相关系数选取 0.128 作为阈值,当秩相关系数大于0.128时,记作一次看多,当??秩相关系数小于?0.128时,记作一次看空。在连续两次观测到同向信号时,正式看多/看空指数, 发生看多/看空指令;当观测到反向信号时,清空之前观测,以最近一次观测的方向为基准。

简单回测结果

%% 数据回测signal_ts = zeros(num,1); ?%?信号序列count =?0; ?% 信号计数器p =?0.128; ?% 阈值for?i=2:num? ?if?signal_ts(i-1)==0??% 上期无仓位? ? ? ?if?spearman_ts(i)>=p ?% 当期发出看多信号? ? ? ? ? ?if?count==1??% 确认看多? ? ? ? ? ? ? ?signal_ts(i) =?1;? ? ? ? ? ?else? ? ? ? ? ? ? ?count = count+1;? ? ? ? ? ?end? ? ? ?elseif spearman_ts(i)<=-p ?% 当期发出看空信号? ? ? ? ? ?if?count==-1??% 确认看空? ? ? ? ? ? ? ?signal_ts(i) = -1;? ? ? ? ? ?else? ? ? ? ? ? ? ?count = count-1;? ? ? ? ? ?end? ? ? ?end? ?elseif signal_ts(i-1)==-1??% 上期空头? ? ? ?if?spearman_ts(i)>=p ?% 当期发出看多信号? ? ? ? ? ?signal_ts(i) =?0;? ? ? ? ? ?count =?1;? ? ? ?else? ? ? ? ? ?signal_ts(i) = -1; ?% 当期继续空头? ? ? ?end? ?elseif signal_ts(i-1)==1??% 上期多头? ? ? ?if?spearman_ts(i)<=p ?% 当期发出看空信号? ? ? ? ? ?signal_ts(i) =?0;? ? ? ? ? ?count = -1;? ? ? ?else? ? ? ? ? signal_ts(i) =?1; ?% 当期继续多头? ? ? ?end? ?endend

下面为业绩评价函数,为了简洁直观,仅评价了策略的:年化收益率、年化波动率、夏普比率、最大回撤、CAR比率。一般来说,机构更关注回撤和CAR比率,因为风险永远是第一位,收益是其次的,如果CAR比率够高,策略完全可以通过控制仓位来保证收益和控制风险。

业绩评价函数

function?record?=?performance_evaluation(ret_index)annual_ret?=?power(ret_index(end-1)/ret_index(1),?52/length(ret_index))-1;annual_vol = std(tick2ret(ret_index))*sqrt(52);sr = annual_ret/annual_vol;maxdd = mdd(ret_index);car = annual_ret/maxdd;record = [annual_ret,annual_vol,sr,maxdd,car];endfunction?maxdd=mdd(ret_index)num?=?length(ret_index);ret_index = [ret_index,zeros(num,1)];for?i=1:length(ret_index)? ?ret_index(i,2)=max(ret_index(1:i,1));endmaxdd = max((ret_index(:,2)-ret_index(:,1))./ret_index(:,2));end

通过简单收益率和复合收益率,可以发现,CAPM择时效果较为突出,除了部分时间出现了回撤。在计算beta时,我们已经滞后过一阶,但是为了保证稳健性我们再次滞后一阶,也进行了策略检验,其结果如下。假定本策略可以采用多空(可以考虑股指期货的多空)。

策略表现

点宽专栏-华泰金工-CAPM择时(下)

净值曲线-累乘法-0阶滞后

点宽专栏-华泰金工-CAPM择时(下)

净值曲线-累乘法-1阶滞后

点宽专栏-华泰金工-CAPM择时(下)

净值曲线-累加法-0阶滞后

点宽专栏-华泰金工-CAPM择时(下)

净值曲线-累加法-1阶滞后

点宽专栏-华泰金工-CAPM择时(下)

未来优化方向

我认为该策略有如下几种优化方式:

1.调整参数频率(这也是最差的优化方法,要“优化逻辑”,而不是参数)

2.对于Spearman的时间序列预测可以提高,加入其它时间序列方法

3.行业择时可能不如其它风格指数择时,因为行业自身的beta有其他推动力

4.对于beta估计要优化,因为beta的时变性在本文中没有处理,学界研究很多,可以借鉴

5.beta其实和市场溢价并不算线性,可参见文章AQR基金文章Betting Against Beta,所以这方面逻辑需要改善,对于高Beta的负Alpha折价,其实更好反应了市场的投机心理

总结

量化只是一种方法,其背后的金融是核心,因此每次进行研究,都需要仔细思考策略的推动力和信号体系是如何构建的。其次,量化策略相对于主观的最大优势是风险控制能力,往往风险是第一位,而收益只是第二位的。

—-

编译者/作者:点宽DigQuant

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: