Cointegration Pairs Strategy (Python)

This strategy trades two assets that share a long-term cointegration relationship. By calculating the residual between the first asset and a beta-adjusted second asset, it looks for deviations that hi...

1.3K Downloads
☆☆☆☆☆ Rating
0 Reviews
NuGet 5.0.1 Install-Package StockSharp.Strategies.0222_Cointegration_Pairs.py -Version 5.0.1
Cointegration Pairs Strategy (Python)

This strategy trades two assets that share a long-term cointegration relationship. By calculating the residual between the first asset and a beta-adjusted second asset, it looks for deviations that historically revert back to equilibrium. A long position buys the first asset and sells the second when the residual z-score drops below -EntryThreshold. A short position sells the first and buys the second when the z-score rises above the threshold. Positions are closed once the spread normalizes toward zero. Cointegration pairs trading suits statistical arbitrageurs comfortable managing two instruments simultaneously. The built-in stop-loss protects against extreme moves if the relationship temporarily breaks down.

  • Entry Criteria:

  • Long: Residual Z-Score < -EntryThreshold

  • Short: Residual Z-Score > EntryThreshold []Long/Short: Both sides. []Exit Criteria:

  • Long: Exit when |Z-Score| < 0.5

  • Short: Exit when |Z-Score| < 0.5 []Stops: Yes, percentage stop-loss. []Default Values:

  • Period = 20

  • EntryThreshold = 2.0m

  • Beta = 1.0m

  • StopLossPercent = 2.0m

  • CandleType = TimeSpan.FromMinutes(5) [*]Filters:

  • Category: Arbitrage

  • Direction: Both

  • Indicators: Cointegration

  • Stops: Yes

  • Complexity: Intermediate

  • Timeframe: Intraday

  • Seasonality: No

  • Neural networks: No

  • Divergence: Yes

  • Risk Level: Medium

User Reviews

Login to write a review

No reviews yet