克隆策略

主动管理基本定律(初级篇)

在上一个系列教程中,我们已经论述了信息率IR对主动投资管理的重要性和核心地位,在这个教程中,将继续展开,从主动投资与 超额残差收益率的管理关联起来。

基本定律

Grinold把信息率从另一个角度来阐述,即广度信息系数:

\begin{align*} IR = IC \cdot \sqrt{N} \end{align*}

上述投资策略的广度代表策略每年对残差收益率的独立预测数量;信息系数代表这些预测的质量,即每个预测与实现结果的相关性。 那么由上面的基本定律我们可以看到,要想提高主动投资的绩效,就要从策略的广度和质量两方面共同提高。下面也用python展示了信息系数 和策略广度之间的关系,从图中可以观察到,要获得更高的IR,曲线会整体向外偏移,意味着在给定投资能力IC的情况下,我们需要更多的投资机会 BR才能获得相应的投资绩效IR。

In [18]:
import matplotlib.pyplot as plt
IRs = np.array([0.25,0.5,0.75,1])
IC = np.linspace(0,0.2,100)
BR = (IRs/IC.reshape(-1,1))**2
plt.plot(IC,BR[:,0],'r-',label='IR=0.25')
plt.plot(IC,BR[:,1],'g-',label='IR=0.5')
plt.plot(IC,BR[:,2],'b-',label='IR=0.75')
plt.plot(IC,BR[:,3],'k-',label='IR=1')
plt.legend()
plt.ylim(0,2000)
plt.title('BR VS IC')
plt.xlabel('IC')
plt.ylabel('BR')
plt.show()

模拟实验

在这个实验中,我们通过进行一些模拟测试来获得更直观的理解。

假定股票残差收益率都由一个共同因子加噪音构成,并且股票残差收益率和噪音之间都相互独立,互不相关。我们对市场中的100只股票做独立预测, 也就是每只股票的预测序列都是独立的,预测模型由单因子横截面回归得到,并假定因子给定。

由下实验我们得到IC平均为0.026,这个代表我们的平均预测能力。在每年预测一次的情况下,每年生成100个预测信号,年化信息率为0.26, 这个数字并不怎么高。如果每季度预测一次,每年就能生成400个预测信号,年化信息率则提高了一倍,到0.52。如果每月预测一次,每年则有 1200个预测信号,年化信息率高达0.9,这已经是一个相当卓越的水平了。当然,我们还有一个相当不现实的假设,那就是当我们增加预测频率时, 我们的预测能力IC保持不变。在实际中,随着我们预测时间尺度的变小,收益序列的信噪比会越来越大,IC会持续下降。

In [126]:
np.random.seed(111)
T = 100
N = 100
# 我们选择的风险因子
factor = np.random.normal(0,0.1,T)
beta = np.random.normal(1,0.1,N)
sigma = 2

# 股票收益率分解为alpha,系统风险和特异风险,这里注解一下
noise = np.random.normal(0,sigma,T*N).reshape(T,N)
true_theta = factor.reshape(-1,1)*beta
theta = true_theta + noise

from sklearn.linear_model import LinearRegression
# 预测模型
reg = LinearRegression().fit(factor.reshape(-1, 1),theta)
# 预测序列
pred = reg.predict(factor.reshape(-1, 1))

freq = np.array([1,4,12])
BR = N*freq
IC = np.mean([np.corrcoef(pred[t,:],true_theta[t,:])[0,1] for t in range(T)])
IR = np.sqrt(BR)*IC

plt.figure(figsize=(10,4))
plt.bar(range(len(freq)),IR)
plt.title("IR vs frequence",fontsize=20)
plt.ylabel("IR",fontsize=20)
plt.xlabel("freq",fontsize=20)
plt.xticks(range(len(freq)), ['yearly', 'quarter', 'monthly'])
for i in range(len(freq)):
    plt.text(i, IR[i]+0.05, round(IR[i],2))
plt.ylim(0,1)
plt.show()

IC平方可加性

IC还有一个很重要的性质,那就是平方可加性:

\begin{align*} IR^2 = BR_1 \cdot IC_1^2 + BR_2 \cdot IC_2^2 + \cdots + BR_n \cdot IC_n^2 \end{align*}

其中每一个IC和BR分别对应着一个独立策略下的信息系数和广度。

上述可加性为我们的多策略组合提供了理论依据,我们可以将不同风格的策略组合在一起,比如可以包括基本面多因子策略、基于机器学习的策略、 事件驱动的策略等等;我们也可以将市场分隔成若干独立的行业,每一个行业都由独立的模型或者策略或者投资经理负责,同样也可以将它们 组合在一起。还可以包含不同时间尺度的策略,比如平均换仓为一季度、一个月、一周甚至一天的策略。

所以,在IC平方可加性的实践指导意义就是我们需要有更多独立、优质的策略/预测,当它们组合在一起,就能够提升我们的IR。

IC相关性

当然,上述论述建立在一个很强的假设下,每个策略/预测都相互独立。在实际中,我们往往避免不了IC相关性,也不能够被忽略。比如基于 基本面的多因子策略与基于动量的机器学习策略,看似相关性不大,但实际上往往具有较大或者不可忽略的相关性,因为基于基本面的多因子 策略本身可能就存在“动量建模”,因子收益率的预测或者因子横截面多少都会带有动量性质,而捕捉动量的机器学习策略也可能在动量建模中 “不小心”捕捉到基本面的信息(毕竟所有信息多少都会反应在价格上,只是信息衰减和信噪比程度不同而已);再举一个例子,一类相同的预测模型, 比如随机森林,在不同时间尺度上进行预测,会发现它们的策略/预测相关性还是很高的,其中的一个原因是因为收益率本身的动量,另一个重要的 因素就是不同的预测信号可能会发生重叠,从而导致仓位的重叠,如在同一时刻年度预测模型和月度预测模型对同一股票都看涨。

从另外一个视角去看,IC的平方可加性应该服从经济学的边际效用递减规律。在这里它指的是我们每增加一个IC,它可产生的边际IR会更少。 所以这里给我们的建议是我们要非常科学的去管理IC的生命周期,首先每一个IC之间尽可能地独立,并尽可能地“单纯”,让它和其他的IC产生 尽可能少的相关性;还需要对每一个IC进行跟踪和迭代,如果一个IC不能够产出边际IR,就应该进行淘汰,它或许会影响到其他的IC贡献以及 对候选IC产生影响。

基本定律的局限性

根据Grinold在《主动投资组合管理》中的论述,他说基本公式更多看成 一个战略指导,而不是一个操作工具。然后,对于很多量化投资者来说,更希望能够有一套具有实践意义的执行工具。那么Grinold的基本定律 距离实践到底有多少距离呢?

首先,Grinold在1989年的原始论文中并没有给到策略广度的精确定义,实践中往往应用一个策略的股票池数量作为策略广度,然而在实践中, 这往往导致了2~4倍的IR高估程度。

在实践中,我们往往还有很多组合约束,比如多头寸约束、行业暴露约束等,这导致了在alpha生成的过程中采取了次优权重,从而降低了我们 能够达到的IR上界。Clarke在2002引入了转移系数(TC)的概念,它是风险调整后残差收益与风险调整后主动权重之间的相关系数,用来对原始 IR做调整(经实证研究,调整后的IR仍然偏高)。

在Grinold原始的版本中,还有一个很强的假设,那就是一个股票的实际残差收益率与预测信号的相关性在时间序列上保持恒定,也就是说IC 的时间序列是一个常数。在实践中,很多量化投资者都是采用的Fama-Mcbeth的横截面回归,这种方式导致了实际IC在每个时期会有很大的不同。 Qian和Hua在2004年认为需要把策略风险考虑进去,也就是IC的标准差,然后他们总结道——“信息率等于能力乘以精确度”,其中精确度就是策略风险的倒数。

最近的研究中,Ye在2008年把上述的一些研究成果都整合在一起,从而得到了一个更一般的主动定律版本:

\begin{align*} IR = \frac{IC}{\sqrt{\frac{1}{N}+\sigma_{IC}^2}} \end{align*}

在这个主动定律中,如果$\sigma_{IC}=0$,就变成了Grinold的版本;如果$N \to \infty$,则变成了Qian和Hua的版本。这个更一般化的版本, 也没有改变主动定律的逻辑本质,即通过提高能力和广度能够提高主动管理绩效,只不过现在加入了第三个因素——模型风险,我们还可以通过减少模型风险, 增加预测一致性来提高IR。

IC的应用场景

IC可以作为主动绩效先验估计的一个工具,它可以帮助我们估计可实现的alpha和IR。

IC可以作为一种预测流程控制工具。IC可以告诉我们预测的质量和可利用的机会空间,并且还能告诉我们对IR的边际增益,对于大型、复杂的 策略生命周期管理提供了一种方法论。

IC还可以作为一种策略研究的指导方针,比如可以根据现有策略IC的贡献分布,来决定把有限的人力和资源投入在哪里。

IC还可以作为预测模型、分析师或者投资经理的绩效考核工具,通过对后验IC的评估来考核策略或者投资经理的能力水平。

总结

  • Grinold主动投资基本定律:信息率等于信息系数乘以广度,即$\quad IR = IC \cdot \sqrt{N}$
  • 策略的广度Breadth代表策略每年对残差收益率的独立预测数量
  • 信息系数IC代表这些预测的质量,即每个预测与实现结果的相关性
  • IC具有平方可加性,但在实践中IC不是相互独立的
  • Grinold的基本定律在实践中偏高,可能高出1~4倍
  • 实践中的组合构建约束会降低IR的可实现上届,可以通过引入转移系数TC来调整
  • Grinold的基本定律没有考虑模型风险,也是导致估计IR偏高的原因之一
  • Ye提出更一般的主动定律:$IR = \frac{IC}{\sqrt{\frac{1}{N}+\sigma_{IC}^2}}$。如果$\sigma_{IC}=0$,则变成了Grinold的版本

Alpha系列回顾