Skip to content
All strategies

Strategies

Myquant StatArb: faithful specification of an unsupported CFFEX calendar-spread demo

Outcome: Abandoned

MyquantStatArbSourceAudit

Outcome Summary

The hypothesis kept Myquant's Apache-2.0 StatArb demo, a log-spread calendar arbitrage between the CFFEX IF1703 and IF1704 contracts, and said up front that the platform cannot run it as written. The developer turned it into an inert audit strategy that computes the spread signal but never submits orders. After 2 iterations the run was abandoned with the reason 'IF1703.CFFEX: venue not modelled', before any backtest, optimization or analyst review. No performance was ever measured.

Hypothesis

StatArb by Myquant is trading code, not a utility. However, a faithful executable hypothesis cannot be instantiated on this platform: its signal handler hardcodes IF1703 and IF1704, historical CFFEX contracts, while CFFEX instruments, data and fees are absent from the supplied platform infrastructure. Replacing them with crypto perpetuals would change the economic mechanism. Preserve the specification below as a source audit; do not send it to coding as a viable strategy. Source: https://github.com/myquant/strategy/blob/17595e6bf4a118e1fa87c90bfb0fd78afa69a60b/Arbitrage/python/strategy_sa.py. Licence reported in the brief: Apache-2.0.

IF1703.CFFEX: venue not modelled

Implementation

Inert source-audit version of Myquant StatArb, which trades log-close spread bands between IF1703 and IF1704 on CFFEX (China Financial Futures Exchange). It now starts up without error and computes the source's log-spread every bar. It never submits orders because this platform does not support the CFFEX market.

Iteration-2 fix: __init__ no longer raises, which removes the Layer-2 setup error. All fixed-plan parameters are read from self.parameters. The source's diff = log(A) - log(B) is computed, and the second contract's bar is used only if it closed at or before the primary bar. Orders are switched off on purpose because the hypothesis marks the plan executable=false, and moving it onto crypto perpetuals would change the mechanism. The source's 'bar_type == 15' is mapped to 15-minute bars, which is a guess because the original SDK and config are not available.

Iteration History

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['sigma', 'tick_size', 'executable', 'window_size', 'trade_unit_a', 'trade_unit_b', '_optimization_plan', 'orphan_cleanup_tick_count'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized. - steady_downtrend: Setup error: RuntimeError: Non-executable source……Show moreShow less

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['sigma', 'tick_size', 'executable', 'window_size', 'trade_unit_a', 'trade_unit_b', '_optimization_plan', 'orphan_cleanup_tick_count'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized. - steady_downtrend: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized. - flat_ranging: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized. - volatility_spike: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized. - zero_volume: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized. - price_gap: Setup error: RuntimeError: Non-executable source audit: IF1703/IF1704 CFFEX support and original configuration are unavailable; execution is unauthorized.

Outcome Summary

Before sending a hypothesis to coding, check that its instruments, venue, data and fees exist on the platform, because a strategy on an unsupported venue such as CFFEX cannot be backtested and swapping in crypto perpetuals would change how the edge works.

The run was abandoned after 2 iterations because the platform does not model the IF1703.CFFEX venue, so no backtest-review, analyst or risk verdict was ever given.

It recorded Myquant's StatArb calendar-spread demo as a source audit only: trade the log price spread between the CFFEX IF1703 and IF1704 index futures when it falls inside sigma-scaled entry bands, short one leg and buy the other, then close at the stop or reversion thresholds.

There are no performance numbers: the backtest report is empty and no optimization was run, and the translated code was built never to trade (should_enter always returns None and position size is 0).

Analysis

StatArb

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