返回市场
美味代理

美味代理

作者:ferdousbhai47 星标更新:2025-11-04

项目介绍

tasty-agent: 一个针对TastyTrade经纪账户的MCP服务器

信任评分

这是一个用于TastyTrade经纪账户的模型上下文协议(MCP)服务器。它使大型语言模型能够监控投资组合、分析仓位并执行交易。该服务器具有自动化的IV分析提示功能,并内置了速率限制(每秒2次请求),以防止API错误。

认证

OAuth设置

  1. https://my.tastytrade.com/app.html#/manage/api-access/oauth-applications 创建一个OAuth应用。
  2. 检查所有范围,保存你的客户端ID和客户端密钥。
  3. 在OAuth应用设置中创建一个新的个人OAuth授权(检查所有范围)。
  4. 复制生成的刷新令牌。
  5. 使用您的凭据配置MCP服务器(参见下文的使用部分)。

MCP工具

账户与投资组合

  • get_balances() - 获取账户余额和购买力。
  • get_positions() - 获取所有当前价值的开放仓位。
  • get_net_liquidating_value_history(time_back='1y') - 获取投资组合价值的历史记录('1d', '1m', '3m', '6m', '1y', 'all')。
  • get_transaction_history(days=90, underlying_symbol=None, transaction_type=None) - 获取所有交易:包括交易和现金流(默认:最后90天,交易类型:'Trade' 或 'Money Movement')。
  • get_order_history(days=7, underlying_symbol=None) - 获取订单历史,包括已成交、已取消和被拒绝的订单(默认:最后7天)。

市场数据与研究

  • get_quotes(instruments, timeout=10.0) - 通过DXLink流式传输获取多个股票和/或期权的实时报价。
  • get_greeks(options, timeout=10.0) - 通过DXLink流式传输获取多个期权的希腊字母(delta, gamma, theta, vega, rho)。
  • get_market_metrics(symbols) - 获取多个符号的IV排名、百分位数、贝塔值和流动性。
  • market_status(exchanges=['Equity']) - 获取市场时间及状态('Equity', 'CME', 'CFE', 'Smalls')。
  • search_symbols(symbol) - 根据名称/代码搜索符号。
  • get_current_time_nyc() - 获取纽约时区的当前时间(市场时间)。

订单管理

  • get_live_orders() - 获取当前活跃的订单。
  • place_order(legs, price=None, time_in_force='Day', dry_run=False) - 下单多腿订单,自动从市场报价中发现价格。
    • 股票操作:'Buy', 'Sell'
    • 期权操作:'Buy to Open', 'Buy to Close', 'Sell to Open', 'Sell to Close'
  • replace_order(order_id, price) - 修改现有订单的价格(对于复杂更改,请取消并重新下单)。
  • delete_order(order_id) - 取消订单。

关注列表管理

  • get_watchlists(watchlist_type='private', name=None) - 获取关注列表('public'/'private',如果name=None则获取全部)。
  • manage_private_watchlist(action, symbols, name='main') - 向私人关注列表添加或移除多个符号。
  • delete_private_watchlist(name) - 删除私人关注列表。

MCP提示

  • IV排名分析 - 自动提示分析仓位和关注列表中的IV排名极端值,寻找入场/出场机会。

主要特性

智能下单

  • 当未指定价格时,自动从实时市场报价计算价格。
  • 单个函数调用即可实现多腿期权策略(如价差、宽跨式等)。
  • 干运行模式,测试订单而不执行。

速率限制与可靠性

  • 内置速率限制(每秒2次请求)防止API限速。
  • 全面的错误处理和日志记录。

MCP客户端配置

在您的MCP客户端配置中添加(例如,claude_desktop_config.json):

{
  "mcpServers": {
    "tastytrade": {
      "command": "uvx",
      "args": ["tasty-agent"],
      "env": {
        "TASTYTRADE_CLIENT_SECRET": "your_client_secret",
        "TASTYTRADE_REFRESH_TOKEN": "your_refresh_token",
        "TASTYTRADE_ACCOUNT_ID": "your_account_id"
      }
    }
  }
}

示例

"获取我的账户余额和当前仓位"
"获取SPY和AAPL的实时报价"
"获取TQQQ C期权,行权价100,到期日2026-01-16的报价"
"获取AAPL P期权,行权价150,到期日2024-12-20的希腊字母"
"以自动定价购买100股AAPL"
"以150美元购买100股AAPL"
"开仓购买17份TQQQ看涨期权,行权价100,到期日2026-01-16"
"下单价差:开仓购买AAPL 150C,开仓卖出AAPL 155C,两者到期日均为2024-12-20"
"平仓我的AAPL仓位:卖出10份AAPL看涨期权"
"修改订单12345的价格为10.05美元"
"取消订单12345"
"获取我一月份的交易历史"
"获取我的私人关注列表"
"向我的科技关注列表添加TSLA和NVDA"
"从我的科技关注列表移除AAPL"

后台交易机器人

运行自动化交易策略:

# 一次性运行带指令
uv run background.py "检查我的投资组合并根据需要进行再平衡"

# 每小时运行一次
uv run background.py "监控SPY并在显著变动时发出警报" --hourly

# 每天运行一次
uv run background.py "生成每日投资组合摘要" --daily

# 自定义周期(秒)
uv run background.py "扫描覆盖看涨期权的机会" --period 1800  # 每30分钟

# 安排开始时间(纽约时区)
uv run background.py "执行早晨交易策略" --schedule "9:30am" --hourly

# 市场开盘简写(9:30am)
uv run background.py "逢低买入策略" --market-open --hourly

开发

使用chat.py进行交互式测试

在开发过程中进行交互式测试:

# 在.env文件中设置环境变量:
# TASTYTRADE_CLIENT_SECRET=your_secret
# TASTYTRADE_REFRESH_TOKEN=your_token
# TASTYTRADE_ACCOUNT_ID=your_account_id (默认为第一个账户)
# OPENAI_API_KEY=your_openai_key (您可以提供由pydantic-ai支持的其他提供商)
# MODEL_IDENTIFIER=model_provider:model_name (默认为openai:gpt-5-mini)

# 运行交互式客户端
uv run chat.py

客户端提供了一个聊天界面,可以直接测试MCP工具。示例命令:

  • "获取我的账户余额"
  • "获取SPY的报价"
  • "干运行下单:以150美元购买100股AAPL"

使用MCP检查器调试

npx @modelcontextprotocol/inspector uvx tasty-agent

许可证

MIT