Skip to main content

Wyckoff method quantitative analysis system for A-shares

Project description

Wyckoff Trading Agent

A 股威科夫量价分析智能体 — 你说人话,他读盘面

PyPI Python License Streamlit Homepage

English | 日本語 | Español | 한국어 | 架构文档


用自然语言和一位威科夫大师对话。他能调动 17 个工具,自主串联多步推理,给出"打还是不打"的结论。

Web + CLI + MCP 三通道,Gemini / Claude / OpenAI 多模型切换,GitHub Actions 定时全自动。

项目主页:youngcan-wang.github.io/wyckoff-homepage

功能一览

能力 说明
对话式 Agent 用自然语言触发诊断、筛选、研报,LLM 自主编排 17 个工具;还能读写文件、执行命令、抓取网页
五层漏斗筛选 全市场 ~4500 股 → ~30 候选,六通道 + 板块共振 + 微观狙击。基于历史量价结构发现潜力标的,不构成投资建议
AI 三阵营研报 逻辑破产 / 储备营地 / 起跳板,LLM 独立审判
持仓诊断 批量体检:均线结构、吸筹阶段、触发信号、止损状态
私人决断 综合持仓 + 候选,输出 EXIT/TRIM/HOLD/PROBE/ATTACK 指令,Telegram 推送
尾盘策略 盘中 13:50 执行,规则打分 + LLM 复判两阶段筛选尾盘买入标的
信号确认池 L4 触发信号经 1-3 天价格确认后才可操作
推荐跟踪 历史推荐自动同步收盘价、计算累计收益
日线回测 回放漏斗命中后 N 日收益,输出胜率/Sharpe/最大回撤
盘前风控 A50 + VIX 监测,四档预警推送
本地可视化面板 wyckoff dashboard — 推荐、信号、持仓、Agent 记忆、对话日志,暗色/亮色主题,中英双语
Agent 记忆 跨会话记忆:自动提取对话结论,下次提问时注入相关上下文
通用 Agent 能力 执行命令、读写文件、抓取网页 — 发一个 CSV 路径即可分析,不只是股票工具
MCP Server 14 个工具通过 MCP 协议对外暴露,Claude Code / Cursor / 任何 MCP Client 即插即用
多通道推送 飞书 / 企微 / 钉钉 / Telegram

数据源

个股日线自动降级:

tickflow → tushare → akshare → baostock → efinance

任一源不可用时自动切换,无需干预。

推荐接入 TickFlow(高频/分时/实时能力更强)
注册链接:TickFlow注册链接

快速开始

一键安装(推荐)

curl -fsSL https://raw.githubusercontent.com/YoungCan-Wang/Wyckoff-Analysis/main/install.sh | bash

自动检测 Python、安装 uv、创建隔离环境,装完直接 wyckoff 启动。

Homebrew

brew tap YoungCan-Wang/wyckoff
brew install wyckoff

pip

uv venv && source .venv/bin/activate
uv pip install youngcan-wyckoff-analysis
wyckoff

启动后:

  • /model — 选择模型(Gemini / Claude / OpenAI),输入 API Key
  • /login — 登录账号,打通云端持仓
  • 直接输入问题开始对话
> 帮我看看 000001 和 600519 哪个更值得买
> 审判我的持仓
> 大盘现在什么水温

升级:wyckoff update

CLI 效果

启动界面 持仓查询
诊断报告 操作指令

本地可视化面板

wyckoff dashboard

一条命令启动本地 HTTP 面板(默认端口 8765),自动打开浏览器。全部数据存储在本地 SQLite,无需联网,安全可信。

功能页面:AI 推荐、信号池、持仓、Agent 记忆、配置、对话日志、Agent 日志、同步状态。支持暗色/亮色主题切换,中英双语。

数据总览 对话日志

Web

git clone https://github.com/YoungCan-Wang/Wyckoff-Analysis.git
cd Wyckoff-Analysis
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
streamlit run streamlit_app.py

在线体验:wyckoff-analysis-youngcanphoenix.streamlit.app

读盘室 数据导出

17 个工具

Agent 的武器库 — 13 个量价工具 + 4 个通用能力:

工具 能力
search_stock_by_name 名称 / 代码 / 拼音模糊搜索
diagnose_stock 单股 Wyckoff 结构化诊断
get_portfolio 查看持仓列表 + 可用资金
diagnose_portfolio 批量持仓健康扫描
update_portfolio 新增 / 修改 / 删除持仓、设置可用资金
get_stock_price 近期 OHLCV 行情
get_market_overview 大盘水温概览
screen_stocks 五层漏斗全市场筛选(⚡后台)
generate_ai_report 三阵营 AI 深度研报(⚡后台)
generate_strategy_decision 持仓去留 + 新标买入决策(⚡后台)
get_recommendation_tracking 历史推荐及后续表现
get_signal_pending 信号确认池查询
check_background_tasks 后台任务进度查询
exec_command 执行本地 shell 命令
read_file 读取本地文件(CSV/Excel 自动解析)
write_file 写入文件(导出报告/数据)
web_fetch 抓取网页内容(财经新闻/公告)

工具调用顺序和次数由 LLM 实时决策,无需预编排。发一个 CSV 路径他就能读;说"帮我装个包"他就能执行。

五层漏斗

名称 做什么
L1 剥离垃圾 剔除 ST / 北交所 / 科创板,市值 ≥ 35 亿,日均成交 ≥ 5000 万
L2 六通道甄选 主升 / 点火 / 潜伏 / 吸筹 / 地量 / 护盘
L3 板块共振 行业 Top-N 分布筛选
L4 微观狙击 Spring / LPS / SOS / EVR 四大触发信号
L5 AI 审判 LLM 三阵营分类:逻辑破产 / 储备 / 起跳板

每日自动化

仓库内置 GitHub Actions 定时任务:

任务 时间(北京) 说明
漏斗筛选 + AI 研报 + 私人决断 周日-周四 18:25 全自动,结果推送飞书/Telegram
尾盘策略 周一-周五 13:50 规则打分 + LLM 复判,筛选尾盘买入
盘前风控 周一-周五 08:20 A50 + VIX 预警
涨停复盘 周一-周五 19:25 当日涨幅 ≥ 8% 复盘
推荐跟踪重定价 周日-周四 23:00 同步收盘价
回测网格 每月 1/15 日 04:00 18 并行参数格 → 聚合通知
缓存维护 每天 23:05 清理过期行情缓存

模型支持

CLI:Gemini / Claude / OpenAI,/model 一键切换,支持任意 OpenAI 兼容端点。

Web / Pipeline:Gemini / OpenAI / DeepSeek / Qwen / Kimi / 智谱 / 火山引擎 / Minimax,共 8 家。

配置

复制 .env.example.env,最少配置:

变量 说明
SUPABASE_URL / SUPABASE_KEY 登录与云端同步
GEMINI_API_KEY(或其他厂商 Key) LLM 驱动

可选配置:TICKFLOW_API_KEY(TickFlow 实时/分时数据,日线主链路优先)、TUSHARE_TOKEN(高级数据次优先回退)、FEISHU_WEBHOOK_URL(飞书推送)、TG_BOT_TOKEN + TG_CHAT_ID(Telegram 私人推送)。

Tushare 注册推荐:此链接注册,双方可提升数据权益。

完整配置项和 GitHub Actions Secrets 说明见 架构文档

MCP Server

将 Wyckoff 分析能力通过 MCP 协议 对外暴露,让 Claude Code / Cursor / 任何 MCP Client 直接调用诊股、筛选、回测等 14 个工具。

# 安装 MCP 依赖
uv pip install youngcan-wyckoff-analysis[mcp]

# 注册到 Claude Code
claude mcp add wyckoff -- wyckoff-mcp

或在 MCP Client 配置文件中手动添加:

{
  "mcpServers": {
    "wyckoff": {
      "command": "wyckoff-mcp",
      "env": {
        "TUSHARE_TOKEN": "your_token",
        "TICKFLOW_API_KEY": "your_key"
      }
    }
  }
}

注册后在 Claude Code / Cursor 中直接问"帮我诊断 000001"即可调用 Wyckoff 工具。

Wyckoff Skills

轻量复用威科夫分析能力:YoungCan-Wang/wyckoff_skill

适合给 AI 助手快速挂载一套"威科夫视角"。

交流

飞书群 飞书个人

赞助

觉得有帮助?给个 Star。赚到钱了?请作者吃个汉堡。

支付宝 微信

风险提示

本工具基于历史量价结构发现潜力标的,过去表现不代表未来收益,所有筛选、推荐、回测结果均不构成任何投资建议。投资有风险,决策需自主。

License

AGPL-3.0 © 2024-2026 youngcan


Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youngcan_wyckoff_analysis-0.4.0.tar.gz (386.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youngcan_wyckoff_analysis-0.4.0-py3-none-any.whl (413.9 kB view details)

Uploaded Python 3

File details

Details for the file youngcan_wyckoff_analysis-0.4.0.tar.gz.

File metadata

  • Download URL: youngcan_wyckoff_analysis-0.4.0.tar.gz
  • Upload date:
  • Size: 386.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for youngcan_wyckoff_analysis-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c5857480db0fac3caac6e64263c43ec5ce9fa33dd955c8ca7bceb63f7c561436
MD5 2acf4c86c22900232dad71c650b2c10b
BLAKE2b-256 ae46e5cacfe20d4268196731b1139d736f5b4fc61239438de451eed37cf2b456

See more details on using hashes here.

File details

Details for the file youngcan_wyckoff_analysis-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: youngcan_wyckoff_analysis-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 413.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for youngcan_wyckoff_analysis-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 916f97ee2af83b8d8fdb0c70e98abc30bf37e8545ab88f334490f23ae852570f
MD5 85c0792ebfe75bdac2057885d59e8a72
BLAKE2b-256 b49037bf8e5d576bade744f6670c5a7677b4d5236f1eda34b153cd90e2ad1d0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page