找回密码
 立即注册
首页 业界区 安全 我用缠论 + AI,做了一个 A 股智能分析系统 ...

我用缠论 + AI,做了一个 A 股智能分析系统

人弧 昨天 22:09
01 为什么做这个东西

2010 年前后,"缠中说禅"博客在网络上流传的时候,很多人把它当成玄学。但真正研究过的人会发现,缠论是一套逻辑极其严密的技术分析体系——它有明确的数学结构(分型→笔→线段→中枢),有清晰的趋势定义(上涨/下跌/盘整),有量化的买卖点(一买、二买、三买,一卖、二卖、三卖)。
问题在于,缠论太难人工执行了
一笔的判断需要看几十根 K 线,一个中枢的确认可能要跟踪上百根 K 线。更别说还要叠加 MACD 背驰判断、多级别共振分析……手工做下来,分析一支股票要两三个小时,普通人根本用不来。
所以我想:能不能用代码把缠论完全程序化?
ChanStock 就是这个想法的产物——一个基于缠论的智能股票分析系统,核心算法完全自主实现,叠加 AI 大模型辅助判断,目标是让缠论分析从"专家专属"变成"人人可用"。
02 缠论核心:程序化识别分型、笔、线段、中枢

缠论最底层的结构单元是分型——顶分型和底分型。
顶分型:相邻三根 K 线,中间那根高点最高、低点也最高,形态像"∧" 底分型:相邻三根 K 线,中间那根低点最低、高点也最低,形态像"∨"
系统以严格的三笔窗口扫描 K 线序列,识别出所有顶底分型。
包含关系是缠论里最容易被忽视的细节:两根相邻 K 线如果存在"你在我里面"的包含关系,需要先合并再判断分型。合并方向由两根线的相对位置决定——如果前一根完全在后一根下方(prev.high ≤ cur.low),说明向上走势,取高高(合并高低点取高);反之则取低低。
  1. 顶分型 + 中继分型 + 底分型 + … + 底分型 = 一笔(向上)顶分型 + 中继分型 + 顶分型 + … + 顶分型 = 一笔(向下)
复制代码
每一笔代表一个次级别的涨跌走势。系统默认要求至少 5 根 K 线才能构成一笔,过滤掉噪音杂波。
笔的组合升级为线段(≥3 笔重叠构成)。重叠的意思是:若干笔的价格区间有交集——这意味着多空双方在这里反复拉锯,形成了一个"战场",也就是中枢
中枢是连续 3 个同级别线段重叠的价格区域,是缠论所有买卖点的核心参照系。中枢一旦形成,上沿是最强阻力,下沿是最强支撑,所有买卖点都围绕它展开。
03 买卖点:量化判定的六个关键信号

这是整个系统最有价值的部分——把缠论中模糊的"一买""二买"变成可量化的信号。
买点体系:
信号
触发条件
一买
下跌趋势背驰:连续两个向下段,后一段力度 < 前一段力度×0.8,且价格创阶段新低
二买
一买后回调的低点,回调低点不跌破一买点(止损设在一买点下方3%以内)
三买
某中枢被向上笔确认突破后,回踩低点不跌入该中枢上沿
卖点体系逻辑完全对称:
信号
触发条件
一卖
上涨趋势背驰:连续两个向上段,后一段力度 < 前一段力度×0.8,且价格创阶段新高
二卖
一卖后反弹的高点,反弹高点不超过一卖点(止损设在一卖点上方3%以内)
三卖
某中枢被向下笔确认跌破后,反弹高点不突破该中枢下沿
关于"三买"和"三卖"的一个常见误解:不是任何向上/下笔"碰"到中枢就算三买,而是必须等确认突破(该笔终点在枢终点之后),回踩/回抽不破才成立。
每一笔信号附带置信度评分:基础值来自信号自身质量,背驰加持 +15%,多中枢衰减 ×0.85,趋势共振 +10%。
04 AI 加持:从"看图"到"读懂市场"

缠论分析本身是纯规则的、机械的。但真实市场远比规则复杂——盘整多久算突破?力度衰竭多少算背驰?这些都是经验判断。
我们给系统叠加了两层 AI:
第一层:背驰检测
通过 MACD 面积比较来判断力度是否衰竭。比较相邻同向段:若价格创新低但 MACD 绿柱面积没有创新低(反而缩小),就是底背驰;若价格创新高但 MACD 红柱面积没有跟上,就是顶背驰。背驰是缠论里最重要的预警信号。
第二层:LLM 自然语言分析
接入 DeepSeek 和 Gemini 大模型,根据缠论结构、市场趋势、买卖点信号,输出自然语言的投资建议,包括:方向判断(买入/观望/卖出)、置信度、止损位、止盈位、建议持仓周期,以及一段"市场语言"描述当前走势。
  1. 示例输出:"当前处于下跌趋势末段,价格已创阶段新低但 MACD 绿柱面积明显萎缩,底背驰概率约 75%。日线出现一买信号,置信度 82%。建议关注 12.30 元附近入场,止损 11.93 元(-3%),止盈目标 12.92 元(+5%),建议持仓 1-4 周。"
复制代码
多级别共振:同时分析日线和 30 分钟线,当两个周期趋势方向一致时,信号置信度大幅提升。
05 系统架构:Vue 3 前端 + FastAPI 后端

前端用 Vue 3 + TypeScript,主图基于 ECharts 渲染 K 线,副图叠加成交量、MACD、RSI、SKDJ。缠论的笔、线段、中枢以叠加层(overlay)的形式渲染在 K 线图上,颜色语义清晰(红涨绿跌、紫轴中性)。
缠论元素可以按类型开关——只看中枢不看笔,或只看买卖点不看均线,实时切换无需重新加载数据。
后端用 FastAPI 做 REST API 层,缠论引擎完全自主实现(Pandas + NumPy 计算),数据源来自 AKShare(东方财富 + 新浪财经)。
整体架构
  1. 浏览器(Vue 3 + ECharts)        ↓ axios /apiFastAPI 后端        ├── 缠论引擎(分型→笔→线段→中枢→信号)        ├── 策略引擎(置信度 + 止损止盈)        ├── AI 层(DeepSeek / Gemini LLM)        └── AKShare(东方财富 / 新浪 / 腾讯数据)
复制代码
06 界面预览:三个核心页面

首页
顶部搜索框支持代码和名称模糊匹配。主体是两个数据区:左侧热门股票排行(实时涨跌幅),右侧当日热门板块网格(点击可展开成分股)。
个股分析页(核心页面)
三栏布局:

  • 左栏:股票基本信息 + 级别切换(日/周/月/1分/5分/15分/30分/60分)+ 走势判断 badge + 买卖点列表
  • 中栏:K 线主图 + 副图(MACD/RSI/SKDJ 可开关)+ 缠论叠加层
  • 右栏:AI 策略卡片(方向/置信度/风险评级/止损止盈)+ 背驰信息 + 模型切换
 
1.png

 
自选股页
添加/删除股票,表格展示实时行情,点击行跳转个股分析页,数据持久化存储在本地 JSON 文件中。
2.png

 
3.png

 
 
07 实操指南:10 分钟跑起来

第一步:克隆项目
  1. git clone cd stock-chanlun
复制代码
第二步:安装后端
  1. cd backendpython -m venv .venv.venv\Scripts\activate   # Windows# source .venv/bin/activate  # macOS/Linuxpip install -r requirements.txt
复制代码
第三步:启动服务
  1. # 推荐方式(自动处理网络代理兼容问题)python run_server.py# 访问后端:http://localhost:8000# API 文档:http://localhost:8000/docs
复制代码
第四步:启动前端
  1. cd frontendnpm installnpm run dev# 访问:http://localhost:5173
复制代码
可选:配置 AI Key
在 backend/.env 中添加 API Key,可以开启 LLM 自然语言分析功能(DeepSeek 或 Gemini 均可,二选一)。不配置则纯规则模式运行,缠论分析和买卖点判定完全正常工作。
08 技术亮点:踩过的那些坑

做这个项目过程中,有几个技术细节值得单独说说。
K 线列名标准化
AKShare 返回的 K 线 DataFrame 列名有时是英文(open/close/high/low),有时是中文(开盘价/收盘价),不同接口还不一样。缠论引擎先做一次列名标准化,保证后续计算逻辑完全统一。
包含关系处理的 O(n) 优化
经典的包含关系处理需要多轮迭代,代码写不好容易 O(n²)。我们的实现用单次遍历 + 状态机,复杂度降到 O(n),处理 5000 根 K 线也不在话下。关键是用两根 K 线的相对位置(而非单根自身阴阳)来决定合并方向。
分型检测窗口
有些实现取前后各 3~5 根 K 线来判断分型,容易把中间无关的 K 线干扰进来。正确做法是只用前后各 1 根——共 3 根,严格对应缠论"顶底分型"的原始定义。
三买/三卖的"确认突破"
最容易出错的地方:不是任何向上笔"碰"到中枢上沿就算三买,而是要等该笔确认突破——即这根笔的终点发生在中枢终点之后,然后回踩不破才算成立。系统通过比对笔的起止时间来严格判断。
Windows 代理环境下的 SSL 超时问题
在开启了系统代理(***/Shadowrocket 等)的 Windows 机器上,请求 eastmoney 的 push2 接口会 SSL 握手超时。解决方式是在 requests 库的最底层(HTTPAdapter.send)统一拦截,对 eastmoney 等金融域名强制禁用代理 + skip SSL 校验。
09 适合谁用,怎么用

缠论学习者:用系统来验证自己的判断。画了一堆笔和线段,不确定对不对?跑一遍系统,对比结果,哪里判断不一致就学哪里。
技术分析爱好者:MA、MACD、RSI 看多了,想找一套更有结构性的分析框架。缠论提供了从分型到中枢的完整体系,系统把所有元素可视化,看盘效率大幅提升。
量化研究者:系统提供 REST API,可以拉取缠论结构数据(买卖点、笔、线段、中枢坐标)做二次策略开发,接口文档在 /docs 里。
10 免责声明

本系统仅供技术研究与学习使用,不构成任何投资建议。
缠论是一种技术分析方法,不是预测工具。程序化识别存在误判可能,市场走势受多种因素影响,任何单一技术指标或理论都不能保证盈利。
股票投资有风险,入市需谨慎。
附:快速索引


  • 项目地址:[GitHub 链接]
  • 在线演示:[演示地址]
  • API 文档:后端运行后访问 /docs
  • 缠论入门推荐阅读:《教你炒股票》系列(缠中说禅新浪博客)
如果你觉得这个项目有意思,欢迎点个 Star,也欢迎提 Issue 和 PR 一起完善。缠论是一个开放的技术体系,期待更多人参与进来,把这套分析方法真正地用起来。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册