第2章:金融基础回顾——投资组合理论、风险与收益度量、有效前沿与夏普比率

做量化投资,尤其是用强化学习做资产配置,金融基础这块儿绕不开。我见过不少同行,一上来就撸代码、调模型,结果连夏普比率怎么算的都说不清楚。嗯,这其实挺危险的。今天咱们就把这几个核心概念掰扯清楚。

2.1 投资组合理论:马科维茨的遗产

说起现代投资组合理论,得从1952年马科维茨那篇论文讲起。说白了,他的核心思想就一句话:别把所有鸡蛋放在一个篮子里。但怎么放?放多少?这才是学问。

我个人习惯把投资组合理论拆成三个层次:

  • 单个资产的风险与收益——你得知道每只股票、每支债券的脾气
  • 资产之间的相关性——它们是一起涨跌,还是各走各的?
  • 组合的优化——给定风险水平,怎么让收益最大?

我在项目中遇到过一件事:有次做全球资产配置,我用了美股、A股、黄金和国债。按理说黄金和美股相关性低,能对冲风险。但2020年疫情那会儿,所有资产一起暴跌,相关性瞬间飙升到0.8以上。这就是所谓的「危机时刻相关性趋同」——你想想看,这时候分散化就失效了。

核心公式: 投资组合的预期收益 E(Rp) = Σ wi × E(Ri)
投资组合的方差 σp² = ΣΣ wi wj σi σj ρij

这里wi是权重,σi是标准差,ρij是相关系数。你看,组合的风险不是简单的加权平均,还多了一个相关性项。这就是马科维茨的厉害之处。

2.2 风险与收益度量:别只看收益率

很多新手只看年化收益率,觉得20%就是好策略。其实不然。我见过一个策略,年化30%,但最大回撤60%——你敢用吗?

常用的风险度量指标,我列个表:

指标 含义 我的用法
标准差(σ) 收益率的波动程度 衡量整体风险,但不够精细
最大回撤(MDD) 从峰值到谷底的最大跌幅 我最看重的指标之一,直接关系到心理承受力
VaR(在险价值) 给定置信度下的最大可能损失 做风控时必看,95% VaR 是底线
下行标准差 只考虑亏损时的波动 比标准差更符合实际——谁在乎上涨时的波动?
避坑指南: 我曾经用标准差来评估一个期权策略,结果发现标准差很小,但策略偶尔会爆亏。后来才明白,期权收益分布是偏态的,标准差根本描述不了尾部风险。所以,不要迷信单一指标

2.3 有效前沿:理论上的「最优」

有效前沿,说白了就是一条曲线。在这条曲线上,每个点都代表一个「给定风险下收益最大」的组合。曲线下方的点,要么收益不够,要么风险太高。

我画了一张图,帮你理解:

风险(标准差) 预期收益 无效组合 有效前沿 MVP 单个资产 有效组合 最小方差组合

图中蓝色的虚线就是有效前沿。橙色点是「最小方差组合」(MVP)——风险最小的那个点。红色散点是单个资产。你会发现,所有单个资产都在有效前沿下方。这说明什么?分散化确实能带来好处

实战技巧: 我在做强化学习资产配置时,经常把有效前沿作为「基准线」。如果RL模型给出的组合落在有效前沿下方,说明模型还没学到家。这时候我会调整奖励函数,让模型往有效前沿方向探索。

2.4 夏普比率:一个数字定乾坤

夏普比率,说白了就是「每承担一单位风险,能换来多少超额收益」。公式很简单:

夏普比率 = (E(R_p) - R_f) / σ_p

其中R_f是无风险利率,通常用国债收益率。夏普比率越高,说明策略越「划算」。

但我得提醒你,夏普比率有个大坑:它假设收益是正态分布的。你想想看,真实市场哪有那么乖?我见过一个CTA策略,夏普比率高达2.5,但仔细一看,它的收益分布是尖峰厚尾的——平时小赚,偶尔大亏。这种策略用夏普比率衡量,完全失真。

所以,我个人习惯同时看三个指标:

  1. 夏普比率——快速筛选,大于1算及格,大于2算优秀
  2. 卡玛比率(年化收益/最大回撤)——更贴近实战感受
  3. 索提诺比率(用下行标准差代替标准差)——只惩罚亏损波动
一个真实案例: 2018年我回测了一个多因子模型,夏普比率1.8,看着不错。但卡玛比率只有0.6——因为最大回撤有30%。后来我调整了风险控制模块,把卡玛比率提升到1.5以上,夏普比率反而降到了1.4。你猜怎么着?实盘表现比原来好得多。因为投资者更怕亏钱,而不是怕赚得少。

2.5 这些概念怎么用到强化学习里?

好,理论讲完了。咱们说说怎么用。

在强化学习资产配置中,我通常把夏普比率作为奖励函数的一部分。但注意,不能直接用原始夏普比率——因为RL需要每一步都有奖励,而夏普比率需要一段时间的收益序列才能算。

我的做法是:

  • 滚动窗口计算过去N天的夏普比率,作为当前步的奖励
  • 有效前沿距离也加入奖励——如果组合离有效前沿太远,给负奖励
  • 最大回撤做惩罚项——防止模型为了高收益而过度冒险

举个例子,奖励函数可以写成:

reward = α × Sharpe_ratio - β × Max_drawdown + γ × Frontier_distance

α、β、γ是超参数,需要调。我一般先设α=1,β=0.5,γ=0.2,然后根据回测结果微调。

注意: 千万别把奖励函数搞得太复杂。我见过有人加了七八个惩罚项,结果模型直接学废了——因为奖励信号互相冲突。记住,简单有效才是王道

好了,这一章的内容就到这儿。金融基础是量化投资的「内功」,练好了,后面学强化学习才能事半功倍。


专注资料整理