mcpField
T
trader-alerts

trader-alerts

github.com/jakeschincariol其他90750 次安装2 周前更新
代码仓库

关于 trader-alerts

trader-alerts 是用于监控股价和 NYSE 开市时间的 Python 技能,可按用户设定的规则发出提醒。它只报告提醒,不会下单,将通知与交易决策分开。

主要功能

  1. 01价格阈值与止损提醒
  2. 02百分比变动提醒
  3. 03NYSE 开盘提醒
  4. 04获取报价并更新价格文件
  5. 05记录已触发的提醒

适用场景

  1. 01监控股票是否达到指定价格
  2. 02跟踪相对参考价的每日变动
  3. 03检查 NYSE 是否开市
  4. 04为相关 trader 技能刷新价格

安装

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

$npx skills add https://github.com/jakeschincariol/trader-skill --skill trader-alerts

安装后在 Claude Code 中输入/trader-alerts确认已加载。

附带文件alerts.example.jsonalerts.py

详细介绍

trader-alerts

Price Alerts 会监控价格,让用户不必亲自盯着。提醒只是信息,绝不是订单:止损提醒响起时,不会卖出任何东西。如果用户想要采取行动,仍会走正常流程(规模、风险,以及用户的同意)。

${CLAUDE_SKILL_DIR} 指此技能的文件夹(即 SKILL.md 所在的位置)。

python3 "${CLAUDE_SKILL_DIR}/alerts.py" clock                         # NYSE open or closed, next open
python3 "${CLAUDE_SKILL_DIR}/alerts.py" quote AAPL KO --write         # -> trader/prices.json
python3 "${CLAUDE_SKILL_DIR}/alerts.py" quote --holdings --write      # portfolio + targets tickers
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol AAPL --above 350
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol BAC --stop 50 --note "my stop"
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol KO --pct 3
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --opening-bell
python3 "${CLAUDE_SKILL_DIR}/alerts.py" check                         # exit 0 = something rang
python3 "${CLAUDE_SKILL_DIR}/alerts.py" list
python3 "${CLAUDE_SKILL_DIR}/alerts.py" reset aapl-above-350

读取和写入的内容

文件用途
trader/alerts.json规则(本文件夹中的 alerts.example.json)
trader/state/alerts.json哪些规则何时响过,这样每条规则只会响一次
trader/prices.json合并后的最新报价,供 trader-budget、trader-risk、trader-tax 和 trader-rebalance 使用

规则类型

类型触发条件再次触发条件
above价格达到或高于 price重置后;或者当 "rearm": true 且价格回落时自动再次触发
below / stop价格达到或低于 price同上
pct_move相较前一收盘价(或 ref)变动了 pct 百分比,可选 direction 为 up 或 down每天最多一次
opening_bellNYSE 开市每个交易日一次

报价

  • yahoo(默认):query1.finance.yahoo.com/v8/finance/chart/<TICKER>,非官方的免费 JSON 接口,每个代码请求一次,间隔半秒。
  • stooq:stooq.com/q/l/?s=aapl.us&f=sd2t2ohlcv&h&e=csv,Stooq 的免费 CSV。撰写本文时(2026-10-13)该接口返回 404;解析器会保留,以便接口恢复后使用。可用 --source stooq 尝试。
  • 免费报价有延迟。可用于提醒和检查规模,但不适合把握下单时机。最终成交价以经纪商报价为准。
  • 如果两者都不可用,请从经纪商连接器读取价格(Alpaca get_stock_snapshot、IBKR get_price_snapshot),并将其写入 trader/prices.json,格式为 {"as_of": "...", "prices": {"AAPL": 341.27}}。

NYSE 时钟

常规交易时段为纽约时间上午 9:30 至下午 4:00;周末以及以下节假日休市。信息来源:nyse.com/markets/hours-calendars(读取日期:2026-10-13):

  • 2026 年:1 月 1 日、1 月 19 日、2 月 16 日、4 月 3 日(耶稣受难日)、5 月 25 日、6 月 19 日、7 月 3 日(独立日补休)、9 月 7 日、11 月 26 日、12 月 25 日。11 月 27 日和 12 月 24 日提前至下午 1:00 收市。
  • 2027 年:1 月 1 日、1 月 18 日、2 月 15 日、3 月 26 日(耶稣受难日)、5 月 31 日、6 月 18 日(六月节补休)、7 月 5 日(独立日补休)、9 月 6 日、11 月 25 日、12 月 24 日(圣诞节补休)。11 月 26 日提前至下午 1:00 收市。

工具会处理夏令时,因此不需要时区文件。对于其他年份,工具会提示节假日列表未知。

步骤

  1. 询问用户想关注什么,按用户原话记录(“告诉我苹果跌破 320 美元时提醒我”),并添加规则。向用户确认代码、类型和价格。
  2. 立即运行 check;如果用户需要,也可按计划运行(Claude 定时任务或 cron,在市场交易时段每 15 分钟运行一次就足够)。每次运行只会获取规则中涉及的代码,并让每条提醒响一次。
  3. 每条响起的提醒用一行告诉用户。如果用户想采取行动,请引导他们进行规模评估并查看 /trader-risk。绝不要代替用户采取行动。

示例:reel 的投资组合

买入复制的投资组合后,运行 add --opening-bell、add --symbol AAPL --above 350 和 add --symbol BAC --stop 50。2026-10-13,AAPL 收于 341.27 美元,BAC 收于 53.96 美元,因此当晚运行 check 会输出“Nothing hit”,并以状态码 1 退出。第二天早上 9:30,开市提醒会响一次。

它绝不会做的事

它绝不会下单、取消订单或更改订单,不会声称报价是实时的,也不会预测价格走势。

安全

  • 本项目用于教育和提供工具,不构成财务建议。警报反映的是价格事实,不是交易信号。
  • 默认使用模拟交易("paper": true)。是否开始实盘交易由用户自行决定,并在自己的配置中设置。
  • 除 trader-broker 外,本套件中的其他工具都不会下单;trader-broker 也只有在同时满足以下三项时才会下单:trader-risk 当天已通过该笔确切订单的检查;用户在聊天中为该笔订单明确输入了 yes;由于订单工具设置为“需要批准”(Customize > Connectors > tool permissions),用户在 Claude 自己的卡片上点击了一次 Allow。切勿将订单工具设为“始终允许”。
  • 除非配置允许且用户确认,否则不得进行期权、保证金、卖空或杠杆交易。
  • 经纪商密钥应存放在环境变量或 Claude Desktop 配置中,绝不可放在聊天中。

评论

支持 Markdown