feat(adversarial): flat_too_long_threshold parametrico (CLI ablation)

Estende AdversarialAgent con flat_too_long_threshold (default 0.95)
configurabile, simmetrico a fees_eat_alpha_threshold. Propagato a
RunConfig.flat_too_long_threshold e flag CLI --flat-too-long-threshold.

Motivazione: pop30-combo ha registrato 75 finding flat_too_long HIGH
(secondo killer dopo fees_eat_alpha 87). Rilassare la soglia 0.95→0.98
ammette strategie più passive ma marginalmente attive — analogo
all'ablation fees già verificata (+23% stabile).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-12 13:45:38 +02:00
parent 597815a106
commit bf70acc322
3 changed files with 16 additions and 2 deletions
+7
View File
@@ -43,6 +43,12 @@ def parse_args() -> argparse.Namespace:
default=0.5,
help="Adversarial gate: kill se fees/gross_pnl > soglia (default 0.5, ablation 0.7)",
)
p.add_argument(
"--flat-too-long-threshold",
type=float,
default=0.95,
help="Adversarial gate: kill se signal flat > soglia delle bar (default 0.95, ablation 0.98)",
)
return p.parse_args()
@@ -98,6 +104,7 @@ def main() -> None:
db_path=settings.db_path,
prompt_mutation_weight=args.prompt_mutation_weight,
fees_eat_alpha_threshold=args.fees_eat_alpha_threshold,
flat_too_long_threshold=args.flat_too_long_threshold,
)
run_id = run_phase1(cfg, ohlcv=ohlcv, llm=llm)