Refactor code for improved readability and consistency
CI / lint-test-build (push) Failing after 12s

- Consolidated multiline string formatting into single-line for SQL queries in multiple files.
- Adjusted argument formatting in function calls for better alignment and readability.
- Removed unnecessary line breaks and improved spacing in various sections of the codebase.
- Updated test cases to maintain consistency in formatting and improve clarity.
This commit is contained in:
2026-06-04 19:04:30 +02:00
parent 7d18bdf316
commit c8e3daeb57
21 changed files with 377 additions and 383 deletions
+12 -17
View File
@@ -36,8 +36,7 @@ def _parse_float_list(raw: str) -> list[float]:
def _parse_pair_universes(raw: str) -> list[tuple[str, ...]]:
universes: list[tuple[str, ...]] = []
for chunk in raw.split(";"):
symbols = tuple(item.strip().upper()
for item in chunk.split("|") if item.strip())
symbols = tuple(item.strip().upper() for item in chunk.split("|") if item.strip())
if symbols:
universes.append(symbols)
if not universes:
@@ -75,31 +74,29 @@ def _print_top_results(results: Sequence[SweepResult], *, limit: int = 5) -> Non
def main() -> int:
parser = argparse.ArgumentParser(
description="Run backtesting parameter sweep with train/test split.")
description="Run backtesting parameter sweep with train/test split."
)
parser.add_argument("--events", type=Path, required=True)
parser.add_argument("--starting-balances", type=str, default="USD=1000.0")
parser.add_argument("--theta-values", type=str,
default="0.0003,0.0005,0.0008")
parser.add_argument("--trade-capital-values",
type=str, default="50,100,150")
parser.add_argument("--theta-values", type=str, default="0.0003,0.0005,0.0008")
parser.add_argument("--trade-capital-values", type=str, default="50,100,150")
parser.add_argument(
"--pair-universes",
type=str,
default="BTC/USD|ETH/BTC|ETH/USD",
help="Semicolon-separated universes, each with | delimited pairs",
)
parser.add_argument("--staleness-threshold-values",
type=str, default="3,5,8")
parser.add_argument("--staleness-threshold-values", type=str, default="3,5,8")
parser.add_argument("--train-ratio", type=float, default=0.7)
parser.add_argument("--output", type=Path,
default=Path("ops/backtesting/parameter_sweep_results.json"))
parser.add_argument(
"--output", type=Path, default=Path("ops/backtesting/parameter_sweep_results.json")
)
parser.add_argument("--min-test-realized-pnl-usd", type=float, default=0.0)
parser.add_argument("--min-test-win-rate", type=float, default=0.5)
parser.add_argument("--min-test-fill-rate", type=float, default=0.9)
parser.add_argument("--max-test-drawdown-usd", type=float, default=25.0)
parser.add_argument("--max-generalization-gap-ratio",
type=float, default=0.5)
parser.add_argument("--max-generalization-gap-ratio", type=float, default=0.5)
args = parser.parse_args()
@@ -107,15 +104,13 @@ def main() -> int:
symbols = sorted({event.symbol.upper() for event in events})
cycles_by_pair = _build_graph_from_symbols(symbols)
if not cycles_by_pair:
raise SystemExit(
"No triangular cycles found in supplied replay events")
raise SystemExit("No triangular cycles found in supplied replay events")
grid = build_parameter_grid(
theta_values=_parse_float_list(args.theta_values),
trade_capital_values=_parse_float_list(args.trade_capital_values),
pair_universes=_parse_pair_universes(args.pair_universes),
staleness_threshold_values=_parse_float_list(
args.staleness_threshold_values),
staleness_threshold_values=_parse_float_list(args.staleness_threshold_values),
)
artifacts = run_parameter_search(