缠论体系是一种结合了K线空间结构与形态分析的技术分析体系。缠论体系的构建借鉴了几何学中的分形艺术、数学中的递归关系以及动力学系统中的混沌思想,解决了K线价格序列在空间上的演绎推理问题。 缠论体系的原创者并未将其理论系统的写成著作发表于众,缠论体系的拥趸者对它的解读也千变万化。正确使用缠论体系,首先要明晰缠论的思想内核以及正确构建缠论的逐层结构。 缠论在宏观层面来看,是趋势观和方法论的结合。之所以说缠论是一种趋势观的表达,是因为缠论通过分型、笔、线段、走势逐层结构的演绎,系统而精确的刻画 K 线的空间变化,清晰的梳理 K 线的趋势变化。缠论又在操作层面提供了一套方法论——缠论中分型的识别、笔或线段或走势终点的确认都表达了对阶段性高低点的把握;缠论中买卖点的构建进一步明晰了空间上的交易点位。 构建缠论体系的基础——分型 分型结构是缠论体系中最基础的K线结构处理方式。整个缠论体系的构建都要从分型的确立出发,因此分型既是基础,也是理解缠论的关键。 缠论基石——正确处理K线包含关系 理解缠论,必须要从基础的K线包含关系处理开始。在缠论的理解与应用中,基于基础结构(笔、线段)对走势的判断都蕴含在 K 线包含关系的处理中。我们先对如何处理K线包含关系进行说明,再解释抽象的 K 线关系理解。 在介绍K线包含关系处理之前,我们先从蜡烛图出发,对K线进行预处理。传统的蜡烛图通过箱体、上影线、下影线分别表征了当日K线的涨跌关系以及 最高价、最低价、开盘价、收盘价信息。而在缠论体系中,所有的处理并不关注开盘价、收盘价,只关注每根K线的最高价和最低价。因此,无论是上涨的K线还是下跌的 K 线我们都统一简化成一种状态——此状态并不关注单根K线是阴线还是阳线。 对 K 线进行预处理之后,我们观察相邻两根 K 线的位置关系。相邻两根 K 线位置关系存在四种情况,图 2 中标示的是不存在包含关系的两种,分别是第 2 根 K 线最高价低于第 1 根K 线最高价且第 2 根K 线最低价低于第 1 根 K 线最 低价,第 2 根 K 线最高价高于第 1 根 K 线最高价且第 2 根 K 线最低价高于第 1 根 K 线最低价。两种情况中,前后两根 K 线都有趋势性的位置变化。(这句话 也是后面理解其他结构的关键!) 图 3 中标示的是存在包含关系的两种,第 2 根 K 线的最高价最低价被第 1 根最高价最低价范围覆盖,或者二者关系反之。这两种情况下,相邻两根 K 线 之间没有趋势性的位置变化,在缠论中被定义为存在包含关系。 图 3 中,左边的情形我们定义为向后包含,右边的情形我们定义为向前包 含。具体处理向前/向后包含关系时,又要考察存在包含关系的两根 K 线与它们 前一根 K 线的位置关系。在处理向前/后包含关系时,如果存在包含关系 K 线相 较它们的前一根 K 线位置上升,则采用向上处理方式,即取两根 K 线最高价中 高的价格作为处理之后得到的新 K 线的最高价,取两根 K 线最低价中高的价格作为新K 线的最低价;如果存在包含关系K 线相较它们的前一根K 线位置下降, 则采用向下处理方式,即取两根 K 线最高价中低的价格作为新 K 线的最高价, 取两根 K 线最低价中低的价格作为新 K 线的最低价。简化表达为:上升取高高,下降取低低。 通过对存在包含关系的 K 线进行加工处理,所有的两两相邻 K 线之间只存 在清晰的上升/下降位置关系,有助于后面的其他结构分析。缠论结构中“完美” 的思想贯穿始终,从 K 线包含关系的处理中可以觅得一二。 举例说明K线的合并,先决条件,判断方向 (1)下降合并 (2)上升合并 (3) 多根K线的包含,则依次处理 代码部分 对于上述的所有的理论进行代码编写任务,此次编写只编写趋势判断与包含关系的合并 import pandas as pd import datetime import numpy as np import efinance as ef from datetime import datetime import warnings warnings.filterwarnings('ignore') from pyg2plot import Plot,JS
data = pd.DataFrame(ef.stock.get_quote_history('603087')) data = data.rename(columns={'日期':'date','开盘':'open','最低':'low','最高':'high',\ '成交量':'volume','成交额':'openinterest','收盘':'close'}) cols=['date','open','close','high','low','volume'] data= data[cols]
data = combine_K_line(data) data = data.reset_index() stockData = data[['date','open','close','high','low','flag']].to_dict(orient='records')
本次代码完成K线的合并数据处理,待更新:识别顶分型与底分型,线段 【参考内容】:《20180607-光大证券-技术形态选股系列报告之三:抽丝剥茧解缠论》 |
|