feat: enhance documentation and configuration for metric floor and tr…#25
Conversation
…adeoff parameters
There was a problem hiding this comment.
Code Review
This pull request introduces two new configuration parameters, metric_return_tradeoff and metric_floor, to support hybrid gating checks. It updates the default configuration, API reference, architecture documentation, and gate docstrings to reflect these additions. The review feedback highlights a typo in the API reference document and suggests maintaining consistency in Markdown formatting by using single backticks instead of double backticks for inline code.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| optionally adjusted by metric_return_tradeoff: | ||
| candidate > baseline + min_improvement - tradeoff_coeff * (cand_ret - base_ret) * 100 | ||
| where tradeoff_coeff is per-1pp (0.01) return increase. | ||
| 7. Annualized return >= baselines annualized return * min_return_ratio (default 0.5) |
There was a problem hiding this comment.
There is a typo in this line: baselines should be possessive (baseline's) to match the style used in the rest of the document (e.g., candidate's and baseline's on line 411).
| 7. Annualized return >= baselines annualized return * min_return_ratio (default 0.5) | |
| 7. Annualized return >= baseline's annualized return * min_return_ratio (default 0.5) |
| **Phase 1 — `select` (in-sample, every candidate):** | ||
| - Hard constraints on the walk-forward aggregate: max drawdown ≤ `dd_limit` (default `0.20`), `regime_passed` must be `True`, turnover ≤ `turnover_limit` (default `2.0`). | ||
| - Tie-breaker: target metric improvement over baseline (Sharpe, Sortino, or Information Ratio) by at least `min_improvement`. | ||
| - Unconditional absolute metric floor: ``metric_floor`` enforced without a baseline (config key ``metric_floor``, default ``None`` = disabled). |
There was a problem hiding this comment.
| | Turnover ≤ limit | Hard | `turnover_limit` (YAML) | `2.0` | Yes | | ||
| | PBO ≤ limit | Hard (opt) | `pbo_limit` (YAML) | `None` (disabled) | No | | ||
| | Target metric improvement (hybrid) | Soft | `min_improvement` + `metric_return_tradeoff` + `metric_floor` (YAML) | `0.0`, `0.0`, `None` | Only with baseline | | ||
| | Target metric improvement (hybrid) | Soft | `min_improvement` + `metric_return_tradeoff` + `metric_floor` (YAML) | `0.0`, `0.0`, `None` | Tradeoff needs baseline; ``metric_floor`` is unconditional | |
…adeoff parameters