24 lines
868 B
Java
24 lines
868 B
Java
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,
|
|
TraderPmConfig pmConfig,
|
|
TraderArtifactModelPolicy modelPolicy
|
|
) {
|
|
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");
|
|
modelPolicy = java.util.Objects.requireNonNull(modelPolicy, "modelPolicy is required");
|
|
}
|
|
}
|