Skip to content
All strategies

Strategies

Myquant AR_MA_STOCK CNEQ: Frozen AR/SMA Rules with Next-Session-Open Execution

Outcome: Abandoned

MyquantArMaStockCneqNextOpen

Outcome Summary

This execution-adapted Myquant reproduction retained frozen AR/SMA rules while moving orders to subsequent session opens on CNEQ. An initial review recommended frozen-rule validation, but the later assessment found losses across 457 closed trades and 42.919% drawdown against a 25% limit. All 13 training windows were risk-inadmissible, leaving no strategy OOS evidence from the flat fallback, while holdout results were inconclusive. After four iterations it was abandoned before risk review; the verdict applies to this platform operationalization, with coverage, dividend and account-sizing limitations, rather than the source strategy under its original assumptions.

Hypothesis

Derived by the Research Lead from Myquant AR_MA_STOCK: retain its daily AR-popularity and SMA-alignment rules, source share sizing, T+1 restriction and frozen indicator/exit defaults, but replace EVERY signal-close market fill with the next tradable session open on CNEQ. This is an execution-adapted reproduction, not a line-for-line execution replica. Source: [Myquant AR_MA_STOCK](https://github.com/myquant/strategy/blob/master/AR_MA_STOCK/python/ar_ma_stock.py). All daily OHLC decisions use completed bars; order……Show moreShow less

Derived by the Research Lead from Myquant AR_MA_STOCK: retain its daily AR-popularity and SMA-alignment rules, source share sizing, T+1 restriction and frozen indicator/exit defaults, but replace EVERY signal-close market fill with the next tradable session open on CNEQ. This is an execution-adapted reproduction, not a line-for-line execution replica. Source: [Myquant AR_MA_STOCK](https://github.com/myquant/strategy/blob/master/AR_MA_STOCK/python/ar_ma_stock.py). All daily OHLC decisions use completed bars; order fills and position state use actual subsequent opening executions. Both the source's close-price entry/exit calls and its price-zero stop-exit calls become pending market orders under next_open_fill. No market-on-close, exchange-hosted stop or intrabar trigger is required: the source's movement-stop routine evaluates bar.close, so preserve that timing. The retained 81-name catalog-covered source pool is a fixed source basket, not a historically reconstructed index; admit a name only when listed as of the decision via universe_at(), with sufficient historical bars. Never backfill pre-listing prices or replace missing names. Availability-based selection still leaves coverage/survivorship limitations that must be disclosed. Platform split-adjusted bars replace source forward-adjusted prices; dividends remain excluded. Platform CNEQ transaction costs replace source commission/slippage settings. Source fixed-share sizing and the platform's 100,000 starting account are retained, so this is not a scale-invariant reproduction of the source's 1,000,000 CNY account. No currency conversion assumption should be fabricated. Holding windows reset positions and indicators at optimization boundaries. The supplied failure is an execution-capability mismatch, not evidence against performance.

The only supplied failure is unsupported same_close_fill on a session venue. Replace that requirement throughout with supported next_open_fill, including entries, AR exits and close-observed movement exits; measure stops/profit against actual fills and prevent duplicate orders while pending. Preserve CNEQ, daily bars, the exact covered source universe and frozen rules because there is no scientific failure evidence warranting a mechanism pivot. Do not convert close-observed source exits into intrabar stops. No concentration or portfolio brief was supplied; source reproduction takes precedence over autonomous diversity selection. Prior-art lookup recovered this lineage and its fixed configuration; no performance claim is inferred from the capability failure.

The specified execution-adapted reproduction loses money across 457 closed trades and breaches its registered drawdown constraint; every frozen training candidate was risk-inadmissible. This is not a below-fee-floor rejection or a rejection for insufficient significance. No verified implementation defect or validated alternative parameter region supports iteration. This verdict applies to the specified platform operationalization, not the source author's strategy under its original account and execution assumptions.

Implementation

Frozen Myquant AR/SMA daily long-only rules on the retained 81-name CNEQ source basket. Completed-bar decisions execute at the next session open; close-observed movement exits retain T+1 and actual-fill cost bases. Shared pending-buy reservations include fees and opening-gap headroom.

Only stock_size changes: use actual free wallet cash, subtract all pending-buy reservations, and reserve each requested share at 120% of the decision close plus one tick and commission before rounding down to source lots. This addresses next-open cash overspend without changing indicators, exits, cooldown, universe, fixed-share maximum or configuration. The reserve covers ordinary up-to-20% opening gaps; exceptional larger gaps require platform fill-time affordability enforcement. Availability-selected source coverage retains survivorship limitations. Split-adjusted prices exclude dividends; fixed shares on the platform 100,000 account are not scale invariant to the original 1,000,000 CNY account, and no currency conversion is assumed.

Verification Results

Confirm platform fill-time affordability enforcement for exceptional gaps before paper/live operation; retain the frozen signal and close-observed exit rules.

Pending-buy reservations cover a 20% opening gap plus a tick and fees. An exceptional larger opening gap can exceed the reserved cash; this allowance alone is not a universal fill-time affordability guarantee.

Profile repeated panel evaluation and calendar work before repeated optimization runs; preserve all 81 names, history coverage and frozen rules.

The sandbox took 223.3 seconds for 1,531 primary bars, exceeding the supplied 120-second baseline target and triggering runtime_review_required. This is an engineering concern, not evidence against correctness or edge.

Availability-selected source coverage, excluded dividends, and fixed-share sizing on the smaller platform account limit comparability with the original reproduction. Sandbox performance metrics are withheld; no profitability conclusion is drawn.

Backtest Review

Sharpe
0.09
Total return
-0.13%
Max drawdown
42.92%
Trades
457
Win rate
24.7%
Profit factor
0.94

All 360 closed trades are long, execute at the session open and avoid same-session round trips. Quantities are 100-share multiples capped at 2,000, consistent with the stated sizing rules.

Closed-trade PnL totals +5,194.01 CNY. Portfolio return is +7.52%, PF 1.044 and average trade return 1.223%, above the supplied CNEQ 0.15% reference. The sample supports frozen-rule validation.

Sharpe is only 0.152. Drawdown of 42.92% exceeds the declared 25% risk constraint and requires subsequent risk assessment.

The sampled equal-weight basket benchmark returns approximately 20.45%, with 28.84% drawdown, versus the strategy's 7.52% return and 42.92% drawdown. Its curve ends slightly before the review cut.

Availability-selected coverage, excluded dividends and fixed-share sizing on the smaller account limit comparability with the source. QA's concerns remain valid limitations, without establishing a code defect.

Analysis

Valid accounting, no recorded order failures, and no same-session round trips among 457 closed trades.

Average trade return of 1.150% exceeds the supplied 0.20% economic floor; sensitivity identified no cliffs.

Closed trades lost 10,134.10 CNY with profit factor 0.936. Positive unweighted percentage returns did not produce positive portfolio expectancy.

Final replay returned -1.274% with 42.919% drawdown versus the registered 25% limit.

All 13 windows rejected the frozen candidate for measured training drawdown of 28.633%–39.273%. Flat fallback provides no strategy OOS evidence.

Holdout Sharpe 0.484 over 79 trades is statistically inconclusive, not rejected. This does not resolve the independently measured economic and risk failures.

Trade-count and per-trade-return predictions were exceeded; the return prediction was missed and OOS Sharpe remains unknown. Predictions are not eligibility floors.

The supplied missing-optimization gate wording conflicts with the attached completed attempt. The substantive optimization outcome is insufficient risk-admissible candidates.

The Research Lead REVISED this hypothesis because the previous premise did not work. Implement the REVISED hypothesis (see the hypothesis description) from scratch — do not reuse the prior strategy. Revision rationale: The only supplied failure is unsupported same_close_fill on a session venue. Replace that requirement throughout with supported next_open_fill, including entries, AR exits and close-observed movement exits; measure stops/profit against actual fills and prevent duplicate orders while pending. Preserve CNEQ, daily bars, the exact covered source universe and frozen rules because there is no scientific failure evidence warranting a mechanism pivot. Do not convert close-observed source exits into intrabar stops. No concentration or portfolio brief was supplied; source reproduction takes precedence over autonomous diversity selection. Prior-art lookup recovered this lineage and its fixed configuration; no performance claim is inferred from the capability failure.

Iteration History

Verification failed (Layer 3 — sandbox backtest): cash_overspend: NautilusTrader stopped the backtest at 2020-06-17 01:30:00+00:00 because a CASH (spot) account went negative (balance below zero). An order cost more than the cash available, commission included. Size buys from free cash / (price x (1 + taker fee)), or use the FactoryStrategy entry helpers, which cap spot buys to what the account can pay. Bar type used: 600519.CNEQ-1-DAY-LAST-EXTERNAL, Bars processed: 0 Ensure your strategy produces trades with the given data and parameters.

capability_revision: same_close_fill: frozen AR_MA_STOCK requires signal-bar close fills on CNEQ; session market orders fill at the next session open and no market-on-close order is available

Verification failed (Layer 3 — sandbox backtest): cash_overspend: NautilusTrader stopped the backtest at 2020-07-07 01:30:00+00:00 because a CASH (spot) account went negative (balance below zero). An order cost more than the cash available, commission included. Size buys from free cash / (price x (1 + taker fee)), or use the FactoryStrategy entry helpers, which cap spot buys to what the account can pay. Bar type used: 600519.CNEQ-1-DAY-LAST-EXTERNAL, Bars processed: 0 Ensure your strategy produces trades with the given data and parameters.

Outcome Summary

Evaluate fixed-share sizing through portfolio expectancy and registered drawdown constraints, since positive average percentage trade returns can coexist with aggregate losses.

After four iterations and an initial optimize verdict, the analyst abandoned the strategy for losses and drawdown above its registered 25% limit; all 13 frozen training windows rejected the candidate on risk. Holdout Sharpe 0.484 over 79 trades was inconclusive, and no verified implementation defect or validated alternative parameter region supported iteration.

Reproduce frozen Myquant AR/SMA stock-selection and exit rules on CNEQ with next-session-open execution, fixed-share sizing and T+1 restrictions.

The supplied backtest reports -13.181% total return, Sharpe 0.088, 457 closed trades and 42.919% maximum drawdown; the analyst separately cites a final replay return of -1.274%. Closed trades lost 10,134.10 CNY with profit factor 0.936, despite an average trade return of 1.150% exceeding the 0.20% economic floor.

Analysis

AR_MA_STOCK

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