Improve Trader V4 training pipeline

Align entry labels with max future edge, tune direction labeling, and harden regression evaluation.

Add training diagnostics, price-plan search, feature screening, and nonlinear benchmark scripts.
This commit is contained in:
Codex
2026-06-27 19:57:29 +08:00
parent e58e4a5572
commit 9acb3460a1
27 changed files with 2059 additions and 341 deletions
+3 -3
View File
@@ -52,7 +52,7 @@ def validate_artifact_bundle(args: Any) -> None:
def _validate_content(root: Path, errors: list[str], require_active: bool, run_onnx: bool) -> None:
feature_order = read_json(root / "schemas/feature_order.json")
if feature_order != FEATURE_ORDER:
errors.append("feature_order.json does not match V4 39-feature order")
errors.append(f"feature_order.json does not match V4 {len(FEATURE_ORDER)}-feature order")
model_bundle = read_json(root / "manifests/model_bundle_manifest.json")
if require_active and model_bundle.get("status") != "ACTIVE":
errors.append("model_bundle_manifest.status must be ACTIVE for Java SHADOW")
@@ -70,8 +70,8 @@ def _validate_content(root: Path, errors: list[str], require_active: bool, run_o
errors.append(f"{model_type} model_format must be ONNX")
if item.get("input_tensor_name") != "features":
errors.append(f"{model_type} input tensor must be features")
if item.get("input_shape_json", {}).get("features") != 39:
errors.append(f"{model_type} input_shape_json.features must be 39")
if item.get("input_shape_json", {}).get("features") != len(FEATURE_ORDER):
errors.append(f"{model_type} input_shape_json.features must be {len(FEATURE_ORDER)}")
if item.get("onnx_opset_version") != 17:
errors.append(f"{model_type} opset must be 17")
if item.get("output_mapping_json") != OUTPUT_MAPPING.get(model_type):