Spaces:
Sleeping
Sleeping
File size: 1,358 Bytes
f5cd2d3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | package com.rods.backtestingstrategies.entity;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
import java.util.List;
@Getter
@Builder
@ToString
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();
}
}
|