Spaces:
Sleeping
Sleeping
| package com.rods.backtestingstrategies.entity; | |
| import lombok.Builder; | |
| import lombok.Getter; | |
| import lombok.ToString; | |
| import java.util.List; | |
| public class BacktestResult { | |
| // Capital metrics | |
| private final double startCapital; | |
| private final double finalCapital; | |
| private final double profitLoss; | |
| private final double returnPct; | |
| // Advanced performance metrics | |
| private final PerformanceMetrics metrics; | |
| // Strategy name used | |
| private final String strategyName; | |
| // Time-series equity curve | |
| private final List<EquityPoint> equityCurve; | |
| // Executed trades | |
| private final List<Transaction> transactions; | |
| // Bullish / Bearish crossover events | |
| private final List<CrossOver> crossovers; | |
| /* ========================== | |
| Factory Helpers | |
| ========================== */ | |
| public static BacktestResult empty(double capital) { | |
| return BacktestResult.builder() | |
| .startCapital(capital) | |
| .finalCapital(capital) | |
| .profitLoss(0.0) | |
| .returnPct(0.0) | |
| .strategyName("N/A") | |
| .metrics(PerformanceMetrics.builder().build()) | |
| .equityCurve(List.of()) | |
| .transactions(List.of()) | |
| .crossovers(List.of()) | |
| .build(); | |
| } | |
| } | |