华泰证券:量化股票投资(第七到十二周)
Week 7-8: 交易策略构建与回测成果
一、策略设计背景
本阶段目标是构建类似“网格交易+技术指标融合”的策略,追踪每一个仓位的累计收益率,并结合以下逻辑制定交易决策:
- 实际日收益率与LSTM预测值之间的偏差
- 单个仓位的累计收益变化
- 总加权累计收益是否突破止盈或止损阈值
- 波动率显著上升时的特殊防御机制
二、策略结构要素
技术指标构建:
- 20日/50日移动平均线
- RSI 相对强弱指标
- 布林带上下轨
- MACD 指标
- ATR 波动率指标
技术指标图示如下:
日收益率分布图(NVDA, AMD, INTC)
用于评估波动性与回报密度:
预测模型(LSTM)
使用9类特征('1. open', '2. high', '3. low', '4. close', '5. volume', 'MA_20', 'RSI', 'Upper_Band', 'Lower_Band')与股票类别独热编码进行建模,预测下一交易日收益率。
三、交易信号构建与执行逻辑
- 买入逻辑: 当预测日收益率 > 0 且当前价格低于上次买入价一个动态网格单位时
- 卖出逻辑: 当预测收益为负且价格高于上次卖出价一个动态网格单位时
- 网格单位(动态): 根据 ATR 调整,提升高波动期防御力
- 交易成本考虑: 固定千分之一滑点
四、策略回测结果(Zipline + Backtrader 双回测)
- 初始资金: $10,000
- 最终收益: $11,002.66(+10.03%)
- 胜率: 50.97%
- 盈亏比: 1.12
- 最大回撤: 86.44%
- 夏普比率: 0.0306
这些数据说明策略具备较强的盈利能力,但存在较大波动风险,需后续优化.
Week 9: CAPM模型与Beta时序追踪
一、CAPM模型背景与任务目标
本周的任务围绕资本资产定价模型(CAPM),我们通过两种方式构建Beta时序分析,评估NVDA、AMD、INTC等美股与市场收益波动关系。
核心内容:
- 构建市值加权与等权重的市场组合收益率
- 使用滚动窗口(12个月)计算Beta值
- 对比不同方法下Beta估算结果
二、市场组合收益率构建
使用如下两种方式计算月度市场收益:
- 市值加权: 每只股票的月收益按其市值占比加权
- 等权重: 所有股票收益平均
三、Beta估算方法(Rolling Window=12)
方法 M1:线性回归法
对每只股票与市场收益序列执行滚动回归,斜率即为该时期Beta。
方法 M2:协方差/方差比值
根据定义计算每月窗口中股票收益与市场收益协方差,再除以市场方差,得Beta。
四、M1 与 M2 结果对比分析
我们计算了2021年每月Beta值的绝对差异,并进行统计分析:
- 平均差异: 0.0667
- 标准差: 0.0433
- 最大差异: 0.1636
- 中位数: 0.055
这些数据表明两种方法的Beta估算结果在整体趋势上较为一致,但个别时期可能存在显著偏离。
Week 10: 基于Beta排序的持有期回报策略研究
一、策略核心思路
我们参考CAPM模型中Beta对风险暴露的衡量功能,构建如下策略:
- S1方案: 以当前月前一月的Beta值排序,将股票等分为十组(低Beta到高Beta)
- S2方案: 使用过去3个月Beta的市值加权平均值排序分组
- 追踪各组股票的1/2/3个月持有期回报,对比最高Beta组与最低Beta组表现
二、数据处理流程与特征构建
- 股票样本:NVDA、AMD、INTC等
- 特征包含:月度Beta值(M1和M2)、月度收益率、市值、市值加权平均Beta
- Rolling窗口设定:12个月计算Beta
三、1M/2M/3M 持有期回报计算
对Beta分组后的股票分别计算其:
- 等权重回报
- 市值加权回报
图示:每组股票1-3个月持有期平均收益率展示(S1方案)
图示:S2方案的最高/最低Beta组持有期回报趋势
四、S1策略汇总:最高Beta vs 最低Beta组
- Equally-Weighted 1M平均回报(最高Beta): 显著高于最低Beta组
- Market-Cap Weighted 1M平均回报: 同样显示强Beta组占优
图示:S1方案不同Beta组1-3月收益率时间序列
五、S2策略结果:Calendar Effect验证
我们提取S2方案中最高与最低Beta组的1月持有回报,分析是否存在月度季节性效应(Calendar Effect)
- 最高Beta组在1月和8月表现尤为突出
- 最低Beta组收益更稳定但回报较低
图示:Calendar Effect比较图(S2方案)
Week 11: Beta Momentum II 策略评估
一、策略设定与运行逻辑
本阶段建立在第十周Beta分组策略基础上,设定如下两种年度动态调仓策略:
- S1:纯多头策略每月买入最高Beta组股票,持有一个月后调仓,不考虑交易成本。
- S2:多空组合策略每月买入最高Beta组同时卖空最低Beta组,次月调仓,考虑交易成本(0.2%)。
二、策略收益时间序列与年化收益
📈 S1策略累计收益走势
- 平均月收益:1.82%
- 年化收益:24.11%
- 夏普比率:22.04
- 波动率:8.24%
📉 S2策略累计收益走势
- 平均月收益:6.49%
- 年化收益:112.74%
- 夏普比率:25.00
- 波动率:25.98%
三、基准指数波动率分析
- 使用 S&P Composite Index 月度收益为基准
- 波动率为 5.58%
这一数据用于进一步评估策略相对于市场波动的超额表现
四、信息比率 (Information Ratio) 分析
- 计算S2策略相对于S&P指数的超额收益与其标准差比值
- 得出信息比率 IR = 0.24
说明该策略在单位风险下获得0.24倍的超额回报,具有正向有效性
五、策略效果评估总结
尽管S2策略波动较大,但在风险调整后依然提供了卓越的回报。
Week 12: Momentum策略优化与回报分析
一、策略定义与调仓逻辑
- 基础设定: 自2017年1月起,每月按过去6个月收益率对股票排序,划分为10组。
- S1策略(纯多头): 每月买入收益最高组股票,持有一个月后调仓。
- S2策略(多空组合): 同时做多最高组,做空最低组。
所有调仓均忽略交易成本,并在次月进行动态更新。
二、参数优化与模拟流程
- 应用贝叶斯优化寻找最佳参数组合(止盈、止损、资金分配)
- 回测周期:2017年1月至2024年2月
- 止盈止损范围:止损区间:[-0.20, 0]止盈区间:[0.01, 0.51]
最优参数如下(S2策略):
- 止损:-0.005
- 止盈:0.133
- 分配资金比:0.449
三、S1策略表现
- 平均月度收益率: 2.26%
- 年化收益率: 30.19%
- 最大回撤: -12.52%
- 年化波动率: 9.81%
- Sharpe Ratio: 3.077
- Sortino Ratio: 17.83
四、S2策略表现
- 平均月度收益率: 3.41%
- 年化收益率: 49.09%
- 最大回撤: -3.29%
- 年化波动率: 8.68%
- Sharpe Ratio: 5.657
- Sortino Ratio: 211.03
S2策略显著优于S1,尤其在控制回撤与负面波动方面表现出色。
五、累计收益率趋势对比图
展示两策略自2017年起的累计收益: