首页  

123法则 2B法则 N字结构 量化思路     所属分类 quant 浏览量 27
123法则、2B法则 和 N字结构是趋势交易和价格行为中的经典概念。
将它们量化,就是从主观的形态识别转变为客观的、可回溯测试的交易系统规则。

将123法则、2B法则和N字结构量化的过程,
本质上是将模糊的“形态”翻译成精确的“如果...那么...”的计算机指令。
成功的量化不仅在于识别形态本身,
更在于结合趋势背景、市场位置和严格的资金管理,
形成一个完整的、可证伪的交易系统。


核心思想:从形态描述到定量规则
量化这些法则的关键在于:
明确触发条件:用具体的价格和K线关系来定义形态的每个部分。
过滤市场噪音:使用收盘价、突破幅度、时间周期等来避免假信号。
定义入场、止损和出场点:形成完整的交易逻辑。



1. 123法则(趋势反转法则)
理论描述:
趋势线被突破(原上升趋势线被跌破,或原下降趋势线被升破)。
上升趋势中,价格不再创新高;下降趋势中,价格不再创新低。
上升趋势中,价格跌破前一个回调低点;
下降趋势中,价格升破前一个反弹高点。
当这三个条件都满足时,意味着趋势可能发生反转。

量化方案(以下跌趋势反转为例):
步骤1:定义趋势:
使用至少N根K线(如20根) 来定义一段下跌趋势。
可以要求价格在一条下降的移动平均线(如20EMA)之下,或使用波段高点/低点来确认。

步骤2:识别突破(条件1):
找到最近一条连接至少两个波段高点的下降趋势线。
量化条件:
当前K线的收盘价 > 下降趋势线价格。
为过滤噪音,可要求突破幅度超过X%(如0.5%)或 Y倍ATR(如0.5倍ATR)

步骤3:测试失败(条件2):
价格反弹后再次回落,但未能创出新低。
量化条件:本次回落的低点 > 前期下跌波段的最低点。

步骤4:确认反转(条件3):
价格再次上涨,并突破了最近的一个反弹高点。
量化条件:
当前K线的收盘价 > 最近一个波段反弹高点(即条件2中那次反弹的起点)。

交易触发:
当条件3被触发时,视为123法则完成,发出买入信号。

止损设置:
设置在步骤3中形成的低点的下方。
目标设定:
可以基于形态高度、前期支撑阻力位,或使用风险报酬比(如1:2)


2. 2B法则(假突破反转法则) 理论描述: 在上升趋势中,价格突破前期高点后未能延续,迅速跌回前期高点之下, 意味着趋势可能衰竭,是反转做空信号。下降趋势反之。 量化方案(以顶部2B为例): 步骤1:定义前期高点: 找到最近一个显著的波段高点 H1 步骤2:定义突破: 价格向上突破了 H1,创出新高 H2 量化条件: 收盘价 > H1。可要求突破幅度(例如,超过H1的0.2%) 步骤3:定义失败与反转: 价格在创出 H2 后,在M根K线内(如3-5根) 跌回至 H1 之下。 量化条件: 收盘价 < H1,并且从 H2 到当前收盘价的下跌速度/幅度较大(例如,超过1倍ATR) 交易触发: 当步骤3的条件满足时,发出做空信号。 止损设置: 设置在 H2 的上方一个缓冲位置。 关键量化要点: 突破的幅度:越小越好,表明动能不足。 反转的速度:越快越有效,表明突破是假象。 成交量:可加入量化,突破时缩量,反转时放量是理想信号。
3. N字结构(趋势延续法则) 理论描述: 价格沿趋势方向运行一波(a), 然后进行逆向调整(b),最后再次沿原趋势方向运行(c), 形成类似“N”或“倒N”的形态。 是顺势入场的机会。 量化方案(以上涨N字为例): 定义背景: 市场处于上升趋势中 例如,价格在20EMA之上,且EMA多头排列) 步骤1: 识别a浪(驱动浪): 价格从启动点 S0 上涨至波段高点 H 量化:这一波上涨幅度应显著,例如 > 2倍ATR 步骤2:识别b浪(调整浪): 价格从 H 回调至低点 L 量化: 回调幅度通常在a浪的38.2%-61.8%(斐波那契回撤)之间, 但不应跌破关键支撑(如前低或重要均线)。 可以量化回调比例:(H - L) / (H - S0) 在0.382到0.786之间。 步骤3:等待c浪启动信号(入场点): 价格在 L 处获得支撑后,再次向上启动。 量化入场方式: 突破入场:当价格收盘价突破b浪回调中最近一个小波段高点时入场。 形态入场:在 L 附近出现看涨K线组合(如看涨吞没、锤子线)时入场。 止损设置: 设置在 L 的下方。 目标设定: 初始目标:a浪的1倍高度,即 目标价 = L + (H - S0) 也可以使用动态止盈(如移动止损) 量化整合与系统构建 要建立一个可交易的量化系统,需要: 选择时间框架:确定在哪个周期(如1小时、日线)上识别这些形态。 精确定义所有变量: 如何定义“波段高点/低点” 例如,Donchian Channel, 或左侧/右侧有N根K线最高/最低 突破的幅度阈值(固定百分比或ATR倍数) 回调的时间限制(例如,2B法则中突破后的K线根数) 编写识别算法: 使用程序( 如Python的TA-Lib、Pine Script in TradingView 扫描历史数据,自动识别符合量化条件的形态。 加入过滤条件: 趋势过滤器: 只在更大趋势方向上进行操作 例如,日线趋势向上,只做多123法则和上涨N字 波动率过滤器: 在低波动市场(ATR值低)中,形态可靠性可能下降 位置过滤器: 形态出现在关键支撑阻力位附近时,成功率更高。 历史回测: 用大量历史数据测试量化规则的盈亏比、胜率和夏普比率。 优化参数(如突破幅度、回调比例),但要避免过度拟合。 风险管理: 根据止损空间和总资金,确定每笔交易的仓位。
123法则 和 2b法则 https://gitee.com/dyyx/work2024/blob/master/myquant/images/123_2b_rule.png

上一篇     下一篇
QLib核心概念和术语

量化python库

Flask request 对象用法

N字价格运动与结构

基于深度学习和计算机视觉的K线图交易信号识别

Python f-string 格式化字符串字面量