📑 查看全课大纲(第 29 / 59 节)
- 1.量化投资必备基础知识
- 2.趋势型策略及模型原理
- 3.均值回复型策略及模型原理
- 4.配对交易策略及模型原理
- 5.量化策略研发流程与基本技能
- 6.常用的量化平台概述及如何选择
- 7.如何量化一个主观策略思路
- 8.常用技术指标及指标计算过程
- 9.如何编写指标代码
- 10.指标的物理意义
- 11.技术指标的应用技巧
- 12.更多的交易决策
- 13.编写程序去量化一个趋势型技术指标
- 14.编写趋势型技术指标的性能评价
- 15.策略对交易成本和持仓周期的影响
- 16.股票池策略的原理及基本框架
- 17.基于多因子分析的股票池设计与实现
- 18.股票池的性能评估
- 19.使用定制化财务因子构建股票池
- 20.趋势型策略原理及股票池机制的设计
- 21.趋势型择时信号的设计方法与编程实现
- 22.趋势型策略的回测与性能评估
- 23.优化趋势型策略的思路及方法
- 24.量化体系中的风险控制思想
- 25.风险的度量-波动率
- 26.常用的风险控制方法
- 27.实现止盈止损模块以提高策略性能
- 28.策略性能的评估与优化
- 29.探讨波动率与风险的关系
- 30.量化策略中的经典资金管理模型
- 31.用python编程实现资金管理模块
- 32.构建一个完善的量化交易策略
- 33.趋势型量化策略必备的期货知识
- 34.期货量化工具介绍
- 35.商品期货趋势型策略原理
- 36.用TB编写商品期货趋势型策略(上)
- 37.用TB编写商品期货趋势型策略(下)
- 38.分析优化商品期货趋势型策略的方法思路
- 39.期货交易策略的注意事项
- 40.均值回复型策略的原理
- 41.A股市场有没有稳定的均值回复效应?
- 42.编写一个均值回复型股票量化策略
- 43.编写多空组合策略进行策略改进
- 44.在策略中实现头寸管理进行策略优化
- 45.套利策略原理及常见套利类型
- 46.用MC开发一个跨品种套利交易策略(上)
- 47.用MC开发一个跨品种套利交易策略(下)
- 48.统计套利之股票配对交易策略
- 49.实盘中的细节问题:加减仓
- 50.关于高频交易
- 51.如何评价实盘量化策略的性能
- 52.量化系统的工作过程及研发流程
- 53.运气or实力
- 54.量化实盘交易需要满足什么条件
- 55.未来函数的坑
- 56.实盘数据接口异常的自动报警
- 57.交易系统的压力测试
- 58.自动运行的交易策略,什么时候需要人工干预
- 59.预案准备和实盘心理建设
探讨波动率与风险的关系
约 19 分钟
📺 正在播放小象官方高清录播(支持倍速与清晰度调节)
探讨波动率与风险的关系
小象实战讲义 · 进阶量化交易实战:迭代式的量化策略研发 本讲义仅用于编程与量化方法教学,不构成任何投资建议。
波动率是风险,但波动率并不完全等同于风险。在量化投资中,向上的剧烈波动带来的是收益而非亏损。如何准确区分“坏波动(下行风险)”与“好波动(上行 Alpha)”,并在波动率周期切换中实施风险预算,是高阶量化交易的核心课题。
💡 核心导读
- 波动率与真实风险的三大认知跃迁:
- 波动率对称性假设的破灭:传统金融理论假设收益率服从正态分布,实际市场收益常呈现厚尾性(Fat Tails)与不对称性(方向因市况而异,须实测);
- 好波动 vs 坏波动(Upside vs Downside Volatility):将总方差分解为上行半方差与下行半方差,仅对下行风险进行资本保护;
- 波动率状态切换与风险预算(Volatility Regimes):低波动阶段杠杆加满,高波动阶段主动降杠杆以平滑风险暴露。
┌─────────────────────────────────────────────────────────────┐
│ 波动率分解与风险预算模型拓扑图 │
└──────────────────────────────┬──────────────────────────────┘
│
┌─────────────────────────────┴─────────────────────────────┐
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ 上行好波动 (Upside Vol) │ │ 下行坏波动 (Downside Vol)│
├─────────────────────────┤ ├─────────────────────────┤
│ • 收益率 > 0 的正向扩散 │ │ • 收益率 < 0 的负向亏损 │
│ • 带来净值爆发性增长 │ │ • 引发爆仓与回撤黑天鹅 │
│ ✅ 鼓励暴露,让利润奔跑 │ │ ❌ 严格限制,施加硬熔断 │
└─────────────────────────┘ └─────────────────────────┘一、半方差(Semi-Variance)与偏度分解数学模型
总方差 可以精确分解为上行半方差 与下行半方差 :
在追求正偏度(Positive Skewness)的趋势策略中,,传统标准差会严重高估其风险。
import pandas as pd
import numpy as np
def decompose_volatility_components(returns: pd.Series) -> dict:
"""
分解上行好波动与下行坏波动
"""
mu = returns.mean()
upside_diff = np.maximum(0, returns - mu)
downside_diff = np.minimum(0, returns - mu)
vol_up = np.sqrt((upside_diff ** 2).mean()) * np.sqrt(252.0)
vol_down = np.sqrt((downside_diff ** 2).mean()) * np.sqrt(252.0)
vol_total = returns.std() * np.sqrt(252.0)
return {
'Total_Vol': float(vol_total),
'Upside_Vol': float(vol_up),
'Downside_Vol': float(vol_down),
'Asymmetry_Ratio': float(vol_up / (vol_down + 1e-8))
}二、基于波动率目标(Volatility Targeting)的风险平价控制
波动率目标机制根据当前市场实时预估波动率 动态调整投资杠杆,使组合的风险暴露始终稳定在目标年化波动率 (如 ):
def apply_volatility_targeting(df: pd.DataFrame, target_vol: float = 0.12, max_leverage: float = 1.5) -> pd.Series:
"""
动态波动率目标仓位调配算法
"""
# 20日滚动历史年化波动率
realized_vol = df['close'].pct_change().rolling(20).std() * np.sqrt(252.0)
weights = target_vol / (realized_vol + 1e-8)
weights = weights.clip(lower=0.1, upper=max_leverage)
return weights📝 动手练一练
编写 Python 仿真测试,对比固定仓位与基于波动率目标调仓策略在剧烈震荡市中的最大回撤差异:
import pandas as pd
import numpy as np
def run_volatility_risk_relationship_test():
np.random.seed(42)
# 模拟 200 天由平稳转向高波动的行情
rets = np.concatenate([np.random.normal(0.0005, 0.01, 100), np.random.normal(-0.001, 0.03, 100)])
prices = 100.0 * np.cumprod(1.0 + rets)
df = pd.DataFrame({'close': prices})
decomp = decompose_volatility_components(pd.Series(rets))
weights = apply_volatility_targeting(df, target_vol=0.15)
print("================ 波动率与风险关系深度解析 ================")
print(f"总年化波动率 : {decomp['Total_Vol']*100:.2f}%")
print(f"上行好波动 (Up): {decomp['Upside_Vol']*100:.2f}%")
print(f"下行坏波动 (Dn): {decomp['Downside_Vol']*100:.2f}%")
print(f"波动不对称比率 : {decomp['Asymmetry_Ratio']:.2f}")
print(f"高波阶段仓位降至: {weights.iloc[-1]*100:.2f}%")
assert weights.iloc[-1] < weights.iloc[50], "波动率目标仓位未能在高波阶段主动降低!"
print("✅ 波动率分解与动态风险预算验证 PASS")
print("========================================================")
if __name__ == '__main__':
run_volatility_risk_relationship_test()运行结果输出:
================ 波动率与风险关系深度解析 ================
总年化波动率 : 33.61%
上行好波动 (Up): 24.53%
下行坏波动 (Dn): 22.85%
波动不对称比率 : 1.07
高波阶段仓位降至: 42.86%
✅ 波动率分解与动态风险预算验证 PASS
========================================================⚠️ 数据方向教学点:本样本的不对称比率为 1.07(> 1),即上行波动大于下行波动——与「下跌恐慌必然导致下行波动更大」的直觉假设方向相反。这并不矛盾:该行情段整体趋势向上(期末价格约为期初 1.9 倍),属于典型的「正偏」行情,大涨日的波动贡献超过了回撤日。不对称比率的方向因市况而异,必须实测,不可预设。 半方差分解的价值正在于:无论方向如何,它都能告诉你波动来自哪里,从而为「该不该怕波动」提供依据。
本章小结
- 客观区分好波动与坏波动:上行波动是利润增长的来源,下行波动才是必须设防的真实风险。
- 实施波动率目标平价管理:在市场波动放大时主动降杠杆,在波动收缩时适度提升仓位,平滑净值曲线。
- 打破对称性正态分布假设:针对金融资产收益的厚尾与不对称特征(不对称方向因市况而异,须实测),以半方差和 CVaR 作为核心风控边界。
📋 行动清单 (Action Checklist)
- 运行波动率分解测试代码,分析手头策略的历史收益是不对称正偏还是负偏;
- 尝试实现波动率目标(Vol Targeting)自动调节函数并嵌入回测系统;
- 全面总结第五章风险控制思想,准备进入第六章资金管理模型。
— 小象教研组
配套学习资源与课件
- 第5章课件:量化体系中的风险控制(PDF · 1.2MB)下载
🎁 免费学习资源
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问