成交量假设方向是反的:高量入场毛R 0.794,低量 1.421
用户假设「有资金的趋势才是好趋势」,预期开仓根成交量越大越好。成交量在信号根 收盘时可知,符合 step48 立的「只用开仓时已知信息」纪律,是合法的可交易切法。 10 币 × 80 万根、实盘口径 3941 笔,结论与假设相反。 按 vr60(当根量 / 前 60 根均量)四分位: 量最低(中位 0.63) 毛R 1.421 余量 27.18bp ← 样本外 量最高(中位 5.34) 毛R 0.794 余量 13.47bp 单调递减,且样本内外、两套量比基准(前 10 根 / 前 60 根)全部同向。稳健性达到 step49 那条的标准:ATR 四分位 4/4 同向、逐时段 7/7 同向,不是 ATR 换脸。 机制在出场结构里,伤害全在止损命中率: 量最低 止盈 33.5% 止损 22.5% 超时 44.0% 赢时均R 1.830 亏时均R −1.098 量最高 止盈 26.1% 止损 45.3% 超时 28.6% 赢时均R 1.651 亏时均R −1.106 亏损幅度四档全是 −1.10(止损就是止损),赢时均R 只降 10%,止损率翻倍是全部 损失来源。这里有个判别点:若只是「2 ATR 止损相对突然放大的波动太窄」的尺度 错配,超时单应按原比例分流进止盈和止损两侧;实际是超时(−15.4pp)和止盈 (−7.4pp)一起流进止损(+22.8pp)。方向本身在变差,不只是止损太窄。 为什么直觉会反:B4/S4 在突破根上进场。大量根意味着这一冲已经由别人的资金 完成,你在它的收盘价接手。「有资金」要能获利必须在资金到达之前进场,不是同时。 与「有前序」是两件独立的事(有前序组 vr10 中位 1.76 vs 无前序 1.46),可叠加: 低量 × 有前序 253 笔,毛R 1.398、余量 31.00bp,是目前见过最宽的执行容忍度。 step48 的采集加 vr10/vr60 两列。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -88,6 +88,11 @@ def collect(sym: str, rows: int) -> pd.DataFrame | None:
|
||||
"r": res[f"{cfg}_r"].to_numpy(),
|
||||
"c": res[f"{cfg}_c"].to_numpy(),
|
||||
"atr_pct": atr / close,
|
||||
# 信号根的相对成交量。当根已收盘,开仓时可知,是合规的可交易信息。
|
||||
# vr10 是引擎自带口径(前 10 根均量),vr60 换个基准做稳健性对照。
|
||||
"vr10": cdf["volume_ratio"].to_numpy(float)[idx],
|
||||
"vr60": (cdf["volume"] / cdf["volume"].rolling(60, min_periods=10).mean()
|
||||
).to_numpy(float)[idx],
|
||||
})
|
||||
except Exception as e:
|
||||
print(f" {sym} 失败: {e!r}", flush=True)
|
||||
|
||||
Reference in New Issue
Block a user