-
Notifications
You must be signed in to change notification settings - Fork 163
09_Tech_Architecture
youngcan edited this page May 25, 2026
·
5 revisions
WyckoffAgent 有两种运行模式:定时管线(自动跑,无人值守)和 交互 Agent(用户对话触发)。
每天自动执行的批处理流水线,由 scripts/daily_job.py 串联:
Step2(全市场筛选)→ Step2.5(信号确认)→ Step3(AI 研报)→ Step4(持仓决断)
- 入口:
core/funnel_pipeline.py - 核心引擎:
core/wyckoff_engine.py(纯计算,不做网络请求) - 五层筛选:L1 基础过滤 → L2 六通道强弱 → L3 板块共振 → L4 威科夫触发 → L5 退出信号
- 结果推送飞书
- L4 触发信号需经 1-3 天价格确认后才进入操作池
- 防止"假信号"直接触发买入
- 入口:
core/batch_report.py(daily_job 调用)/scripts/step3_batch_report.py(独立运行) - 将候选股的结构化特征切片喂给大模型
- 输出三阵营分类:逻辑破产 / 储备营地 / 起跳板
- RAG 防雷:命中负面新闻可一票否决
- 入口:
core/strategy.py(daily_job 调用)/scripts/step4_rebalancer.py(独立运行) - 读取账户状态
- 综合研报 + 持仓 + 风控,输出 EXIT/TRIM/HOLD/PROBE/ATTACK 指令
- 推送到 Telegram
| 任务 | 功能 |
|---|---|
| 盘前风控 | A50 + VIX 监测,四档预警 |
| 尾盘策略 | 规则打分 + LLM 复判,筛选尾盘买入 |
| 形态复盘重定价 | 同步收盘价,计算累计收益 |
| 回测网格 | 18 组参数并行回测 |
| 港股 / 美股漏斗 | 独立 universe + TickFlow 批量日线扫描 |
用户通过自然语言与系统对话,Agent 自主决定调用哪些工具。
- 入口:
cli/__main__.py - UI:
cli/tui.py(全屏终端界面) - Agent Loop:
cli/agent.py - Provider:
cli/providers/(OpenAI-compatible,支持多模型切换和 fallback) - 工具:10 个金融工具 + 4 个通用工具(执行命令、读写文件、抓取网页)
- 特有能力:后台任务、分层 Agent 记忆(L1 原子 / L2 场景 / L3 画像)、上下文压缩、Skills 扩展
- 前端:
web/apps/web/ - Agent:
web/apps/web/src/lib/chat-agent.ts - 运行时:Vercel AI SDK
generateText(maxSteps=10多轮工具调用) - 边缘代理:Cloudflare Pages Functions
- 工具:10 个金融工具(不含命令执行等本地工具)
- 入口:
streamlit_app.py - 运行时:Google ADK
- 保留历史入口、单股分析和数据导出能力
- 不再迭代新功能
定义在 agents/chat_tools.py,导出 10 个金融工具:
| 工具 | 能力 |
|---|---|
search_stock_by_name |
模糊搜索股票 |
analyze_stock |
单股诊断 / 行情查询 |
portfolio |
查看持仓 / 批量健康扫描 |
update_portfolio |
增删改持仓 |
get_market_overview |
大盘水温 |
screen_stocks |
五层漏斗筛选 |
generate_ai_report |
AI 研报 |
generate_strategy_decision |
持仓决策 |
query_history |
查历史推荐/信号/尾盘记录 |
run_backtest |
回测 |
CLI 栈额外提供:exec_command、read_file、write_file、web_fetch。
行情数据源 → Supabase 缓存 → 引擎计算 → 结果存储 → 推送通知
↗ A 股:tickflow → tushare → akshare → baostock → efinance(自动降级)
↗ 港股 / 美股:TickFlow + 本地 universe
- 优先读 Supabase 缓存
- 缺口只补拉缺失日期
- 补拉后回写缓存
- 行情缓存保留约 320 个交易日窗口
-
data/market_universes/*.json维护 A 股 / 港股 / 美股 / ETF 的代码、名称和搜索元数据
| 原则 | 体现 |
|---|---|
| 计算与 IO 分离 |
wyckoff_engine.py 不做任何网络请求,只接受 DataFrame |
| 容错降级 | 数据源链式降级、RAG 失败不阻断主流程、合规简报降级为模板 |
| 快照可复现 | 行情落盘为 snapshot,回测全程离线回放 |
| Loop 约束模型 | 即使模型不调用工具,loop guard 也会强制纠偏(详见第 11 篇) |
- Home
- 01_Product_Overview
- 02_Finance_Wyckoff_Method
- 03_Finance_Quantitative_Metrics
- 04_Finance_Sector_Rotation_Regime
- 05_Finance_Risk_Management
- 06_Backtest_Methodology
- 07_Backtest_Simple_vs_Compound
- 08_Research_Strategy_Decay
- 09_Tech_Architecture
- 10_Tech_LLM_RAG_Integration
- 12_Tech_Actions_Operations
- 13_Tech_Python_Engineering