from __future__ import annotations import argparse import _bootstrap # noqa: F401 from trader_training.good_trade_structure import diagnose_good_trade_structure 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 main() -> None: parser = argparse.ArgumentParser(description="Diagnose whether existing features separate good and bad Entry trades.") add_common_args(parser) parser.add_argument("--min-good-edge-bps", type=float, default=3.0) parser.add_argument("--bad-edge-bps", type=float, default=-3.0) parser.add_argument("--top-fractions", type=_float_tuple, default=(0.01, 0.05, 0.10)) args = parser.parse_args() setup_logging() diagnose_good_trade_structure(args) if __name__ == "__main__": main()