Files
quant-trader-service/src/main/java/com/quantai/trader/artifact/TraderReplayModelFixture.java
T

67 lines
1.9 KiB
Java

package com.quantai.trader.artifact;
import java.math.BigDecimal;
import java.util.Map;
public record TraderReplayModelFixture(
DirectionFixture direction,
EntryFixture entry,
ContinueFixture continuation,
ExitFixture exit,
RiskFixture risk,
BigDecimal uncertainty,
BigDecimal oodScore,
String featureSchemaHash,
String featureOrderHash,
String outputSchemaHash
) {
public record DirectionFixture(
BigDecimal longProbWhenMarkGteIndex,
BigDecimal longProbWhenMarkLtIndex,
BigDecimal neutralProb
) {
}
public record EntryFixture(
BigDecimal longEntryProb,
BigDecimal shortEntryProb,
BigDecimal longExpectedNetEdgeBps,
BigDecimal shortExpectedNetEdgeBps
) {
}
public record ContinueFixture(
BigDecimal longContinueProb,
BigDecimal shortContinueProb,
BigDecimal longExpectedContinueEdgeBps,
BigDecimal shortExpectedContinueEdgeBps
) {
}
public record ExitFixture(
BigDecimal longExitProb,
BigDecimal shortExitProb,
BigDecimal longAdverseMoveBps,
BigDecimal shortAdverseMoveBps,
Map<String, BigDecimal> exitReasonScores
) {
public ExitFixture {
exitReasonScores = Map.copyOf(exitReasonScores == null ? Map.of() : exitReasonScores);
}
}
public record RiskFixture(
BigDecimal marketRiskProb,
BigDecimal longPositionRiskProb,
BigDecimal shortPositionRiskProb,
BigDecimal marketPathRiskBps,
BigDecimal longPositionPathRiskBps,
BigDecimal shortPositionPathRiskBps,
Map<String, BigDecimal> riskReasonScores
) {
public RiskFixture {
riskReasonScores = Map.copyOf(riskReasonScores == null ? Map.of() : riskReasonScores);
}
}
}