research: Arc 3 — six data-only signal families, designed engine-blind

Six confirm/refute families (vol-normalized momentum, mean-reversion
z-fade, vol-regime-gated breakout, H4 EMA trend, H4 breakout port,
channel-position fade) authored by engine-blind agents from a distilled
reference card plus the CLI validation loop, adversarially design-reviewed,
then run over 4 instruments x 3 stop regimes. Five honest nulls; one
candidate (vol-normalized momentum on US500, WF-OOS P<=0.05 in all three
regimes) forwarded to the Arc 4 breadth test.
This commit is contained in:
2026-07-13 18:07:26 +02:00
parent 36bbe76114
commit de92b4283d
13 changed files with 598 additions and 0 deletions
@@ -0,0 +1,84 @@
{
"format_version": 1,
"kind": "campaign",
"name": "arc3-bo-h1-volregime",
"description": "Arc 3 family bo-h1-volregime: Conditioning the Arc-1 H1 donchian breakout on a volatility-EXPANSION regime reshapes the breakout R-distribution. The base signal is the prev-bar channel breakout (long_latch = Latch(close > prev-bar RollingMax, close < prev-bar RollingMin), short_latch the mirror). The regime is non-directional: on H1 returns r = close \u2212 Delay(close,1), vol_short = Sqrt(SMA(r\u00b2, Ls)) and vol_long = Sqrt(SMA(r\u00b2, L",
"seed": 0,
"data": {
"instruments": [
"GER40",
"US500",
"EURUSD",
"XAUUSD"
],
"windows": [
{
"from_ms": 1514764800000,
"to_ms": 1782863999999
}
]
},
"risk": [
{
"vol": {
"length": 3,
"k": 2.0
}
},
{
"vol": {
"length": 60,
"k": 6.0
}
},
{
"vol": {
"length": 60,
"k": 12.0
}
}
],
"cost": [
{
"vol_slippage": {
"slip_vol_mult": 0.1
}
}
],
"strategies": [
{
"ref": {
"content_id": "f878dc0f0837bad88585286f709f55ad5058c7948554a136e544397ca3f43a59"
},
"axes": {
"channel_length": {
"kind": "I64",
"values": [
24,
48,
96
]
},
"vol_long.length": {
"kind": "I64",
"values": [
48,
96,
192
]
}
}
}
],
"process": {
"ref": {
"content_id": "41863fcae9300b334056c6f2a899e8c2672ecb29387d294e9a6e58f159ef51b4"
}
},
"presentation": {
"persist_taps": [],
"emit": [
"selection_report"
]
}
}
+84
View File
@@ -0,0 +1,84 @@
{
"format_version": 1,
"kind": "campaign",
"name": "arc3-bo-h4-trend",
"description": "Arc 3 family bo-h4-trend: Porting the Arc-1 donchian-breakout + EMA(12)/EMA(48) trend-gate pair verbatim from H1 (Resample 60) to H4 (Resample 240) will stabilize the instrument-dependent R-distribution reshaping observed in Arc 1: on coarser 4-hour bars the same channel-breakout-with-trend-confirmation signal should produce a more consistent bias sign and a more uniform per-instrument expectancy across GER40/US500/EURUSD/",
"seed": 0,
"data": {
"instruments": [
"GER40",
"US500",
"EURUSD",
"XAUUSD"
],
"windows": [
{
"from_ms": 1514764800000,
"to_ms": 1782863999999
}
]
},
"risk": [
{
"vol": {
"length": 3,
"k": 2.0
}
},
{
"vol": {
"length": 60,
"k": 6.0
}
},
{
"vol": {
"length": 60,
"k": 12.0
}
}
],
"cost": [
{
"vol_slippage": {
"slip_vol_mult": 0.1
}
}
],
"strategies": [
{
"ref": {
"content_id": "52da5de2d914061bf90a5e3f21caedbe85a4fb84e8056a4e61b535ed7ceb78c3"
},
"axes": {
"channel_hi.length": {
"kind": "I64",
"values": [
12,
24,
48
]
},
"channel_lo.length": {
"kind": "I64",
"values": [
12,
24,
48
]
}
}
}
],
"process": {
"ref": {
"content_id": "41863fcae9300b334056c6f2a899e8c2672ecb29387d294e9a6e58f159ef51b4"
}
},
"presentation": {
"persist_taps": [],
"emit": [
"selection_report"
]
}
}
@@ -0,0 +1,84 @@
{
"format_version": 1,
"kind": "campaign",
"name": "arc3-channelpos-fade-h1",
"description": "Arc 3 family channelpos-fade-h1: Position within the recent H1 range mean-reverts: when the H1 close sits near the top of the prior N-bar high/low channel (pos toward 1) price tends to fall back, and near the bottom (pos toward 0) it tends to rebound. The blueprint fades that position \u2014 bias = Bias(-(pos-0.5)*scale), i.e. short the top of the channel, long the bottom. CONFIRM if this fade produces positive net-of-cost pooled WF-O",
"seed": 0,
"data": {
"instruments": [
"GER40",
"US500",
"EURUSD",
"XAUUSD"
],
"windows": [
{
"from_ms": 1514764800000,
"to_ms": 1782863999999
}
]
},
"risk": [
{
"vol": {
"length": 3,
"k": 2.0
}
},
{
"vol": {
"length": 60,
"k": 6.0
}
},
{
"vol": {
"length": 60,
"k": 12.0
}
}
],
"cost": [
{
"vol_slippage": {
"slip_vol_mult": 0.1
}
}
],
"strategies": [
{
"ref": {
"content_id": "2663716da7ab72dc287a13e01c4b529efd0cd7b9afc3516fe500e102cb61fcdb"
},
"axes": {
"channel_length": {
"kind": "I64",
"values": [
24,
48,
96
]
},
"bias.scale": {
"kind": "F64",
"values": [
2.0,
4.0,
8.0
]
}
}
}
],
"process": {
"ref": {
"content_id": "41863fcae9300b334056c6f2a899e8c2672ecb29387d294e9a6e58f159ef51b4"
}
},
"presentation": {
"persist_taps": [],
"emit": [
"selection_report"
]
}
}
+84
View File
@@ -0,0 +1,84 @@
{
"format_version": 1,
"kind": "campaign",
"name": "arc3-meanrev-z-h1",
"description": "Arc 3 family meanrev-z-h1: On H1 bars, price deviations from the local mean mean-revert, so fading the deviation carries positive expectancy. We compute a rolling z-score z = (close \u2212 SMA(close,L)) / rollingStd(close,L) over a window L spanning ~1\u201310 trading days of H1 bars, and take bias = Bias(\u2212z \u00b7 scale), i.e. we go short when close is stretched above its local mean and long when stretched below. CONFIRM if pooled WF-OOS",
"seed": 0,
"data": {
"instruments": [
"GER40",
"US500",
"EURUSD",
"XAUUSD"
],
"windows": [
{
"from_ms": 1514764800000,
"to_ms": 1782863999999
}
]
},
"risk": [
{
"vol": {
"length": 3,
"k": 2.0
}
},
{
"vol": {
"length": 60,
"k": 6.0
}
},
{
"vol": {
"length": 60,
"k": 12.0
}
}
],
"cost": [
{
"vol_slippage": {
"slip_vol_mult": 0.1
}
}
],
"strategies": [
{
"ref": {
"content_id": "d4e341ef35e8dad90a9a26cf484a1f2d1b71bb631a7e5fb4d547779066ba5bea"
},
"axes": {
"window": {
"kind": "I64",
"values": [
24,
96,
240
]
},
"fade.scale": {
"kind": "F64",
"values": [
0.5,
1.0,
2.0
]
}
}
}
],
"process": {
"ref": {
"content_id": "41863fcae9300b334056c6f2a899e8c2672ecb29387d294e9a6e58f159ef51b4"
}
},
"presentation": {
"persist_taps": [],
"emit": [
"selection_report"
]
}
}
+84
View File
@@ -0,0 +1,84 @@
{
"format_version": 1,
"kind": "campaign",
"name": "arc3-mom-vnorm-h1",
"description": "Arc 3 family mom-vnorm-h1: On H1 bars, the SIGN of vol-normalized momentum carries directional information: score = (close - close_{t-n}) / sqrt(mean of squared 1-bar returns over L bars) is a unit-free, risk-adjusted momentum that should be positive before up-moves and negative before down-moves, so a bias equal to sign(score) (squashed by Bias) should earn a positive net-of-cost expectancy_r on H1 and generalize across in",
"seed": 0,
"data": {
"instruments": [
"GER40",
"US500",
"EURUSD",
"XAUUSD"
],
"windows": [
{
"from_ms": 1514764800000,
"to_ms": 1782863999999
}
]
},
"risk": [
{
"vol": {
"length": 3,
"k": 2.0
}
},
{
"vol": {
"length": 60,
"k": 6.0
}
},
{
"vol": {
"length": 60,
"k": 12.0
}
}
],
"cost": [
{
"vol_slippage": {
"slip_vol_mult": 0.1
}
}
],
"strategies": [
{
"ref": {
"content_id": "05045dfaa1e399c12505e21dc87c36a61b7bbfda75c0bebc2e95a9be5bfd9e42"
},
"axes": {
"mom_lag.lag": {
"kind": "I64",
"values": [
24,
72,
120
]
},
"vol_avg.length": {
"kind": "I64",
"values": [
24,
72,
120
]
}
}
}
],
"process": {
"ref": {
"content_id": "41863fcae9300b334056c6f2a899e8c2672ecb29387d294e9a6e58f159ef51b4"
}
},
"presentation": {
"persist_taps": [],
"emit": [
"selection_report"
]
}
}
@@ -0,0 +1,84 @@
{
"format_version": 1,
"kind": "campaign",
"name": "arc3-trend-h4-cross",
"description": "Arc 3 family trend-h4-cross: H4 trend slope expressed in realized-volatility units carries directional information: the sign and vol-normalized magnitude of EMA(fast)-EMA(slow) on H4 (240-min) bars predicts forward returns. The bias is bias = clamp( (ema_fast - ema_slow) / realized_vol / scale, -1, +1 ), a unit-free conviction score. CONFIRM if pooled walk-forward OOS expectancy_r is positive with low prob_le_zero, net-of-cos",
"seed": 0,
"data": {
"instruments": [
"GER40",
"US500",
"EURUSD",
"XAUUSD"
],
"windows": [
{
"from_ms": 1514764800000,
"to_ms": 1782863999999
}
]
},
"risk": [
{
"vol": {
"length": 3,
"k": 2.0
}
},
{
"vol": {
"length": 60,
"k": 6.0
}
},
{
"vol": {
"length": 60,
"k": 12.0
}
}
],
"cost": [
{
"vol_slippage": {
"slip_vol_mult": 0.1
}
}
],
"strategies": [
{
"ref": {
"content_id": "f5d723c4d7dbf5cb5e8e6d775ef69f8831cce1e7272dd5441e9d5d2b23f9af7a"
},
"axes": {
"ema_fast.length": {
"kind": "I64",
"values": [
6,
12,
24
]
},
"ema_slow.length": {
"kind": "I64",
"values": [
48,
96,
192
]
}
}
}
],
"process": {
"ref": {
"content_id": "41863fcae9300b334056c6f2a899e8c2672ecb29387d294e9a6e58f159ef51b4"
}
},
"presentation": {
"persist_taps": [],
"emit": [
"selection_report"
]
}
}