基于MCP(模型上下文协议)的AI交易代理
构建一个自主的人工智能交易代理,可以执行真实交易、分析期权和监控宏观经济状况——所有这些都是通过自然语言对话实现的。
🎯 这个项目做什么
此存储库包含OpenAPI规范,使AI助手(Claude、ChatGPT等)能够:
- 执行交易 通过羊驼(股票、ETF、期权)
- 分析期权链 通过Tradier与希腊人交流
- 监测宏观经济状况 通过FRED(美联储数据)
使用 Workato的MCP连接器,这些规范成为人工智能可以调用的MCP服务器作为工具。
🏗️ 建筑
┌─────────────────────────────────────────────────────────────┐
│ USER CONVERSATION │
│ "Buy $5000 of NVDA" or "Check the yield curve" │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CLAUDE / CHATGPT │
│ AI reasoning and decision making │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ MCP PROTOCOL LAYER │
│ Standardized tool calls via Workato │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ ALPACA │ │ TRADIER │ │ FRED │
│ Trading API │ │ Options API │ │ Economic API │
│ │ │ │ │ │
│ • Orders │ │ • Options Chains│ │ • Yield Curve │
│ • Positions │ │ • Greeks │ │ • Unemployment │
│ • Portfolio │ │ • Historical │ │ • Inflation │
│ • Account │ │ • Quotes │ │ • GDP │
└─────────────────┘ └─────────────────┘ └─────────────────┘📁 存储库内容
| 文件 | 描述 |
|---|---|
alpaca_openapi.yaml | 交易执行(订单、头寸、账户) |
tradier_openapi.yaml | 期权数据(链、希腊语、报价) |
fred_openapi.yaml | 宏观经济数据(利率、通货膨胀、就业) |
README.md | 此文件 |
🚀 快速开始
先决条件
- Workato帐户 - 注册Workato (需要MCP连接器)
- 羊驼账户 - 注册Alpaca (免费票据交易)
- Tradier账户 - 注册Tradier (免费沙盒)
- FRED API密钥 - 获取免费密钥
第一步:设置羊驼
- 在以下位置创建帐户 羊驼市场
- 转到纸交易仪表板
- 生成API密钥(密钥ID+密钥)
- 注:使用
paper-api.alpaca.markets用于测试
第二步:设置Tradier
- 在以下位置创建帐户 developer.trader.com
- 从仪表板获取沙盒访问令牌
- 注:使用
sandbox.tradier.com免费延迟数据
步骤3:设置FRED
- 首选 FRED API密钥
- 请求免费的API密钥(即时批准)
步骤4:导入到Workato
对于每个API:
- 在Workato中,转到 应用程序连接 → 创建连接
- 选择 超文本传输协议 连接器 开放API 选项
- 上传相应
.yaml文件 - 配置身份验证:
| API | 授权类型 | 配置 |
|---|---|---|
| 羊驼 | API密钥(头) | APCA-API-KEY-ID 和 APCA-API-SECRET-KEY 标题 |
| 特拉迪尔 | 承载令牌 | 带有您的访问令牌的授权标头 |
| 弗雷德 | API密钥(查询) | api_key 查询参数 |
步骤5:创建MCP服务器
- 在Workato中,转到 MCP服务器 → 创建服务器
- 将HTTP连接添加为工具
- 发布MCP服务器
- 复制MCP服务器URL
第六步:联系克劳德
在第ai条中:
- 首选 设置 → 集成 → MCP服务器
- 添加您的Workato MCP服务器URL
- 授权连接
- 开始聊天!
💬 对话示例
与羊驼进行交易
User: What's my current portfolio value?
Claude: [Calls Alpaca:Get_Account]
Your portfolio is worth $99,595.06 with $43,581 buying power.
You have 24 open positions.
User: Buy $5000 of NVDA
Claude: [Calls Alpaca:Create_Order]
✓ Bought 26.3 shares of NVDA at $190.15
Order filled. Total cost: $5,001.95Tradier期权分析
User: What covered calls can I sell on SOFI?
Claude: [Calls Tradier:Get_Option_Chains with greeks=true]
Here are the best opportunities for SOFI (current price $26.92):
| Strike | Expiry | Premium | Delta | Annual Return |
|--------|--------|---------|-------|---------------|
| $29 | Feb 20 | $1.38 | 0.40 | 48.4% |
| $30 | Feb 20 | $1.10 | 0.34 | 38.3% |
| $28 | Feb 20 | $1.72 | 0.47 | 60.0% |
Recommendation: The $29 strike offers the best risk/reward balance.使用FRED进行宏观分析
User: What's the current macro environment?
Claude: [Calls FRED:Get_Series_Observations for T10Y2Y, VIXCLS, DFF, UNRATE]
📊 Market Regime Check (January 2026)
| Indicator | Value | Signal |
|-----------|-------|--------|
| Yield Curve (10Y-2Y) | +0.64% | ✅ Normal |
| VIX | 14.49 | ✅ Low volatility |
| Fed Funds Rate | 4.33% | 🟡 Restrictive |
| Unemployment | 4.1% | ✅ Healthy |
Regime: RISK-ON
Current conditions favor growth assets.📊 可用工具
羊驼(交易)
| 工具 | 说明 |
|---|---|
getAccount | 账户余额、购买力、状态 |
getAllPositions | P&L的所有未结头寸 |
getPosition | 单个职位详细信息 |
createOrder | 创建市价/限价/止损订单 |
cancelOrder | 取消未结订单 |
closePosition | 关闭头寸(全部或部分) |
getPortfolioHistory | 历史投资组合价值 |
getMarketClock | 市场开盘/收盘状态 |
Tradier(期权)
| 工具 | 说明 |
|---|---|
getQuotes | 股票/ETF报价 |
getOptionChains | 希腊全选项链 |
getOptionExpirations | 可用的到期日期 |
getOptionStrikes | 到期执行价格 |
getHistoricalPrices | OHLCV数据 |
getMarketClock | 市场状况 |
FRED(宏观)
| 工具 | 说明 |
|---|---|
getSeriesObservations | 经济数据值 |
getSeriesInfo | 系列元数据 |
searchSeries | 搜索系列 |
getReleaseDates | 经济日历 |
getCategory | 浏览数据类别 |
🔑 钥匙FRED系列
| 系列ID | 名称 | 频率 | 用例 |
|---|---|---|---|
T10Y2Y | 10Y-2Y收益率差 | 每日 | 衰退指标 |
VIXCLS | VIX | 每日 | 恐惧指数 |
DFF | 联邦基金利率 | 每日 | 货币政策 |
UNRATE | 失业率 | 每月 | 经济健康状况 |
CPIAUCSL | CPI | 月度 | 通货膨胀 |
BAMLH0A0HYM2 | 高收益利差 | 每日 | 信用风险 |
ICSA | 首次索赔 | 每周 | 劳动力市场 |
GDP | GDP | 季度 | 经济增长 |
⚠️ 重要免责声明
- 仅限于纸品交易:从纸上交易开始测试您的设置
- 非财务建议这是一个教育项目
- 期权风险:期权交易涉及重大风险
- API限值:注意所有API的速率限制
- 数据延迟:Tradier沙盒有15分钟的延迟数据
🔧 故障排除
常见问题
401未经授权(羊驼)
- 检查API密钥格式(需要密钥ID和密钥)
- 使用正确的基本URL进行验证(纸质与实时)
- 确保标题命名正确
422不可处理实体(羊驼订单)
- 不要发送空邮件
stop_loss或take_profit对于简单订单 - 使用其中之一
qty或notional,不是两者都有 - 查看当日订单的市场交易时间
400错误请求(Tradier)
- 验证承载令牌格式
- 检查选项的符号格式
无数据(FRED)
- 添加
file_type=json对于请求 - 检查seris_id拼写(区分大小写)
📚 资源
🤝 贡献
欢迎投稿!拜托:
- 克隆该仓库
- 创建要素分支
- 提交拉取请求
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件。
🙏 致谢
______________________________________________________________________
建于❤️ AI交易代理社区
*记住:在使用真钱之前,一定要用纸笔交易进行测试!*
