Skip to content
All strategies

Strategies

FMZ Inventory-Preserving LTC Spot Arbitrage: Binance–OKX

Outcome: Abandoned

LtcPrefundedSpotArbitrageBlocked

Outcome Summary

This hypothesis turned an FMZ-style inventory-preserving LTC spot arbitrage between Binance and OKX into a research proposal. Over 3 iterations, the developer found that the catalog only had bars for the two LTC spot venues, with no quote ticks or order-book deltas, and that the runner seeds spot accounts with USDT only. Rather than test a different mechanism with a bar-close proxy, the developer wrote code that fails loudly, and every synthetic verification scenario failed at setup. The run was abandoned in the verification loop and never reached backtesting, optimization, analyst review or risk review.

Hypothesis

Distil the source's single mechanism: maintain prefunded coin and cash inventories on two spot exchanges, buy LTC on the cheaper exchange and sell matching existing LTC on the dearer exchange, then repair actual fill imbalances. Preserve aggregate LTC inventory without borrowing, leverage or routine inter-exchange transfers. Attribute incremental trading profit against an identical passive-inventory benchmark; the prefunded LTC retains directional market risk. This is a conditional research proposal, not an established profitable strategy.

Retain the author's inventory-transfer mechanism rather than converting it into perpetual spread mean reversion. This addresses spot and cross-venue underrepresentation, while avoiding BTC concentration and the failed DOGE perp convergence framing. Corpus concentration was empty, so LTC-specific experiment share cannot be established. The missing execution data prevents an immediate pipeline recommendation.

verification_loop: Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no……Show moreShow less

verification_loop: Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - steady_downtrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - flat_ranging: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - volatility_spike: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - zero_volume: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - price_gap: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark.

Implementation

Blocked placeholder for the Binance-OKX LTC prefunded-inventory spot arbitrage. It raises data_unavailable at construction and does not fabricate a bar-proxy backtest.

The hypothesis fixes sub-second quote-age (250ms), quote-skew (100ms) and depth-participation gates, and it requires prefunded LTC inventory on both venues with a passive-inventory benchmark. I checked the catalog on 2026-10-02. data/catalog/data/quote_tick and order_book_delta hold LTC only for LTCUSDT.BINANCE, LTCUSDC.BINANCE and LTCUSD.HYPERLIQUID (perps). Neither spot leg has any tick or book history. The runner also seeds spot accounts with USDT only. A bar-close proxy would be a different mechanism (lesson L162), so the run fails loudly.

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT……Show moreShow less

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - steady_downtrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - flat_ranging: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - volatility_spike: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - zero_volume: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - price_gap: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark.

Iteration History

Verification failed (Layer 1.5 — hypothesis/config consistency) [class=hypothesis_mismatch]: - optimization_plan fixes leverage at 1.0

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT……Show moreShow less

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog, so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - steady_downtrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog, so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - flat_ranging: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog, so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - volatility_spike: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog, so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - zero_volume: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog, so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - price_gap: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog, so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark.

Outcome Summary

Before coding a tick-level, inventory-based cross-exchange arbitrage, check that quote/order-book data for the exact spot venues exists and that the backtest runner can seed non-cash starting balances.

The run was abandoned in a verification loop: every Layer 2 synthetic scenario failed at setup with the strategy's own data_unavailable error. The catalog has no quote_tick or order_book_delta history for LTCUSDT.BINANCE_SPOT or LTCUSDT.OKX_SPOT, so the 250ms quote-age, 100ms skew and depth-participation gates could not be evaluated. The runner also cannot seed prefunded per-venue LTC balances or a passive-inventory benchmark.

Capture Binance–OKX LTC spot price gaps by keeping prefunded LTC and cash on both exchanges, buying on the cheaper venue and selling existing LTC on the dearer one, with no borrowing, leverage or routine transfers, and measuring profit against an identical passive-inventory benchmark.

No performance figures exist: there was no backtest or optimization report. After 3 iterations, the strategy code was a deliberate stub that raised a RuntimeError on construction instead of trading.

Abandon Reason

verification_loop: Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no……Show moreShow less

verification_loop: Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['leverage', 'risk_pct', 'entry_spread_pct', 'hedge_timeout_ms', 'max_quote_age_ms', 'max_quote_skew_ms', '_optimization_plan', 'max_leg_equity_pct', 'subscribe_quote_ticks', 'initial_ltc_equity_pct', 'max_depth_participation', 'subscribe_order_book_deltas', 'execution_allowance_pct_one_leg'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - steady_downtrend: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - flat_ranging: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - volatility_spike: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - zero_volume: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark. - price_gap: Setup error: RuntimeError: data_unavailable: no LTCUSDT.BINANCE_SPOT / LTCUSDT.OKX_SPOT quote_tick or order_book_delta history in the catalog (only perp-venue LTC ticks exist), so the fixed 250ms quote-age, 100ms skew and depth-participation gates cannot be evaluated; and FactoryStrategyConfig/backtest runner cannot seed venue-specific prefunded LTC balances or a passive-inventory benchmark.

Analysis

多平台对冲稳定套利 V2.1 (注释版)

Backtest and paper results are hypothetical. Trading involves risk of loss.