67 lines
1.9 KiB
Java
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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|