← Back to skills
extension
Category: Data & AnalyticsNo API key required

缠论买卖点分析

输入股票名称或代码,输出单文件可交互缠论报告:K线+分型+笔+线段+中枢+MACD背驰+三类买卖点,附信号有效性校验与两因子方向判定。

personAuthor: user_08f5c242hubcommunity

缠论个股分析(chanlun-analysis)

输入一个股票名称或代码,产出一份单文件、零外部依赖的缠论买卖点 HTML 报告。

何时用

  • "用缠论分析一下腾讯 / 600519 / AAPL"
  • "帮我画中枢、找买卖点"
  • "这只股票现在有没有三买/三卖"
  • "做个带中枢和买卖点标注的K线图"

前置条件:行情连接器

数据来自 WorkBuddy 行情连接器(westock CLI)。先确认可用,不可用则安装:

export PATH="$HOME/.local/bin:$PATH"
westock --help >/dev/null 2>&1 && echo OK || \
  bash <westock-data技能目录>/scripts/setup.sh -y     # 官方源 + SHA256 校验,装到 ~/.local/bin

找不到 westock-data 技能目录时,用 search_and_install_skills 找 westock-data 并按其说明安装。

一条命令

python3 <本技能目录>/scripts/run_analysis.py 腾讯控股
python3 <本技能目录>/scripts/run_analysis.py 600519 --out ~/Desktop/moutai.html
python3 <本技能目录>/scripts/run_analysis.py hk00700 --periods day,week,m30
python3 <本技能目录>/scripts/run_analysis.py hk00700 --no-fetch   # 复用已有数据,只重算重绘

跑完后用 present_files 展示 HTML。整条链路 4~5 次连接器请求,默认间隔 25 秒,全程约 2 分钟——这是连接器频控(约每分钟 2~3 次)决定的,不要试图并发提速。

参数

| 参数 | 默认 | 说明 | |---|---|---| | query(位置参数) | 必填 | 名称或代码:腾讯控股/hk00700/HK.00700/00700.HK/600519/600519.SH/AAPL | | --periods | day,m30,m60 | 逗号分隔:day,week,month,m5,m15,m30,m60,m120 | | --out | <代码>-chanlun.html | 输出 HTML 路径 | | --workdir | ./.chanlun/<标的> | 中间数据目录(原始K线、笔、中枢) | | --interval | 25 | 连接器请求最小间隔秒 | | --no-fetch | 关 | 跳过取数,复用 workdir 已有数据 |

产出内容(HTML 报告)

  1. 结论卡:偏多/偏空/震荡 + 两因子得分(位置均分、信号净分),判定规则全部写在页面上;
  2. 级别信号矩阵:每个级别的最近中枢 [ZD, ZG]、现价位置、最近信号、有效性校验;
  3. 关键价位卡:各级别中枢上下沿、区间高低点、8% 固定止损位;
  4. 逐级别结构图:K线 + 笔(橙线)+ 中枢(蓝框)+ 买卖点(红▲绿▼,失效灰色),悬停十字光标显示 OHLC/量比/当日信号全文;
  5. 逐级别结构研判:每级别一段文字,全部由中枢与信号数据生成;
  6. 反证条件:什么价格出现时本判断作废——这是防过度自信的关键一节,不要删;
  7. 信号明细表:每级别最近 8 条信号与依据原文。

中间产物在 --workdir:<级别>.csv(连接器原始K线)→ -chuli.csv(包含处理+分型+笔)→ -xianduan.csv(+线段)→ -zhongshu.json(中枢+走势类型)。换数据源时只要 still 输出 <级别>.csv(表头 date,open,high,low,close,volume),下游全部不用改。

数据源的三个硬约束(必读)

  1. 分钟 K 只有最近约一周:连接器的 m30/m60 单次最多约 66/36 根,更早窗口返回"数据为空",无法回溯拼接。因此 30分钟/1小时级别的结构天然偏短,经常连笔端点都不足 3 个——脚本会自动降级为"仅笔级结构"并在报告里如实标注,不要为了好看而删掉这些标注。
  2. 频控很紧且会静默截断:超限返回"请求过于频繁",且可能不给报错只把条数截短(曾把 36 根截成 6 根)。取数层已内置「间隔 + 退避重试 + 条数体检」,若仍看到"仅 N 根"的告警,属数据源上限,不是 bug。
  3. 复权:A股自动前复权(qfq);港股/美股/指数连接器强制不复权,报告中无需处理。

级别选择建议

  • 默认 day,m30,m60:与主流水线口径一致,日线是主力(约 1264 根 ≈ 5 年),分钟级是近一周的结构快照;
  • 想要两个都有充足历史的级别:--periods day,week(周线同样可取 1300 根);
  • 级别展示顺序按大级别→小级别:月线 → 周线 → 日线 → 1小时 → 30分钟 → 15分钟 → 5分钟。

口径(勿改,详见 references/chan-rules.md)

  • 包含关系处理 → 分型 → 笔(成笔最少 5 根 K 线,相邻分型至少隔 1 根)→ 线段(特征序列+缺口分两种情况)→ 中枢(三笔重叠,ZG=min 高点、ZD=max 低点,延伸由笔末端是否越界判定);
  • 背驰用 MACD 面积比较;三类买卖点里**「准三买/准三卖」只是观测信号**,脚本用后续 K 线自动证伪(收盘跌回 ZG → 买点失效;收盘涨回 ZD → 卖点失效),证伪后再越界标"证伪后再破位";
  • 信号有效性校验结果直接决定信号在图表和判定里的权重,严禁人工跳过校验直接采信观测信号。

常见坑

  • [ ] 并发调用连接器 → 触发静默截断,拿到残缺K线还不报错;
  • [ ] 把"仅 N 根"告警当 bug 修 → 那是连接器分钟级上限,如实呈现;
  • [ ] 报告里写死个股名字/日期/价位 → 模板已全部参数化,正文叙述由数据生成,改代码时不要往模板里塞硬编码;
  • [ ] 忘记 present_files → 用户看不到产物;
  • [ ] 把观测信号(准三买/准三卖)当确认信号解读 → 页面里已标"待确认/已失效",转述时要带上状态。

文件清单

| 文件 | 作用 | |---|---| | scripts/run_analysis.py | 主入口:取数 → 结构 → 分析 → 渲染 | | scripts/fetch_kline.py | 连接器适配层(唯一与数据源耦合的地方) | | scripts/chan_bi.py | 包含处理 + 分型 + 笔 | | scripts/chan_xianduan.py | 线段(特征序列) | | scripts/chan_zhongshu.py | 中枢 + 走势类型分类 | | scripts/chan_analysis.py | MACD 背驰 + 三类买卖点 | | scripts/chan_utils.py | CSV/日期/JSON 工具 | | scripts/render_report.py | 单文件 HTML 渲染(SVG 服务端渲染 + 交互) | | references/chan-rules.md | 缠论口径与判定规则细节 | | references/data-source.md | 连接器用法、字段映射、限制与坑 |