⚡ Polytrader
Dashboard
Processes
Configs
Accounts
Configs
/
optimizer/optimize_pso_cryptoprices-15m.toml
✔ Validate
💾 Save
# PSO Optimization config for CryptoPrices Trading Strategy (15M events) # This config defines parameter search spaces for optimizing the option-pricing based strategy # Uses Black-Scholes (default) or Binomial pricing to detect mispriced binary options on crypto Up/Down markets # # NOTE: CryptoPrices strategy uses ONLY Core + AdaptiveTrailing modules. # It does NOT use: trend, momentum, dynamic_pricing, spread, or position_sizing. # Removed unused parameters from this config. replay_dir = "replay_data/cryptoprices_all_slugs_20260213_210722" slugs = ["eth-up-or-down-15m", "btc-up-or-down-15m", "sol-up-or-down-15m", "xrp-up-or-down-15m", ] # Strategy type: cryptoprices strategy_type = "cryptoprices" # Maximum loops per optimization run (optional). # If not specified, runs until all replay ticks are consumed. # Example: max_loops = 50000 [parameter_space.strategy] # Core CryptoPrices strategy parameters # Pricing edge: how much the market must be underpriced vs theoretical # UPDATED: Minimum increased from 2% to 10% to account for execution costs (2-3%) # 0.10 = 10% edge required, 0.25 = 25% edge required min_pricing_edge = { min = 0.10, max = 0.25 } # Uncertain price zone: skip trades when market price falls in this range # LOCKED: Standard range works well for successful strategies (SOL_15m, XRP_15m) uncertain_zone_min = { min = 0.35, max = 0.35 } uncertain_zone_max = { min = 0.65, max = 0.65 } # Stop loss percentage (e.g., 0.30 = cut losses at 70% of position value) # OPTIMIZED: Key parameter - testing 25-45% range for best risk management stop_loss_pct = { min = 0.25, max = 0.45 } # Trade cooldown (seconds to wait after exit before re-entering) # LOCKED: 2-3 minute cooldown prevents overtrading (works for SOL_15m/XRP_15m) trade_cooldown_ticks = { min = 150, max = 150 } # Minimum time to expiry required to enter trade (seconds) # LOCKED: 4 minutes gives enough time for trade thesis to develop on 15m events min_time_to_expiry_seconds = { min = 240, max = 240 } [parameter_space.global] # Core module parameters stop_loss_timeout = { min = 15, max = 15 } stop_loss_recovery_buffer = { min = 0.03, max = 0.03 } # Adaptive trailing stop parameters # OPTIMIZED: Critical for profit capture # Test different profit thresholds and trailing percentages adaptive_high_profit_threshold = { min = 0.20, max = 0.35 } adaptive_medium_profit_threshold = { min = 0.10, max = 0.20 } adaptive_high_trailing_pct = { min = 0.75, max = 0.85 } adaptive_medium_trailing_pct = { min = 0.75, max = 0.85 } base_trailing_pct = { min = 0.65, max = 0.80 } [objective] # FIXED: "total_profit" can encourage overtrading (SOL_15m had 31 trades/hour!) # Consider: "sharpe_ratio" for risk-adjusted returns or "profit_per_trade" for quality # Available: total_profit, sharpe_ratio, profit_per_trade, win_rate, avg_profit_per_trade function = "win_rate" [pso] # PSO algorithm parameters swarm_size = 20 max_iterations = 50 inertia_weight = 0.729 cognitive_coefficient = 1.49445 social_coefficient = 1.49445