量化投资选择股票时怎样结合期货对冲风险

企业微信

量化投资选股的核心逻辑

量化投资选择股票不依赖主观判断,而是通过数学模型系统化筛选标的。股票与期货市场存在天然联动,选股过程必须考虑期货工具的对冲与增强作用。期货价格发现功能领先现货,股指期货基差变化反映市场情绪,商品期货走势影响周期股盈利预期。量化模型将期货信号纳入选股因子,能显著提升组合信息比率。

多因子模型构建股票池

多因子模型是量化选股的基础框架。因子分为价值、成长、质量、动量、波动率、流动性六大类。价值因子包含市净率、市销率、股息率;成长因子包含营收增速、净利润增速;质量因子包含ROE、毛利率、资产负债率;动量因子包含过去1-12个月收益率;波动率因子包含历史波动率、Beta;流动性因子包含换手率、Amihud非流动性指标。

每个因子需经过标准化、中性化、去极值处理。行业中性化消除行业偏差,市值中性化避免大小盘风格暴露。因子有效性用IC值、IR值检验,IC均值大于0.03且IR大于0.5视为有效。多因子合成采用等权、IC加权或机器学习方法。合成后得分最高的前10%股票构成候选池。

量化投资选择股票时怎样结合期货对冲风险

期货数据可衍生额外因子。股指期货基差率(期货价格减现货价格除以现货价格)为负时,市场悲观情绪强,选股偏向低估值防御板块;基差率为正时,情绪乐观,选股偏向高Beta成长板块。商品期货期限结构(近月减远月)升水时,相关股票盈利预期改善,可超配该行业。


import numpy as np

import pandas as pd

from scipy import stats

def calc_ic(factor, forward_return):

    ic, _ = stats.spearmanr(factor, forward_return)

    return ic

def neutralize(factor, industry, market_cap):

    factor = factor - factor.groupby(industry).transform('mean')

    factor = factor - np.polyval(np.polyfit(np.log(market_cap), factor, 1), np.log(market_cap))

    return factor

def composite_score(factors, ic_series):

    weights = ic_series / ic_series.abs().sum()

    score = sum(f * w for f, w in zip(factors, weights))

    return score

统计套利与配对交易

统计套利挖掘股票与期货之间的均值回归关系。配对交易选取同行业、同市值、高相关性的两只股票,计算价差Z-score。当Z-score大于2时做空高价股、做多低价股;小于-2时反向操作。期货可替代其中一腿,形成股票与期货的配对。沪深300指数期货与成分股之间协整关系稳定,当期货相对现货溢价超过阈值,卖出期货同时买入一篮子股票,等待价差收敛。

协整检验采用Engle-Granger两步法。第一步回归股票价格对期货价格,第二步检验残差平稳性。ADF统计量小于临界值则协整成立。价差半衰期决定持仓周期,半衰期短于5个交易日的配对适合日内交易,半衰期10-20日的适合周度调仓。


import statsmodels.api as sm

from statsmodels.tsa.stattools import coint, adfuller

def coint_test(stock_price, future_price):

    stock_price = sm.add_constant(stock_price)

    model = sm.OLS(future_price, stock_price).fit()

    residual = model.resid

    adf_stat, p_value, _, _, critical_values, _ = adfuller(residual)

    return p_value < 0.05, residual

def half_life(residual):

    lag = residual.shift(1).dropna()

    delta = residual.diff().dropna()

    lag = sm.add_constant(lag)

    model = sm.OLS(delta, lag).fit()

    theta = model.params[1]

    return -np.log(2) / theta

期货对冲动态调仓

选股组合面临系统性风险,股指期货对冲消除Beta暴露。对冲比例由组合Beta决定,Beta通过滚动回归计算,窗口60个交易日。对冲工具选择IF(沪深300)、IC(中证500)、IH(上证50)合约,根据组合市值分布匹配。对冲成本包含基差、手续费、保证金占用。基差收敛时对冲成本低,基差扩大时需降低对冲比例。

动态调仓规则:组合Beta上升至1.2以上,增加期货空头至120%市值;Beta下降至0.8以下,减少空头至80%市值。每周调整一次,避免频繁交易。期货保证金比例12%,需预留15%现金应对追加保证金。

商品期货对冲适用于资源股组合。持有煤炭、钢铁、有色股票时,做空对应商品期货。螺纹钢期货对冲钢铁股,焦炭期货对冲煤炭股,铜期货对持有色股。对冲比例根据股票与期货价格相关性确定,相关性高于0.7时对冲比例取股票市值的80%。

另类数据与机器学习选股

另类数据提升选股精度。卫星图像分析停车场车辆数预测零售股营收,信用卡消费数据预测餐饮股同店增长,供应链物流数据预测制造业股库存周期。文本数据从财报电话会议、新闻、社交媒体提取情绪因子,情绪因子与期货持仓数据结合,构建多空信号。

机器学习模型处理高维因子。随机森林、梯度提升树、神经网络分别捕捉非线性关系、特征交互、时序依赖。模型训练采用滚动窗口,避免未来函数。验证集用时间序列交叉验证,评估指标为年化收益、夏普比率、最大回撤。特征重要性排序筛选核心因子,剔除冗余变量。

期货持仓数据(CFTC持仓报告、国内期货交易所持仓排名)反映机构预期。商业头寸净空头增加,表明现货商看跌,股票选股降低周期股权重。非商业头寸净多头增加,表明投机资金看涨,股票选股增加高弹性标的。

风险控制与绩效归因

选股组合风险控制包含行业暴露限制、个股集中度限制、换手率限制。行业暴露偏离基准不超过5%,个股权重不超过3%,单边换手率月度不超过50%。止损规则:个股回撤15%强制卖出,组合回撤10%降低仓位至50%。

绩效归因分解收益来源。选股Alpha、行业配置、期货对冲贡献、交易成本分别计算。选股Alpha用Brinson模型,行业配置用多因子归因,期货对冲用基差收益归因。持续正Alpha的因子加大权重,持续负Alpha的因子剔除。

期货展期收益影响对冲效果。近月合约贴水远月时,空头展期获得正收益;升水时展期亏损。选择展期收益为正的合约月份,或采用跨期套利降低展期成本。量化选股与期货对冲结合,年化收益目标15%-20%,最大回撤控制在8%以内,夏普比率高于1.5。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/lianghua-touzi-gupiao-xuanze-657.html