Trading System 代码结构说明

这个仓库当前更像一个“交易方法论档案室 + 板块策略研究产线 + 板块知识库维护系统”,不是自动下单系统。核心代码集中在 K 线工具、板块策略分析、知识库更新和数据源封装四块。

总体定位

方法论层

保存交易理念、选股流程、买卖框架、纪律红线、案例和强势股趋势研究。

00-philosophy · 01-cases · 02-case-study-strong-trending

策略产线层

按市场环境和板块强度生成每日 L1/L2 报告、总结和图表。

05-sector-analysis

知识库与数据层

维护板块画像、个股候选池、催化时间线,并统一封装外部数据源和 LLM 调用。

07-sector-kb · 08-stockdataresource · 09-llmresource

目录结构

trading-system/
├── 00-philosophy/              交易理念、边界、方法论文档
├── 01-cases/                   交易案例记录
├── 02-case-study-strong-trending/   强势股趋势研究与模式沉淀
├── watchlist/                  观察池
├── scripts/                    通用工具,尤其是 K 线 CLI
├── 05-sector-analysis/              策略产线,目前核心是 sector-analysis
├── 06-data/                    K 线等本地缓存
├── 07-sector-kb/               板块知识库与维护脚本
├── 08-stockdataresource/       A 股数据源统一封装
├── 09-llmresource/             LLM 公共调用层
├── config.yaml                 全局配置
└── README.md                   项目说明

README 中有些描述已经落后于当前源码。实际核心请以 05-sector-analysis07-sector-kb/scripts08-stockdataresource09-llmresource 为准。

核心入口

入口 文件 职责
K 线命令行 scripts/k.py 查询日/周/月 K、分钟 K、分时、实时快照、基础信息。
K 线核心库 scripts/lib/kline.py 封装 AKShare、代码归一化、pickle 缓存、K 线统计。
板块策略主流程 05-sector-analysis/pipeline.py 交易日判断,调度 L1、L2、总结图表和可选 brief。
每日知识库更新 07-sector-kb/scripts/event_update.py / 07-sector-kb/scripts/daily_update.py 事件驱动更新 KB;每日榜单链路保留市场反馈,并统一刷新 今日消息.md 和 KB 索引。
按需知识库更新 07-sector-kb/scripts/kb_update.py 根据输入消息匹配或新建板块,更新 profile 和 stocks。
数据源封装 08-stockdataresource/ 统一封装腾讯、东财、同花顺、新浪、巨潮、百度、搜索等数据源。
LLM 调用层 09-llmresource/llm_client 统一封装 Hermes LLM 调用、硬超时、旧 prompt 入口和 JSON 提取。

板块策略产线

05-sector-analysis/pipeline.py 是主入口。它先判断交易日和前一交易日,再跑市场层和板块层,最后生成报告。

L1 市场层

判断“今天能不能做”,使用成交额、指数一致性、涨跌家数、涨停/跌停/炸板、连板高度、晋级率等指标,加权后再应用硬红线。

L2 板块层

判断“做哪个板块”,按进攻性、持续性、风险性三个维度打分,输出 Top 5 板块。

进攻性

持续性

风险性

板块知识库

07-sector-kb 是长期沉淀板块认知的模块。实际板块数据集中在 07-sector-kb/sector-kb-data/<板块名>/

07-sector-kb/sector-kb-data/<板块名>/
├── profile.md       板块画像:核心逻辑、催化、产业链、市场特征
├── timeline.md      入榜/更新流水
├── stocks.md        个股候选池
└── trend_90d.png    板块趋势图
脚本 职责
event_update.py 事件驱动 KB 入口,从输入/URL/自动新闻/市场异动候选出发,核验后写入 profile、stocks 和 HTML。
daily_update.py 每日拉新浪行业/概念榜,LLM 去重收敛,作为市场反馈和旧版看板补充,统一写入“今日消息”。
kb_update.py 按用户输入的一条消息或催化,匹配已有板块或新建板块,并更新 KB。
kb.py 建/更新目录三件套、重建 README、从 L2 报告 ingest。
fetch.py 搜索产业链、美股映射、催化信息。
stocks.py 生成或刷新 stocks.md
chart.py 生成板块 90 日趋势图。
core/schema.py 定义并解析 profile.md / stocks.md 的结构。

数据源封装

08-stockdataresource 是外部数据源和共享日 K 数据层,供知识库和策略脚本复用。源码分两类:datasources/ 放外部数据源真实实现,daily_kline_data/ 放 01/02 共用的日 K SQLite 能力。

模块 数据源 主要能力
datasources/helpers.py 公共基础设施 东财限流网关、代码归一化、名称转代码。
datasources/tencent.py 腾讯财经 批量实时报价。
datasources/eastmoney.py 东方财富 研报、资金流、板块列表、成分股、公告、基本面。
datasources/ths.py 同花顺 板块字典、成分股、行业 K 线、热点归因。
datasources/sina.py 新浪财经 行业/概念排名、日 K、财报兜底。
datasources/cninfo.py 巨潮资讯 互动易问答、公司资料、公告。
datasources/baidu.py 百度股市通 概念板块、K 线。
datasources/web_search.py DuckDuckGo 搜索与正文抽取。

主数据流

外部数据源
  ├── AKShare
  ├── 东方财富 / 同花顺 / 新浪 / 腾讯 / 巨潮 / 百度 / DuckDuckGo
  ↓
08-stockdataresource         scripts/lib/kline.py
  ↓                         ↓
07-sector-kb/scripts         06-data/kline 缓存
  ↓
sector-kb-data/<板块>/profile.md / timeline.md / stocks.md

05-sector-analysis/pipeline.py
  ├── L1 市场情绪
  ├── L2 板块评分
  ├── L2 总结 + 图表
  └── 可选 L2 brief
  ↓
reports/YYYY-MM-DD/

常用命令

K 线工具

cd /home/flowflow/.hermes/trading-system
python scripts/k.py 600519
python scripts/k.py 600519 -p weekly -d 100
python scripts/k.py 600519 --realtime
python scripts/k.py 600519 --info

板块策略

cd /home/flowflow/.hermes/trading-system/05-sector-analysis
python pipeline.py
python pipeline.py --date 2026-06-05
python pipeline.py --layer l1
python pipeline.py --layer l2
python pipeline.py --layer l2 --with-brief

板块知识库

cd /home/flowflow/.hermes/trading-system/07-sector-kb
python -m scripts.daily_update
python -m scripts.daily_update --dry
python -m scripts.kb_update --input "某条板块催化消息"
python -m scripts.kb readme
python -m scripts.chart --all

数据源冒烟测试

cd /home/flowflow/.hermes/trading-system/08-stockdataresource
python tests/smoke_test.py

注意事项