mcpField
T
trading-alert-scheduler

trading-alert-scheduler

github.com/scientiacapital其他2881 次安装3 周前更新
代码仓库

关于 trading-alert-scheduler

trading-alert-scheduler 是面向交易者的盘前市场扫描与持仓检查工作流,每日汇总自选股和 IBKR 持仓。它结合交易信号分析框架,将高置信度设置及风险提醒整理为一份优先级摘要,并避免盘中提醒。

主要功能

  1. 01盘前扫描自选股与 IBKR 持仓
  2. 02结合五种方法评估技术信号
  3. 03识别市场状态并筛选高置信度设置
  4. 04检查期权 Greeks、到期与仓位风险
  5. 05生成每日优先级交易摘要

适用场景

  1. 01开盘前集中查看市场与持仓状况
  2. 02从自选股中筛选值得关注的交易设置
  3. 03发现临近到期或接近最大亏损的仓位
  4. 04减少工作时段的盘中盯盘

MCP 相关

该工作流通过 IBKR MCP server 查询投资组合、账户摘要、保证金需求等持仓数据;IBKR 未连接时可跳过该部分。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scientiacapital/skills --skill trading-alert-scheduler

安装后在 Claude Code 中输入/trading-alert-scheduler确认已加载。

附带文件config.jsonreference/watchlist.json

详细介绍

在 BDR 工作时段内彻底摆脱实时市场监控。每天在开盘前扫描 Tim 的关注列表和 IBKR 持仓,使用 trading-signals 框架识别可采取行动的交易机会,并发送一份按优先级排序的摘要。不要盘中分心——每天早上读一份摘要,了解最重要的信息。

目标:每天节省 30 分钟,并减少在每天拨打 50 通电话时因不盯盘而错过的交易机会。

<quick_start> 每日自动运行(中部标准时间上午 7 点/东部标准时间上午 8 点——距开盘还有 1.5 小时): 计划任务扫描所有关注列表中的代码和未平仓头寸 → 发送摘要

按需运行: “market digest” → 立即运行完整扫描 “what's setting up” → 仅筛选高确信度的交易机会 “check my positions” → 仅检查 IBKR 投资组合的健康状况

触发短语:

  • “market digest”/“trading alerts”/“pre-market scan”
  • “watchlist check”/“what's setting up”
  • “trading morning brief”/“market open prep”
  • “check my positions”/“position health” </quick_start>

<success_criteria>

  • 扫描所有关注列表中的代码,并进行市场状态和技术分析
  • 检查 IBKR 未平仓头寸的风险、到期日和 Greeks 健康状况
  • 将高确信度交易机会(一致性评分 ≥ 0.7)置于摘要顶部
  • 标记头寸风险警报(接近最大亏损、临近到期、被指派风险)
  • 摘要可在 3 分钟内浏览完毕
  • 不受盘中打扰——每日阅读一次即可掌握所有信息
  • 与手动检查相比,减少错过交易机会的情况 </success_criteria>

架构

SCHEDULED (7am CST)          ANALYSIS                       OUTPUT
──────────────────────────────────────────────────────────────────────
Watchlist tickers     →  Regime detection (Markov)    →  Daily Digest
IBKR open positions   →  Technical scan (5 methods)   →  Action List
Market internals      →  Options flow anomalies       →  Position Alerts
Economic calendar     →  Greeks/risk check positions   →  Risk Dashboard

阶段 1:数据收集

1a. 关注列表中的代码

Tim 的默认关注列表(在 reference/watchlist.json 中更新):

核心持仓: SPY、QQQ、IWM、TLT、GLD、SLV、USO、VIX 个股: AAPL、MSFT、NVDA、TSLA、AMZN、META、GOOG、AMD、PLTR、COIN 加密货币代理标的: BITO、MSTR 行业 ETF: XLF、XLE、XLK、ARKK、SMH

对每个代码,使用网页搜索获取:

  • 当前价格和盘前涨跌幅
  • 过去 5 天的价格走势摘要
  • 成交量相对于平均水平的情况
  • 关键支撑位/阻力位
  • 隔夜新闻/催化因素
1b. IBKR 投资组合持仓

使用 IBKR MCP 服务工具(ArjunDivecha/ibkr-mcp-server,安装路径为 ~/Desktop/tk_projects/ibkr-mcp-server/):

工具获取的数据
get_portfolio所有账户的未平仓头寸和盈亏(Roth IRA、个人经纪账户、THK Enterprises)
get_account_summary余额、保证金使用率、购买力、可用现金
switch_account在不同账户间切换,以查看各账户数据
get_margin_requirements每个头寸当前的保证金要求

前提条件: IB Gateway 必须运行在端口 7497(模拟账户)或 7496(实盘账户)。 如果未连接 IBKR: 跳过此部分——网页搜索可提供市场数据。投资组合部分显示“IBKR 未连接——启动 IB Gateway 以启用投资组合检查。”

1c. 市场内部指标

通过网页搜索获取:

  • 标普 500 涨跌家数
  • VIX 水平和期限结构(正价差/逆价差)
  • 看跌/看涨期权比率
  • 10 年期美国国债收益率
  • DXY(美元指数)
  • 联邦基金期货(利率预期)
  • 今日经济日历事件

阶段 2:分析(使用 trading-signals 框架)

2a. 市场状态识别

对 SPY(市场代理标的)运行 Markov 7 状态市场状态模型:

状态描述策略倾向
0强势牛市偏多,卖出看跌期权
1温和牛市偏多,备兑看涨期权
2弱势牛市/盘整中性,铁鹰式策略
3转换期/震荡减小仓位,等待
4弱势熊市对冲,减少多头仓位
5温和熊市偏空,买入看跌期权
6崩盘/高波动保护模式,VIX 策略
2b. 按股票代码进行技术扫描

针对观察名单中的每个股票代码,使用 5 种方法评分:

方法信号权重(经市场状态调整)
艾略特波浪波浪位置 + 预测目标20-30%
威科夫吸筹/派发阶段15-25%
斐波那契关键回撤/扩展位15-20%
海龟交易法唐奇安通道突破信号10-20%
马尔可夫市场状态适合市场状态的策略20-30%

共振评分: 各方法的加权平均值

  • ≥ 0.7:高 — 标记为可执行的交易机会
  • 0.4-0.7:中等 — 纳入观察名单,注明触发价位
  • < 0.4:低 — 不采取行动,不纳入简报
2c. 期权流扫描

针对持有期权头寸或共振度较高的股票代码:

  • 特定行权价的异常成交量(> 平均值的 2 倍)
  • 看跌/看涨期权比率变化
  • 隐含波动率排名(IVR)——权利金是偏高还是偏低?
  • 未来 14 天内的财报日期
2d. 持仓健康检查

针对每笔未平仓的 IBKR 持仓(通过 get_portfolio + get_account_summary):

检查项警报阈值
距到期天数期权剩余 < 7 DTE → 决定展期/平仓
Delta 敞口投资组合 Delta > ±50 → 需要对冲
接近最大亏损持仓亏损 > 最大亏损的 50% → 进行管理
指派风险临近到期的价内卖出期权 → 平仓或展期
Theta 衰减投资组合整体 Theta 是否为正?
保证金使用率> 50% → 降低风险
持仓集中度任一单笔持仓 > 投资组合的 15% → 标记

阶段 3:输出 — 每日交易简报

╔══════════════════════════════════════════════════════════════╗
║  TRADING DIGEST — [Date] | Pre-Market                        ║
║  Market Regime: [STATE] | VIX: [level] | Futures: [ES move]  ║
╠══════════════════════════════════════════════════════════════╣

MARKET OVERVIEW:
- ES Futures: [+/-X.XX%] | NQ: [+/-X.XX%]
- VIX: [level] ([contango/backwardation])
- 10Y: [yield] | DXY: [level]
- Key event today: [economic calendar item]

═══════════════════════════════════════════════════════════════

🎯 HIGH-CONVICTION SETUPS (confluence ≥ 0.7):

1. [TICKER] — [Direction] | Confluence: [0.XX]
   Setup: [description — e.g., "Wyckoff spring at $185 support,
          Elliott wave 3 launching, Turtle breakout confirmed"]
   Entry: $[XX.XX] | Target: $[XX.XX] | Stop: $[XX.XX]
   Options play: [specific strategy — e.g., "Apr 190C @ $3.20,
                  delta 0.45, 3:1 R:R"]
   Why: [1-2 sentence reasoning]

2. [TICKER] — [Direction] | Confluence: [0.XX]
   ...

═══════════════════════════════════════════════════════════════

⚠️ POSITION ALERTS (action needed):

1. [TICKER] [STRIKE] [EXPIRY] — [ALERT TYPE]
   Current P&L: [+/-$XXX] | Days to expiry: [X]
   Recommended action: [ROLL to [new strike/expiry] | CLOSE | HOLD]
   Why: [reason]

═══════════════════════════════════════════════════════════════

👀 WATCHLIST (confluence 0.4-0.7, not yet actionable):

| Ticker | Direction | Confluence | Trigger Level | Note |
|--------|-----------|------------|---------------|------|
| NVDA | Long | 0.55 | Break $950 | Needs volume confirm |
| TLT | Long | 0.48 | Hold $88 | Rate decision Thurs |

═══════════════════════════════════════════════════════════════

📊 PORTFOLIO SNAPSHOT:
| Account | Value | Day P&L | Margin Used |
|---------|-------|---------|-------------|
| Roth IRA | $XX,XXX | +/-$XXX | N/A |
| Personal | $XX,XXX | +/-$XXX | XX% |
| Business | $XX,XXX | +/-$XXX | XX% |

Net Delta: [+/-XX] | Net Theta: [+/-$XX/day] | IVR avg: [XX%]

═══════════════════════════════════════════════════════════════

📅 THIS WEEK:
- [Earnings/events that affect watchlist]
- [Fed speakers / economic data]
- [Options expiration dates]

╚══════════════════════════════════════════════════════════════╝

规则

  • 不发盘中提醒。 此任务每天早上 7 点运行一次。Tim 查看后做出决定,然后专注于 BDR 工作。
  • 只提供可执行信息。 不要列出 30 个信号为“中性”的股票代码。只呈现需要关注的内容。
  • 优先管理持仓。 先提醒现有持仓,再介绍新的交易机会。
  • 始终进行风险管理。 每个交易机会都要包含止损位。始终显示投资组合 Delta/保证金。
  • 严格执行 2% 规则。 如果任何建议交易的投资组合风险超过 2%,则标记出来。
  • 15% 集中度规则。 如果任何持仓超过账户的 15%,则标记出来。
## 必需技能 - `trading-signals-skill` — 核心分析框架(市场状态检测、5 种方法、期权策略、希腊值) - `ibkr-api-skill` — IBKR 投资组合数据(持仓、盈亏、保证金、账户价值)

必需工具

  • Web 搜索: 盘前数据、新闻、经济日历、期权流(主要数据来源)
  • IBKR MCP(ArjunDivecha/ibkr-mcp-server):get_portfolio、get_account_summary、switch_account、get_market_data、get_historical_data、get_margin_requirements、check_shortable_shares、get_borrow_rates、short_selling_analysis、get_connection_status — 需要 IB Gateway 运行在端口 7497(模拟盘)或 7496(实盘)。如果未连接,则通过 Web 搜索获取市场数据。
  • 调度: 为按会话运行的中部标准时间(CST)早上 7 点任务设置 CronCreate "53 6 * * 1-5"(自动过期时间为 3 天)

数据来源(通过 Web 搜索)

  • Yahoo Finance / TradingView:价格数据、技术指标
  • CBOE:VIX、看跌/看涨比率
  • CME:期货、美联储基金利率
  • Finviz:筛选器、市场内部指标
  • Unusual Whales / Barchart:期权流

写入结果 Sidecar

最后一步,将内容写入 ~/.claude/skill-analytics/last-outcome-trading-alert-scheduler.json:

{"ts":"[UTC ISO8601]","skill":"trading-alert-scheduler","version":"1.0.0","variant":"default",
 "status":"[success|partial|error]","runtime_ms":[estimated ms from start],
 "metrics":{"alerts_generated":[n],"tickers_scanned":[n],"regime_changes":[n]},
 "error":null,"session_id":"[YYYY-MM-DD]"}

如果部分阶段失败但仍生成了结果,则使用状态 "partial"。只有未生成任何输出时才使用 "error"。

评论

支持 Markdown