Implement Trader V4 training artifact pipeline
This commit is contained in:
@@ -17,7 +17,7 @@ public class TraderRiskGate {
|
||||
if (input.riskLimits().killSwitchActive() && input.pmDecision().candidateAction().increasesExposure()) {
|
||||
decision = block(input, "KILL_SWITCH_ACTIVE");
|
||||
} else if (input.riskLimits().executionBlocked()) {
|
||||
decision = block(input, "EXECUTION_BLOCKED");
|
||||
decision = block(input, input.riskLimits().executionBlocker());
|
||||
} else if (input.accountState().dailyDrawdownBps().compareTo(input.riskLimits().maxDailyLossBps()) >= 0) {
|
||||
decision = block(input, "MAX_DAILY_LOSS");
|
||||
} else if (input.accountState().portfolioExposureRatio().compareTo(input.riskLimits().maxTotalExposureRatio()) >= 0
|
||||
@@ -46,6 +46,9 @@ public class TraderRiskGate {
|
||||
}
|
||||
|
||||
private TraderRiskDecision block(RiskGateInput input, String blocker) {
|
||||
if (blocker == null || blocker.isBlank()) {
|
||||
blocker = "EXECUTION_BLOCKED";
|
||||
}
|
||||
TraderActionType finalAction = input.pmDecision().candidateAction().increasesExposure() ? TraderActionType.WAIT : input.pmDecision().candidateAction();
|
||||
return new TraderRiskDecision("risk_" + input.pmDecision().cycleId(), input.pmDecision().runId(), input.pmDecision().cycleId(),
|
||||
input.pmDecision().pmDecisionId(), false, input.pmDecision().candidateAction(), finalAction, blocker,
|
||||
|
||||
Reference in New Issue
Block a user