从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 数字特征
从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 数字特征
第一部分:概率与统计基础
第2节:数字特征:期望值、方差、协方差与相关系数
一、期望值(Expected Value):用“平均值”预测未来
期望值是随机变量的“加权平均”,代表长期来看最可能的“平均结果”,是量化交易中评估策略收益的核心指标。
1. 数学定义与性质
-
离散型随机变量:
E ( X ) = ∑ i = 1 n x i ⋅ P ( X = x i ) E(X) = \sum_{i=1}^n x_i \cdot P(X=x_i) E(X)=i=1∑nxi⋅P(X=xi)
例:抛一枚硬币,正面盈利100元(概率0.5),反面亏损50元(概率0.5),期望收益为:
E ( X ) = 100 × 0.5 + ( − 50 ) × 0.5 = 25 元 E(X) = 100 \times 0.5 + (-50) \times 0.5 = 25 \ \text{元} E(X)=100×0.5+(−50)×0.5=25 元 -
连续型随机变量:
E ( X ) = ∫ − ∞ + ∞ x ⋅ f ( x ) d x E(X) = \int_{-\infty}^{+\infty} x \cdot f(x) \, dx E(X)=∫−∞+∞x⋅f(x)dx
( f ( x ) f(x) f(x) 为概率密度函数,如股票收益率的正态分布) -
线性性质(关键!):
- E ( a X + b Y ) = a E ( X ) + b E ( Y ) E(aX + bY) = aE(X) + bE(Y) E(aX+bY)=aE(X)+bE(Y)( a , b a,b a,b 为常数)
- 无论 X X X 和 Y Y Y 是否独立,线性性都成立。
2. 量化交易中的应用
-
投资组合预期收益计算:
假设持有30%的股票A(期望收益15%)和70%的债券B(期望收益5%),组合期望收益为:
E ( R ) = 0.3 × 15 % + 0.7 × 5 % = 8 % E(R) = 0.3 \times 15\% + 0.7 \times 5\% = 8\% E(R)=0.3×15%+0.7×5%=8% -
策略有效性筛选:
通过回测计算策略的期望收益 E ( R ) E(R) E(R),若 E ( R ) < 0 E(R) < 0 E(R)<0(长期亏损),则直接排除。
二、方差(Variance)与标准差(Standard Deviation):用“波动”衡量风险
期望值相同的策略,风险可能差异巨大——方差描述收益围绕均值的离散程度,是量化风险的核心指标。
1. 数学定义与性质
-
方差:
Var ( X ) = E [ ( X − E ( X ) ) 2 ] = E ( X 2 ) − [ E ( X ) ] 2 \text{Var}(X) = E\left[(X - E(X))^2\right] = E(X^2) - [E(X)]^2 Var(X)=E[(X−E(X))2]=E(X2)−[E(X)]2
例:上述抛硬币策略,方差为:
Var ( X ) = ( 100 − 25 ) 2 × 0.5 + ( − 50 − 25 ) 2 × 0.5 = 5625 \text{Var}(X) = (100-25)^2 \times 0.5 + (-50-25)^2 \times 0.5 = 5625 Var(X)=(100−25)2×0.5+(−50−25)2×0.5=5625 -
标准差(方差的平方根):
σ = Var ( X ) \sigma = \sqrt{\text{Var}(X)} σ=Var(X)
(单位与原变量一致,比方差更直观) -
性质:
- Var ( a X + b ) = a 2 Var ( X ) \text{Var}(aX + b) = a^2 \text{Var}(X) Var(aX+b)=a2Var(X)(常数 b b b 不影响波动)
- 独立变量的和的方差: Var ( X + Y ) = Var ( X ) + Var ( Y ) \text{Var}(X+Y) = \text{Var}(X) + \text{Var}(Y) Var(X+Y)=Var(X)+Var(Y)(若 X , Y X,Y X,Y 独立)
2. 量化交易中的应用
- 风险度量:
- 标准差越大,收益波动越剧烈,风险越高。
- 例:策略A年均收益10%,标准差5%;策略B年均收益10%,标准差20%。虽然期望相同,但策略B的风险远高于策略A。
图1:标准差小(左)的收益更集中在均值附近,风险低;标准差大(右)的收益更分散,风险高。
- 马科维茨有效前沿:
通过优化组合权重,在给定期望收益下最小化方差(或在给定方差下最大化期望收益),构建“风险-收益”最优的投资组合。
三、协方差(Covariance)与相关系数(Correlation):用“联动性”分析资产关系
单个资产的风险容易衡量,但多个资产的“互动”才是组合风险的关键——协方差和相关系数描述变量间的线性关联程度。
1. 协方差:衡量“同方向波动”的强度
-
定义:
Cov ( X , Y ) = E [ ( X − μ X ) ( Y − μ Y ) ] = E ( X Y ) − μ X μ Y \text{Cov}(X,Y) = E\left[(X - \mu_X)(Y - \mu_Y)\right] = E(XY) - \mu_X \mu_Y Cov(X,Y)=E[(X−μX)(Y−μY)]=E(XY)−μXμY- 正协方差: X X X 增大时 Y Y Y 倾向于增大(如股票与股市指数)。
- 负协方差: X X X 增大时 Y Y Y 倾向于减小(如股票与黄金)。
- 绝对值越大:联动性越强;绝对值越小(接近0):联动性越弱。
-
性质:
- Cov ( X , X ) = Var ( X ) \text{Cov}(X,X) = \text{Var}(X) Cov(X,X)=Var(X)(自身协方差即方差)
- Cov ( X , Y ) = Cov ( Y , X ) \text{Cov}(X,Y) = \text{Cov}(Y,X) Cov(X,Y)=Cov(Y,X)
- 独立变量协方差为0(反之不一定成立)。
2. 相关系数:“标准化”的协方差
-
定义:
ρ X Y = Cov ( X , Y ) σ X σ Y ( ρ ∈ [ − 1 , 1 ] ) \rho_{XY} = \frac{\text{Cov}(X,Y)}{\sigma_X \sigma_Y} \quad (\rho \in [-1, 1]) ρXY=σXσYCov(X,Y)(ρ∈[−1,1])- ρ = 1 \rho = 1 ρ=1:完全正相关(变量同步波动,如同一行业的两只股票)。
- ρ = − 1 \rho = -1 ρ=−1:完全负相关(变量反向波动,如期货对冲组合)。
- ρ = 0 \rho = 0 ρ=0:无线性相关(可能存在非线性关系)。
-
可视化:散点图与相关系数
图2:从左到右分别为 ρ = 1 \rho=1 ρ=1(严格正相关)、 ρ = 0.5 \rho=0.5 ρ=0.5(正相关)、 ρ = 0 \rho=0 ρ=0(无相关)、 ρ = − 1 \rho=-1 ρ=−1(严格负相关)。
3. 量化交易中的应用
-
资产配置分散风险:
- 若两只股票 ρ = 0.3 \rho=0.3 ρ=0.3,组合标准差会低于两者标准差的加权平均,实现“风险分散”。
- 例:资产A( σ A = 20 % \sigma_A=20\% σA=20%)和资产B( σ B = 15 % \sigma_B=15\% σB=15%),等权重配置,若 ρ = 0.3 \rho=0.3 ρ=0.3,则组合标准差为:
σ = ( 0. 5 2 × 0. 2 2 ) + ( 0. 5 2 × 0.1 5 2 ) + 2 × 0.5 × 0.5 × 0.3 × 0.2 × 0.15 ≈ 12.8 % \sigma = \sqrt{(0.5^2 \times 0.2^2) + (0.5^2 \times 0.15^2) + 2 \times 0.5 \times 0.5 \times 0.3 \times 0.2 \times 0.15} \approx 12.8\% σ=(0.52×0.22)+(0.52×0.152)+2×0.5×0.5×0.3×0.2×0.15≈12.8%
低于简单平均 ( 20 % + 15 % ) / 2 = 17.5 % (20\% + 15\%)/2 = 17.5\% (20%+15%)/2=17.5%。
-
多因子模型去冗余:
- 若两个因子的相关系数 ρ > 0.9 \rho>0.9 ρ>0.9,说明存在严重多重共线性,需剔除其中一个因子。
四、Python实战:计算投资组合的风险收益指标
import numpy as np# 资产参数:3只股票的期望收益、协方差矩阵、持仓权重
returns = np.array([0.12, 0.08, 0.06]) # 期望收益
cov_matrix = np.array([[0.04, 0.02, 0.01],[0.02, 0.03, 0.015],[0.01, 0.015, 0.02]
]) # 协方差矩阵
weights = np.array([0.5, 0.3, 0.2]) # 权重# 1. 计算组合期望收益
expected_return = np.dot(weights, returns)
print(f"组合期望收益: {expected_return:.4f}") # 输出:0.1020 (10.2%)# 2. 计算组合方差与标准差
portfolio_var = np.dot(weights.T, np.dot(cov_matrix, weights))
portfolio_std = np.sqrt(portfolio_var)
print(f"组合方差: {portfolio_var:.4f}, 标准差: {portfolio_std:.4f}")
# 输出:组合方差: 0.0229, 标准差: 0.1513 (15.13%)# 3. 计算资产间相关系数矩阵
corr_matrix = cov_matrix / (np.outer(np.sqrt(np.diag(cov_matrix)), np.sqrt(np.diag(cov_matrix))))
print("相关系数矩阵:\n", np.round(corr_matrix, 2))
# 输出:
# 相关系数矩阵:
# [[1. 0.58 0.5 ]
# [0.58 1. 0.75]
# [0.5 0.75 1. ]]
本节总结
- 期望值 是收益的“指南针”,告诉我们长期平均结果。
- 方差/标准差 是风险的“量尺”,衡量收益的波动程度。
- 协方差/相关系数 是联动性的“温度计”,帮助我们分散风险、优化组合。