Skip to content

Strategy research

Hypotheses

Work with AI agents to define an edge, write strategy code, and keep a record of what was tested and why.

je-suis-tm Shooting Star, causal port on a point-in-time US large-cap panel: confirmed eight-condition shooting star -> short at next open, exit on a +/-5% close move or after 7 sessions (VOD.USEQ + S&P 500 members as of each bar, 1-DAY, short-only, next-session-open fills)

Port of 'Shooting Star backtest' by je-suis-tm (quant-trading, Apache-2.0, commit 611b73f). The rules and default parameters below are the author's. Any performance the source implies is unverified; our backtest with……Show moreShow less

Port of 'Shooting Star backtest' by je-suis-tm (quant-trading, Apache-2.0, commit 611b73f). The rules and default parameters below are the author's. Any performance the source implies is unverified; our backtest with real costs decides. The source's Investopedia link (S2) could not be fetched (HTTP 402), so only the code (S1) was read. Source rules: a shooting star is a bar where (1) Open >= Close; (2) Close - Low < lower_bound * |Close - Open| (little or no lower wick); (3) |Open - Close| < body_size * reference body (small body); (4) High - Open >= 2 * (Open - Close) (upper wick at least 2x the body); (5) Close >= previous Close and (6) previous Close >= the Close before it (uptrend); (7) the NEXT bar's High <= the star's High and (8) the NEXT bar's Close <= the star's Close. The trade is a short. It exits when |Close / entry - 1| > stop_threshold (0.05, the same rule takes profit and stops loss) or after holding_period = 7 bars. Defaults: lower_bound 0.2, body_size 0.5, stop_threshold 0.05, holding_period 7. WHY THIS VERSION: the previous attempt ran the conjunction on VOD.USEQ alone and produced no trades in the sandbox (1,401 sessions). A firing-rate check, which measures feasibility and says nothing about performance, shows why. Across all of VOD.USEQ's 9,557 daily bars the confirmed signal holds only about 6 times. On 25 long-lived US large caps since 2005 it holds about 0.044 times per name-year. The binding conditions are 1+2+5 together (a red candle that closes at its low after a gap up), not the body size: relaxing body_size from 0.5 to 2.0 only lifts the rate to 0.063. Any single US name gives about one trade per 20 years. CHANGES, each labelled: (A) UNIVERSE: we keep the user's market, Vodafone on its US listing, VOD.USEQ (VOD.L/UKEQ is not enabled on this platform). VOD.USEQ is the primary instrument and is always eligible. The identical rule also runs independently on every S&P 500 member AS OF EACH BAR (self.index_member(iid, 'sp500') / universe_at(index='sp500'), former members included where bars exist, parameters['point_in_time_universe']=True; extra_instruments = `python -m src.data.listings sp500 --start 1996-01-01 --end <run end> --with-data`). That gives about 20-25 signals per year. This is the only way to test the source's exact pattern definition with a usable sample, and it avoids survivorship bias. (B) CAUSALITY: conditions 7 and 8 use the next bar, and the source books the short at the star's own close (look-ahead). Here the star is bar t-1. Bar t is the confirmation bar: High_t <= High_{t-1} and Close_t <= Close_{t-1}. The short is decided at the close of bar t and fills at the NEXT session's open (next_open_fill, supported on USEQ). (C) BODY REFERENCE (condition 3): the source compares against abs(np.mean(Open - Close)) over the WHOLE dataset. That uses future data, and because the signed mean is near zero, condition 3 almost never holds. Here the reference is the mean of |Open - Close| over the previous body_lookback = 20 sessions of the same name, excluding the star bar. This follows the author's own comment that the body test should be relaxed. (D) BOOKKEEPING: one net short per name. A new star on a name already short is ignored. Overlapping signals in the source's signal column are not reproduced. (E) EXIT REFERENCE: the +/-5% test uses the actual fill price as entry; the source used the star's close. Exits are tested on daily CLOSES, as written, not intrabar. The exit is decided at the close and fills at the next session's open. (F) SIZING (platform default; the source has none): each short is 10% of current equity in notional, whole shares, at most 10 open shorts. Gross short exposure is therefore at most 100% of equity on the 2x Reg-T margin account. If more than the free slots signal on one day, take them in ascending ticker order, so selection never uses performance. Risk control route (b): signal exits (the +/-5% close rule plus a 7-session time limit) with capped sizing. Losing 5% plus an overnight gap on a 10% position costs about 0.5-1% of equity. Zero commissions; spread and impact are modelled about 1 bp per side. Dividends are not in PnL, which slightly flatters shorts (stated as a risk).

LTC Spot-Cash Band Rebalancing with Re-arming Sleeve-Drawdown Protection

Revision of 'LTC Spot-Cash Threshold Rebalancing in a Capped Capital Sleeve'. Instrument, timeframe, long-only setup, 40% sleeve, 50% target weight and the weight band are unchanged; ONLY the capital protection is……Show moreShow less

Revision of 'LTC Spot-Cash Threshold Rebalancing in a Capped Capital Sleeve'. Instrument, timeframe, long-only setup, 40% sleeve, 50% target weight and the weight band are unchanged; ONLY the capital protection is re-specified. On LTCUSDT.BINANCE_SPOT 4-HOUR bars, a sleeve initially allocated 40% of account equity holds LTC and USDT at a 50/50 target (initial buy: LTC worth 20% of equity at the first post-warm-up bar close). The other 60% of equity is an inactive USDT reserve that never trades. Sleeve value = LTC holding value + sleeve USDT (tracked internally; the sleeve's cash is the starting 40% allocation plus/minus sleeve trade proceeds and fees). At each 4H bar close, LTC weight w = LTC value / sleeve value. If |w - 0.5| >= band_width, trade LTC back to exactly 50% of the sleeve value (buy when w is below, partial sell when above). The average-entry inventory stop of the previous version is REMOVED: a rebalancer adds to losers by design, so loss vs cost basis is the wrong risk measure (it fired at the Dec-2017 top and halted trading for 5.4 years). Protection is now at the sleeve level: (1) hard cap: LTC holding never exceeds 30% of total account equity — a buy is truncated to the cap, and if price appreciation pushes LTC above 30% of equity it is trimmed to 30% at the bar close; (2) sleeve-drawdown stop: track the sleeve value's high-water mark; when sleeve value falls sleeve_dd_stop_pct below its HWM at a bar close, sell all LTC into sleeve cash (market order at that bar's close) and enter a PAUSED state; (3) re-arm: the pause ends at the first bar close where EITHER cooldown_bars bars have elapsed since the stop OR the LTC close has recovered rearm_recovery_pct from its lowest close during the pause; on re-arm, buy LTC back to 50% of the (now all-cash) sleeve and reset the sleeve HWM to the current sleeve value. There is never a permanent halt. Execution: all orders are market orders at the signal bar's close (next_bar_open_fill substituted by the platform's 24/7 equivalent: the 4H close equals the next bar's open). No leverage, no shorting, no supplementary data, no assumed cash yield. Risk control route (b): signal-based exits (rebalancing, sleeve-drawdown stop) with capped sizing — the single LTC position is at most 30% of equity, far below 100%. Fee arithmetic: a rebalance only fires after LTC moves enough to shift the weight by band_width; with band_width 0.10, w goes 0.50->0.60 when LTC rises ~50% (or falls ~33% for 0.40), so each rebalance trades ~10-20% of the sleeve after a multi-tens-of-percent move; the volatility-harvesting premium of a 50/50 rebalance relative to buy-and-hold over a ±40% oscillation is roughly 1-3% of the sleeve per round trip, versus 0.10% per spot fill on the traded slice (~0.02% of sleeve). Expected rebalances: LTC 4H realized vol ~80-100%/yr implies roughly 4-10 band crossings per year at 0.10, i.e. ~30-70 rebalance fills over 2018-2025.

Hummingbot GridStrike port: long-side static grid of 190 post-only buy levels from 0.38 to 0.75, each closed by a post-only take-profit 0.1% above its fill, whole grid flattened at market if mid falls to 0.35, re-armed when price is back in the band (WLDUSDT.OKX USDT swap, 1-MINUTE, net position, 2x margin, 35% of equity grid budget)

Faithful port of "GridStrike" by hummingbot (hummingbot/hummingbot, controllers/generic/grid_strike.py, commit 9af100d, Apache-2.0), together with the GridExecutor it creates. The strategy and its default values are……Show moreShow less

Faithful port of "GridStrike" by hummingbot (hummingbot/hummingbot, controllers/generic/grid_strike.py, commit 9af100d, Apache-2.0), together with the GridExecutor it creates. The strategy and its default values are the author's. Any performance the author claims is unverified; our backtest with real OKX fees decides. Market: the source defaults are connector 'okx', pair WLD-USDT, leverage 20, HEDGE position mode. We trade the OKX USDT perpetual swap WLDUSDT.OKX (MARGIN account, long-capable, 1-MINUTE bars from 2023-07). A previous attempt froze leverage 20 and HEDGE mode on WLDUSDT.OKX_SPOT, a 1x CASH venue with netting accounts, and failed Layer 1.5. This version fixes that. (1) Position mode: the controller sets side=BUY, so every grid level opens a long and every level's take-profit is a reduce-only sell. No opposing short leg ever exists, so the NET position (the sum of the filled, not yet closed levels) is exactly what HEDGE mode would hold on the long side. Substitution named: netting account instead of hedge mode, no economic difference for a one-sided grid. (2) Leverage: the source's 20x only sets margin. Exposure is set by total_amount_quote. We run the account at leverage 2.0, within the conservative profile's 5x cap, and set exposure through the grid budget below. (3) Sizing: the source's total_amount_quote=1000 USDT is an account-specific example. We set total_amount_quote = 35% of account equity, measured when each grid executor is created (~$35,000 on $100k). With every level filled, notional is 0.35x equity. The worst case is the grid filled all the way from 0.75 down to 0.38 (average entry ~0.565) and then flattened at the 0.35 limit_price, a ~38% loss on 0.35x notional, so ~13% of equity. That keeps the worst trade under the profile's 15% cap. WLD 1x volatility is ~110-130%/yr, so 0.35x contributes ~40-45%. min_order_amount_quote is scaled with the budget, as 0.5% of total_amount_quote (the source's 5/1000), so the grid has the source's geometry: 190 levels. CONTROLLER RULE (determine_executor_actions, every bar): mid = bar close (stand-in for the mid price). If no grid executor is active AND start_price <= mid <= end_price (inclusive), create a new grid executor with the config below. Otherwise do nothing. Only one executor is ever active. GRID GENERATION (GridExecutor._generate_grid_levels, at executor creation, using the mid at that moment): min_quote = min_order_amount_quote x 1.05 (the source's 5% margin over the minimum notional; size rounded up to the venue's size increment). grid_range = (end_price - start_price) / start_price. min_step = max(min_spread_between_orders, price_increment / mid). max_possible_levels = floor(total_amount_quote / min_quote). n_levels = min(max_possible_levels, floor(grid_range / min_step)). base_per_level = max(min_base, total_amount_quote / (mid x n_levels)), quantized to the size increment. quote_per_level = base_per_level x mid, and n_levels = min(n_levels, floor(total_amount_quote / quote_per_level)), at least 1. Level prices are linear from start_price to end_price inclusive (numpy-style linspace of n_levels points). If n_levels == 1, the single level is at (start+end)/2. Each level gets amount quote_per_level, side BUY and take_profit = triple_barrier take_profit 0.001 (coerce_tp_to_step defaults to False, so the TP is not widened to the step). With the defaults this gives 190 levels ~0.00196 apart (0.26% to 0.52% of price). LEVEL STATES: NOT_ACTIVE -> OPEN_ORDER_PLACED -> OPEN_ORDER_FILLED -> CLOSE_ORDER_PLACED -> COMPLETE. A COMPLETE level resets to NOT_ACTIVE, so the grid keeps recycling. A level whose open order is cancelled or rejected also returns to NOT_ACTIVE. Execution is all-limit and post-only (LIMIT_MAKER = maker fee 0.02% on OKX) except the limit_price flatten, which is a market order (taker 0.05%). Bar-level adaptation of the seconds-based throttle: the source lets one open order be placed every order_frequency=3 s, max_orders_per_batch=1, and never more than max_open_orders=2 resting open orders at once. On 1-minute bars (20 throttle periods per bar) this becomes: on each bar, top up resting buy orders until 2 are open, filling the nearest eligible levels. Named substitution.

SuperMind 'turnover 3-12%, limit-up within 25 days, rising bottoms' screen on CNEQ A-shares: buy the next open after a 60-day-high breakout with full MA alignment, higher lows and a recent limit-up, exit on close below EMA(8), ATR stop, 20-session cap (CNEQ 1-DAY panel, long-only)

Derived by the Research Lead from 神盾局量子研究部, '(supermind量化策略)换手率3%-12%、前25天有涨停、底部抬高' (同花顺 SuperMind, 2023-08-30, https://quant.10jqka.com.cn/view/article/21740): the source is a stock SCREEN with no exits or sizing, and……Show moreShow less

Derived by the Research Lead from 神盾局量子研究部, '(supermind量化策略)换手率3%-12%、前25天有涨停、底部抬高' (同花顺 SuperMind, 2023-08-30, https://quant.10jqka.com.cn/view/article/21740): the source is a stock SCREEN with no exits or sizing, and its two code listings are partly garbled, so these rules are my operationalization, not the author's strategy. What comes from the source: (1) a stock must have had a limit-up (涨停, pct_chg >= 9.9%) within the previous 25 sessions; (2) an activity band (70th percentile of daily turnover over 25 sessions between 3% and 12%); (3) 'bottom raising' plus the code's trend block: Uptrend = MA5>MA10>MA20>MA30>MA60, MA_UP = MA20>MA60>MA120>MA250, and v1's breakout clause MA5>MA60 AND close above the 60-day highest high; (4) the TDX line using EMA(CLOSE,8), which I use as the exit line. What I chose and why: (a) Market: CNEQ China A-shares daily bars (the source's own market; 311 names in the catalog, daily history from 2018), long-only cash, no leverage. (b) TURNOVER SUBSTITUTION: the platform holds no free-float share counts, and on our large-cap universe a literal 3-12% daily turnover band would almost never pass, so the activity band is restated per stock as act_ratio = 70th percentile of daily volume over the last 25 sessions / median daily volume over the 250 sessions before that window, required in [act_low, act_high] (baseline 1.2-4.0): 'unusually active but not a frenzy' relative to the stock's own norm. This is a proxy for, not a measurement of, turnover rate. (c) The source Python compares close to a 60-day high that INCLUDES today (impossible to exceed) and also requires today's low below the 60-day range midpoint; I read the breakout as close > highest high of the PRIOR 60 sessions and drop the midpoint clause (it would require a single-day range over half the 60-day range). (d) 'Bottom raising' (底部抬高) is operationalized textbook-style as higher swing lows: min(low, last 10 sessions) > min(low, the 10 sessions before those). (e) Board-aware limit-up: a day counts as limit-up when close/prev_close - 1 >= lu_frac x board limit, board limit = 20% for codes 300xxx/301xxx (from 2020-08-24) and 688xxx, else 10%; baseline lu_frac 0.95. (f) Exits, sizing, stop and slot count are standard choices named below. Execution: decisions on the daily close fill at the NEXT session's open (platform rule for session venues, supported); the ATR protective stop is a submit_stop_order resting from the next open (stop_order_session_venue supported; gap-through fills at the open). T+1 is respected because the earliest exit decision is on the entry day's close, filled the next morning. Limit-up-locked entries are avoided by skipping a signal whose own day closed >= 9.5% up (coder rule: never trade into limit-up). Universe is point-in-time to the extent the platform allows: a name is eligible only when is_listed() and it has >= 260 daily bars at the signal date; residual survivorship (the CNEQ list is today's large-cap leaders, not historical index membership) is a stated risk. Fee arithmetic: CNEQ round trip ~0.10% commission/stamp plus ~0.05% spread/impact = ~0.15%. Breakout entries after recent limit-up participation on A-shares with ~2.5-3% daily volatility and an expected hold of ~8-12 sessions should capture roughly 0.8-1.2% gross per trade; predicted net >= 0.6%, i.e. 4x cost. Firing rate: the 302 names with >=300 bars show ~6,000 limit-up-class days (>=9.5%) over ~2,400 stock-years, so the limit-up precondition is common; after the trend, breakout and higher-low filters I expect roughly 300-600 entries over 2018-2026, far above the ~10/year minimum. Prior CNEQ technical ports (KDJ/MA-compression, ADX, morning star) ended no_edge; this one differs in conditioning on a recent limit-up (attention/participation shock) plus a fresh 60-day breakout, i.e. A-share momentum-continuation, not a reversal or oscillator cross.

SuperMind 反包 Screen on A-Share Large Caps: Close Re-Crosses Above MA20 While MA20 > MA120 Within 10 Sessions of a Five-MA Squeeze (32 pre-2016 CNEQ large caps, 1-DAY, long-only, next-open fills, 15-session clock + 8% stop)

Derived by the Research Lead from 同花顺 SuperMind / 神盾局量子研究部, '(iwencai量化)反包_、20日均线大于120日均线、至少5根均线重合的股票' (https://quant.10jqka.com.cn/view/article/28986, sections '最终的选股逻辑' and 'python代码参考'): the source gives three……Show moreShow less

Derived by the Research Lead from 同花顺 SuperMind / 神盾局量子研究部, '(iwencai量化)反包_、20日均线大于120日均线、至少5根均线重合的股票' (https://quant.10jqka.com.cn/view/article/28986, sections '最终的选股逻辑' and 'python代码参考'): the source gives three screen conditions and no exits, sizing or universe, so this is a distilled test, not the author's strategy. KEPT FROM THE SOURCE: (1) SMA20 > SMA120 (short trend leads the long trend); (2) 'at least 5 moving averages coincide'; (3) 反包 = after a short pullback the stock rises again, which the source code defines as close[-1] > MA20[-1] and close[-2] < MA20[-2]. Source defaults 20/120 are the baseline. CORRECTED/CHOSEN BY THE RESEARCH LEAD: the source code's 'coincidence' test counts bars where float MA20 == MA120 exactly, which almost never fires and contradicts condition (1); we use the standard 均线粘合 reading with the five MAs the article itself suggests adding (5,10,20,30,60 simple MAs): the squeeze holds on a session when (max - min of the five SMAs) / close <= squeeze_band (baseline 3%), and it must have held on at least one of the last squeeze_window (baseline 10) sessions including the signal day. Exits (15-session clock, regime exit, 8% protective stop), sizing and the universe are our standard choices. The source's iwencai '市值小于100亿' line is a template placeholder with no market data link here and is not used; its QR-code image (S2) failed to load and was not read. Market: the source screens Chinese A-shares, so the test runs on CNEQ (SSE/SZSE, CASH, long-only, ~0.05%/side blended incl. sell-side stamp duty, 2 bp half spread, data from 2018-01). UNIVERSE (fixed before any return was looked at): the 32 largest names in config/cn_equities_universe.txt that were listed before 2016 and have bars from 2018-01: 600519, 601318, 600036, 601398, 601939, 601988, 601288, 600000, 600016, 601166, 601328, 600030, 601688, 601601, 601628, 600276, 600887, 000858, 000568, 000333, 000651, 600690, 002415, 002475, 002594, 601012, 601899, 600309, 600585, 600900, 000063, 002230 (all .CNEQ). SURVIVORSHIP CAVEAT: the platform holds no point-in-time CSI index membership for CNEQ, so this basket is chosen from today's large caps; the bias is limited by requiring pre-2016 listings (no post-sample IPOs) but not removed, and the analyst should compare against an equal-weight buy-and-hold of the same 32 names over the same window. Prior art differs: the abandoned SuperMind '60开头/KDJ金叉/五均线收敛' run tested 5 stocks with a KDJ trigger and KDJ exit (61 trades); this uses the MA20 re-cross trigger, the MA20>MA120 regime and a 32-name panel for an adequate sample. Execution: decisions on the daily close; market orders fill at the next session's open (next_open_fill, supported). 100-share board lots (A-share rule; entries round down). The 8% protective stop is a submit_stop_order on the session venue (stop_order_session_venue, supported): it rests from the next open and a gap through it fills at the open. Known modeling gaps: T+1 is respected by construction (no same-day exits), the ±10% daily price limit is not enforced by the engine.

Chaos TqSdk RSI(6) 35/65 Re-Cross Reversal, Completed-Bar Port on DOT Hyperliquid (DOTUSD.HYPERLIQUID 1-DAY, long-short, 1% close stop, RSI take-profit, 10-day time stop)

Port of "RSI" by Chaos (shinnytech/tqsdk-python demo, Apache-2.0, commit 78c9922), an RSI overbought/oversold re-cross reversal. The strategy and its parameters are the author's; no performance claim is verified.……Show moreShow less

Port of "RSI" by Chaos (shinnytech/tqsdk-python demo, Apache-2.0, commit 78c9922), an RSI overbought/oversold re-cross reversal. The strategy and its parameters are the author's; no performance claim is verified. Platform adaptations: DCE.a2101 (soybean futures, a venue we cannot trade) is replaced with DOTUSD.HYPERLIQUID 1-DAY, the market this seed was already assigned to. The 500-contract fixed size becomes equity-relative sizing. Fills are market orders at the signal bar's close, which is the registry's equivalent of a next-bar-open fill on a 24/7 venue. TWO LABELLED CHANGES FROM THE LITERAL CODE, both needed so the rules can fire at all. (1) Evaluation timing: TqSdk runs its logic when a NEW daily candle appears. At that moment the last candle has only just opened, so 'current_rsi' is read off that forming candle and 'previous_rsi' off the candle that just completed. On a 24/7 market the forming candle's first price equals the previous close. A zero-change bar shrinks both the up and down averages of TqSdk's SMA(x,N,1) RSI by the same factor, so current_rsi always equals previous_rsi and neither cross can ever happen. The previous attempt reproduced this literally and recorded zero trades. This port evaluates on each COMPLETED daily bar instead: current_rsi = RSI at bar N's close, previous_rsi = RSI at bar N-1's close. That is the evident intent of the code (a cross from below 35 to above 35, or from above 65 to below 65, between consecutive daily RSIs). (2) Time stop: the source divides a nanosecond timestamp difference by 86,400. The result therefore passes 10 after about 0.9 ms, and the 'time stop' closes every trade at the next evaluation. The constant name and comment say 10 days, so this port measures holding time in days from position.ts_opened (time_stop_days = 10). The literal one-bar behaviour is still inside the tuning range (time_stop_days = 1). Every other rule is kept exactly as written: RSI period 6, thresholds 35/65, the was_oversold/was_overbought flags with their reset on entry, a 1% stop checked on the bar CLOSE (not intrabar, as in the source), the opposite-zone RSI take-profit, the exit-check order stop -> take-profit -> time, and no re-entry on the bar that exits. Risk-control route (b): signal/stop/time exits with capped sizing at 50% of equity notional, unlevered. DOT's ~4.5% daily std gives about 43% annualised position volatility. Because the stop is checked on the close, a 30% daily gap would cost about 15% of equity, which is the profile's trade-loss cap.

je-suis-tm Heikin-Ashi Backtest port: buy a growing no-upper-wick bearish Heikin-Ashi candle after a bearish one (pyramid up to 3 units), sell everything on a no-lower-wick bullish HA candle after a bullish one (NVDA.USEQ 1-DAY, long-only, next-session-open fills)

Faithful port of "Heikin-Ashi backtest" by Administrator (je-suis-tm/quant-trading, Apache-2.0, commit 611b73f). The source runs on NVDA daily Yahoo bars; we keep NVDA, as NVDA.USEQ 1-DAY (split-adjusted daily history……Show moreShow less

Faithful port of "Heikin-Ashi backtest" by Administrator (je-suis-tm/quant-trading, Apache-2.0, commit 611b73f). The source runs on NVDA daily Yahoo bars; we keep NVDA, as NVDA.USEQ 1-DAY (split-adjusted daily history from 1999). The source's cited rule page (quantiacs.com) returned HTTP 404 and was not read; the rules below come only from the code. HEIKIN-ASHI SERIES (the source's heikin_ashi()): HA_close[n] = (Open+High+Low+Close)/4 of raw bar n. HA_open[0] = raw Open of the first bar; HA_open[n] = (HA_open[n-1] + HA_close[n-1]) / 2. HA_high[n] = max(HA_open, HA_close, raw Low, raw High). HA_low[n] = min(HA_open, HA_close, raw Low, raw High). Compute it recursively in Python floats from bar.open/high/low/close .as_double(), seeded on the first bar the strategy sees. Never round HA values to the instrument price precision. WHY THE PREVIOUS ATTEMPT GOT 0 ENTRIES, AND WHAT THIS CONTRACT CHANGES: the source tests HA_open == HA_high and HA_open == HA_low with exact float equality. Because HA_high is defined as a max that includes HA_open, the equality is the same as HA_open >= max(HA_close, raw High) (and HA_open <= min(HA_close, raw Low) for the exit). This contract writes the conditions in that inequality form, with an optional tolerance whose baseline 0 reproduces the source exactly. It does not tie them to rounded prices or Price objects. Our own count of the raw rule on NVDA.USEQ daily (1999-2026, tolerance 0) gives 822 entry triggers (about 22-46 a year, every year, including ~25 a year in 2015-2017 and 40 in 2022) and 1,895 exit triggers. So the entry fires on this instrument, and a sandbox window of about 950 sessions should show roughly 100 entry triggers. Zero entries in verification means the HA series or the comparison is implemented wrongly (e.g. HA values rounded or quantized, HA_open reseeded every bar, the bull/bear sign reversed, or raw OHLC used in place of HA). It does not mean the rule is rare. This changes no trading rule; it only states the source's equality in a float-safe form. POSITION LOGIC (the source's signal_generation(), stls=3): the source holds 0 to stls 'units'. An entry signal adds one unit only if the units held are fewer than stls. An exit signal sells ALL units held, and is ignored when flat. The entry check comes first (if/elif): a bar that met both sets of conditions would be treated as an entry, but the two cannot both hold, because entry needs a bearish HA candle and exit a bullish one. PLATFORM ADAPTATIONS: (1) Fills: the source fills at the signal bar's close. USEQ has no market-on-close order (same_close_fill unsupported), so every order decided on bar n's close fills at the next session's open (next_open_fill, the platform rule). (2) Sizing: the source buys 100 shares per unit on $10,000. On NVDA in 2015 (~$20 unadjusted) that is about 20% of capital per unit. Because split-adjusted prices make a fixed share count meaningless, each unit is 20% of current account equity (whole shares, floor) at the time of the decision, so the cap is 3 units, about 60% of equity, unlevered. (3) Fees: USEQ zero commission plus the modeled spread/impact. (4) Long-only, as in the source. The plotting, omega, sortino, calmar and mdd code is reporting only and is not ported. The source's performance claims are unverified. RISK CONTROL: route (b), signal-based exit with capped sizing (max ~60% of equity, no leverage). There is no stop-loss, because the source has none and none is invented.

Penny-Jump 'Elephant' Restated for Bars: Trade Alongside a Freshly Posted Resting-Depth Elephant (Binance Vision bookDepth OBI Surge) on SOLUSDT.BINANCE 15m, Exit When the Elephant Is Pulled, 4h Clock, ATR Stop, Long-Short

Derived by the Research Lead from Zero, 'High-frequency trading strategy: Penny Jump' (FMZ forum, 2015-06-06, https://www.fmz.com/bbs-topic/36): the article's mechanism is that a large resting order (an 'elephant')……Show moreShow less

Derived by the Research Lead from Zero, 'High-frequency trading strategy: Penny Jump' (FMZ forum, 2015-06-06, https://www.fmz.com/bbs-topic/36): the article's mechanism is that a large resting order (an 'elephant') reveals a participant's intent, so a trader positions on the elephant's side one tick ahead of it and uses the elephant as a backstop, leaving quickly if the support disappears; the article adds that elephants are often decoys pulled before they trade. The literal one-tick penny jump is NOT testable here: it earns ~0.01% per trade against a 0.04-0.10% round trip and relies on queue priority / sub-second cancels (capability queue_or_latency_edge is unsupported). This operationalization keeps the information claim and moves it to a horizon that can clear fees. RETRY NOTE (labelled change): a previous contract on the same seed (SOLUSDT.BINANCE 15m, fade a PULLED wall only when price stayed flat for an hour) produced 0 entries over 19,700 sandbox bars because it stacked a k-sigma pull with a flat-price condition. This version keeps the same instrument, timeframe and data source but triggers on the elephant's APPEARANCE (a one-sided surge of resting depth), which on the 2023-01..2026-06 SOL bookDepth history occurs about 180 times/year at |z|>=3.0 and about 400/year at |z|>=2.5 (firing-rate count only, no returns examined; about 50 events at z=3.0 and 120 at z=2.5 fall inside the 2026-03-15..2026-06-26 part of a recent sandbox window), and uses the article's decoy warning as the EXIT (elephant pulled -> leave). DATA: supplementary key `book_depth` (Binance Vision bookDepth for SOLUSDT, resting notional in the +/-1..5% bands, ~30 s snapshots aggregated by the loader into a per-minute obi = (bid_notional - ask_notional)/(bid_notional + ask_notional), keyed at minute end; history 2023-01-01 to 2026-06-26, daily Vision updates thereafter). Read it only with supp_as_of / supp_window (point in time). SIGNAL on each 15-MINUTE bar close: obi15 = mean of the minute obi values inside the bar (ignore minutes with |obi| > 0.9 as snapshot glitches; if fewer than 5 valid minutes or the newest obi is older than 30 minutes, the signal is undefined and no entry is allowed). base = mean of obi15 over the previous `base_bars` bars (excluding the current bar). delta = obi15 - base. z = (delta - mean(delta over the last `z_window` bars)) / std(delta over the last `z_window` bars), requiring at least half of z_window valid values. A BID ELEPHANT event is z crossing up through +z_entry (z >= z_entry and the previous bar's z < z_entry); an ASK ELEPHANT event is z crossing down through -z_entry. EXECUTION: market orders at the signal bar's close (the faithful equivalent of a next-bar-open fill on this 24/7 venue, per the capability registry). Risk route (a): an intrabar protective stop (reduce-only stop-market, matched inside the bar by the platform's simulated venue; live mirrors the fills - no exchange-resting order is required) at stop_atr x ATR(14 bars) from entry; size so that the loss at the stop is risk_pct = 1.0% of equity, with notional capped at 1.3x equity (leverage config 2.0; 1.3x SOL is ~110% annualized position volatility, inside the 120% conservative cap). Single netted position, long-short, flat most of the time.

SOL 15-Minute Polymarket Up/Down Fair-Value Lag: Price the Binary From the Binance SOL Perp's Move Since the Window Open and Its Realized Vol, Buy the UP Token Only When Expected Value Net of the Polymarket Taker Fee and Spread Clears a Threshold, Hold to Settlement (POLYMARKET sol-updown-15m + SOLUSDT.BINANCE 1-MINUTE signal leg)

Original Research Lead hypothesis (archetype 1 of the prediction-market playbook: crypto signal to binary pricing). Polymarket lists a new 'Will SOL be up over the next 15 minutes?' binary every 15 minutes (series……Show moreShow less

Original Research Lead hypothesis (archetype 1 of the prediction-market playbook: crypto signal to binary pricing). Polymarket lists a new 'Will SOL be up over the next 15 minutes?' binary every 15 minutes (series sol-updown-15m). It resolves UP if the SOL price at the window's end is at or above the price at its start. Once a window has run for a few minutes, its fair probability is close to a closed-form function of two numbers we hold at 1-minute resolution from Binance: the log move of SOL since the window opened and SOL's short-horizon realized volatility. Under a driftless random walk, P(UP) = Phi( ln(S_t / S_0) / (sigma_1m * sqrt(tau)) ), where S_0 is the SOLUSDT.BINANCE perp 1-minute close at the market's start_ns, S_t is the latest closed perp 1-minute bar, tau is the minutes left to resolution and sigma_1m is the EWMA standard deviation of 1-minute log returns over the trailing vol_lookback_min minutes, floored at 0.0005. The hypothesis is that the retail-dominated 15m binary book reprices more slowly than the Binance perp, which leads crypto price discovery. When SOL has moved decisively within the window, the UP token's last price still lags the fair probability by more than the fee and spread. We buy the UP token and hold it to settlement. Settlement is free, so the taker fee is paid only once. Long-only by construction: the venue is CASH, and 'betting DOWN' would be the complement series, which this test deliberately leaves out to keep a single pre-registered series. Instruments: the tradeable series is expanded by PolymarketSeriesStrategy from the spec {series: 'sol-updown-15m', outcome: 'Up', lookback_days: 60}. The placeholder instrument is SOL-UPDOWN-15M-0-UP.POLYMARKET; the bar type is its 1-MINUTE-LAST-EXTERNAL. SOLUSDT.BINANCE 1-MINUTE bars are listed in extra_instruments as the signal source only and are never traded. Data age: collection began 2026-08-13. The catalog holds resolved SOL 15m markets from 2026-08-12 to 2026-10-17 (about 66 days, about 6,000 markets), so lookback_days 60 can be filled. Venue and corpus choice: POLYMARKET has 2 of 4,834 experiments, and both prior Polymarket runs ended data_unavailable before any trade, so this mechanism has never been measured here. SOL is used instead of BTC to avoid the BTC-heavy corpus. The design is cross-venue (POLYMARKET + BINANCE), short-horizon (1-minute bars, holds of 15 minutes or less), event-driven, and uses no supplementary feed. It is materially different from the two data-blocked predecessors. The BTC 1H near-expiry harvest and the 15m late-window near-certainty harvest both bought only the favored side in the final minutes. This rule trades mid-window (minutes 3 to 10 of 15), at any probability in a bounded band, gated on fee-adjusted expected value rather than on near-certainty. Fee arithmetic (rate 0.07 on crypto up/down): buying at price p costs 0.07 x (1 - p) per dollar staked (2.8% at p = 0.60, 1.75% at p = 0.75), plus about 0.5% half-spread on entry; there is no exit fill. The expected return per dollar is (q - p) / p, where q is the model fair probability. Entry requires (q - p) / p - 0.07 x (1 - p) - 0.005 >= min_net_edge (baseline 0.05). For example, at p = 0.60 that means q >= 0.66; at p = 0.75 it means q >= 0.80. If half of the modelled gap is real, the realized net per trade is about +2.5% to +4% of stake. That is well above the roughly 1% round trip a spread-dominated binary venue costs.

Spot Gold Off-Calendar Liquidity-Shock Absorption: Buy a >=k-Sigma 1H Down-Bar in XAUUSD.SPOTMETAL That Occurs OUTSIDE the US Macro-Release Window, Fixed 18-Hour Clock Exit, Intrabar ATR Stop (1-HOUR, long-only event trade, flat ~90% of the time, pure OHLCV)

Original Research Lead hypothesis. It moves the factory's best-surviving event shape (lesson L224/L230: buy a volatility-defined DOWN-shock, flat most of the time, exit on a fixed clock) off crypto onto spot gold,……Show moreShow less

Original Research Lead hypothesis. It moves the factory's best-surviving event shape (lesson L224/L230: buy a volatility-defined DOWN-shock, flat most of the time, exit on a fixed clock) off crypto onto spot gold, where it has never been tested. It adds one gold-specific filter that separates liquidity shocks from information shocks. On XAUUSD.SPOTMETAL 1-HOUR bars (Dukascopy mid, history from 2003), a shock bar is a bar whose close-to-close log return is <= -k x sigma, where sigma is the standard deviation of the trailing N 1H returns (session bars only; the 17:00-18:00 NY break and weekends are closed market, not bars). The shock must ALSO fall OUTSIDE the scheduled US macro-release window: it must not close between 08:00 and 11:00 America/New_York on a weekday, or between 14:00 and 15:00 NY on any day, which covers 08:30 data, 10:00 data and 14:00 FOMC statements. Those slots carry real information, and the factory already tests continuation there (the Spot Gold US 08:30 ET Data-Slot Shock Continuation run). It must also not close in the first bar after the Sunday 18:00 reopen, because a weekend gap is a different mechanism. The remaining shocks hit in the thin Asian hours, at the London open or late in the US afternoon. Gold has no circuit breakers and large stop clusters below round numbers, so these drops are mostly forced liquidations and stop runs through thin books (e.g. the Aug 2021 Asian flash crash, Apr 2013 is the counter-example) that institutional buyers absorb within hours to a day. Entry is a market order decided at the shock bar's close. SPOTMETAL is a session venue, so the platform fills it at the NEXT 1H bar's open (next_open_fill, supported). Exit is on a fixed clock 18 session bars after entry, with an intrabar protective stop (stop_market, reduce-only, supported on session venues): a session that opens through the stop fills at that open. Cost arithmetic: the median 1H gold return std is about 0.18%, so a k=3 shock is a drop of about 0.55% or more, and half of the 1H ATR is about 0.1%. Capturing a third of the shock as retracement gives about 0.18% gross. Costs are a spread of about 0.015% round trip plus long overnight financing of about (fed funds + 2.5%)/365, roughly 0.012-0.02% for one 17:00 crossing (x3 on Wednesday). The net is about 0.15% per trade, roughly 5x the cost. Firing rate: gold 1H returns are fat-tailed, so 3-sigma down-bars outside the release window should occur about 25-50 times a year, roughly 500-1,000 events over 2003-2026, comfortably above the ~10/yr verification floor. Pre-registered benchmark (L170/L224): the analyst should compare the mean 18-bar forward return after a qualifying shock with the unconditional mean 18-bar long return on gold over the same span (gold's secular drift is about +0.03%/day). The claimed edge is the INCREMENT over that drift, and the in-window shocks (the ones excluded) serve as a placebo that should show no reversal or show continuation. Risk route (a): the stop sits stop_atr_mult x ATR(14, 1H) below the fill, and notional is sized so the stop loses risk_pct = 1% of equity. Typically that means a 0.6% stop distance and about 1.7x notional, capped at 3x equity. Gold's daily std is about 1.0%, so 3x is about 57% annualized position volatility, inside the 120% cap and the 5x leverage cap. The liquidation buffer at the 20x venue margin is far more than 8 daily moves. Only one position is open at a time, and a new shock during a live trade is ignored.

Compression-Trap Reversal, Cross-Asset-Class Breadth Test on US Equity ETFs: Buy the Failed Downside Break of an NR7 Day on SPY/QQQ/IWM/DIA + 9 Select Sector SPDRs, Next-Session-Open Entry, Fixed 3-Session Clock (USEQ 1-DAY, long-only event panel, flat most of the time, pure OHLCV)

Original Research Lead hypothesis: an out-of-asset-class replication of the NR7 failed-downside-break reversal that the factory has promoted on four independent crypto universes (Bybit perps 742 trades avg 0.99%, OKX……Show moreShow less

Original Research Lead hypothesis: an out-of-asset-class replication of the NR7 failed-downside-break reversal that the factory has promoted on four independent crypto universes (Bybit perps 742 trades avg 0.99%, OKX swaps 940 trades avg 1.11%, Binance spot, Hyperliquid 413 trades avg 1.10%; lesson L227). Every one of those tests is crypto, so they share one market's microstructure; this run freezes the pattern and the 3-day exit and asks whether the mechanism (stops parked under a quiet-day low get run, the break fails, trapped breakout-sellers cover) also exists in US index and sector ETFs, where short-horizon reversal is independently documented (Lehmann 1990; Connors & Alvarez index-ETF pullback studies) and execution is commission-free. Universe (fixed, no survivorship issue: all ETFs listed throughout, no delistings): SPY, QQQ, IWM, DIA, XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY on USEQ daily bars (XL* since Dec 1998, QQQ 1999, IWM 2000), ~25 years. Each name is evaluated independently on its own daily bars; the primary instrument is SPY and the other twelve are extra_instruments with their own 1-DAY bar types. Pattern, per name: day N-1 is an NR7 day (its high-low range is the smallest of the last 7 completed sessions including itself); on day N the low trades strictly below the NR7 day's low but day N closes at or above the NR7 day's low (failed downside break). Entry: market BUY decided at day N's close, filled at the NEXT SESSION's open (platform next_open_fill on USEQ, supported). Exit: market SELL decided at the close of the 3rd session held, filling at the following open (i.e. a 3-session clock, same as the crypto panels' 3-day clock). No stop in the source pattern; risk control is route (b): time exit plus capped sizing (12% of equity per leg, at most 6 concurrent legs = 72% gross, unlevered). A signal on a name that is already held is ignored (no pyramiding, no clock reset). Long-only by design: lesson L230 warns that the mirror short arm of absorption events failed in crypto, and no fixed-rule measurement of a short arm on these ETFs exists, so it is not included. Cost arithmetic: USEQ round trip ~0.02-0.05% (spread+impact, zero commission); a 3-session ETF holding has a ~2.5-3% standard deviation, unconditional drift ~+0.1%; the documented short-term reversal after a washed-out close-location day suggests a conditional mean of ~+0.3-0.4% per trade, i.e. 6-10x the round-trip cost. Predicted firing rate: NR7 ~1 in 7 sessions, a failed downside break the next day ~15-20% of those, so ~5-7 events per name per year, ~1,500-2,000 trades over the history, flat ~92% of the time per name. Drawdown comparison (lesson L224/L170): buy-and-hold SPY drew down ~55% in 2008-09; this panel is in the market a small fraction of the time and should stay under ~15%. Tags this run as breadth evidence: if the pattern works only in crypto, this test should fail, and that is informative.

Hyperliquid Daily Volume-Confirmed Down-Shock Absorption Panel: buy a Hyperliquid perp at the close of a <=-2.5-sigma, >=1-sigma-volume UTC day, fixed 2-day clock, 22 point-in-time names, max 8 concurrent at 8% each (HYPERLIQUID 1-DAY, long-only event trade, flat most of the time)

Original Research Lead hypothesis, run as an event-plus-clock liquidity-provision panel on HYPERLIQUID perps, 1-DAY bars, pure OHLCV with no supplementary feed. HYPERLIQUID holds 13.4% of the corpus against a 20%……Show moreShow less

Original Research Lead hypothesis, run as an event-plus-clock liquidity-provision panel on HYPERLIQUID perps, 1-DAY bars, pure OHLCV with no supplementary feed. HYPERLIQUID holds 13.4% of the corpus against a 20% target. Daily HL candles have full history; the real traded history (non-zero volume) starts around 2023-03, so about 3.5 years. Mechanism: a UTC day that closes with an unusually large drop on unusually high volume is dominated by forced and impatient sellers: HL cross-margin liquidations and auto-deleveraging, stop cascades, and leveraged retail de-risking. Price-insensitive selling pushes the close below where discretionary liquidity will clear, and a patient buyer is paid by a partial rebound over the next 1-3 days. This is the long-side absorption design that lessons L224 and L230 record as working (Bybit spot 4H panel, LINK Bybit 1H, FIL burst). It differs from the promoted HL NR7 downside-reversal panel: the trigger is a volatility-scaled return shock confirmed by volume, not a narrow-range compression trap. No short arm is proposed (L230). UNIVERSE (point in time, fixed before any return was examined): BTC, ETH, SOL, DOGE, AVAX, LINK, LTC, BCH, ATOM, DOT, ADA, XRP, NEAR, APT, ARB, OP, INJ, SUI, UNI, AAVE, TIA, SEI on HYPERLIQUID. These are large, long-listed HL perps. A name is eligible on a given day only when is_listed() is true AND it has at least `lookback` prior daily bars with volume > 0 (bars with zero volume are pre-listing filler and are ignored for the statistics and for entries). So later listings (APT, ARB, SUI, TIA, SEI) join only once they have their own history. Execution substitution (capability next_bar_open_fill = use_equivalent): entries and exits are market orders at the signal bar's close, which on this 24/7 venue is the next bar's open. POINT-IN-TIME PRE-STUDY (Research Lead, local catalog HL 1-DAY, rolling stats from past bars only, entry at the signal close, 0.12% round trip charged = 0.09% fee + slippage): shock_z <= -2.5, volume_z >= 1.0, 60-day lookback, non-overlapping per name. 2-day clock: 251 events, mean net +2.72% per event, median +2.10%, win rate 64%, positive mean every year (2023 +4.3%, 2024 +2.7%, 2025 +2.9%, 2026 +1.8%). 3-day clock: 247 events, mean +3.35%, but 2026 only +0.1%. 5-day clock decays to +1.2% with 2026 at -3.7%, so the rebound lives in the first 2-3 days. A portfolio at 8% per leg with at most 8 concurrent: 2-day clock 195 trades, total +30%, calendar Sharpe 0.75, max DD 9.3%; 3-day clock 192 trades, +37%, Sharpe 0.78, DD 12.9%. Without the cap, crash days fire on up to 22 names at once (DD 17-28% at 10% per leg), which is why the cap is part of the rule. CONTROLS that shaped the design: a BTC-beta-hedged version (long alt / short beta x BTC), with either a raw or a residual shock trigger, cut the mean to +0.9-1.4% and turned 2026 negative. So the premium is mostly the market-wide crash rebound and is NOT hedged away; the strategy is long-only and its drawdown sits in sustained bear legs. Weak spot to watch: 2026 YTD is roughly flat to slightly negative in the capped portfolio (-1.4% at 2 days), so the edge may be decaying.

QuantRocket DemoMLStrategy port: pooled 25-horizon return features, numpy logistic 'beats the cross-sectional median over 22 open-to-open days' classifier, hold the top-3 probabilities, monthly equal-weight long-only rebalance at the next session open (USEQ 1-DAY, 9 Select Sector SPDRs)

Derived by the Research Lead from "DemoMLStrategy" by QuantRocket (quantrocket) https://github.com/quantrocket-codeload/moonshotml-intro/blob/2b3a8e382c2d4d7eb8da02eb8bc82fa165c684f4/intro_moonshotml/demo-ml.py: Kept……Show moreShow less

Derived by the Research Lead from "DemoMLStrategy" by QuantRocket (quantrocket) https://github.com/quantrocket-codeload/moonshotml-intro/blob/2b3a8e382c2d4d7eb8da02eb8bc82fa165c684f4/intro_moonshotml/demo-ml.py: Kept from the source: the 25 return-horizon features, the 22-day open-to-open beats-the-median target, predict_proba ranking, TOP_N=3, the month-end signal carried forward, equal weights, next-open entry and open-to-open returns. Chosen by us: a numpy L2 logistic model (the source leaves the model open), an expanding walk-forward with annual refits, the 9 Select Sector SPDRs in place of QuantRocket's free stock sample, and USEQ costs. Port of QuantRocket's Apache-2.0 'DemoMLStrategy' (moonshotml-intro/demo-ml.py, credit QuantRocket LLC) onto USEQ daily bars. The source's rules are kept as written; four things are adapted and named here. (1) UNIVERSE: the source runs on 'usstock-free', QuantRocket's small free sample of US stocks. A fixed list of today's large-cap stocks would add survivorship bias, so the port uses a small universe that has no survivorship problem: the nine original Select Sector SPDR ETFs (XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY), all listed since Dec 1998 and none ever delisted. They are US-listed, Open/Close daily bars, and TOP_N=3 of 9 keeps the source's 'hold a few of a small universe' shape. (2) MODEL: the source does not define the model. MoonshotML uses whatever scikit-learn classifier the user supplies and calls predict_proba. sklearn is not importable in our sandbox, so the developer writes a pooled L2-regularised LOGISTIC REGRESSION in numpy (features z-scored on the training set, fit by IRLS or gradient descent). This is the standard probabilistic classifier, a free choice registered as a parameter. (3) WALK-FORWARD TRAINING: the source's training schedule lives outside the file, in ml_walkforward. We use an expanding window: first fit after min_train_bars=756 sessions of labelled samples, then refit every retrain_months=12 months. Each refit uses only samples whose 22-day label is fully known at the refit close. The source quirk of filling the newest 22 unlabelled rows with 0 is dropped: the port drops those rows instead, because it would otherwise train on fabricated labels. (4) COSTS: the source charges USD 0.005 per share. USEQ is commission-free with modeled spread and impact, which is about 0.5-1 bp per side on these ETFs, roughly what the source charges. Execution: the source decides on day t's close, weights.shift() enters on day t+1, and returns run open-to-open. That is exactly the platform's supported next_open_fill on a session venue: a market order decided on bar t's close fills at the next session's open, so no substitution is needed. Per-trade arithmetic: the median one-month gap in return between the best and the median sector ETF is about 2-3%. If the classifier captures even 10-15% of that spread on the names it picks, that is about 0.3-0.5% per holding-month, against a USEQ round trip of about 0.04%, more than 7x cost. Risk control route (b): signal-based exit at the monthly rebalance, unlevered, each position 1/3 of equity (100% gross, no single position above 33%). The source has no stop and none is invented. This is a long-only, fully invested sector book. A 2008- or 2020-style market drawdown hits it in full, so the predicted drawdown is set honestly near the cap. Prior art: the KitchenSink ML ridge port and the UpMinusDown momentum port are different QuantRocket files. This is the first test of the demo-ml classifier.

pinkfish Follow-Trend (Farrell Aultman), faithful port: buy when the daily close is above its 200-day SMA while the S&P 500 (^GSPC) closes above its own 200-day SMA; sell on a close below the SMA or when the S&P regime turns negative. Applied separately to 8 US index/asset ETFs, equal 1/8 sleeves, next-open fills (USEQ 1-DAY, long-only)

Faithful port of the open-source pinkfish example 'follow-trend' by Farrell Aultman (MIT, github.com/fja05680/pinkfish, examples/strategies/follow-trend/strategy.py). Credit goes to the author. Any performance the……Show moreShow less

Faithful port of the open-source pinkfish example 'follow-trend' by Farrell Aultman (MIT, github.com/fja05680/pinkfish, examples/strategies/follow-trend/strategy.py). Credit goes to the author. Any performance the source claims is unverified; our backtest with real costs decides. SOURCE RULES (kept exactly): per security, on each daily bar: sma = SMA(close, sma_period=200); upper_band = sma*(1+percent_band/100); lower_band = sma*(1-percent_band/100), with percent_band=0 so both bands equal the SMA. regime = pinkfish CROSSOVER(^GSPC, fast=1, slow=200): positive when the S&P 500 index close is above its 200-day SMA, negative when it is below. SELL first: if long and ((use_regime_filter and regime<0) or close<lower_band or last bar of data), sell the whole position. Otherwise, if flat: BUY if (regime>0 or not use_regime_filter) and close>upper_band. The source runs one symbol per Strategy instance, each instance putting all of its own capital in that symbol ('applied separately to several securities'); balances are recorded after each bar. Bars with NaN indicators (the first 200 days) are dropped, so no trading happens before both SMAs exist. PLATFORM ADAPTATIONS (only venue, instrument, sizing, fees, execution): (1) Execution: pinkfish fills at the signal bar's close. Our session venue cannot fill at the deciding bar's close (registry: same_close_fill unsupported); every decision made on a daily close fills as a market order at the NEXT session's OPEN (next_open_fill, supported). This is the documented substitution and is the only change to the timing. The edge claimed is a multi-month trend, not an overnight return, so the test is still meaningful. (2) Universe: 'several securities' is a free choice in the source. We use 8 long-history, survivorship-free ETFs, each run as an independent sleeve: SPY, QQQ, DIA, IWM, EFA, EEM, TLT, GLD (all .USEQ). (3) Regime source: the source fetches ^GSPC; we read ^GSPC.USEQ 1-DAY bars as a signal-only extra instrument (never traded). Regime is evaluated on the same session date as the traded bar; if the ^GSPC bar for that date is missing, keep the previous regime value. (4) Sizing: each sleeve stands for the source's separate account: at entry, buy whole shares worth 1/8 (12.5%) of current account equity at the decision close price; no leverage (gross at most 100%), no pyramiding, one position per symbol. (5) Prices: our USEQ bars are split-adjusted and dividends are not in PnL; the source default use_adj=False uses unadjusted prices. Split-adjustment is a needed change (unadjusted splits would fake crossings); the missing dividends are a known understatement for TLT/SPY and the like. (6) Costs: USEQ zero commission plus modeled spread/impact (~0.02-0.05% RT). (7) The 'end of data' sell becomes: close every open position on the final bar of the backtest window (the platform's window-end flattening is equivalent). Risk control is route (b): signal exits (close below SMA, S&P regime turns negative) plus capped sizing (12.5% per position, at most 100% gross); the source has no stop and none is added.

ETH Spot Constant-Mix Volatility Harvest (FMZ 'Balance Strategy', wide-band): Hold 25% ETH / 75% USDT, Rebalance Back to Target Only When the ETH Weight Drifts Outside +/-2.5pp, Long-Only, No Leverage

Taken from the FMZ digest '平衡策略与网格策略详解' by 小草 (2020). The article gives two mechanisms, and we keep only the BALANCE (constant-mix) strategy. It holds a fixed value share of the coin, sells coin when that share goes……Show moreShow less

Taken from the FMZ digest '平衡策略与网格策略详解' by 小草 (2020). The article gives two mechanisms, and we keep only the BALANCE (constant-mix) strategy. It holds a fixed value share of the coin, sells coin when that share goes above target and buys when it falls below, so it always sells strength and buys weakness and cannot run out of range. We drop the GRID strategy for three reasons: its range (8000 +/- 3000) is picked with hindsight around the current price, it stops working once price leaves that range, and it did worse than the balance strategy on the article's own profit/turnover measure. We change two things from the article. First, the band is widened from 1pp to +/-2.5pp of weight, so each rebalance needs a ~13% move instead of ~2%; at 0.20% round-trip cost on spot, 1pp sits close to the fee floor. Second, the target weight is cut from 50% to 25%, which keeps the drawdown in a -80% ETH bear at about -35% instead of about -50%. The book trades ETHUSDT.BINANCE_SPOT on 4h bars. ETH is used instead of the article's BTC because BTC is over-concentrated in the corpus, ETH is the most liquid non-BTC spot book, and ETH's higher variance makes the harvest larger. The mechanism without its wrapper is: constant-proportion rebalancing of one volatile asset against cash, with a no-trade band. There is no gate, no indicator and no supplementary feed. It is never flat in the coin (22.5-27.5% ETH at all times), but it opens no new trade on about 95% of bars. There are no sign flips, and fee drag is about 0.08% of equity per year. Honest caveat: the calendar Sharpe is mostly the 25% ETH beta, and a static 25/75 hold should be reported alongside it as the benchmark.

OKX Idiosyncratic Capitulation Absorption, BTC-Beta-Hedged: long an OKX alt swap + short beta-weighted BTCUSDT.OKX after a <=-2.5-sigma 24h BTC-residual selloff on >=1.5x normal dollar volume, fixed 24h clock (14 pre-2021 OKX USDT swaps, 4H, pure OHLCV, market-neutral, flat ~95% of the time)

Cross-sectional, event-driven, market-neutral (long alt / short BTC) strategy on OKX USDT perpetual swaps, 4-HOUR bars, OHLCV only, no supplementary feed. Universe (fixed before any return was examined): the 14 OKX……Show moreShow less

Cross-sectional, event-driven, market-neutral (long alt / short BTC) strategy on OKX USDT perpetual swaps, 4-HOUR bars, OHLCV only, no supplementary feed. Universe (fixed before any return was examined): the 14 OKX swaps with continuous 4H history starting before 2021-01-01: ETC, BCH, DOT, LINK, ATOM, AAVE, UNI, XLM, ALGO, FIL, LTC, SUSHI, CRV, COMP (all <BASE>USDT.OKX), plus BTCUSDT.OKX as the hedge leg. Point-in-time rule: a name can trigger only after it has 180 completed 4H bars (30 days) of its own history at that bar. Use is_listed()/universe_at() so a leg that stops trading is never entered (OKX keeps no delisted swaps, a known residual survivorship limit: say so in the report). Mechanism, with instrument removed: when one coin sells off hard relative to what BTC explains, and does so on a burst of traded value, the selling is a coin-specific forced/impatient flow (single-name liquidation chains, unlock or treasury dumps, a large holder exiting). Liquidity providers who absorb it demand a premium, so the coin's BTC-residual price partly reverts over the next ~half day to a day (the immediacy premium of Grossman-Miller 1988 / Nagel 2012, measured on the idiosyncratic component). Hedging with BTC strips out the market-wide crash/rebound component, so the trade is a bet on the residual only and is long-short. Why this test is distinct from what the factory already holds: the promoted 'Spot-Led Idiosyncratic Alt Selloff Rebound' (Binance USD-M) requires a spot-led confirmation and the Bybit volume-share version requires a Bybit venue-share spike plus cross-venue Binance bars. This one asks whether the plain residual-shock + volume-climax absorption exists on a third venue with one venue's data alone, which is also the no-confirmation baseline lesson L214 asks for. Venue OKX is 3.5% of the corpus (target >=5%) and long-short is 24% (target >=45%). The factory's OKX 4H aggressor-burst CONTINUATION panel on 12 of these same names lost -0.71% per trade over a 24h hold (464 trades), which is consistent with reversal rather than continuation after one-sided bursts on these swaps; only the long (fade-the-down-shock) arm is traded here because lesson L230 says the short arm of absorption must be measured separately and the long arm is the one with survivors. Pre-registered fixed-rule measurement (Research Lead pre-study, OKX 4H catalog 2020-2026, rules exactly as below, gross of costs, hedged forward log return of alt minus beta x BTC, one event per name per hold window): z<=-2.5 and volume ratio>=1.5 gave 625 events, mean +0.47%, median +0.31%, hit rate 53.8% at a 24h hold; 867 events, mean +0.50% at 12h; mean turns negative by 48-72h (idiosyncratic losers keep losing at longer horizons, so the clock must stay short). Per-year means at 24h: 2020 +1.39%, 2021 +1.87%, 2022 +0.36%, 2023 -0.59%, 2024 +0.26%, 2025 +1.48%, 2026 YTD +0.11%: positive in 6 of 7 years but uneven, 2023 is negative. This sets the arithmetic, not acceptance. Cost arithmetic: alt leg round trip 0.10% (OKX taker 0.05% x 2), BTC hedge leg beta (median ~1.0) x 0.10%, so about 0.20% of alt notional per event, plus funding over 24h (small, sign varies). Gross capture ~0.47% -> net ~0.27% per event on alt notional, about 2.3x the cost. Because the platform measures avg_trade_return_pct per closed position, and the hedge leg is its own position with near-zero expected return, the measured per-position average will be roughly half the per-event net (~0.13-0.18%); the analyst should read the per-event (paired) figure as the economic test. Execution: decisions on the 4H bar close; orders are market orders at that close, which on a 24/7 venue is the faithful equivalent of the next-bar-open fill (substitution stated). The protective stop on the alt leg is an intrabar protective stop (reduce-only stop-market matched by the platform inside the bar in backtest and paper; live mirrors the fills), not an exchange-resting order; when the alt stop fires, the hedge leg is closed at the same bar's close. Hedge positions on BTCUSDT.OKX are NETTED across concurrent events (one net short BTC position = sum of each open event's beta x alt notional), adjusted on each entry/exit; this is the net-exposure equivalent of per-event hedges (hedge_mode is unsupported, and only net exposure is needed). Check legs_balanced() after each adjustment.

Compression-Trap Reversal Off-Crypto: Buy Spot Gold's Failed Downside Break of an NR7 Day, Fixed 3-Session Clock (XAUUSD.SPOTMETAL 1-DAY, long-only event trade, flat ~85% of the time, 2003-2026)

This is an out-of-asset-class replication of the factory's most-replicated promoted mechanism, with the rules frozen. The failed downside break of an NR7 day with a fixed three-day exit was promoted on Bybit perps (742……Show moreShow less

This is an out-of-asset-class replication of the factory's most-replicated promoted mechanism, with the rules frozen. The failed downside break of an NR7 day with a fixed three-day exit was promoted on Bybit perps (742 trades, PF 1.39, average trade 0.99%), OKX swaps (940 trades, PF 1.39, 1.11%), Binance spot and Hyperliquid (413 trades, PF 1.47, 1.10%). All four are crypto alt panels. They share one market structure (retail leverage, stop clusters under obvious range lows) and their price series are highly correlated, so they do not show whether the effect is a general stop-run/liquidity phenomenon or something peculiar to crypto alts. Spot gold is a separate price series, macro-driven and traded on a different session structure. It has about 23 years of daily history (Dukascopy, from 2003), which by itself is four times the crypto panels' span, and it is almost untouched in the corpus (SPOTMETAL is 0.3% of experiments). No NR7 test has ever run on gold. Rules, unchanged from the crypto panels: an NR7 day is a trading day whose high-low range is the narrowest of the last 7 trading days, itself included. If the NEXT trading day closes below the NR7 day's low, buy at that session's close decision. The position is held for exactly 3 trading days and then closed. No stop, no target, no trailing; one position at a time; events that fire while a position is open are ignored. Session handling: a gold trading day runs from 18:00 New York (previous day) to 17:00 New York; the 1-DAY bar's timestamp is that 17:00 close. Weekends and the daily 17:00-18:00 break are closed market, not gaps. Execution is the platform's session-venue next_open_fill rule (supported): a decision made on a daily bar's close fills at the next session's open (18:00 NY, one hour later), and the 3-day exit decided on the third holding day's close fills at the following session's open. No substitution is needed. Each held night pays the modeled overnight financing (long pays fed funds + 2.5%/yr, Wednesday counted as 3 days), and the arithmetic below includes it. Event-count pre-registration (lesson L223/L227 discipline): only 2003-05 to 2007-12 is in the local catalog so far (the Dukascopy backfill is in progress; the rest is collected on demand). That window has 48 qualifying events, about 10.4 per year, so the full 2003-2026 history should yield about 230-240 events. Arithmetic: gold's daily std is about 1.0-1.1% against about 4-5% for the crypto alts. Scaling the crypto panels' about 0.22 daily-sigma capture per trade gives about 0.22-0.25% gross per trade on gold. Costs per round trip: about 0.015% spread, plus financing over about 3.6 nights on average (Wednesday triple). Financing is about 0.03% in the low-rate years (2009-2015, 2020-2021) and about 0.065% at 4% fed funds, so total cost is about 0.05-0.08%. Expected net is about 0.15% of notional per trade, roughly 2.5-3x the cost. Sizing: 1.5x equity notional per event on the 20x-margin venue. Position volatility is about 1.5 x 17% ≈ 26% annualized, well inside the 120% cap. A worst historical 3-day gold drop of about 8-9% (2013, 2020) costs about 12-13% of equity, inside the 15% max-trade-loss limit. The book sits about 50 daily moves from liquidation at 20x margin. The strategy is flat about 85% of the time, so realized strategy volatility is about 10%. Risk route: signal/time exit (fixed 3-session clock) with risk-profile sizing (conservative profile: 1.5x ≤ 5x cap). No stop is invented, because the source mechanism has none. Long-only on purpose: lesson L230 warns that the mirrored short arm of absorption/trap designs has not worked and needs its own measurement first. The analyst should also read the result against the buy-and-hold drawdown comparison from lesson L224/L170: gold's buy-and-hold drawdown since 2011 is about 45%, against a pre-registered 15% here.

Cross-Venue Volume-Drought Reactivation: XLM/TRX/ADA Hyperliquid Event Continuation

Derived by the Research Lead from MUQWISHI Volume Speed: test whether synchronized participation returning after a volume drought predicts a multi-day directional move. Source:……Show moreShow less

Derived by the Research Lead from MUQWISHI Volume Speed: test whether synchronized participation returning after a volume drought predicts a multi-day directional move. Source: https://www.tradingview.com/script/ZMdZlGaJ-Volume-Speed-By-MUQWISHI/ . The locally archived source was read; its live one-second display is not reproduced. This operationalization uses completed 4-HOUR bars, historical quote-turnover acceleration and a fixed 48-hour holding clock. Trade three Hyperliquid perps independently; corresponding Bybit perps are signal-only. Market orders at the signal-bar close are the registered equivalent of next-bar-open execution on continuous markets. Use only shared available history, with no synthetic extension of Hyperliquid history.

Hyperliquid Low-Participation Impulse Drift: Six-Asset Event Panel

Derived by the Research Lead from Lee and Swaminathan, Price Momentum and Trading Volume: test whether multi-day price displacement on unusually low participation predicts delayed directional adjustment in crypto……Show moreShow less

Derived by the Research Lead from Lee and Swaminathan, Price Momentum and Trading Volume: test whether multi-day price displacement on unusually low participation predicts delayed directional adjustment in crypto perpetuals. Source: [publisher abstract](https://doi.org/10.1111/0022-1082.00280). Only the abstract was consulted; it establishes a volume–momentum interaction in equities, not this symmetric crypto rule. Trade six Hyperliquid perps independently on synchronized 4-HOUR bars, entering only at a fresh qualifying event and otherwise remaining flat. This is not a continuous cross-sectional ranking, a high-volume shock reversal, or a low-volume pullback after a prior high-volume impulse. Market orders execute at signal-bar closes, the capability registry equivalent of next-bar-open execution on continuous venues. Intrabar protective stops are platform-matched. Use full available overlapping history, respecting the roughly 5000-candle Hyperliquid limit; do not claim prelisting or synthetic history.

FMZ Close-Reanchored ATR Brackets: Six-Asset Hyperliquid Supertrend Panel

Derived by the Research Lead from ChaoZhang’s Dynamic Optimized Supertrend Trading Strategy (https://www.fmz.com/strategy/455364), whose archived full text and Pine code were read: test fresh Supertrend flips with the……Show moreShow less

Derived by the Research Lead from ChaoZhang’s Dynamic Optimized Supertrend Trading Strategy (https://www.fmz.com/strategy/455364), whose archived full text and Pine code were read: test fresh Supertrend flips with the source’s unusual close-reanchored ATR stop and target, rather than a fixed-entry bracket or a monotonic trailing stop. Independently trade BCH, LTC, UNI, AAVE, ETC and COMP Hyperliquid linear perpetuals on synchronized 4-HOUR bars. Adaptations are the venue, six-name panel, 4-hour interval and explicit equity-relative risk specification; the signal and moving-exit construction come from the source code. Baseline ATR length 14, factor 3, stop multiplier 1, target multiplier 2. On this continuous venue, use a market order at the signal bar close as the registry’s faithful equivalent of next-bar-open execution. Protective stops match intrabar in the platform; exchange-hosted protection is not required. No selected same-bar stop/target policy is assumed: accept the engine’s adaptive OHLC ordering. No historical performance has been measured for this proposal.

Compression-Trap Reversal, Untested Mid-Cap Universe: Buy the Failed Downside Break of an NR7 Day on 18 Second-Tier Bybit USDT Perps (CHZ/SAND/MANA/GALA/CRV/HBAR/VET/EGLD/ENJ/KSM/ALGO/ICP/THETA/AXS/COMP/XTZ/DASH/DYDX), Fixed 3-Day Clock, 12.5% per Leg, Max 5 Concurrent (BYBIT 1-DAY, long-only event panel, pure OHLCV)

Breadth replication of the factory's most-replicated promoted event mechanism (lesson L227) on price series the corpus has never used for it. Mechanism: after the narrowest-range day of the last 7 (NR7), a daily CLOSE……Show moreShow less

Breadth replication of the factory's most-replicated promoted event mechanism (lesson L227) on price series the corpus has never used for it. Mechanism: after the narrowest-range day of the last 7 (NR7), a daily CLOSE on the very next day below that NR7 day's low is a stop-run into the liquidity pocket under a tight range. Resting sell stops cluster just below a compressed range; when they are swept, the forced flow exhausts and price reverts. Buy that close and hold for a fixed 3 days. Promoted so far on: Bybit perps (9 MAJORS: ETH/SOL/XRP/DOGE/ADA/LINK/AVAX/BNB/LTC, 742 trades, +0.99%/trade), OKX swaps (940 trades, +1.11%), Binance spot (DOT/ATOM/FIL/ETC/BCH/UNI/NEAR/TRX/XLM/AAVE) and Hyperliquid (413 trades, +1.10%). Every one of those panels used large caps or the first tier of alts. This test keeps the rules FROZEN and moves to a disjoint, second-tier universe that none of those panels touched, so it is a new price-series test rather than a re-mine of the same coins on another venue (L228: transfer is a fresh test, results reported on their own). UNIVERSE (fixed by a data rule before any return was looked at): every Bybit USDT linear perp with catalog 1-DAY history starting on or before 2021-11-30, EXCLUDING BTC (corpus concentration), ETH and every name already used in any promoted NR7 panel (ETH, SOL, XRP, DOGE, ADA, LINK, AVAX, BNB, LTC, DOT, ATOM, FIL, ETC, BCH, UNI, NEAR, TRX, XLM, AAVE). From the long-history list that leaves 18 names: CHZ, SAND, MANA, GALA, CRV, HBAR, VET, EGLD, ENJ, KSM, ALGO, ICP, THETA, AXS, COMP, XTZ, DASH, DYDX. No name was dropped after the pre-study (CHZ, MANA and GALA were slightly negative and stay in). The strategy checks is_listed() before every entry (point-in-time universe); a delisting closes the leg at its last price via the base template. PRE-STUDY (Research Lead, catalog BYBIT 1-DAY bars 2021-12-01 to 2026-10-17, gross of costs, non-overlapping events per name, entry at the signal day's close). NR7 failed-downside-break long, 3-day hold: n=1,593 events (~330/yr across the panel), mean +0.61%, median +0.59%, win rate 53%. 2-day mean +0.32%, 5-day +0.09%, so the effect is concentrated in the first 3 days, as on the majors. By year (3d mean): 2022 +0.30%, 2023 +1.51%, 2024 +1.02%, 2025 -0.77%, 2026 +0.80% (2021 had only 26 events). 15 of 18 names had a positive mean. CONTROL: any close below the prior day's low (no NR7 condition) returned -0.43% over 3 days (n=7,402), so the NR7 condition adds about +1.0% per event over the plain down-break. Caveat stated up front: excluding the top 5% of outcomes the mean is -0.32%, so the edge is right-skewed and smaller on these mid-caps than the +1.24% gross measured on the majors; the panel will fire more often than the 5-slot book can take. COST ARITHMETIC: Bybit linear taker round trip 0.11% + ~0.05% impact on mid-caps = ~0.16%. Gross capture ~0.61% per event, about 3.8x the round trip, net ~0.45%; predicted average net trade 0.35% after slot-selection noise. That clears the 0.15% futures floor by ~2x, not by the 6x margin of the majors panels; this is the honest risk of the test. EXECUTION: a market BUY at the signal day's close. On a 24/7 venue that price is the next bar's open (the registry's use_equivalent for next_bar_open_fill). Exit is a market SELL at the close of the 3rd daily bar after entry, on the clock only: no stop, no target (the source panel found a -10% intraday stop cut Sharpe from 1.17 to 0.80, so none is added). One netted position per instrument. Venue: BYBIT linear perps (3.1% of experiments versus a >=5% target); USD-M perps rather than spot because Bybit spot daily history in the catalog starts only in 2026-10 for these names. RISK CONTROL route (b): time exit plus capped sizing. Each position is 12.5% of equity at 1x (no leverage), at most 5 concurrent (62.5% gross). When more names fire on one day than there are free slots, take the deepest breaks first (most negative close / NR7 low - 1). Per-position volatility: 12.5% x ~100-130% annualized mid-cap vol = ~13-16%, well under the 120% cap; book realized vol expected ~25-35%, inside the conservative profile's 60% ceiling. Worst single-trade loss at 12.5% weight even on a -40% 3-day collapse is 5% of equity, under the 15% limit. Liquidation is impossible at 0.625x gross with a 1x margin account.

Sector Laggard Catch-Up vs SPY: Buy a Select Sector SPDR After a >=2-Sigma 3-Session Beta-Residual Underperformance, Short Beta-Weighted SPY, Fixed 3-Session Clock (USEQ 1-DAY, 9 sector ETFs + SPY, event-driven long-arm-only spread, flat most of the time)

Original Research Lead hypothesis. It is an event-triggered relative-value trade on US equities with a fixed clock. When one of the nine original Select Sector SPDRs (XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY)……Show moreShow less

Original Research Lead hypothesis. It is an event-triggered relative-value trade on US equities with a fixed clock. When one of the nine original Select Sector SPDRs (XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY) underperforms SPY by an abnormal amount over a few sessions, after removing its market beta, buy that sector ETF and short a beta-weighted amount of SPY. Hold exactly H sessions, then close both legs. Only the laggard (long-sector) arm is traded. Mechanism: sector ETFs are the main vehicle for tactical rotation, hedging and creation/redemption flow, and none of that carries information about sector fundamentals. A sharp, beta-adjusted underperformance over 3 sessions is mostly liquidity-demanding selling (de-risking, ETF redemptions, rotation trades). Liquidity providers and slower value-oriented capital absorb it, and the residual partly reverts over the next few sessions (Lehmann 1990 / Lo-MacKinlay short-horizon reversal, at the industry-portfolio level). WHY THIS IS NOT THE FAILED AVELLANEDA-LEE RUN: 'Avellaneda-Lee ETF-Factor s-Score Reversion on the Nine Original Select Sector SPDRs vs SPY' ended no_edge (4,896 trades, -0.046% per trade). It was a continuous, two-sided OU s-score book that re-fit a 60-session OU model and was in the market most of the time. This design is (1) an event trade that is flat most of the time, firing ~37 times a year across 9 sectors, (2) long-arm ONLY, (3) on a fixed clock with no OU fit or band exit. The pre-study below shows the short arm (fading sector OUTperformance) is the weak side, which fits that failure and lesson L230: absorption works on the long side and its mirror image does not. PRE-STUDY (Research Lead, USEQ daily bars in our catalog, 1999-2026, non-overlapping per sector, gross of costs, entry at the next session open and exit at the open H sessions later, exactly as the platform fills it). Baseline L=3, z<=-2.0, H=3: 974 events (~37/yr); sector leg +0.269% mean; SPY short leg -0.120%; beta-hedged spread +0.180% mean (sd 1.94%). Positive in all seven 4-year blocks (2000: +0.13, 2004: +0.20, 2008: +0.38, 2012: +0.08, 2016: +0.09, 2020: +0.20, 2024: +0.15) and in 7 of 9 sectors (XLK -0.04, the rest -0.04 to +0.43). Neighbouring cells: L=5/H=5 +0.235% (685 events, but negative 2016-2023 blocks), L=5/H=3 +0.253%, L=3/H=5 +0.195%, L=10/H=10 +0.45% (426 events, noisier). SHORT ARM, for the record and NOT traded: fading a +2-sigma outperformer gave +0.025% to +0.18% with a median near zero. COST ARITHMETIC: USEQ round trip ~0.025% per leg, so two legs cost ~0.05% of the sector notional against a +0.18% gross spread (3.6x cost). Per position, the sector leg's +0.27% gross is ~11x its own 0.025% cost. The SPY hedge leg loses on average (equity drift, -0.12%), so the average return across BOTH positions is ~+0.07% net. That is above the USEQ economic-warning floor of 0.05% and is stated honestly below. The hedge exists to remove market beta and drawdown, not to make money; `hedge_with_spy` (default true) lets the analyst run the matched unhedged control with one flag. EXECUTION: the decision is made on a session close (1-DAY bars), and every order fills at the NEXT session's open, the platform's supported next_open_fill on USEQ. No same-close fills, intraday logic or stops are needed. Universe is fixed and has no survivorship issue: all nine original SPDR sector ETFs have traded continuously since 1998-12-22, and none was added or dropped after looking at results. XLRE and XLC are excluded because their histories begin in 2015 and 2018. RISK ROUTE (b): signal/time exit plus capped sizing; no position exceeds 100% of equity.

Alt-Market Compression-Break Breadth Rebound: buy an 8-name OKX SPOT alt basket for 3 days on days when >=4 of 22 OKX USDT swaps close below the low of their own NR7 day (OKX swap breadth signal -> OKX_SPOT execution, 1-DAY, flat ~85% of the time, long-only 1x)

Mechanism: a daily CLOSE below the low of an NR7 day (the narrowest high-low range of the last 7 days) runs the stops that sit under a tight range. The factory has promoted single-name versions of this on four venues……Show moreShow less

Mechanism: a daily CLOSE below the low of an NR7 day (the narrowest high-low range of the last 7 days) runs the stops that sit under a tight range. The factory has promoted single-name versions of this on four venues (Bybit perps, OKX swaps, Binance spot, Hyperliquid). Before writing this hypothesis the Research Lead decomposed that edge on OKX daily bars (22 USDT swaps, 2020-08 to 2026-10, non-overlapping events). The per-name NR7 downside-break long earned +1.37% over 3 days (2,204 events). Its BTC-beta-hedged residual was only +0.08%, with a median of -0.34%. Over the same 3 days BTC itself rose +1.17%. The promoted 'compression trap' is therefore almost entirely a MARKET-WIDE rebound, not an idiosyncratic one. This hypothesis trades that finding directly: it uses NR7 downside breaks as a cross-sectional BREADTH gauge of coordinated stop-run capitulation across the alt market, and expresses it as one basket trade instead of one trade per name. A hedged version is ruled out (no residual), and so is a short mirror (an NR7 upside break shorted for 3 days measured -0.31% mean on the same 22 names, consistent with lesson L230). SIGNAL UNIVERSE (signal only, never traded; pre-registered and chosen for OKX daily history from 2020, not for performance): DOT, ATOM, ETC, FIL, UNI, BCH, NEAR, AAVE, TRX, ETH, SOL, XRP, DOGE, ADA, LINK, AVAX, LTC, XLM, ALGO, 1INCH, AXS, BAT USDT swaps on OKX, 1-DAY bars. BTC is excluded for corpus concentration. TRADED BASKET: 8 OKX SPOT pairs with OKX spot daily history from 2020: XRP, DOGE, ADA, LINK, DOT, LTC, ATOM, BCH (ETH and TRX spot bars exist only from 2026-09, so they were left out of the basket on data grounds). Venue choice: OKX_SPOT is the least-used venue in the corpus (0.1%), and long-only no-leverage strategies belong on spot. Point in time: a signal name counts toward breadth only once it has at least 30 days of OKX history (listed_since) while is_listed. A basket leg trades only while it is listed. The signal is computed only on days with at least 10 eligible signal names. OKX keeps no delisted swaps, so residual survivorship bias remains in the signal universe. Execution: decisions are made on the completed daily bar (bar timestamp = close at 00:00 UTC). The engine fills a bar-close market order at that bar's close, which on a 24/7 market equals the next bar's open; this is the registered equivalent of a next-bar-open fill. FEE ARITHMETIC (OKX spot 0.10% taker per side = 0.20% round trip). Research Lead fixed-rule measurement, used to shape the rule and not as an acceptance test: on the traded 8-name OKX_SPOT basket with the 22-swap breadth signal, min_breaks=4 and a 3-day hold gave 198 non-overlapping events, a mean of +1.05% NET of the 0.20% round trip (median +1.13%, win rate 58%). Six of seven calendar years were positive; 2025 was -0.5%. INCREMENTAL EXPECTANCY OF THE SIGNAL (lesson L217): the same basket held for 3 days unconditionally earns +0.56% gross, about +0.36% net. The breadth trigger adds about +0.7% per event. The dose-response is roughly monotone: on the swap basket the mean 3-day return was +0.87% at >=1 break, +1.11% at >=3, +1.26% at >=4 and +1.42% at >=6. The neighbouring cells (k=3..6, hold 3) were all +0.97% to +1.06% net, so the result is not a single-cell spike. Buy-and-hold comparison (lesson L170): an unhedged buy-and-hold of this alt basket had drawdowns above 80% in 2021-22. At 60% gross exposure the measured event book drew down 27%; the 50% gross exposure fixed here should bring that to about 23%. Derived by the Research Lead from the factory's own promoted NR7 compression-trap panels and the decomposition described above; there is no external source.

Compression-Trap BREADTH on COIN-M: Buy ETHUSD_PERP.BINANCE_CM for a Fixed 3 Days When >=15% of a 16-Alt COIN-M Panel Print an NR7 Downside Break the Same Day (1D, long-only market-level event, flat ~70% of days, pure OHLCV)

Market-level re-reading of the factory's promoted NR7 failed-downside-break panels (Bybit, OKX, Binance spot, Hyperliquid). These sources are the factory's own results, not an external seed. A Research Lead pre-study……Show moreShow less

Market-level re-reading of the factory's promoted NR7 failed-downside-break panels (Bybit, OKX, Binance spot, Hyperliquid). These sources are the factory's own results, not an external seed. A Research Lead pre-study on BINANCE_CM daily bars (2020-08 to 2026-10, 16 alt USD-margined inverse perps) showed three things. (1) The per-name long arm replicates on COIN-M: 1,564 non-overlapping events, mean +1.07% net of 0.06% round trip, positive in 6 of 7 years. (2) The mirror short arm (short a close ABOVE the NR7 high) loses: 1,408 events, mean -0.58%. This is consistent with L230, so there is no short arm. (3) KEY: hedging each per-name event with 60-day-beta BTC drives the mean to -0.01%. The 'reversal' is a market-wide rebound, not idiosyncratic alt mean reversion. The honest test of that mechanism is therefore a MARKET-LEVEL event: the BREADTH of same-day NR7 downside breaks across a panel, traded through one liquid low-fee instrument. ETH is used instead of BTC for corpus concentration. ETH's own NR7 signal is not used, because it adds little: ETH own-NR7 events made +0.84% (n=101), while breadth days without an ETH-own event made +1.37%. Signal panel (fixed, pre-registered; chosen by history length, not performance): ADA, LINK, DOT, XRP, LTC, BCH, ETC, BNB, DOGE, FIL, SOL, ATOM, AVAX, TRX, XLM, EOS, all <BASE>USD_PERP.BINANCE_CM 1-DAY. Each name counts only when it is listed (is_listed / listed_since >= 30 days; set point_in_time_universe). The breadth fraction uses the names eligible that day as its denominator. PRE-STUDY for the traded leg (ETHUSD_PERP.BINANCE_CM, non-overlapping events, 3-day hold, net 0.06% RT): breadth >= 15% gave n=211, mean +1.52%, win 59%, positive in 2020, 2021, 2022, 2023, 2024 and 2026, negative in 2025 (-1.38%). The unconditional ETH 3-day drift is +0.48% gross, so the signal's incremental expectancy is about +1.0% per event. The surface is smooth: count thresholds k=2..5 give +0.98 to +1.30%, and fractions 15/25/35% give +1.52/+1.03/+1.20%. The same signal on BTCUSD_PERP.BINANCE_CM gives +0.96 to +1.28%, which corroborates the mechanism. At 50% notional the event book compounds to about 4.3x with about 25% max drawdown; the worst single event was -27% on ETH, i.e. -13.7% of equity. Execution: market order at the signal day's close. On this 24/7 venue that is the registered equivalent of a next-bar-open fill (next_bar_open_fill -> use_equivalent). Inverse sizing uses contracts_for_notional() (whole USD-face contracts; supported only on BINANCE_CM). Risk route (b): fixed time exit plus capped sizing at 50% of equity, unlevered, no stop. A protective stop is optional and off by default, because the per-name siblings lost Sharpe with a tight stop. COIN-M margin is coin-denominated, so equity moves with ETH while a position is open; this is inherent to the venue and is noted as a risk.