
股票期货量化投资的核心技能树
量化投资团队依赖数据驱动决策。股票与期货市场结构差异显著。股票T+1交易、无杠杆、股息除权影响回测。期货T+0、保证金杠杆、展期成本、夜盘波动。必须区分两者在策略逻辑、数据频率、合约规则上的不同。
数据获取与清洗
股票数据来源包括Wind、聚宽、Tushare。期货数据需补充主力合约拼接、分钟级tick、持仓量、基差。清洗处理异常值、停牌、涨跌停、除权除息。期货要处理换月跳空,使用复权价格或价差调整。
import pandas as pd
# 股票复权因子处理
def adjust_stock(df, factor):
return df['close'] * factor
# 期货主力连续合约拼接
def roll_futures(df_near, df_far, roll_date):
df_near.loc[df_near.index < roll_date, 'close'] = df_near['close']
df_far.loc[df_far.index >= roll_date, 'close'] = df_far['close']
return pd.concat([df_near, df_far]).sort_index()
策略开发基础
股票多因子模型常见:价值、动量、波动率、流动性。期货策略侧重趋势跟踪、套利、高频做市。回测框架可选Backtrader、vn.py、Zipline。回测必须包含交易成本、滑点、冲击成本。股票印花税、佣金;期货手续费、保证金占用。

回测陷阱:过拟合、未来函数、幸存者偏差。股票需处理成分股变动。期货需处理合约到期、涨跌停无法成交。
编程与工具链
Python为主流。NumPy、Pandas处理时间序列。Scikit-learn、LightGBM做因子合成。C++用于低延迟期货交易。数据库:MySQL、ClickHouse、InfluxDB。消息队列:Kafka、RabbitMQ。版本控制:Git。容器化:Docker。
# 期货简单移动平均策略示例
import numpy as np
def ma_strategy(prices, fast=5, slow=20):
signals = np.where(
prices.rolling(fast).mean() > prices.rolling(slow).mean(), 1, -1
)
return signals
回测与实盘差异
股票实盘受T+1、涨跌停板限制。期货实盘受保证金追缴、强平、夜盘流动性影响。回测使用历史tick与实盘订单簿深度不同。滑点模型需按品种调整:股票小单滑点低,期货大单冲击高。实盘前进行仿真交易,使用模拟账户验证信号延迟、成交率。
风险管理与资金管理
股票组合控制行业暴露、市值暴露。期货使用VaR、CVaR、最大回撤、夏普比率。仓位管理:凯利公式、风险平价。止损逻辑:股票个股止损,期货按保证金比例。跨品种对冲:股票多空对冲,期货跨期套利。
# 期货保证金监控
def margin_check(positions, prices, margin_rate=0.1):
notional = sum(pos * price for pos, price in zip(positions, prices))
return notional * margin_rate
团队协作与流程
量化团队分工:策略研究员、数据工程师、交易员、风控。代码需版本管理、单元测试、持续集成。策略上线流程:研究回测、仿真验证、小资金实盘、逐步加仓。股票策略关注换手率、容量。期货策略关注夜盘监控、交割月移仓。
面试与入职准备
复习概率统计、时间序列、随机微积分。刷题:LeetCode中等难度、动态规划、数据结构。准备项目:股票多因子回测报告、期货CTA策略。熟悉券商交易接口:CTP、恒生UF2.0、华锐。了解监管规则:股票异常交易、期货持仓限额。
持续学习资源
书籍:主动投资组合管理、量化交易策略、期货市场技术分析。论文:SSRN、arXiv量化金融。开源项目:vn.py、Backtrader、Qlib。社区:知乎量化专栏、聚宽社区、宽客相对论。
入职前重点:搭建本地股票期货回测环境,跑通一个完整策略,从数据下载到绩效归因。掌握至少一种数据库查询。理解订单类型:限价单、市价单、止损单。股票与期货的持仓同步、资金划拨逻辑。
股票期货量化检查清单
股票数据是否复权?
期货主力合约是否连续?
回测是否包含交易成本?
策略是否使用未来数据?
实盘接口是否支持夜盘?
风控是否限制单品种仓位?
资金管理是否考虑保证金?
代码是否有版本控制?
准备充分后,入职即可快速融入团队,从因子挖掘到实盘交易形成闭环。