/ 目录 / 演练场 / Alpaca
● 官方 alpacahq 🔑 需要你的密钥

Alpaca

作者 alpacahq · alpacahq/alpaca-mcp-server

让 Claude 通过 Alpaca 研究、回测和交易股票、ETF、期权和加密货币——先用模拟账户,这样你不会爆仓。

Alpaca 官方 MCP 封装了 Alpaca 交易和行情 API。拉取报价、K 线、基本面和头寸;下单、修改、撤单。默认使用模拟交易,这正是你学习的正确方式。只有在策略被验证后才切换到实盘。

为什么要用

核心特性

实时演示

实际使用效果

alpaca.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "alpaca",
      "command": "uvx",
      "args": [
        "alpaca-mcp-server"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "alpaca": {
      "command": {
        "path": "uvx",
        "args": [
          "alpaca-mcp-server"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add alpaca -- uvx alpaca-mcp-server

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Alpaca

为你的关注列表生成每日盘前简报

👤 活跃的散户交易者 ⏱ ~10 min beginner

何时使用: 你想在开盘前快速查看 20 个关注股票的盘前情况——隔夜涨跌、财报、明显新闻。

前置条件
  • Alpaca 账户(免费模拟) — alpaca.markets → 注册 → 在面板中获取 API 密钥
  • 关注列表 — 纯列表,如 [AAPL, MSFT, NVDA, ...]
步骤
  1. 拉取隔夜 K 线数据
    对于我的关注列表 [symbols],获取昨日收盘价和最新盘前报价。计算缺口百分比。✓ 已复制
    → 表格:symbol、prev_close、pre_open、gap_pct
  2. 标记异常数据
    哪些股票缺口超过 2%?按缺口幅度排序。✓ 已复制
    → 简短的「需要关注」列表
  3. 添加背景信息
    对于每个异常数据,从 Alpaca 新闻端点拉取最新新闻标题。✓ 已复制
    → 每个股票的项目符号列表,包含可能的原因

结果: 一屏幕的每日盘前简报,每天格式相同,无需手工操作。

注意事项
  • 免费行情仅限 IEX,延迟较大;报价可能与你的券商不匹配 — 对隔夜/收盘分析没问题;如需 SIP 实时行情,升级到 Alpaca 付费数据计划
搭配使用: notion

用模拟账户交易一个简单的规则性策略

👤 量化交易初学者 ⏱ ~30 min intermediate

何时使用: 你有一个规则,比如「当 5 天收益 < -3% 时买入 SPY,+2% 或 5 个交易日后卖出」,想在模拟账户中实时运行它。

前置条件
  • 模拟账户密钥已配置 — 使用 APCA_API_BASE_URL=https://paper-api.alpaca.markets
  • 一个书面规则 — 入场、出场、仓位大小、最大损失——编码前全部明确
步骤
  1. 检查账户和头寸
    显示我的模拟账户权益、购买力和当前开仓头寸。✓ 已复制
    → 清晰的账户快照
  2. 评估今日入场条件
    获取 SPY 最近 5 个交易日的 K 线。计算 5 天收益。如果 < -3% 且我没有持仓 SPY,以市价买入 $5000 名义价值。否则不操作。✓ 已复制
    → 要么是订单 ID,要么是明确的「无操作」
  3. 记录今日决策
    追加一行到 /trades/journal.csv:date、condition_met、action、order_id、fill_price。✓ 已复制
    → 日志行已写入

结果: 每日针对模拟账户运行一个简单策略,有可审查的日志。

注意事项
  • 测试时意外使用实盘密钥 — 在开头保持一个非常明显的检查:下单前确认账户号与你的模拟账户匹配
  • Claude 忘记昨日头寸并重复买入 — 评估入场前总是获取当前头寸;不要依赖内存
搭配使用: filesystem

将投资组合重新平衡到目标配置

👤 有目标配置的 DIY 投资者 ⏱ ~20 min intermediate

何时使用: 每季度:将 60/30/10(美股/国际/债券)重新平衡到目标,无需手工计算股数。

前置条件
  • 目标配置已定义 — 例如 VTI 60%、VXUS 30%、BND 10%
步骤
  1. 测量偏差
    获取我的头寸和当前价格。计算每个符号的当前权重 vs 目标 [粘贴目标]。显示美元和百分比的偏差。✓ 已复制
    → 按符号的偏差表
  2. 提议交易
    提议最少的买入/卖出交易,将权重控制在目标的 1% 以内。显示预期佣金(可能为 $0)和预期滑点。✓ 已复制
    → 订单计划
  3. 带确认的执行
    下单前:用 3 行总结计划并等待我的「是」。确认后以开盘报价订单提交。✓ 已复制
    → 订单已下达(带 ID);权益与目标匹配在 1% 以内

结果: 干净的季度平衡,有书面记录说明每笔交易的原因。

注意事项
  • 应税账户:每次平衡都会触发税务收益/损失 — 优先使用新贡献平衡或税批感知出场;如不确定,仅在 IRA 中运行
搭配使用: filesystem

扫描期权链以寻找短期看跌期权权利金

👤 期权收入交易者(现金担保看跌 / 覆盖看涨) ⏱ ~25 min advanced

何时使用: 你想每周找到在你乐意拥有的股票上卖出的最佳现金担保看跌期权。

前置条件
  • 期权交易已启用的 Alpaca 账户 — 在账户设置中启用;模拟账户可用于学习
步骤
  1. 获取链 + 希腊字母
    获取 [ticker] 下周五到期的期权链,仅限看跌期权,执行价在现价 5% 以内。包括买价、卖价、中间价、delta、IV。✓ 已复制
    → 链表
  2. 按年化收益排序
    计算假设行权时每个执行价的年化现金收益率。过滤 delta 在 -0.15 到 -0.30 之间。排序前 5 个。✓ 已复制
    → 排序的简短列表
  3. 以中间价限价下达卖出以开仓订单
    以中间价为 1 份合约的第 1 档执行价下达卖出以开仓限价订单。GTC、仅当日。✓ 已复制
    → 返回订单 ID

结果: 一个可重复的周收入例程,带有保守的风险过滤。

注意事项
  • 在你不想拥有的公司上卖看跌期权 — 硬性规则:只在 10 个你已预先批准作为长期持仓的股票上交易这个策略
  • 流动性差的执行价(买卖差极大)——成交永远无法在中间价 — 排序前过滤 open_interest > 500 且 spread < 中间价的 5%
搭配使用: notion

组合

与其他 MCP 搭配,撬动十倍杠杆

alpaca + notion

每日盘前简报交付到 Notion 页面

针对关注列表运行我的盘前扫描,并在「Trading / Daily」中创建一个 Notion 页面,包含结果。✓ 已复制
alpaca + filesystem

交易日志:将每个订单和原因追加到本地 CSV

任何 place_order 后,将 {ts, symbol, side, qty, reason} 追加到 /trading/journal.csv。✓ 已复制
alpaca + postgres

存储每日权益曲线以进行策略回测

每晚,将今日账户权益 INSERT 到 equity_curve 表。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
get_account 任何会话的第一个调用——确认你在模拟还是实盘 free
get_positions 在任何入场逻辑前检查当前持仓 free
get_bars symbol, timeframe, start, end, limit? 用于分析和信号的历史 OHLCV free (IEX) or paid (SIP)
get_latest_quote symbol 下单前的实时价格 free
place_order symbol, qty|notional, side, type, time_in_force, limit_price? 提交新订单(总是先模拟) free (commission-free)
cancel_order order_id 在订单成交前撤消未成交订单 free
get_options_chain underlying, expiration, side? 扫描期权策略的执行价 free on Alpaca

成本与限制

运行它的成本

API 配额
数据 API 每分钟 200 请求(免费层级);交易 API 在零售规模下实际不受限
每次调用 Token 数
账户/头寸:200–500 令牌。K 线:随 limit 扩展。
费用
Alpaca 无佣金。付费行情计划 ~$9/月 用于 SIP;免费 IEX 行情对大多数零售使用都可以。
提示
在触及实盘资金前,用模拟账户交易每个新策略至少 4 周。这是免费的。

安全

权限、密钥、影响范围

最小权限: 账户 API 密钥 + 密钥——Alpaca 没有子范围
凭据存储: APCA_API_KEY_IDAPCA_API_SECRET_KEYAPCA_API_BASE_URL 在环境变量中
数据出站: 所有调用到 api.alpaca.markets 或 paper-api.alpaca.markets
切勿授予: 与任何第三方服务共享实盘密钥,包括代码托管平台

故障排查

常见错误与修复

403 forbidden.insufficient-permissions

你的密钥用于错误的环境(实盘 vs 模拟)。将 APCA_API_BASE_URL 与密钥对匹配。

验证: curl -H 'APCA-API-KEY-ID: ...' -H 'APCA-API-SECRET-KEY: ...' $APCA_API_BASE_URL/v2/account
422 buying_power insufficient

你的模拟账户重置,或你的交易大小超过现金。调用 get_account 并重新计算头寸大小。

Bars return empty for recent timestamp

IEX 行情在免费层级有 ~15 分钟延迟,不能服务所有符号。使用 SIP 或等待。

Order rejected: market closed

默认 TIF 是日盘;市场关闭时的订单需要 time_in_force='opg''cls' 或在限价订单上用 extended_hours=true 切换到盘前/盘后。

替代方案

Alpaca 对比其他方案

替代方案何时用它替代权衡
Interactive Brokers MCP你需要国际市场或期货更复杂的身份验证(需要网关应用);学习曲线
Polygon.io MCP你只需要行情数据,不需要交易没有订单执行;完整覆盖需付费

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills