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

24 lines
868 B
Java
Raw Normal View History

2026-06-26 21:53:22 +08:00
package com.quantai.trader.artifact;
import com.quantai.trader.domain.TraderPmConfig;
import java.util.Set;
public record TraderArtifactBundle(
String modelBundleVersion,
String calibrationBundleVersion,
String pmConfigVersion,
String bundleHashSha256,
Set<String> providedModels,
2026-06-26 22:07:43 +08:00
TraderPmConfig pmConfig,
TraderArtifactModelPolicy modelPolicy
2026-06-26 21:53:22 +08:00
) {
public TraderArtifactBundle {
if (providedModels == null || !providedModels.containsAll(Set.of("DIRECTION", "ENTRY", "CONTINUE", "EXIT", "RISK"))) {
throw new IllegalArgumentException("artifact bundle must provide all five V4 models");
}
pmConfig = java.util.Objects.requireNonNull(pmConfig, "pmConfig is required");
2026-06-26 22:07:43 +08:00
modelPolicy = java.util.Objects.requireNonNull(modelPolicy, "modelPolicy is required");
2026-06-26 21:53:22 +08:00
}
}