feat: Multi-Pair Divergence Selection Strategy
- Extend regime detection to top 10 cryptocurrencies (45 pairs) - Dynamic pair selection based on divergence score (|z_score| * probability) - Universal ML model trained on all pairs - Correlation-based filtering to avoid redundant positions - Funding rate integration from OKX for all 10 assets - ATR-based dynamic stop-loss and take-profit - Walk-forward training with 70/30 split Performance: +35.69% return (vs +28.66% baseline), 63.6% win rate
This commit is contained in:
@@ -37,6 +37,7 @@ def _build_registry() -> dict[str, StrategyConfig]:
|
||||
from strategies.examples import MaCrossStrategy, RsiStrategy
|
||||
from strategies.supertrend import MetaSupertrendStrategy
|
||||
from strategies.regime_strategy import RegimeReversionStrategy
|
||||
from strategies.multi_pair import MultiPairDivergenceStrategy, MultiPairConfig
|
||||
|
||||
return {
|
||||
"rsi": StrategyConfig(
|
||||
@@ -98,6 +99,18 @@ def _build_registry() -> dict[str, StrategyConfig]:
|
||||
'stop_loss': [0.04, 0.06, 0.08],
|
||||
'funding_threshold': [0.005, 0.01, 0.02]
|
||||
}
|
||||
),
|
||||
"multi_pair": StrategyConfig(
|
||||
strategy_class=MultiPairDivergenceStrategy,
|
||||
default_params={
|
||||
# Multi-pair divergence strategy uses config object
|
||||
# Parameters passed here will override MultiPairConfig defaults
|
||||
},
|
||||
grid_params={
|
||||
'z_entry_threshold': [0.8, 1.0, 1.2],
|
||||
'prob_threshold': [0.4, 0.5, 0.6],
|
||||
'correlation_threshold': [0.75, 0.85, 0.95]
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user