35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
import argparse
|
|
|
|
import _bootstrap # noqa: F401
|
|
from trader_training.conditional_entry_probe import probe_conditional_entry_training
|
|
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("--condition-opportunity-bps", type=_float_tuple, default=(6.0, 12.0, 20.0, 40.0, 60.0))
|
|
parser.add_argument("--target-edge-bps", type=_float_tuple, default=(0.0, 3.0))
|
|
parser.add_argument("--model-families", type=_str_tuple, default=("linear", "tree"))
|
|
parser.add_argument("--top-fractions", type=_float_tuple, default=(0.01, 0.02, 0.05, 0.10))
|
|
parser.add_argument("--max-train-rows", type=int, default=0)
|
|
parser.add_argument("--min-train-rows", type=int, default=1000)
|
|
parser.add_argument("--min-eval-rows", type=int, default=500)
|
|
args = parser.parse_args()
|
|
setup_logging()
|
|
probe_conditional_entry_training(args)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|