research: 一二类买卖点可行性探针(step55),结论为不可用
用户提出把 B4 的研究思路搬到第一/第二类买卖点,并指定 5m/15m 测。 滞后先于收益测,结论是用户判断正确:B1/B2/B3 滞后中位都是 8~9 根, 三类共用 find_all_bsp 的「中枢 is_sure + 笔 is_sure + sure_time」, 滞后不是区分它们的变量。 收益全负,一类最差:5m 上 B1 PF 0.24 / 胜率 18.6% / t −17.3, S1 PF 0.20 / 胜率 14.8% / t −22.3,15m 同量级。B3 跑出 0.64/0.76、 HANDOFF §4 记的是 0.66,口径校验通过,所以 B1/B2 的数可信。 一类烂得彻底是几何决定的:等 8 根后价格已朝上跑 1.68 ATR,新入场价往下 2 ATR 的止损落在比原始低点还低 0.3 ATR 处,几乎贴着极值。同样的滞后在 顺势突破上只是追高,在逆势反转上是加倍惩罚。 探针里修掉两个会静默出错的地方:cdf.date 是 datetime64[ms] 而 Timestamp.value 是纳秒,手工转 int64 比较会让 searchsorted 全部落到末尾 且不报错(这是之前跑出 0 条的原因);速率对照未按币归一,拿 5 币的数去 比 10 币的 B4 基线等于凭空打对折。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -974,6 +974,68 @@ mom10 同形状(Q2 最好、Q4 最差),样本内外一致。**势要有—
|
||||
> **② 在几十个分组里挑出的最显著那个,默认它是噪声,除非它能在另一个总体上
|
||||
> 复现。** p 值不做多重比较校正就等于没做检验。
|
||||
|
||||
### 3.393 一类/二类买卖点:引擎实现下全是负的,一类尤其糟(step55)
|
||||
|
||||
用户提出把 B4 那套研究思路搬到一二类上,并指定用 5m/15m 测。
|
||||
|
||||
**先量滞后,不先跑收益**——`Chan_BSP_TYPE` 的枚举注释里写着 B4 存在的全部意义
|
||||
就是「几何位置同 B3/S3,但不等笔确认」,说明这个项目早就付过等笔确认的学费。
|
||||
|
||||
**① 滞后:三类完全一样(用户的判断,实测确认)**
|
||||
|
||||
| 类型 | 5m 滞后中位 | 15m 滞后中位 | 5m 漂移中位 | 占 2ATR 止损 |
|
||||
|---|---|---|---|---|
|
||||
| B1 | 8 根 | 9 根 | 1.68 ATR | 84% |
|
||||
| B2 | 8 根 | 8 根 | 2.03 ATR | 101% |
|
||||
| B3 | 8 根 | 9 根 | 1.95 ATR | 98% |
|
||||
|
||||
三类都卡在同一处:`中枢 is_sure` + `笔 is_sure` + `sure_time`。
|
||||
**所以滞后不是区分一二三类的变量**,它是 `find_all_bsp` 这个实现的共同属性。
|
||||
|
||||
⚠️ 「漂移为正的占比 100%」是**定义决定的,不是发现**:笔之所以在那里结束,
|
||||
正是因为价格从极值反向走了,`bi.end_klc` 就是极值点。有信息量的是幅度不是符号。
|
||||
|
||||
**② 收益:全负,一类是最差的一档**(5m / 15m,5 币,出场用实盘的 2/3/8/2/48)
|
||||
|
||||
| 类型 | 5m 笔数 | 5m 胜率 | 5m 毛R | 5m PF | 5m t值 | 15m PF | 15m t值 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| **B1** | 623 | **18.6%** | −0.592 | **0.24** | **−17.3** | 0.21 | −18.9 |
|
||||
| **S1** | 644 | **14.8%** | −0.675 | **0.20** | **−22.3** | 0.23 | −15.9 |
|
||||
| B2 | 293 | 35.8% | −0.104 | 0.73 | −1.4 | 0.85 | −0.8 |
|
||||
| S2 | 288 | 36.8% | −0.115 | 0.82 | −1.6 | 0.75 | −2.4 |
|
||||
| B3 | 2806 | 33.3% | −0.187 | 0.64 | −8.0 | 0.76 | −5.3 |
|
||||
| S3 | 2685 | 35.4% | −0.135 | 0.70 | −5.6 | 0.73 | −4.8 |
|
||||
|
||||
**口径校验通过**:B3 跑出 PF 0.64/0.76,§4 记的引擎 B3 是 0.66 —— 接线是对的,
|
||||
所以 B1/B2 的数可以信。
|
||||
|
||||
**③ 一类为什么烂得这么彻底:它的结构自带反向杠杆**
|
||||
|
||||
B1 买点的理想入场是那一笔的低点。等到 `sure_time` 可以动手时,价格已经**朝上
|
||||
跑了 1.68 ATR**。于是新入场价往下 2 ATR 的止损,落在**比原始低点还低 0.3 ATR**
|
||||
的位置——几乎贴着极值,任何一次回踩都打掉;而 3 ATR 的减半目标从低点算起变成
|
||||
了 4.7 ATR。胜率 15~21% 完美对应这个几何:**它低于随机入场**(SL2/TP3 下随机
|
||||
约 40%)。
|
||||
|
||||
**这和三类的滞后代价不是一回事。** 三类是顺势突破,等 8 根是「追高一点」;
|
||||
一类是逆势抄底,等 8 根是「在反弹了 1.7 ATR 之后才去接刀」——**同样的滞后,
|
||||
在反转型信号上是加倍惩罚**。
|
||||
|
||||
**④ 结论与下一步**
|
||||
|
||||
引擎现成的 B1/B2 **不可用**,且原因是结构性的不是参数性的,调参救不回来。
|
||||
B3 当年的解法不是调参,是**重新定义成实时判据**(B4:收盘突破 zg → 收盘未跌回
|
||||
→ 重新上行,全部当根可判),选样口径随之改变(627 个中枢只认 212 个),
|
||||
统计性质才翻正。
|
||||
|
||||
**但这条路未必能照搬到一类**:B4 能实时判,是因为「突破 + 回踩不破 + 重新上行」
|
||||
每一步都能用收盘价当根判定。而一类的核心是**背驰**,它要求「知道这一笔已经
|
||||
结束」——那本身就是事后信息。要做实时版,得先找到一个不依赖笔端点的力竭代理。
|
||||
|
||||
> 另有一个来自 §3.391 的先验值得先算:**一类按定义就发生在一段已走完的行情
|
||||
> 末端,也就是 `mom60` 最高的那个区间——而那正是我们实测最差的四分位**
|
||||
> (Q4 发现期余量只剩 1.44bp)。真要做实时一类,先验就不利。
|
||||
|
||||
### 3.4 alpha 的来源(step32 消融)
|
||||
|
||||
逐条拆掉 `fast_bsp3` 的条件后发现:**alpha 完全来自缠论中枢的上下文定位,
|
||||
|
||||
Reference in New Issue
Block a user