因子组合中如何最大化 IR

作者: , 共 2895 字 , 共阅读 0

假设我们有 $n$ 个因子 $A_i$,我们希望得到一个最优组合 $\sum w_iA_i$,最大化其收益风险比 IR 。

1、数学模型

假设因子的收益率为$r_i$,因子的协方差矩阵为$\Sigma_{i,j}$,那么问题是最大化 $ \frac{r^T w}{\sqrt{w^T \Sigma w } } $

在组合优化中,一般只有线性优化或者二次凸优化能求出全局最优解,显然上面 IR 的直接形式不属于这两种。但我们可以通过变形来求解。因为分子分母对于$w$的量纲是一样的,$w$的缩放不影响求解,因此可以直接添加限制添加:

$$ r^T w = 1 $$

这时候问题变成最小化 $\sigma^2 = w^T \Sigma w $,这就是一个二次凸优化问题了。假设 $ \Gamma $$\Sigma $ 的 Choleksy 因子,即 $\Sigma = \Gamma^T \Gamma $ ,并令 $\tau = \Gamma w $,那么上述的问题将转为:

$$ \text{minimize}_w \ \ \sigma $$

$$ \begin{array}{ccr} s.t. & r^T w & = & 1 \\ & \tau &=& \Gamma w \\ & \sigma ^ 2&\geq &\tau^T\tau \end{array} $$

这是一个标准的 mosek 二次凸优化问题。

2、工程上如何实现

因子 $A_i$ 在过去 $K$ 天的日收益率序列为$r_{i,k}, 1 \leq i \leq n, 1\leq k \leq K$。那么因子收益率为(前面的系数$\frac{242}{K}$表示年化值):

$$ r_i = \frac{242}{K} \times\sum_k r_{i,k} $$

协方差矩阵可近似(忽略非零期望值):

$$ \Sigma_{i, j} = \frac{242}{K} \times \sum_k r_{i,k} r_{j,k} $$

从这个表达式我们可以直接进行 Cholesky 分解:

$$ \Gamma_{i, k}= \frac{\sqrt{242} \times r_{i, k}}{\sqrt{K}}, 1 \leq i \leq n, 1 \leq k \leq K $$

然后套用上面的数学模型求解即可。

在工程上我们还需要做更多。为了增加问题的鲁棒性,我们会调增上面的协方差矩阵的对角线,这样会让协方差矩阵更正定。这个增加值称为岭参数( Ridge Parameter ),我们用$\lambda$来表示。那么在数学上,实际就是:

$$ \sigma^2 = \tau^T \tau + \lambda w^T w $$

但这个表达式不符合 mosek 二次问题的标准格式,我们需要将$\lambda $ 合并到 $\Gamma $$\tau $

$$ \Gamma_{i, k}= \frac{\sqrt{242} \times r_{i,k}}{\sqrt{\lambda K}}, 1 \leq i \leq n, 1 \leq k \leq K $$

因此下面是最终实现(唯一的输入是各个因子的历史日收益率序列 $r_{i,k}$),一个标准化的 mosek 二次凸优化问题:

$$ \text{minimize}_w \ \ \sigma $$

$$ \begin{array}{ccr} s.t. & r^T w & = & 1 \\ & \tau &=& \Gamma w \\ & \sigma ^ 2&\geq &\tau^T\tau + w^T w \end{array} $$

其中:

$$ r_i = \frac{242}{K} \times\sum_{k=1}^K r_{i,k}, 1\leq i \leq n $$

$$ \Gamma_{i, k}= \frac{\sqrt{242} \times r_{i,k}}{\sqrt{\lambda K}}, 1 \leq i \leq n, 1 \leq k \leq K $$

Q. E. D.

类似文章:
数学 » 数学游戏, 概率
600 个人站一排,每次随机杀掉一个奇数位的人,几号最安全?
标准的期望-方差组合优化目标中有一个参数$ \lambda$
风险管理 » VaR Primer
在计算 VaR 之前,需要先明确所计算 VaR 的参数。最重要的两个参数为时间期限和置信度,前者对应所需衡量风险的时间段,后者对应风险的容忍度。
风险管理 » VaR Primer
在一个大型的组合中,有成千上万只不同的证券,但不同证券的价格可能受到同样的因素所驱动,比如同一个国家的债券几乎都受到该国的基准利率所影响。为了简化 VaR 的计算,通常将那些最根本的因素挑选出来,这些因素被称为风险因子。根据风险因子的状态,计算证券的价格被称为估值。
我之前一直对 Delta ($ \Delta$ )和 Gamma ($ \Gamma$ )等 Greeks 指标理解得比较模糊,今晚上用笔认真推导了一下,以下是总结。数学公式永远是最清晰的表达方式。
继续写 Mathematical techniques in finance 这本书的笔记,这是第二篇,第一篇是One-Period 模型和无套利定价
风险管理 » VaR Primer
一个场景是所有风险因子的表现序列。历史场景是指风险因子在历史上某天的实际表现,随机场景则是计算机随机模拟生成的。通常蒙特卡洛模拟法需生成至少 1000 个随机场景,然后计算组合在每个场景下的损益,最后取 5%分位点得到组合的 VaR 值。
最近看了几个风险管理和组合管理系统,有几个系统里附带了组合优化模块,也了解到这一方面工业界的最新成果。最新的组合优化模块被称为第二代最优化模型,主要成果就是二阶锥优化算法的应用,其中一个重要的改进为对 alpha 估计的不准确性考虑在内。
周末我们组织了一次香山地区的捡垃圾活动,获得 4 小时北京志愿者的时长。
数学 » IMO, 奥数
最近几年观察到中国奥数的一个趋势,就是进入头部(集训队和国家队)的奥数选手越来越年轻了(这也意味着底层奥数选手也在年轻化)。