
量化交易美股的核心工具
量化交易美股需要选择支持API的券商。盈透证券提供IB API,德美利提供thinkorswim API,老虎证券和富途证券有OpenAPI。这些接口支持Python、Java、C++等语言。
数据源方面,Polygon.io、IEX Cloud、Alpha Vantage、Yahoo Finance可获取历史K线和实时报价。低延迟场景需使用C++并部署在靠近交易所的服务器。
from ib_insync import *
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)
contract = Stock('AAPL', 'SMART', 'USD')
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D', barSizeSetting='1 hour', whatToShow='TRADES')
df = util.df(bars)
print(df.tail())
构建美股量化策略
动量策略在美股中表现显著。计算过去20日收益率,买入前10%的股票,每周调仓。注意避开财报日。
均值回归策略适合震荡市。使用布林带:价格跌破下轨买入,突破上轨卖出。参数需用滚动窗口优化。

def momentum_strategy(returns, window=20, top_pct=0.1):
scores = (1 + returns).rolling(window).apply(np.prod, raw=True) - 1
threshold = scores.quantile(1 - top_pct)
signals = scores >= threshold
return signals.astype(int)
多因子模型整合价值、质量、动量因子。用IC值加权,每季度再平衡。
回测美股策略的关键细节
回测必须计入交易成本。美股佣金约0.005美元/股,滑点按买卖价差的一半估算。避免未来函数:调仓日只能使用前一日收盘数据。
使用Walk-Forward分析:将数据分为训练集和测试集,滚动前进。防止过拟合。
import vectorbt as vbt
price = vbt.YFData.download('SPY').get('Close')
fast_ma = price.rolling(10).mean()
slow_ma = price.rolling(50).mean()
entries = fast_ma > slow_ma
exits = fast_ma < slow_ma
pf = vbt.Portfolio.from_signals(price, entries, exits, fees=0.001, slippage=0.001)
print(pf.stats())
期货量化交易补充
期货市场提供杠杆和做空便利。标普500期货ES、纳斯达克期货NQ、原油期货CL、黄金期货GC流动性好。期货量化策略需关注保证金和展期。
跨期套利:同时买入近月合约卖出远月合约。当价差偏离历史均值时入场。
from datetime import datetime
es_front = ContinuousFuture('ES', '202406', 'GLOBEX')
es_back = ContinuousFuture('ES', '202409', 'GLOBEX')
spread = es_back.price - es_front.price
if spread > 2 * spread.std():
sell(es_back); buy(es_front)
期货夜盘与美股联动。用VIX期货对冲美股尾部风险。当VIX高于30时,买入VIX期货同时做空ES。
实盘执行与风险管理
实盘使用TWAP或VWAP算法拆分大单。盈透的Adaptive Algo可自动选择最优路径。监控订单成交率和滑点。
风险控制:单笔交易风险不超过总资金2%。使用ATR计算止损位:入场价减去2倍ATR。最大回撤超过15%时暂停策略。
每日检查持仓集中度。行业暴露不超过30%。避免同时持有高度相关的股票,如AAPL和MSFT。
期货杠杆放大风险。保证金占用不超过总资金50%。设置强制平仓线。
量化交易美股的常见陷阱
幸存者偏差:回测只用当前成分股。应使用历史成分股数据,如CRSP数据库。
前视偏差:使用当日收盘价做当日交易信号。实际只能次日开盘成交。
过度优化:参数在样本内表现完美,样本外失效。使用滚动窗口和交叉验证。
忽略流动性:小市值美股买卖价差大。只交易日均成交额超1000万美元的股票。
期货展期成本:连续合约拼接时价格跳跃。使用复权价格或直接交易具体合约。
量化交易美股和期货需要扎实的数据处理、严谨的回测框架、低延迟执行和严格风控。从简单策略开始,逐步增加复杂度。实盘前用模拟账户验证至少3个月。