Improve Trader entry quality training diagnostics

This commit is contained in:
Codex
2026-06-28 00:50:37 +08:00
parent 87849a66a7
commit 340d1dd91b
11 changed files with 1895 additions and 110 deletions
+18 -4
View File
@@ -83,11 +83,25 @@ def build_train_datasets(args: Any) -> None:
def _entry_pivot(entry: pd.DataFrame) -> pd.DataFrame:
require_columns(entry, ("sample_id", "side", "entry_target", "expected_net_edge_bps"), "entry_labels")
long = entry[entry["side"] == "LONG"][["sample_id", "entry_target", "expected_net_edge_bps"]].rename(
columns={"entry_target": "long_entry_target", "expected_net_edge_bps": "long_expected_net_edge_bps"}
optional_columns = [column for column in ("actual_plan_net_edge_bps", "max_achievable_net_edge_bps", "mae_bps") if column in entry.columns]
selected_columns = ["sample_id", "entry_target", "expected_net_edge_bps", *optional_columns]
long = entry[entry["side"] == "LONG"][selected_columns].rename(
columns={
"entry_target": "long_entry_target",
"expected_net_edge_bps": "long_expected_net_edge_bps",
"actual_plan_net_edge_bps": "long_actual_plan_net_edge_bps",
"max_achievable_net_edge_bps": "long_max_achievable_net_edge_bps",
"mae_bps": "long_mae_bps",
}
)
short = entry[entry["side"] == "SHORT"][["sample_id", "entry_target", "expected_net_edge_bps"]].rename(
columns={"entry_target": "short_entry_target", "expected_net_edge_bps": "short_expected_net_edge_bps"}
short = entry[entry["side"] == "SHORT"][selected_columns].rename(
columns={
"entry_target": "short_entry_target",
"expected_net_edge_bps": "short_expected_net_edge_bps",
"actual_plan_net_edge_bps": "short_actual_plan_net_edge_bps",
"max_achievable_net_edge_bps": "short_max_achievable_net_edge_bps",
"mae_bps": "short_mae_bps",
}
)
return long.merge(short, on="sample_id", how="inner")