A 股 AI Agent & Skill 项目包

面向 Claude Code / Opencode 的 A 股 AI 研究项目包:行情查询、AI 盯盘、每日复盘、研究型持仓记录、定时调度一体化 SDK

1

下载项目包

点击「下载项目包」按钮,下载 ai-mock-trade.zip 压缩包,解压后直接得到 ai-mock-trade/ 目录。压缩包内的 .env 文件已自动写入你的专属密钥。仅供学习研究使用,不构成任何投资建议。

查看源码
2

解压到项目目录

将下载的 zip 文件解压,把得到的 ai-mock-trade/ 目录作为你的 AI 工具项目根目录。目录结构如下:

ai-mock-trade/
├── CLAUDE.md                              # 柚子 AI 完整系统指令 claudecode 使用
├── AGENTS.md                              # 柚子 AI 完整系统指令 opencode 使用
├── watch_scheduler.py                     # 定时盯盘调度器(盘中每 5 分钟 + 21 点复盘)
├── tool.py                                # 项目自更新工具(一键更新 skills / 系统指令 / memory)
├── .env                                   # 密钥配置(下载包已自动写入)
├── .env.example                           # 密钥配置模板(手动复制时参考)
├── skills/
│   ├── mock/                            # 接口调用 SDK(行情、研究型模拟持仓、总结上报)
│   │   ├── SKILL.md                     # 函数索引(签名以各 .py docstring 为准)
│   │   ├── _http.py                     # 共用 HTTP 封装
│   │   ├── market.py                    # 行情查询
│   │   ├── trading.py                   # 研究型模拟持仓(不含真实交易)
│   │   ├── report.py                    # 总结上报
│   │   └── cli.py                       # 本 skill 通用方法调用器
│   └── journal/                         # 总结与写文档(本地状态读写)
│       ├── SKILL.md                     # 函数索引
│       ├── journal.py                   # 交易日志 / 自选池 / 复盘总结 / 动态策略
│       └── cli.py                       # 本 skill 通用方法调用器
├── memory/                                # 记忆(不可变 + 可变)
│   ├── trading-mindset.md                 # 底层研究心法
│   └── dynamic-strategy.md                # 动态策略(每日改写)
├── data/                                  # 运行时数据(git 忽略)
└── backups/                               # 更新备份与缓存(tool.py 生成,git 忽略)
3

选择使用方式

下载、解压完成后,有两种互相独立的使用方式 —— 可任选其一,也可搭配使用。

方式 A · 在 AI IDE 内对话(交互式)

用 Claude Code / Opencode / Codex 打开 ai-mock-trade/ 目录,CLAUDE.md / AGENTS.md.env 密钥会自动加载,直接用大白话说需求即可。适合临时查行情、做研究、手动记录操作。

# 用 AI IDE 打开 ai-mock-trade/,直接对话(示例)
> 执行一次盯盘
> 今天行情那么好你为什么还不开仓?
> 我需要重构心法和策略,全面的改造为只做接力
> 增加一条纪律:昨日涨停今日禁止买入
> 调整心法策略的候选股,增加热门股列表、近期成交量巨大列表作为候选股
> 你今天为什么会买入紫光股份,理由是什么?

方式 B · 终端启动定时盯盘(无人值守)

ai-mock-trade/ 目录下跑一行命令启动常驻进程:盘中每 5 分钟自动盯盘、每晚 21:00 自动复盘,不依赖 IDE,挂着就行。适合「让它自己跑」。

python watch_scheduler.py

两种方式的对话示例、参数与排障 → 见下方「进阶说明」。

4

项目更新

服务端持续优化 skills / 系统指令 / 心法策略,本地一行命令即可全量拉取最新(覆盖前自动备份,data/.env 永不被覆盖)。在 ai-mock-trade/ 目录下执行:

python tool.py update all          # 全量 · 一次到位

只更新指定模块、只查询不下载等更多用法 → 见「进阶使用」页签末尾。

项目包里有什么

下载解压后的 ai-mock-trade/ 不只是一个复盘工具,而是一套完整的 A 股 AI 研究系统:六组能力 + 两套 AI 系统指令 + 两份心法 / 策略文件。AI IDE 打开目录后会自动加载系统指令,你只需用自然语言对话,柚子 AI 会自己调用对应能力,不需要手动敲命令

六组能力

  • 行情查询:大盘汇总、热点板块、个股详情与分时、连板天梯、主力资金、主题与「今天炒什么」事件、LLM 盘面分析、自然语言选股
  • AI 盯盘:盘中自主盯盘、情绪判断、持仓止损止盈检查、选股与交易(模拟)
  • 每日复盘:盈亏与情绪复盘、次日计划、自选池整理
  • 定时调度:常驻进程按交易时段自动盯盘、盘后自动复盘,无人值守
  • 状态读写:本地交易日志、自选池、复盘总结、动态策略(纯本地文件)
  • AI 调教:主动指导 Agent 优化心法和交易策略,调教成最适合自己的样子

AI 系统指令与策略

  • CLAUDE.md / AGENTS.md:系统总纲(角色、操作流程、输出规范、执行边界),Claude Code 读前者、Opencode 读后者
  • memory/trading-mindset.md:核心纪律(选股红线、仓位上限、止损止盈哲学)
  • memory/dynamic-strategy.md:动态策略(LLM 字段消费规则、买点 / 止损阈值、输出规范)

方式 A · 可以怎么对话

AI IDE 打开项目后,直接用大白话说需求即可,柚子 AI 会自动调用对应能力并组织回复:

行情查询 今天大盘怎么样?看看热点板块排名
质疑 你今天为什么会买入紫光股份,理由是什么?
调教 我觉得你今天不应该买入康龙化成,近期涨幅太高了,3 日涨幅超过 20% 都不要买
每日盯盘 执行一次盯盘
每日复盘 复盘今天的盯盘和交易记录

方式 B · 定时盯盘(watch_scheduler.py)

如果你想让柚子 AI 在行情时段自动盯盘、盘后自动复盘,运行项目内置的 watch_scheduler.py 即可。它是一个常驻 Python 进程,按 A 股交易时段在本地调用 AI CLI 执行盯盘/复盘,不依赖任何 IDE 插件,关掉终端前会一直跑。所有操作均用于学习研究,不构成任何投资建议

默认行为

  • 交易日(周一至周五)09:30-11:3013:00-15:00,每 5 分钟触发一次「执行一次盯盘」
  • 每个交易日 21:00 触发一次「复盘今天的行情数据」
  • 非交易时段脚本只 sleep,不消耗 CPU 与网络资源;周末不盯盘
  • 默认调用 Opencode(与 AGENTS.md 配合),也可切换到 Claude Code

启动

ai-mock-trade/ 目录下执行一行命令即可(启动后会持续在终端打印每次触发的简要结果,Ctrl+C 可优雅退出,会等待当前 CLI 跑完再停):

# 默认:常驻循环(盘中每 5 分钟盯盘 + 21:00 复盘)
python watch_scheduler.py

# 常驻后台(关闭终端不被 kill)
nohup python watch_scheduler.py >> data/watch_scheduler.out 2>&1 &

# 只跑一次就退出(不进入循环):watch=盯盘、review=复盘
python watch_scheduler.py --once watch

常用参数

CLI 参数与同名环境变量效果一致,参数优先级更高,或者你也可以直接修改文件内 parse_args 默认的参数:

切换 Claude Code python watch_scheduler.py --cli claude
盯盘间隔为 3 分钟 python watch_scheduler.py --interval 3
自定义盯盘提示词 python watch_scheduler.py --prompt-watch "执行盯盘并打印当前持仓"
调整复盘时间 python watch_scheduler.py --review-hour 22 --review-minute 30
用环境变量配置 WATCH_CLI=claude WATCH_INTERVAL_MINUTES=15 python watch_scheduler.py

更多参数:--project-dir--prompt-review--log-dir;完整列表见 python watch_scheduler.py --help

日志与排障

日志默认写到 data/watch_scheduler_logs/,分两类:

  • scheduler-YYYY-MM-DD.log:调度器自身的 INFO/ERROR,每次触发的「谁/做了什么/结果」一行
  • run-YYYYMMDD-HHMMSS.log:每次 CLI 调用的完整 stdout/stderr,CLI 报错时优先看这个

常见排查:CLI 报 command not foundwhich opencode 检查 PATH;密钥失效 → 重新登录下载页拿新 .env;CLI 长时间无输出 → 检查网络与 provider 配额(单次失败不会中断后续轮次)。

环境准备(如果上面跑不起来再看)

脚本只做调度,执行依赖本机的 Python(3.8+)与 AI CLI。若启动命令报 command not found,说明对应工具尚未安装,请自行查阅官方文档:

  • Python 3.12+:参见 python.org
  • opencode(默认 CLI):参见 opencode.ai,首次使用需 opencode 需配置密钥
  • Claude Code(备选 CLI):参见 claude code 官方文档,首次使用需 claude login 或 配置密钥

链路验证(推荐先跑一次再启动常驻调度):在 ai-mock-trade/ 目录下手动执行 opencode run "执行一次盯盘",能正常出盘面摘要即为通畅。ai-mock-trade/.env 下载时已自动写入密钥,手动复制场景才需要自己补。

项目自更新工具

服务端会持续优化 skills(六组能力)/ 系统指令(AGENTS.md / CLAUDE.md)/ 心法与策略(memory/),本地用 tool.py 一行命令即可增量拉取最新,免手动重下整包。下列命令均在 ai-mock-trade/ 目录下执行。

python tool.py update          # 默认更新最常变的 skills,日常用它就够

更新指定模块

心法 / 策略 python tool.py update memory
系统指令 · Opencode python tool.py update agents
系统指令 · Claude Code python tool.py update claude
全量 · 一次到位 python tool.py update all

只查询,不下载

查服务端有无更新 python tool.py check
看本地 / 服务端版本 python tool.py status

遇到版本门禁异常(check / update 都报 list 接口失败)时,可用 python tool.py update all --force 跳过门禁强制下载,作为兜底。

安全说明:覆盖前自动备份到 backups/,可随时恢复;data/(交易日志)与 .env(密钥)永不被覆盖;已是最新时不下载,不占每日下载次数。

旧版本用户(项目根没有 tool.py)需重新下载一次完整项目包获取 tool.py,之后即可增量更新。

以下为柚子 AI 当前对外公开的选股策略,由系统按 A 股交易时段自动选股与刷新。点击策略卡片可进入「自然语言选股」页查看完整选股列表,所有策略仅供学习研究,不构成投资建议。
盘后选股 91 只

昨日涨停

当日出现过涨停(沪深主板/创业板/科创板、非 ST),盘后选股

策略 id 28 · 最后选股 08-12 15:14
盘后选股 42 只

昨日断板

昨日涨停但当日未涨停(沪深主板/创业板/科创板、非 ST),盘后选股

策略 id 27 · 最后选股 08-12 15:14
盘后选股 11 只

昨日烂板

当日出现过炸板(沪深主板/创业板/科创板、非 ST),盘后选股

策略 id 26 · 最后选股 08-12 15:14
盘后选股 86 只

近期烂板

近 5 个交易日出现过炸板(沪深主板/创业板/科创板、非 ST),盘后选股

策略 id 25 · 最后选股 08-12 15:14
盘后选股 55 只

最近多板

近 5 个交易日出现过几天几板(连板,非首板 up_count>=2,沪深主板/创业板/科创板、非 ST),盘后选股

策略 id 24 · 最后选股 08-12 15:14
盘中选股 6 只

今日创业板强趋势

  • 创业板,非 ST,自由流通市值大于 30 亿,不含可转债
  • 三十日线均线上移,股价在五日均线上,五日均线大于十日均线,十日均线大于二十日均线,二十日均线大于三十日均线,均线发散
  • 近 120 天涨停次数大于 0,10个交易日内出现过涨幅大于 5%,昨日没有涨停,15 日内阳线多于阴线
  • 按照涨跌幅排序
策略 id 6 · 最后选股 08-12 15:14
盘中选股 61 只

今日主板趋势

  • 沪深主板,非 ST,自由流通市值大于 30 亿,不含可转债
  • 三十日线均线上移,股价在五日均线上,五日均线大于十日均线,十日均线大于二十日均线,二十日均线大于三十日均线,均线发散
  • 近 120 天涨停次数大于 0,10个交易日内出现过涨幅大于 5%,昨日没有涨停,15 日内阳线多于阴线
  • 按照涨跌幅排序
策略 id 7 · 最后选股 08-12 15:14
盘中选股 11 只

今日创业科创趋势

  • 沪深主板、创业板、科创板,非 ST,自由流通市值大于 30 亿,不含可转债
  • 三十日线均线上移,股价在五日均线上,五日均线大于十日均线,十日均线大于二十日均线,二十日均线大于三十日均线,均线发散
  • 今日涨幅大于 0%,15 个交易日内出现过收盘涨幅大于 9%,昨日没有涨停,15 日内阳线多于阴线
  • 按照涨跌幅排序
策略 id 10 · 最后选股 08-12 15:14
盘中选股 84 只

近期百日新高

当前价或近 5 日内的收盘价创近 100 个交易日新高(沪深主板/创业板/科创板、非 ST),盘中选股

策略 id 22 · 最后选股 08-12 15:14
盘后选股 16 只

近期涨幅巨大

  • 沪深主板、创业板、科创板,非 ST
  • 取 3/5/10/15/30 日各自涨幅前五
策略 id 8 · 最后选股 08-12 15:14
盘中选股 23 只

近期成交额巨大

  • 沪深主板、创业板、科创板,非 ST
  • 入选条件一:近三个交易日每日的成交额前 15
  • 入选条件一:今日成交额前 15 的股票
策略 id 9 · 最后选股 08-12 15:14
盘中选股 5 只

近期大幅回撤

  • 沪深主板、创业板、科创板,非 ST
  • 入选条件一:昨日涨停 or 今日大涨 > 9% 的股票,今日最高点回撤超过 10% 的股票
  • 入选条件二:从今天往前数,至少连续 2 个交易日跌停
  • 入选条件三:近三天跌幅超过 18%
  • 排序:连续跌停天数越多越靠前,其次今日回撤越大越靠前
策略 id 21 · 最后选股 08-12 15:14
盘后选股 7 只

昨日大面

  • 沪深主板、创业板、科创板,非 ST
  • 涨跌幅小于 -7% 或者最高点涨幅到当前回撤大于 9%
策略 id 2 · 最后选股 08-12 15:14
盘中选股 7 只

今日大面

  • 沪深主板、创业板、科创板,非 ST
  • 涨跌幅小于 -7% 或者最高点涨幅到当前回撤大于 9%
策略 id 1 · 最后选股 08-12 15:14
盘中选股 2 只

今日强势但大幅回撤

昨日涨停或今日盘中最高涨幅 > 9% 且从今日最高点回撤 >= 10%(沪深主板/创业板/科创板、非 ST),盘中选股

策略 id 23 · 最后选股 08-12 15:14
盘后选股 2 只

昨日强势但大幅回撤

昨日涨停或今日盘中最高涨幅 > 9% 且从今日最高点回撤 >= 10%(沪深主板/创业板/科创板、非 ST),盘后选股

策略 id 29 · 最后选股 08-12 15:14

常见问题

柚子 AI Agent 项目包是什么?

面向 A 股学习与研究的 AI Agent 项目:内置行情查询、盯盘、复盘 SDK 与系统指令,下载即用,完全免费,仅供学习研究。

支持哪些 AI 工具?

支持 Claude Code、opencode、Codex 三种主流 AI CLI。解压后用任一工具打开项目目录即可对话使用,全程约 5 分钟。

能查询哪些行情数据?

实时行情、大盘指标、主力资金、涨跌停统计、热点板块与历史复盘数据,均来自公开网络抓取,可能有延迟或误差。

关掉终端还能继续盯盘吗?

能。执行 python watch_scheduler.py 启动常驻进程:交易日盘中每 5 分钟自动盯盘、每晚 21:00 自动复盘,关掉终端不影响。

项目包如何更新?

在项目目录执行 python tool.py update all 增量拉取最新;覆盖前自动备份到 backups/,data/ 与 .env 永不被覆盖。

数据能用于实盘决策吗?

不能。行情来自公开网络、可能有延迟或错误,所有内容仅供学习研究,不构成任何投资建议。