Event volatilityControl / riskVerified example

Event Liquidity Halt

Nano identifier: EventLiquidityHalt

Event liquidity circuit breaker. SPREAD_STRESS = current executable spread relative to its pre-event baseline, 0 = normal, 1+ = severely stressed, computed by the host from the existing futures feature fabric (BBO evidence), never rederived here. REGIME: any armed macro event window. This is a control, not a directional hypothesis - it emits PAUSE and must never be promoted into the execution slot or counted as a setup. The host enforces the same liquidity gate directly; this published rule is the auditable explanation. CONDITIONS: none beyond the stress reading. It is armed whenever the event window is live. INVALIDATION: none - a breaker is not a trade. It releases when SPREAD_STRESS falls back under the threshold. SHAPE: 1s, because spread blowouts around a release happen and clear inside single seconds; a 5s control would react after the damage. NOT event_whipsaw_halt: that halts on direction churn of the tape; this halts on the cost of trading it. Both should be armed during every event. CALIBRATED ON: MES/MNQ around US red-folder releases. 0.8 means the spread is near its stressed ceiling relative to the pre-event baseline; the baseline normalization travels across instruments, the ceiling does not - re-verify per instrument class.

Nano source

This is the strategy exactly as published. Nano has no import, no file access and no network primitive, so reading or copying this source cannot execute anything.

// Event liquidity circuit breaker. SPREAD_STRESS = current executable spread// relative to its pre-event baseline, 0 = normal, 1+ = severely stressed,// computed by the host from the existing futures feature fabric (BBO// evidence), never rederived here.// REGIME: any armed macro event window. This is a control, not a directional// hypothesis - it emits PAUSE and must never be promoted into the execution// slot or counted as a setup. The host enforces the same liquidity gate// directly; this published rule is the auditable explanation.// CONDITIONS: none beyond the stress reading. It is armed whenever the event// window is live.// INVALIDATION: none - a breaker is not a trade. It releases when// SPREAD_STRESS falls back under the threshold.// SHAPE: 1s, because spread blowouts around a release happen and clear inside// single seconds; a 5s control would react after the damage.// NOT event_whipsaw_halt: that halts on direction churn of the tape; this// halts on the cost of trading it. Both should be armed during every event.// CALIBRATED ON: MES/MNQ around US red-folder releases. 0.8 means the spread// is near its stressed ceiling relative to the pre-event baseline; the// baseline normalization travels across instruments, the ceiling does not -// re-verify per instrument class.strategy EventLiquidityHalt {    every 1s {        if SPREAD_STRESS > 0.8 {            pause()        }    }}

Compiled IR

Nano compiles to a pinned intermediate representation. This is the artifact a runtime would actually load — inspectable before anything runs, and byte-diffable against the published source.

{  "type": "Strategy",  "nanoIrVersion": "0.1.0",  "name": "EventLiquidityHalt",  "effects": [    "intent.emit",    "log.append"  ],  "nodes": [    {      "type": "Schedule",      "interval": "1s"    },    {      "type": "Condition",      "signal": "SPREAD_STRESS",      "operator": ">",      "value": 0.8    },    {      "type": "Intent",      "action": "PAUSE"    }  ]}

What it proposes

On a 1 second cadence, when SPREAD_STRESS > 0.8, it emits pause intent.

An intent is a proposal, not an order. A separate risk gate — outside the language, and outside this library — decides whether anything is acted on.

Risk disclosure

This strategy is published as an educational, verified example. It compiles to the IR shown above and replays deterministically. It has not been backtested against market data, forward-tested, paper-traded, or traded live by Aether, and no performance statistics are published because none have been produced.

Nothing on this page is financial advice, an offer, or a recommendation to trade. Trading carries risk of loss. Any decision to run logic derived from this strategy — and the risk gate that governs it — is entirely your own responsibility.