Implement Trader V4 training artifact pipeline

This commit is contained in:
Codex
2026-06-27 16:15:23 +08:00
parent dad6b831b4
commit e58e4a5572
113 changed files with 7959 additions and 477 deletions
@@ -0,0 +1,66 @@
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);
}
}
}