3、资产配置核心原理:现代投资组合理论、风险与收益的权衡、相关性矩阵
各位同学,欢迎来到第三章。这一章,咱们要啃一块硬骨头——资产配置的核心原理。
说实话,我做了十几年ETF投资,见过太多人一上来就问「买哪个能涨?」。但真正赚钱的人,脑子里想的永远是「怎么配」。这背后的逻辑,就是今天要聊的三个关键词:现代投资组合理论、风险收益权衡、相关性矩阵。
3.1 现代投资组合理论:一个诺贝尔奖级别的「免费午餐」
1952年,一个叫马科维茨的年轻人,发表了一篇只有14页的论文。这篇论文后来让他拿了诺贝尔奖。核心思想就一句话:不要把鸡蛋放在一个篮子里,但更重要的是,要放在「不相关」的篮子里。
我刚开始做量化的时候,觉得这理论太简单了。直到有一次,我帮一个客户做回测——他全仓沪深300,我给他配了30%的债券ETF。结果2015年股灾,他的组合回撤只有大盘的一半。嗯,从那以后,我再也不敢小看马科维茨了。
核心公式(简化版):
组合预期收益 = w₁ × R₁ + w₂ × R₂ + ... + wₙ × Rₙ
组合风险 = √(w₁²σ₁² + w₂²σ₂² + 2w₁w₂σ₁σ₂ρ₁₂)
其中:w = 权重,R = 预期收益,σ = 标准差,ρ = 相关系数
你想想看,这个公式告诉我们什么?只要两个资产不是完全正相关(ρ < 1),组合的风险就会小于单个资产风险的加权平均。这就是所谓的「分散化红利」——免费的午餐。
3.2 风险与收益的权衡:没有免费的午餐,但有「性价比」
做ETF配置,本质上就是在做一道选择题:你愿意承受多少波动,去换取多少收益?
我个人习惯用「夏普比率」来衡量这个性价比。公式很简单:
夏普比率 = (组合收益 - 无风险利率) / 组合标准差
夏普比率越高,说明每单位风险换来的超额收益越多。我见过很多散户,追着年化30%的产品跑,结果夏普比率只有0.3——说白了,就是用巨大的波动去博一点收益,不值当。
我的经验法则:
- 夏普比率 > 1:优秀,值得长期持有
- 夏普比率 0.5 ~ 1:及格,可以配置
- 夏普比率 < 0.5:除非有特殊逻辑,否则别碰
我曾经踩过一个坑。2019年,我看好一只行业ETF,年化收益25%,但波动率高达35%。我算了一下夏普比率,只有0.6左右。当时没在意,结果2020年疫情一来,一个月跌了30%。高收益背后,往往藏着你看不见的风险。
3.3 相关性矩阵:你的「资产关系图谱」
好了,现在我们知道要分散,也知道要看风险收益比。但最关键的一步来了:怎么选资产?
答案是:看相关性。
相关性矩阵,说白了就是一张表格,告诉你任意两个资产之间「同涨同跌」的程度。数值范围从 -1 到 +1:
- +1:完全正相关(同涨同跌,分散效果为零)
- 0:不相关(各自独立,分散效果最佳)
- -1:完全负相关(一个涨一个跌,理论上可以消除风险)
现实中,我们追求的是 0.3 ~ 0.6 之间的低正相关。完全负相关的资产几乎不存在,但低相关已经能带来很好的分散效果。
下面这张图,是我用真实数据画的一个典型ETF相关性矩阵。你可以直观地看到不同资产类别之间的关系:
你看这张图,有几个关键发现:
- 沪深300 vs 国债ETF:相关系数 -0.15 —— 典型的「股债跷跷板」,这是最经典的分散组合
- 标普500 vs 纳指100:相关系数 0.88 —— 高度正相关,同时配这两个意义不大
- 黄金 vs 股票:相关系数接近0 —— 黄金是很好的「压舱石」,跟股票基本不相关
⚠️ 重要提醒:
相关性不是一成不变的。我经历过2020年3月,当时美股暴跌,黄金也跟着跌——所谓的「流动性危机」下,所有资产的相关性都会趋近于1。所以,不要迷信历史数据,要动态调整。
3.4 实战:如何用Python快速计算相关性矩阵
光说不练假把式。下面这段代码,是我在项目中常用的「三板斧」——拉数据、算相关性、画热力图:
import yfinance as yf
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 1. 拉取ETF数据
tickers = ['SPY', 'AGG', 'GLD', 'EEM', 'VNQ']
data = yf.download(tickers, start='2020-01-01', end='2023-12-31')['Adj Close']
# 2. 计算日收益率
returns = data.pct_change().dropna()
# 3. 计算相关性矩阵
corr_matrix = returns.corr()
# 4. 可视化
plt.figure(figsize=(10, 8))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', center=0)
plt.title('ETF相关性热力图')
plt.show()
这段代码跑出来,你就能看到类似上面那张图的效果。我个人习惯把相关性矩阵放在每周复盘的第一页——一眼就能看出组合里哪些资产在「抱团」,哪些在「对冲」。
一个小技巧:
如果你发现组合里两个资产的相关性突然从0.3跳到了0.8,别犹豫,赶紧检查一下市场环境。大概率是发生了系统性风险事件。这时候,分散化的效果会大打折扣。
3.5 从理论到实践:构建你的第一份配置方案
好了,理论讲完了。咱们来点实际的。假设你现在有100万,要做一个「稳健型」组合,你会怎么配?
我建议你按这个步骤来:
- 定目标:预期年化收益6%~8%,最大回撤控制在15%以内
- 选资产:股票ETF(宽基)+ 债券ETF + 商品ETF(黄金)+ 现金类
- 算相关性:确保两两之间的相关系数不超过0.6
- 定权重:用马科维茨模型算出「有效前沿」上的最优权重
- 回测验证:至少跑3年以上的历史数据
我曾经帮一个朋友做方案,他一开始非要配80%的科技ETF。我给他看了相关性矩阵——科技ETF和创业板的相关性高达0.85。我说:「你这不叫分散,叫押注。」后来他改成50%沪深300 + 30%国债 + 20%黄金,回撤直接砍了一半。
嗯,这就是资产配置的魅力。
公众号:蓝海资料掘金营,微信deep3321