从笔到中枢:chan.py形态学分析全攻略

【免费下载链接】chan.py 开放式的缠论python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接; 【免费下载链接】chan.py 项目地址: https://gitcode.com/gh_mirrors/ch/chan.py

chan.py是一个开放式的缠论python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接。本文将为您详细介绍如何使用chan.py进行从笔到中枢的形态学分析。

缠论形态学基础:从笔开始

缠论分析的第一步是识别"笔"。在chan.py中,笔是K线图上的基本构成单元,由一系列连续的K线组成,具有明确的上涨或下跌方向。框架通过bi_list管理所有笔,每个笔由CBi类表示,包含方向、起止K线、是否确定等关键属性。

笔的核心特征

  • 方向属性:通过dir成员表示,分为上升笔和下降笔
  • 确定状态is_sure标记笔是否已经确定(不会再被后续K线改变)
  • K线组成klc_lst存储该笔包含的所有合并K线
  • 线段归属parent_seg指示笔所属的线段
# 笔的关键属性示例
class CBi:
    idx: int               # 笔序号
    dir: BI_DIR            # 方向(上升/下降)
    is_sure: bool          # 是否确定
    klc_lst: List[CKLine]  # 组成笔的合并K线
    parent_seg: CSeg       # 所属线段

笔的计算配置

CChanConfig中可以调整笔的计算参数,主要包括:

  • bi_strict:是否使用严格笔(默认为True)
  • bi_fx_check:检查笔顶底分形是否成立的方法
  • bi_end_is_peak:笔的尾部是否是整笔中最低/最高(默认为True)

这些参数可以通过修改配置文件ChanConfig.py进行调整,以适应不同的分析需求。

线段构建:笔的有序组合

线段是由一系列方向交替的笔组成的更大级别走势单元。chan.py通过CSegListComm类管理线段,每个线段由CSeg类表示,包含起始笔、终止笔、方向、内部中枢列表等属性。

线段的特征序列分析

框架默认采用特征序列方法划分线段,主要原理是:

  • 上升线段中的下降笔作为特征序列
  • 下降线段中的上升笔作为特征序列
  • 对特征序列进行合并后寻找顶底分型
# 线段的关键属性示例
class CSeg:
    start_bi: CBi          # 起始笔
    end_bi: CBi            # 终止笔
    is_sure: bool          # 是否确定
    dir: BI_DIR            # 方向
    zs_lst: List[CZS]      # 线段内中枢列表
    bi_list: List[CBi]     # 线段内笔列表

虚线段的处理

线段确定具有滞后性,框架会生成"虚线段"(is_sure=False)来表示当前推断的线段,在画图时以虚线显示。虚线段可能出现在线段的开头和结尾,随着新K线的加入可能会发生变化。

缠论线段与趋势线分析 缠论趋势线分析图,展示了线段与趋势线的关系,绿色虚线和红色实线分别代表不同级别的趋势线

中枢识别:走势的核心结构

中枢是缠论分析的核心概念,代表市场的平衡区域。chan.py通过CZSList类管理中枢,每个中枢由CZS类表示,包含起止K线、内部笔列表、进/出中枢笔等关键信息。

中枢的构成要素

  • 笔列表bi_lst存储中枢内的所有笔
  • 边界定义lowhigh确定中枢的高低区间
  • 进出笔bi_in(进中枢笔)和bi_out(出中枢笔)
  • 子中枢sub_zs_lst存储可能的子中枢
# 中枢的关键属性示例
class CZS:
    begin_bi/end_bi: CBi   # 中枢内部的第一笔/最后一笔
    bi_in: CBi             # 进中枢的笔(在中枢外面)
    bi_out: CBi            # 出中枢的笔(在中枢外面)
    low/high: float        # 中枢的高低点
    bi_lst: List[CBi]      # 中枢内笔列表

中枢的算法配置

中枢计算可以通过zs_algo参数配置不同的算法,主要影响中枢是否允许跨段合并。此外,min_zs_cnt参数控制1类买卖点至少要经历的中枢数量(默认为1)。

中枢区间套分析 中枢区间套分析图,展示了日线和30分钟线两个级别的中枢结构与走势关系

买卖点识别:形态学信号捕捉

chan.py能够自动识别三类买卖点,通过CBSPointList类管理,每个买卖点由CBS_Point类表示,包含所属笔、所在K线、类型等信息。

买卖点的类型与特征

  • 1类买卖点:趋势末端的背驰点,与中枢离开笔和进入笔的MACD对比相关
  • 2类买卖点:中枢形成后的回抽点,受max_bs2_rate参数控制(默认为0.618)
  • 3类买卖点:中枢破坏后的回抽点,与中枢高低点突破相关

买卖点识别示意图 缠论买卖点识别示意图,图中实线表示确定的买卖点(bsp),虚线表示潜在的买卖点(cbsp)

背驰判断参数

divergence_rate参数控制1类买卖点的背驰比例(默认为0.9),表示离开中枢的笔的MACD指标相对于进入中枢的笔的比例阈值。

实战应用:快速上手指南

基本使用流程

  1. 安装依赖:确保Python版本≥3.11,安装requirements.txt中的依赖
  2. 获取代码git clone https://gitcode.com/gh_mirrors/ch/chan.py
  3. 运行示例python3 main.py体验基础功能
  4. 配置调整:修改ChanConfig.py调整分析参数
  5. 策略开发:参考Debug/strategy_demo.py实现自定义策略

关键配置项

CChanConfig中重点关注以下配置:

  • bi_strict:是否使用严格笔
  • zs_algo:中枢算法选择
  • divergence_rate:背驰比例阈值
  • min_zs_cnt:最小中枢数量

可视化分析

框架提供强大的可视化功能,可通过plot_config控制显示内容,包括K线、笔、线段、中枢、买卖点、MACD等指标。默认使用matplotlib绘图,也可通过PlotMeta类对接其他绘图引擎。

总结与进阶

chan.py为缠论形态学分析提供了完整的计算框架,从笔到线段再到中枢,层层递进地解析市场走势。通过调整配置参数,用户可以适应不同的分析需求和交易风格。

进阶学习建议:

  • 研究quick_guide.md了解更多高级功能
  • 探索多级别联立分析,利用区间套策略提高精度
  • 结合动力学指标(MACD、RSI等)提升分析深度
  • 参考机器学习分支,探索AI辅助决策的可能性

无论是缠论新手还是有经验的交易者,chan.py都能为您提供强大的技术分析支持,帮助您更客观、高效地理解市场结构。

【免费下载链接】chan.py 开放式的缠论python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接; 【免费下载链接】chan.py 项目地址: https://gitcode.com/gh_mirrors/ch/chan.py

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐