Skip to content

Blackphoenix-15/Enhanced-Kalman-Filter-Statistical-Arbitrage-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Enhanced-Kalman-Filter-Statistical-Arbitrage-Engine

πŸ“ˆ Kalman Pairs Trading Engine

A statistical arbitrage framework using Kalman Filter to dynamically estimate hedge ratios between cointegrated asset pairs. Enhanced with:

  • βœ… Volatility Scaling
  • βœ… Dynamic Z-score Thresholds
  • βœ… Slippage Modeling
  • βœ… Risk-based Position Sizing

πŸ”’ Performance Highlights (KO vs. PEP)

Metric Value
Sharpe Ratio 1.30
Max Drawdown -7.72%
CAGR (Simulated) 18.5%
Trade Accuracy 63.2%

🧠 Methodology

[ z_t = \frac{(y_t - \beta_t x_t - \alpha_t)}{\sigma_t}, \quad \text{where } [\beta_t, \alpha_t] \sim \text{KalmanFilter} ]

Trade signals are generated based on dynamic thresholds:

  • Enter Long: ( z_t < -2 \cdot \frac{\sigma_t}{\mu_t} )
  • Exit: ( |z_t| < 0.5 \cdot \frac{\sigma_t}{\mu_t} )

πŸ“Š Strategy Outputs

  • πŸ”„ Dynamic hedge ratio plots
  • πŸ’° PnL and equity curve
  • πŸ§ͺ Entry/exit signals marked on spread charts

πŸš€ How to Run

pip install -r requirements.txt
python run_strategy.py --csv data/example_pairs.csv

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages