Universal Arbitrage¶
v.3.1.0.0 Built on Arbitrage Core

Overview¶
Statistical arbitrage: trades two correlated instruments - or a triangle of three - against each other when the spread between them stretches far from its average, and closes the pair as it returns.
How it trades¶
- The spread of the legs and its z-score - how many standard deviations it is from its average.
- Beyond the entry z-score the stretched pair is opened (one leg bought, the other sold); back near the average it is closed.
- A correlation filter, pair protection, disaster stops at the broker and ROI exits guard the pair.
Core settings¶
All its settings - legs, spread, entry and exit z-scores, correlation filter, pair protection - are the Arbitrage Core's.
Core defaults¶
This strategy starts with these core settings; change any of them in its settings.
| Group | Setting | Default |
|---|---|---|
| NinjaTrader | Calculate | On each tick |
Version history¶
v.3.1.0.0 - October 2026
- Changed: the signal follows NinjaTrader's Calculate setting - On each tick by default, so it is taken inside the bar, the moment it appears.
Earlier versions
v.3.0.0.0 - October 2026
- New: on the Arbitrage Core - pairs and triangles on the z-score of the spread.
v.1.1.0.1 - Oct 26, 2025
- Trading hours and days logic updated — if all sessions are disabled, the strategy now runs without time restrictions instead of stopping trading.
v.1.1.0.0 - May 29, 2025
- Added ROI function for trade exit.
- Added session end position closing function.
- Added descriptive names to exit orders for better understanding of position closure conditions.
- Sorted properties.
- Improved position recovery.
- Added property to enable/disable mean reversion exit.
- Added property StdRatio to set the standard deviation ratio for the spread.
- Updated entry conditions.
v.1.0.0.7 - Aug 6, 2024
- Improved functions to raise position after connection loss.
- Created a new property group to set the bar period type and value for the second ticker.
v.1.0.0.6 - Mar 14, 2024
- Improved conditions for closing a position when the daily loss or profit is reached.
- Changed parameter determining the priority of strategy position or account position.
- Fixed the problem of strategy transition to the next state while placing an entry order.
v.1.0.0.5 - Dec 24, 2023
- Improved conditions for partial fulfillment of orders.
v.1.0.0.4 - Dec 1, 2023
- Improved conditions for partial fulfillment of orders.
- Improved the function of raising the position after connection loss.
- Added functions for order execution log.
v.1.0.0.3 - Nov 12, 2023
- Improved trading session time.
- Improved the function of raising the position after connection loss.
v.1.0.0.2 - Sep 29, 2023
- Improved the function of raising the position after connection loss.
v.1.0.0.1 - Sep 6, 2023
- Added additional setting for specifying the trading session.
- Added functions to raise position after connection loss.
- Daily profit and drawdown functions can be used in backtest.
- Added option to specify trading on specific days of the week.