Update scoring

This commit is contained in:
2025-07-17 22:07:13 +07:00
parent 7bf7f783a9
commit 0ea05bca50
3 changed files with 100 additions and 49 deletions

View File

@@ -389,47 +389,50 @@ The backtest scoring system evaluates strategy performance using a comprehensive
| Component | Weight | Description |
|-----------|--------|-------------|
| **Growth Percentage** | 25% | Primary performance metric based on total return |
| **Sharpe Ratio** | 15% | Risk-adjusted return measure |
| **Max Drawdown (USD)** | 12% | Maximum capital loss in absolute terms |
| **Win Rate** | 15% | Percentage of profitable trades (weighted by trade count) |
| **Growth Percentage** | 20% | Primary performance metric based on total return |
| **Sharpe Ratio** | 15% | Risk-adjusted return measure (multiplied by 100 for accuracy) |
| **Hodl Comparison** | 10% | Performance vs buy-and-hold strategy |
| **Win Rate** | 12% | Percentage of profitable trades (weighted by trade count) |
| **Profitability Bonus** | 8% | Additional reward for positive returns |
| **Hodl Comparison** | 5% | Performance vs buy-and-hold strategy |
| **Trade Count** | 5% | Sufficient trading activity validation |
| **Recovery Time** | 2% | Time to recover from maximum drawdown |
| **Test Duration** | 3% | Adequate testing period validation |
| **Fees Impact** | 2% | Trading cost efficiency |
| **Fees Impact** | 2% | Trading cost efficiency (based on PnL ratio) |
| **Risk Adjusted Return** | 23% | PnL vs MaxDD ratio based on trading balance |
#### Component Scoring Details
**Growth Percentage (25%)**
- **Negative Returns**: Linear penalty (20 + growth% × 1.5)
- **0-5%**: Linear scale (0-40 points)
- **5-10%**: Accelerated scale (40-100 points)
- **10%+**: Full score (100 points)
**Growth Percentage (20%)**
- **Negative Returns**: 0 points (no partial credit for losses)
- **0-5%**: Linear scale (0-20 points)
- **5-10%**: Accelerated scale (20-50 points)
- **10-20%**: Linear scale (50-100 points)
- **20%+**: Full score (100 points)
**Sharpe Ratio (15%)**
- **Input**: Sharpe ratio is multiplied by 100 for more accurate scoring
- **Negative**: 0 points
- **0-4**: Linear scale (0-100 points)
- **4+**: Full score (100 points)
**Max Drawdown USD (12%)**
- **0-30%**: Exponential penalty (100 - (drawdown%/30 × 100)^1.5)
- **30%+**: 0 points
**Hodl Comparison (10%)**
- **+5%+ better than HODL**: 100 points
- **+2-5% better**: 80-100 points
- **+0-2% better**: 40-80 points
- **-1-0% worse**: 20-40 points
- **-2 to -1% worse**: 0-20 points
- **-2%+ worse**: 0 points (handled by early exit)
**Win Rate (15%)**
- **Base Score**: Win rate percentage
**Win Rate (12%)**
- **Input**: Win rate as percentage (e.g., 23.45 for 23.45%)
- **Base Score**: Win rate converted to decimal (23.45% → 0.2345)
- **Trade Count Factor**: Full significance at 55+ trades, reduced for fewer trades
- **Minimum Trade Penalty**: 50% penalty for <10 trades
**Profitability Bonus (8%)**
- **Positive Returns**: Logarithmic bonus (50 × (1 - 1/(1 + growth%/30)))
- **Positive Returns**: Logarithmic bonus (max 50 points)
- **Negative Returns**: 0 points
**Hodl Comparison (5%)**
- **Outperforms Hodl**: 0-80 points based on margin
- **Underperforms Hodl**: 0-20 points based on underperformance
**Trade Count (5%)**
- **<5 trades**: 0 points
- **5-10 trades**: Linear scale (0-50 points)
@@ -456,25 +459,41 @@ The backtest scoring system evaluates strategy performance using a comprehensive
- **Optimal duration**: 3× minimum duration
**Fees Impact (2%)**
- **0-2% fees**: Linear penalty (100-50 points)
- **2-5% fees**: Linear penalty (50-0 points)
- **5%+ fees**: 0 points
- **Based on**: Fees as percentage of PnL (not initial balance)
- **0-10% fees**: Linear scale (100-50 points)
- **10-20% fees**: Linear scale (50-0 points)
- **20%+ fees**: 0 points
- **Fees > PnL**: 0 points
**Risk Adjusted Return (23%)**
- **Based on**: Trading balance (not initial balance)
- **Calculation**: PnL percentage vs MaxDD percentage ratio
- **>3:1 ratio**: 100 points
- **2-3:1 ratio**: 80-100 points
- **1.5-2:1 ratio**: 60-80 points
- **1-1.5:1 ratio**: 40-60 points
- **0.5-1:1 ratio**: 20-40 points
- **<0.5:1 ratio**: 0-20 points
#### Dynamic Penalty System
The scoring system applies dynamic penalties based on performance thresholds:
**Early Exit Conditions**
- **No Trades**: Automatic 0 score
- **Negative PnL**: Automatic 0 score
- **HODL Underperformance**: Automatic 0 score if >2% worse than HODL
**Profitability Rules**
- **Negative Growth**: 10% penalty per 1% loss
- **Negative Absolute PnL**: 70% penalty
- **Low Win Rate**: 50% penalty per 10% below 30% (for 10+ trades)
- **Low Profit**: 10% penalty per 1% below 2% (for 5+ trades)
- **High Drawdown**: 2% penalty per 1% above 20%
- **High Drawdown**: 2% penalty per 1% above 20% of trading balance
- **Poor Risk/Reward**: 20% penalty per 0.5 ratio above 1.5:1 (MaxDD/PnL)
- **Short Test Duration**: 2% penalty per day below 30 days
- **HODL Underperformance**: 30% penalty per 1% underperformance
**Special Rules**
- **No Positions**: Automatic 0 score
- **Score Clamping**: Final score clamped between 0-100
- **Error Handling**: Returns 0 for any calculation errors
@@ -482,11 +501,12 @@ The scoring system applies dynamic penalties based on performance thresholds:
The system prioritizes:
1. **Consistent profitability** over high-risk gains
2. **Risk management** through drawdown control
2. **Risk management** through drawdown control based on trading balance
3. **Statistical significance** through adequate trade counts
4. **Timeframe-appropriate** expectations for recovery and duration
5. **Cost efficiency** through fee management
5. **Cost efficiency** through fee management relative to PnL
6. **Realistic performance** through dynamic penalties
7. **HODL outperformance** as a baseline requirement
This comprehensive approach ensures that high-scoring strategies demonstrate robust, sustainable performance across multiple dimensions rather than relying on single metrics or short-term luck.