📈 Quant Engine
K.I.T.'s Quantitative Trading Brain - Wall Street algorithms for everyone!
Features
📊 Statistical Arbitrage
- Pairs trading with cointegration
- Mean reversion on spreads
- Dynamic hedge ratios
- Z-score based entry/exit
🚀 Momentum Strategies
- Cross-sectional momentum
- Time-series momentum
- Momentum factor portfolios
- Breakout detection
📉 Mean Reversion
- Bollinger Band strategies
- RSI extreme detection
- VWAP reversion
- Overnight gap strategies
🎯 Factor Models
- Multi-factor alpha models
- Risk factor decomposition
- Factor rotation strategies
- Custom factor construction
🔬 Backtesting
- Walk-forward analysis
- Monte Carlo simulation
- Transaction cost modeling
- Slippage estimation
Usage
from quant_engine import QuantEngine
engine = QuantEngine()
# Statistical arbitrage
pairs = await engine.find_cointegrated_pairs(
symbols=["BTC", "ETH", "SOL", "AVAX"],
lookback=90 # days
)
for pair in pairs:
print(f"{pair.asset1}/{pair.asset2}")
print(f" Cointegration: {pair.coint_pvalue:.4f}")
print(f" Hedge ratio: {pair.hedge_ratio:.4f}")
print(f" Current Z-score: {pair.zscore:.2f}")
# Get trading signal
signal = await engine.get_stat_arb_signal(
pair=pairs[0],
entry_zscore=2.0,
exit_zscore=0.5
)
# Momentum strategy
momentum = await engine.momentum_scan(
symbols=["BTC", "ETH", "SOL", "AVAX", "DOT"],
lookback=20 # days
)
print(f"Top momentum: {momentum[0].symbol} ({momentum[0].return_pct:.1%})")
# Backtest strategy
results = await engine.backtest(
strategy="mean_reversion",
symbol="BTC/USDT",
start_date="2023-01-01",
end_date="2024-01-01"
)
print(f"Sharpe Ratio: {results.sharpe_ratio:.2f}")
print(f"Max Drawdown: {results.max_drawdown:.1%}")
print(f"Win Rate: {results.win_rate:.1%}")
Strategies
| Strategy | Type | Avg Return | Sharpe | Win Rate |
|---|---|---|---|---|
| Stat Arb | Market Neutral | 15-25% | 1.5-2.5 | 55-60% |
| Momentum | Trend | 20-40% | 1.0-2.0 | 45-55% |
| Mean Reversion | Counter-trend | 10-20% | 1.2-1.8 | 60-70% |
| Factor | Multi-factor | 15-30% | 1.5-2.5 | 50-60% |
Configuration
quant_engine:
stat_arb:
entry_zscore: 2.0
exit_zscore: 0.5
stop_zscore: 4.0
lookback: 90
momentum:
lookback_days: [5, 10, 20, 60]
rebalance_freq: "weekly"
top_n: 5
mean_reversion:
bollinger_period: 20
bollinger_std: 2.0
rsi_period: 14
rsi_oversold: 30
rsi_overbought: 70
backtesting:
initial_capital: 100000
commission: 0.001
slippage: 0.0005
Risk Metrics
- Sharpe Ratio
- Sortino Ratio
- Maximum Drawdown
- Value at Risk (VaR)
- Expected Shortfall (ES)
- Beta exposure
Dependencies
- numpy>=1.24.0
- pandas>=2.0.0
- scipy>=1.11.0
- statsmodels>=0.14.0
- scikit-learn>=1.3.0