Alpha系列——主动投资管理之信息率-程序员宅基地

技术标签: Alpha系列  数理统计与金融  主动投资管理  量化策略  量化投资  

  • 实现平台:BigQuant—人工智能量化投资平台
  • 可在文末前往原文一键克隆代码进行进一步研究

主动投资管理——信息率

前面文章为大家介绍了许多AI量化投资理念,这篇教程的主要目的是介绍主动投资组合管理的一些重要概念,帮助不熟悉这一领域的读者能够了解这个方法论的核心思想和价值。我们先介绍主动投资的概念,然后引入主动投资里最重要的概念——信息率。

接着我们分别从主动投资组合最优化框架,以及收益、风险的权衡展开,最后我们通过一个实际的主动投资组合的案例实验来结束讨论。

主动投资概念定义

之前我们已经介绍了经典的MPT,它的核心思想是市场是均衡的,不存在套利机会,投资者应该投资市场指数,从而分散股票的非特异风险并使得交易成本最低化。

但是,金融市场的从业人员、投资者一般都很难相信市场是完全有效的,甚至对于技术分析派的交易者,也会否认市场的弱势有效性。但是MPT确实有很多概念和工具值得我们借鉴,
于是,以Grinold为代表的主动投资理论便蓬勃发展起来,并且继承了MPT的诸多思想。

所谓主动投资是相对于被动投资而言的,假设有一家私募基金,投资者并且私募管理者以基金相对于沪深300指数的相对收益作为评估基金的标准,那么我们便认为沪深300指数期间的成分股权重作为这个资金投资组合的被动权重或者基准权重,
而基金任何偏离基准权重的情况都是基金的主动投资行为,因为基金管理者认为这些偏离能给组合带来相对于基准更高的风险调准后收益,也就是我们所谓的alpha收益或者风险调整后alpha。如果一个基金在整个投资期间没有任何主动权重,
那么它就是一只指数基金,因为它复制了指数组合,并且也获得了相同的指数收益。如果是一家对冲基金,它以绝对收益作为衡量自己业绩的标准,那么它的被动权重就是现金或者无风险资产,任何风险资产头寸都成为它的主动头寸。

一个基金管理者或者投资者采取主动投资,便是他认为他的主动行为上(如选股)相对于基准,能够提供额外的alpha收益,也就是说他相信自己在某些方面的投资能力能够创造alpha。主动投资组合管理便是一个系统的方法论和流程,
用以帮助相信具有alpha能力的投资者或者基金管理者来寻找和管理alpha。

主动投资组合

为简介易懂,我以下面的表格作为例子。我们的基准组合是一个包含四个股票的全额投资等权组合,在表格的第二列是我们的基准权重。然后在一个假设场景中,基金经理认为风险资产配置太高,于是降低到90%,无风险资产权重提升至10%。
基金经理根据自己的独特信息来源以及选股能力,给出了下一个投资期的股票预期收益。并基于预期收益信息,基金经理进一步调整了风险资产权重,对应的是表格中的基金权重,作为验证,我们可以计算得到基金权重的总和是100%。
在上面我们也说过了,主动投资的定义是于基准的偏离,也就是实际资产组合与基准组合的偏差,于是我们把基金权重减去基准权重得到了主动权重,在我们表格中的第三列。主动权重是相对偏离,所以它的权重是可以为负的,但是我们还
看到了一个有趣的现象,那就是主动权重的和为0,也就是说主动组合是一个现金中性组合。最后,我们还计算了组合的实际收益率为31.7%,基准为14.5%,也就是说我们实现了17%的alpha,或者说主动收益率。

基准组合 基准权重 主动权重 基金权重 预期收益 期末收益 期末资本收益
现金 0% 10% 10% 5% 5% 0.5%
股票1 25% -15% 15% 10% 8% 1.2%
股票2 25% 15% 60% 50% 40% 24%
股票3 25% -10% -10% -20% -10% 1%
股票4 25% 0% 25% 15% 20% 5%
合计 100% 0% 100% N/A N/A 31.7%

预期收益率的构成

我们可以将预期收益率分解为四部分,分别是无风险收益(时间溢价)、业绩基准部分(风险溢价)、基准择时部分(超额业绩基准收益率)、alpha部分(预期残差收益率),即:

\begin{align*}
\mathbb{E}[r_i] = r_f + \beta_i \mu_b + \beta_i \Delta f_b + \alpha_i
\end{align*}

时间溢价 r f r_f rf

时间溢价表示投资者放弃当前资产的投资转而投资无风险资产所获得的收益。称之为时间溢价代表对时间的补偿。一般我们可以采取银行间拆借利率作为无风险资产收益率,比如shibor。

风险溢价 β i μ b \beta_i \mu_b βiμb

这里采用了CAPM的概念,基准收益 μ b \mu_b μb一般指长期的基准超额收益。低beta资产具有较低的风险溢价,高beta具有较高的风险溢价。

超常业绩基准收益率 β i Δ f b \beta_i \Delta f_b βiΔfb

如果你相信在未来相对短周期的投资期内(如下一季度、下一年),预期业绩基准收益率不同于 μ b \mu_b μb,那么 Δ f b \Delta f_b Δfb就衡量了业绩基准在临近的未来时期上的预期超额收益率与长期预期超额收益率的差,也就是我们常说的大盘择时。
而Grinold认为,大多数投资机构经理都不使用业绩基准择时,而忽略它也将大大降低学习主动管理的学习曲线,所以如无特别说明,我们下面以及以后的教程都会假设没有基准业绩择时,也就是 Δ f b = 0 \Delta f_b = 0 Δfb=0。我会在专门的教程里讨论基准择时。

Alpha

α i \alpha_i αi即股票预期残差收益率,也就是我们最感兴趣的一部分,衡量投资者的投资能力,如预测能力、选股能力。

主动收益率与残差收益率

残差收益率和风险为:

\begin{align*}
\theta_p &= r_p - \beta_p r_b\
\omega_p &= std(\theta_p)
\end{align*}

主动收益率和风险为:

\begin{align*}
r_{pa} &= r_p - r_b = \theta_p - \beta_{pa} r_b\
\psi_p &= std(r_{pa}) = \sqrt{\omega_p^2 + \beta_{pa}^2 \sigma_b^2}
\end{align*}

投资经理在避免基准择时的情况下,并设置 β p = 1 \beta_p=1 βp=1,那么主动收益率就是残差收益率。如果投资经理进行基准择时,从上述公式可以看到,主动收益率等于残差收益率与业绩基准择时收益率的和。

信息率

这里,我们将介绍衡量主动投资成功的标准,那就是信息率。不过在谈信息率之前,我们先要谈谈alpha。

定义alpha

向未来看,即先验alpha是对残差收益率的预测。向过去看,即后验alpha是实现的残差收益率的平均值。

alpha类似beta,是利用线性回归将组合收益率分解为与基准相关的部分(线性相关),以及与基准不相关的残差部分(非线性相关)。于是:

\begin{align*}
r_{p}(t) &= \alpha_p + \beta_p r_b(t) + \epsilon_p(t)
\end{align*}

上面的 α p \alpha_p αp β p \beta_p βp分别是我们的后验alpha与后验beta。马上,我们可以推导出组合的残差收益率:

\begin{align*}
\theta_{p}(t) &= \alpha_p + \epsilon_p(t)
\end{align*}

α p \alpha_p αp便是平均残差收益率, ϵ p ( t ) \epsilon_p(t) ϵp(t)是残差收益率的随机项(均值为0)。

当我们向未来看,我们的先验alpha就是对残差收益率的预测。令 θ i \theta_i θi表示股票i的残差收益率,于是有:

\begin{align*}
\alpha_i &= \mathbb{E}[\theta_i]
\end{align*}

组合alpha为:

\begin{align*}
\alpha_p &= \boldsymbol{w^{\prime} \alpha}
\end{align*}

根据定义,基准的残差收益率总是为0,无风险资产的残差收益率也是0,因此任何有业绩基准和现金构成的投资租着的alpha也必然为0,即被动投资的alpha为0。

后验信息率——对业绩的衡量

信息率用IR来表示,定义为年化残差收益率与年化残差风险的比值:

\begin{align*}
IR_p = \frac{\bar{\theta}_p}{\omega_p} = \frac{\bar{\alpha_p}}{std(\alpha_p)}
\end{align*}

若不存在基准择时,那么 β p = 1 \beta_p=1 βp=1

\begin{align*}
IR_p = \frac{\bar{\alpha_p}}{std(\alpha_p)} = \frac{r_p-r_b}{std(r_p-r_b)}
\end{align*}

上面这个公式我们是不是觉得有点眼熟,是的,很像夏普比率:

\begin{align*}
SR = \frac{r_p-r_f}{std(r_p)}
\end{align*}

SR代表单位总风险所蕴含的超额回报,IR在这个基础上,引入了相对性,它衡量了主动头寸组合的单位风险所蕴含的主动收益,换言之,即风险调整后的alpha。
如果我们将基准设为无风险资产,那么IR就是SR,之前我们也讨论过,SR用来衡量追求绝对收益的对冲基金更加合适,对于追求相对收益的投资基金或者投资策略,
就不那么合适了。

在《主动投资组合管理》,grinold给出了衡量IR的参考分布:

分位数 信息率
10 1
25 0.5
50 0
75 -0.5
90 -1

Grinold认为整体而言,投资经理的费前信息率非常接近上表,是一个对称分布,所以主动管理是一个零和博弈游戏。在实践中,信息率高于1是卓越,高于0.5的信息率算是优秀了。

残差前沿

在被动投资里,我们的投资机会集就是与有效前沿相切的CML,所有投资经理、投资者都一样。而在主动投资中,IR绝对了投资经理、投资者的能力水平,并且只有在相同的业绩基准下,投资经理的IR才有对比的合理性。
信息率为主动投资经理定义了一条“预算约束”,即残差前沿:

\begin{align*}
\alpha_p = IR \cdot \omega_p
\end{align*}

在最优的情形下,投资经理只能通过增加相应程度的残差风险来增加预期残差收益率。下面我们画出了主动投资的机会集,IR是图中的斜率,x/y轴分别代表残差收益率和残差风险。

import matplotlib.pyplot as plt
omegas = np.linspace(0, 0.15,50)
IR1,IR2,IR3 = [1,0.75,0.5]
alphas_1 = IR1*omegas
alphas_2 = IR2*omegas
alphas_3 = IR3*omegas
plt.plot(omegas, alphas_1, 'b-',label='IR1')
plt.plot(omegas, alphas_2, 'b--',label='IR2')
plt.plot(omegas, alphas_3, 'b-.',label='IR3')
plt.title("Active opportunity sets")
plt.xlabel("$\omega$")
plt.ylabel("alpha")
plt.legend()
plt.show()

在这里插入图片描述

主动投资目标函数

首先,让我们重温下MPT里的最优组合问题阐述,其中f是超额收益:

\begin{align*}
Minimize \qquad & \boldsymbol{w^{\prime} f} - \lambda \boldsymbol{w^{\prime} \Sigma w}\
s.t \qquad & \boldsymbol{w^{\prime}} \boldsymbol{1} = 1
\end{align*}

在主动投资组合管理中,我们关注的目标不再是我们的组合头寸,而是主动头寸,还记得我们的组合头寸总是等于基准头寸加上主动头寸么?

那么,在没有基准择时的情况下,我们的问题便转化为寻找最优无主动beta、现金中性的主动头寸:

\begin{align*}
Maximize \qquad & \boldsymbol{w_a^{\prime} \alpha} - \lambda \boldsymbol{w_a^{\prime} (\Sigma - \beta \beta^{\prime} \sigma_b^2) w_a}
= \alpha_p - \lambda \omega_p^2\
s.t \qquad & \boldsymbol{w_a^{\prime}} \boldsymbol{1} = 0\
\qquad & \boldsymbol{\beta^{\prime} w_a} = 1
\end{align*}

给定无差异曲线下的最优解

我们有两个函数,分别是无差异曲线族和残差前沿:

\begin{align*}
U &= \alpha - \lambda \omega^2, \quad \lambda \in \mathbb{R^{+}}\
\alpha & = IR \cdot \omega
\end{align*}

为了找到两条曲线的焦点,把残差前沿带入无差异效用曲线:

\begin{align*}
\lambda \omega^2 - IR \cdot \omega + U = 0
\end{align*}

因为相切,所以上述曲线只有一个交点,最终得到:

\begin{align*}
U^{\ast} &= \frac{IR^2}{4\lambda}\
\alpha^{\ast} &= \frac{IR^2}{2 \lambda}\
\omega^{\ast} &= \frac{IR}{2 \lambda}
\end{align*}

下面我们用python代码画出了无差异效用曲线和残差前沿,并且得到了最优组合。

omegas = np.linspace(0, 0.15,50)
IR = 0.75
lam = 5
alphas = IR*omegas
opt_va = IR**2/(4*lam)
opt_alpha = IR**2/(2*lam)
opt_omega = IR/(2*lam)

plt.plot(omegas, alphas, 'b-')
plt.plot(opt_omega, opt_alpha, 'ko')
# 无差异效用曲线
U = opt_va + lam * omegas**2
plt.plot(omegas, U, 'r-')
plt.plot(omegas, U+0.02, 'r-')
plt.plot(omegas, U-0.02, 'r-')
plt.title("Optimal decision under utility functions")
plt.xlabel("$\omega$")
plt.ylabel("alpha")
plt.show()

在这里插入图片描述

主动投资组合案例

下面我们用一个toy example作为这篇教程的结尾。这个案例实验取自于《Alpha系列——从均值方差到有效前沿》,我们随机选取了五个股票,并重抽样还原至月收益数据,选取时间范围为2012年处到2017年底,同时以等权投资组合作为我们的基准业绩组合。
无风险资产收益率我们去一年期chibor利率,回测区间为2014年到2017年底,预留两年的数据用以计算必要的参数。

下面我们给出了实际可运行的python代码,其中get_active_mv_weight函数用以计算主动投资下的组合权重,plot_wealth_path函数画出我们最终的净值曲线,我们分别设置对残差风险厌恶系数分别为5、1、0.2情况下的净值曲线。从图中我们可以很明显地
看到残差风险厌恶系数对我们组合地残差风险的影响(与基准变动程度的偏离),同时我们的净值曲线大多在基准上面,说明了我们的主动头寸贡献了alpha,回忆一下,我们组合中的基准头寸beta为1,alpha为0。
在这里插入图片描述

源码地址:《Alpha系列——主动投资管理之信息率

本文由BigQuant人工智能量化投资平台原创推出,版权归BigQuant所有,转载请注明出处。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bigquant/article/details/86349545

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签