Chanlun-pro深度解析:理解缠论数据对象与核心计算方法
【免费下载链接】chanlun-pro基于缠中说禅所讲缠论理论,以便量化分析市场行情的工具项目地址: https://gitcode.com/gh_mirrors/ch/chanlun-pro
Chanlun-pro是一款基于缠中说禅理论开发的量化分析工具,专为市场行情分析设计。本文将深入解析缠论数据对象的结构和核心计算方法,帮助新手和普通用户快速掌握这一强大工具的使用。
缠论数据对象体系
缠论分析的核心在于将市场价格波动抽象为标准化的数据对象,这些对象构成了完整的分析体系。
基础数据对象
K线对象(Kline)是所有分析的基础,包含时间(date)、开盘价(o)、最高价(h)、最低价(l)、收盘价(c)和成交量(a)等核心属性。在Chanlun-pro中,K线数据经过处理后形成缠论K线对象(CLKline),增加了包含关系处理、成交量合并等功能,为后续分析提供更可靠的数据基础。
分型对象(FX)是识别价格转折点的关键,分为顶分型(ding)和底分型(di)两种类型。每个分型由三个连续K线组成,通过ld()方法可计算其力度值,数值越大表示转折力度越强。
核心分析对象
笔对象(BI)由两个方向相反的分型构成,分为向上笔(up)和向下笔(down)。笔对象包含最高值(high)、最低值(low)等属性,以及买卖点(mmds)和背驰(bcs)等分析结果。通过is_done()方法可判断笔是否完成,get_mmds()方法可获取笔内的买卖点信息。
线段对象(XD)由多笔构成,是比笔更高一级别的走势单元。线段同样具有方向属性,包含起始和结束分型,以及买卖点和背驰分析结果。is_qk()方法可判断线段结束时是否存在缺口,这对后续走势判断具有重要意义。
高级分析对象
中枢对象(ZS)是缠论分析的核心概念,代表价格的震荡区间。中枢对象包含高点(zg)、低点(zd)、高高点(gg)、低低点(dd)等属性,以及组成中枢的线列表(lines)。通过zf()方法可计算中枢振幅,反映价格波动的剧烈程度。
买卖点对象(MMD)和背驰对象(BC)是缠论分析的最终产物。买卖点包括1买(1buy)、2买(2buy)、3买(3buy)等类型,背驰则分为笔背驰(bi)、线段背驰(xd)、趋势背驰(qs)等类型。这些对象直接指导实际交易决策。
核心计算方法解析
Chanlun-pro的强大之处在于其高效准确的缠论计算引擎,能够自动完成从原始K线到买卖点的全流程分析。
数据处理流程
缠论计算的起点是原始K线数据,通过process_klines()方法(src/chanlun/cl_interface.py)进行处理。该方法支持增量计算,可重复调用以更新最新数据。处理过程包括:
- K线包含关系处理,生成CLKline对象
- 分型识别,基于价格高低点和K线形态
- 笔的划分,连接方向相反的分型
- 线段划分,基于笔的特征序列
- 中枢识别,寻找重叠的走势单元
- 背驰判断,比较走势力度
- 买卖点生成,基于中枢和背驰关系
中枢与背驰计算
中枢计算是缠论分析的核心,通过create_dn_zs()方法实现。该方法根据给定的线列表(笔或线段),按照中枢定义自动识别并生成中枢对象。中枢的级别(level)会随着包含的线数量增加而提升,每9笔构成更高级别的中枢。
背驰判断通过beichi_pz()(盘整背驰)和beichi_qs()(趋势背驰)方法实现。核心逻辑是比较两段走势的力度,通过MACD指标的面积和黄白线高度来判断是否发生背驰。
买卖点生成
买卖点的生成基于中枢和背驰的关系,主要规则包括:
- 趋势背驰产生1类买卖点
- 中枢延伸后不创新高/新低产生2类买卖点
- 离开中枢后回抽不进入中枢产生3类买卖点
这些规则在get_mmds()方法中实现,可通过配置不同的中枢类型(zs_type)来获取不同条件下的买卖点。
实际应用示例
理解缠论数据对象和计算方法后,我们可以通过Chanlun-pro提供的接口快速构建分析应用。
获取缠论数据
from chanlun.cl_interface import ICL import pandas as pd # 初始化缠论计算对象 cl = ICL(code="000001", frequency="d") # 加载K线数据 klines = pd.read_csv("000001_d.csv") klines['date'] = pd.to_datetime(klines['date']) # 计算缠论数据 cl.process_klines(klines) # 获取笔对象列表 bis = cl.get_bis() # 获取线段对象列表 xds = cl.get_xds() # 获取中枢对象列表 zss = cl.get_bi_zss()分析买卖点
通过line_mmds()方法可以快速获取某一线段的买卖点信息:
# 获取最后一个线段的买卖点 last_xd = xds[-1] mmds = last_xd.line_mmds() print(f"线段买卖点: {mmds}")回测与可视化
Chanlun-pro提供了完善的回测功能,可通过backtesting模块(src/chanlun/backtesting/)进行策略回测。回测结果可通过图表直观展示,包括K线、笔、线段、中枢和买卖点等信息。
总结
Chanlun-pro通过清晰的数据对象设计和高效的计算方法,将复杂的缠论理论转化为可量化的分析工具。理解K线、分型、笔、线段、中枢等核心数据对象的结构和关系,掌握背驰判断和买卖点生成的原理,是有效使用这一工具的关键。
无论是手动分析还是策略开发,Chanlun-pro都提供了灵活的接口和丰富的功能,帮助用户更好地理解市场走势,制定交易决策。通过src/chanlun/cl_utils.py等工具模块,还可以进一步扩展和定制分析功能,满足个性化需求。
希望本文能帮助您快速掌握Chanlun-pro的核心概念和使用方法,在量化分析的道路上更进一步!
【免费下载链接】chanlun-pro基于缠中说禅所讲缠论理论,以便量化分析市场行情的工具项目地址: https://gitcode.com/gh_mirrors/ch/chanlun-pro
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考