说明
US500ZSignalPro — Cross-Asset Z-Score Mean Reversion for US500
A statistical mean-reversion cBot that trades the S&P 500 (US500) using the JP225 / US500 spread Z-score as the signal source.
Concept
US500ZSignalPro is a single-leg, cross-asset mean reversion strategy. It does not trade JP225. JP225 is used purely as a reference asset to compute a normalized spread Z-score against US500. When the spread between the two indices diverges to a statistically significant extreme, the cBot opens a position on US500 only, expecting convergence.
This approach isolates US500 directional risk while extracting information from the structural correlation between the two major equity benchmarks.
Trading Logic
- Calculate the normalized JP225 / US500 spread over the lookback window.
- Compute the Z-score of the current spread vs. the lookback distribution.
- Entry (Buy US500): Z ≥ EntryZ for N consecutive bars.
- Entry (Sell US500): Z ≤ −EntryZ for N consecutive bars.
- Take Profit: |Z| ≤ ExitZ (mean reversion confirmed).
- Stop Loss: |Z| ≥ StopZ (further expansion — invalidation).
By default the cBot is set to US500 Buy Only, which is the configuration validated in the backtest below.
Backtest Result (Recommended Settings)
- Symbol traded: US500
- Signal symbol: JP225 (not traded)
- Timeframe: H2
- Period: 21 May 2025 — 20 May 2026 (12 months)
- Starting capital: 5,000
- Ending balance: 10,756
Metric Value
Net profit +5,756 (+115%)
Profit factor 14.74
Max balance drawdown 2.37%
Max equity drawdown 9.11%
Total trades 30
Winning trades 22 (73.3%)
Largest winning trade +997
Largest losing trade −189
Max consecutive wins 9
Max consecutive losses 2
Average trade +192
The equity curve shows a steady upward progression with shallow drawdowns and no extended flat periods.
Past backtest performance does not guarantee future results.
Key Features
- Cross-asset signal generation — JP225 / US500 spread Z-score, not a single-symbol oscillator.
- Consecutive-bar confirmation filter — reduces false signals from one-off Z spikes.
- Capital-based dynamic lot sizing — risk % per trade scales with current equity.
- Realized drawdown circuit breaker — pauses trading when balance drawdown exceeds a configurable threshold, with cooldown bars.
- Weekend risk control (optional) — block new entries before weekend and/or force-close on Friday close.
- Direction switch — Buy Only / Sell Only / Both.
- Maximum concurrent position cap.
- Maximum lot cap to limit per-trade exposure regardless of capital growth.
- All entries are tracked with a labeled trade counter persisted via LocalStorage.
Recommended Parameters
Parameter Value
Signal Symbol JP225
Trade Symbol US500
Timeframe H2
Lookback Period 20
Entry Z-Score 2.2
Exit Z-Score 1.0
Stop Z-Score 3.8
Consecutive Bar Confirmation 2
Direction US500 Buy Only
Use Capital-Based Lot true
Max Loss Risk % 2.2
Estimated SL pips (risk calc) 200
Max Drawdown % 10
DD Cooldown Bars 24
Requirements
- cTrader v5.4.9 or later.
- Broker must offer both US500 and JP225 as cash CFD instruments on the same timeframe.
- Symbol names in your broker’s feed may differ (e.g., SPX500, US500.cash, JPN225). Update the Signal Symbol / Trade Symbol parameters to match your broker’s exact symbol names.
- Sufficient historical data on both symbols for the chosen lookback period.
- Recommended account currency: any. Pip values are read directly from cTrader.
Notes on Lot Sizing
The capital-based lot formula uses PipValue × EstimatedSLPips as the per-lot loss budget, with PipValue treated on a per-lot basis. This matches the configuration under which the recommended parameter set was tuned. If you modify the formula or the EstimatedSLPips value, the effective risk per trade and the resulting performance profile will change.
If your broker’s PipValue scaling differs significantly, adjust Estimated SL pips and Max Loss Risk % together to calibrate against your account’s realized risk per trade.
Disclaimer
This cBot is provided as a trading tool. Trading CFDs carries substantial risk of loss. Backtest results reflect a specific historical period, broker spreads, and commission structure and may not represent future performance under live conditions. Forward-test on a demo account before live deployment. The author accepts no responsibility for trading losses.
