In this project we provide a backtesting pipeline for intraday statistical arbitrage. Both traditional spread models (i.e. pairs trading with cointegration tests, time series analysis) and continuous time trading models (i.e. Ornstein-Uhlenbeck process) are used to model the spread portfolios.
data: intraday data files, including stocks, options, and dual listing stocksutils: arbitrage tool functions including cointegration tests and regression analysismodels: simulations and parameter estimations for stochastic models and option greeksBM.py: brownian motion related functionsVasicek.py: OU-process related functionsBS_model.py: Black-Scholes model and option greeks
statistical_arbitrage: notebook for realizing pair trading based on limit orderbook stock datares: results for positions, thresholds, and PnLs
- Higher the transaction costs, larger the optimal entry points for arbitrage, lower the trading frequency.
- Sensitivity analysis needs to be conducted with respect to the level of transaction costs (price impact, bid-ask spread, and commission fees).





