news 2026/6/9 23:24:05

【期货量化策略】期货量化交易策略统计套利(Python量化)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【期货量化策略】期货量化交易策略统计套利(Python量化)

一、前言

统计套利是基于统计模型的套利策略,通过寻找价格关系的统计规律进行套利。本文将介绍统计套利的实现方法。

本文将介绍:

二、为什么选择天勤量化(TqSdk)

TqSdk统计套利支持:

功能说明
多品种数据支持同时获取多个品种数据
统计分析支持统计分析
实时数据支持实时行情数据
灵活扩展支持自定义策略

安装方法

pipinstalltqsdk pandas numpy statsmodels

三、统计套利基础

3.1 统计套利原理

原理说明
价格关系相关品种价格存在稳定关系
价差波动价差在均值附近波动
回归均值价差会回归均值
套利机会价差偏离时套利

3.2 应用场景

场景说明
相关品种高度相关的品种
同品种不同合约同一品种不同月份
跨市场不同市场相同品种

四、协整分析

4.1 协整检验

#!/usr/bin/env python# -*- coding: utf-8 -*-""" 功能:统计套利 说明:本代码仅供学习参考 """fromtqsdkimportTqApi,TqAuthfromstatsmodels.tsa.stattoolsimportcoint,adfullerimportpandasaspdimportnumpyasnpdeftest_cointegration(price1,price2):""" 协整检验 参数: price1: 价格序列1 price2: 价格序列2 """score,pvalue,_=coint(price1,price2)return{'cointegrated':pvalue<0.05,'pvalue':pvalue,'score':score}# 使用示例api=TqApi(auth=TqAuth("快期账户","快期密码"))klines1=api.get_kline_serial("SHFE.rb2510",3600,500)klines2=api.get_kline_serial("SHFE.hc2510",3600,500)api.wait_update()price1=klines1['close']price2=klines2['close']coint_result=test_cointegration(price1,price2)print(f"协整:{coint_result['cointegrated']}")print(f"P值:{coint_result['pvalue']:.4f}")api.close()

4.2 协整系数估计

fromsklearn.linear_modelimportLinearRegressiondefestimate_hedge_ratio(price1,price2):"""估计对冲比率"""X=price1.values.reshape(-1,1)y=price2.values model=LinearRegression()model.fit(X,y)hedge_ratio=model.coef_[0]returnhedge_ratio

五、配对交易

5.1 价差计算

defcalculate_spread(price1,price2,hedge_ratio):"""计算价差"""spread=price2-hedge_ratio*price1returnspread

5.2 配对交易策略

defpairs_trading_strategy(api,symbol1,symbol2,klines1,klines2,threshold=2):"""配对交易策略"""price1=klines1['close']price2=klines2['close']# 协整检验coint_result=test_cointegration(price1,price2)ifnotcoint_result['cointegrated']:return0# 估计对冲比率hedge_ratio=estimate_hedge_ratio(price1,price2)# 计算价差spread=calculate_spread(price1,price2,hedge_ratio)spread_mean=spread.rolling(20).mean()spread_std=spread.rolling(20).std()current_spread=spread.iloc[-1]z_score=(current_spread-spread_mean.iloc[-1])/spread_std.iloc[-1]# Z-score过大,做空价差ifz_score>threshold:api.insert_order(symbol1,"SELL","OPEN",1)api.insert_order(symbol2,"BUY","OPEN",int(hedge_ratio))return1# Z-score过小,做多价差elifz_score<-threshold:api.insert_order(symbol1,"BUY","OPEN",1)api.insert_order(symbol2,"SELL","OPEN",int(hedge_ratio))return-1return0

六、多品种统计套利

6.1 多品种协整

defmulti_cointegration(klines_dict):"""多品种协整分析"""prices=pd.DataFrame({symbol:klines['close']forsymbol,klinesinklines_dict.items()})# 简化处理:两两协整检验coint_pairs=[]symbols=list(klines_dict.keys())foriinrange(len(symbols)):forjinrange(i+1,len(symbols)):result=test_cointegration(prices[symbols[i]],prices[symbols[j]])ifresult['cointegrated']:coint_pairs.append((symbols[i],symbols[j],result))returncoint_pairs

6.2 投资组合套利

defportfolio_arbitrage(api,symbols,klines_dict,threshold=2):"""投资组合套利"""# 计算投资组合价差# 简化处理:等权重组合prices=pd.DataFrame({symbol:klines['close']forsymbol,klinesinklines_dict.items()})portfolio_price=prices.mean(axis=1)# 计算与均值的偏离mean_price=portfolio_price.rolling(20).mean()std_price=portfolio_price.rolling(20).std()current_price=portfolio_price.iloc[-1]z_score=(current_price-mean_price.iloc[-1])/std_price.iloc[-1]# 根据Z-score调整仓位ifabs(z_score)>threshold:# 执行套利passreturnz_score

七、风险控制

7.1 止损设置

defset_stop_loss(spread,entry_spread,stop_loss_std=3):"""设置止损"""spread_std=spread.rolling(20).std().iloc[-1]stop_loss=entry_spread+stop_loss_std*stop_loss_stdreturnstop_loss

7.2 仓位管理

defcalculate_position_size(api,symbol,max_risk=0.02):"""计算仓位大小"""account=api.get_account()api.wait_update()risk_amount=account.balance*max_risk# 根据价差波动计算仓位# ...returnposition_size

八、总结

8.1 统计套利要点

要点说明
协整检验确保品种协整
价差监控监控价差变化
风险控制严格控制风险
及时平仓价差回归及时平仓

8.2 注意事项

  1. 协整稳定性- 协整关系可能变化
  2. 价差扩大- 价差可能持续扩大
  3. 流动性- 确保有足够流动性
  4. 成本控制- 考虑交易成本

免责声明:本文仅供学习交流使用,不构成任何投资建议。期货交易有风险,入市需谨慎。

更多资源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 19:04:28

多模态大模型效率提升:Token压缩技术详解与实战指南

近年来多模态大模型在视觉感知&#xff0c;长视频问答等方面涌现出了强劲的性能&#xff0c;但是这种跨模态融合也带来了巨大的计算成本。高分辨率图像和长视频会产生成千上万个视觉 token &#xff0c;带来极高的显存占用和延迟&#xff0c;限制了模型的可扩展性和本地部署。 …

作者头像 李华
网站建设 2026/5/28 14:24:57

市场用行动投票:招商林屿缦岛首开售罄背后的价值逻辑

2026年春天&#xff0c;招商林屿缦岛用一份“首开售罄”的答卷&#xff0c;回应了市场对品质居住的所有期待。203套房源在开盘当日即告售罄&#xff0c;这不仅是一个项目的成功&#xff0c;更是市场理性选择的一次集中体现。当喧嚣褪去&#xff0c;价值回归&#xff0c;我们有必…

作者头像 李华
网站建设 2026/6/9 20:16:02

干货合集:AI论文平台,千笔 VS 万方智搜AI,本科生必备!

随着人工智能技术的迅猛发展&#xff0c;AI辅助写作工具已经逐步渗透到高校学术写作场景中&#xff0c;成为本科生、研究生完成毕业论文不可或缺的得力助手。越来越多的学生开始借助这些工具提升写作效率、降低论文压力。然而&#xff0c;面对市场上琳琅满目的AI写作平台&#…

作者头像 李华
网站建设 2026/6/10 12:26:16

真心不骗你 9个降AI率工具测评对比 自考人必看的降AI率攻略

在自考论文写作中&#xff0c;越来越多的同学开始关注“AI生成痕迹”和“查重率”的问题。随着人工智能技术的广泛应用&#xff0c;许多学生在撰写论文时会借助AI工具进行辅助&#xff0c;但这也带来了AIGC率过高的风险。为了确保论文顺利通过审核&#xff0c;降低AI痕迹、提升…

作者头像 李华