from __future__ import annotations import argparse import _bootstrap # noqa: F401 from trader_training.entry_mae_label_diagnostic import diagnose_entry_mae_labels from trader_training.io_utils import add_common_args, setup_logging def _float_tuple(value: str) -> tuple[float, ...]: return tuple(float(item.strip()) for item in value.split(",") if item.strip()) def _str_tuple(value: str) -> tuple[str, ...]: return tuple(item.strip() for item in value.split(",") if item.strip()) def main() -> None: parser = argparse.ArgumentParser() add_common_args(parser) parser.add_argument("--max-mae-bps", type=_float_tuple, default=(4.0, 6.0, 8.0, 12.0)) parser.add_argument("--min-opportunity-bps", type=_float_tuple, default=(6.0, 12.0, 20.0)) parser.add_argument("--model-families", type=_str_tuple, default=("linear",)) parser.add_argument("--top-fraction", type=float, default=0.10) parser.add_argument("--top-fractions", type=_float_tuple) parser.add_argument("--max-train-rows", type=int, default=0) args = parser.parse_args() setup_logging() diagnose_entry_mae_labels(args) if __name__ == "__main__": main()