美股量化入门:Alpaca + Python 搭建第一个策略
本教程将从零开始,手把手教你搭建第一个美股自动化交易策略。我们将使用 Alpaca Markets —— 一个提供免费 Paper Trading 环境的券商 API,完全不需要真实资金就可以测试你的策略。完成本教程后,你将拥有一个每天自动运行的量化交易系统。
1. 环境准备
首先注册 Alpaca Markets 账号(alpaca.markets),在 Dashboard 中获取 API Key 和 Secret Key。注意选择 Paper Trading 环境(模拟交易),不要选 Live Trading。然后安装必要库:pip install alpaca-py pandas numpy matplotlib。验证连接:用 Alpaca SDK 获取一条 AAPL 的最新报价,确认返回 HTTP 200。
2. 获取行情数据
用 Alpaca 的 get_bars 接口获取历史 K 线数据,支持 1min/5min/15min/1H/1D 等周期。以 AAPL 为例,获取过去一年的日线数据(包含 Open/High/Low/Close/Volume)。将数据加载到 pandas DataFrame 中,用 matplotlib 绘制收盘价曲线,观察走势特征。这一步是后续所有分析的基础。
3. 编写均线交叉策略
经典的双均线策略:计算 20 日移动平均线(快线)和 50 日移动平均线(慢线)。当快线从下方上穿慢线(金叉)时开仓做多;当快线从上方下穿慢线(死叉)时平仓。用 pandas 的 rolling().mean() 计算均线,用 shift() 判断交叉信号。将买卖信号标注在价格图上,直观验证信号准确性。
4. 回测验证
用 Backtrader 框架进行专业的策略回测:(1) 定义策略类继承 bt.Strategy,在 next() 方法中编写交易逻辑;(2) 加入手续费(默认 0.1%)和滑点模拟真实交易成本;(3) 设置初始资金 10000 美元,固定每次交易金额为总资金的 20%;(4) 运行回测并查看最终收益率、最大回撤、夏普比率等关键指标。如果年化收益率 > 15% 且最大回撤 < 20%,策略可进入下一阶段。
5. 实盘部署
回测通过后,将策略改为 Alpaca 实盘 API:(1) 每天开盘前获取最新行情数据;(2) 判断是否触发交易信号;(3) 通过 API 提交市价单或限价单;(4) 设置止盈止损保护:盈利 10% 或亏损 5% 自动平仓;(5) 用 cron 定时任务每天自动运行脚本。先用 Paper Trading 跑 1-2 周观察,确认无 Bug 后再切换到小额实盘。
最佳实践
用Alpaca Paper Trading验证第一个均线策略
🎯 想在实际投入资金前验证均线交叉策略在美股上的表现
注册Alpaca(alpaca.markets) → 获取Paper Trading API Key → pip install alpaca-py → 用get_bars获取AAPL过去1年日线数据。
→ 5分钟内跑通第一个行情查询,Jupyter中看到K线DataFrame
实现双均线策略:df['sma20']=df['close'].rolling(20).mean()和sma50,生成买卖信号列signals,用matplotlib标注金叉死叉点。
→ 可视化图表上清晰看到策略在什么位置会买入和卖出
用Backtrader回测:定义策略类、设置初始资金$10000、每次交易20%仓位。运行回测查看收益率曲线和最大回撤。调整均线参数(20/50→10/30)重新测试。
→ 知道策略历史表现后,再用Alpaca Paper Trading API部署模拟盘跑1周
回测时务必加入commission=0.001(0.1%手续费),不然收益率会虚高15-20%
专家提示
- 先在 Paper Trading 环境完整跑 2 周,观察策略在不同市况下的表现
- 每天收盘后检查交易日志,记录每笔交易的理由和结果供复盘
- 实盘初期用小资金(500-1000 美元),策略稳定 3 个月后再加仓