| 5 | //! | You have | Entry point | AFML | |
| 6 | //! | --- | --- | --- | |
| 7 | //! | a class probability (typically from a meta-label model) | [`bet_size_probability`] | §10.3–10.5, Snippets 10.1–10.3 | |
| 8 | //! | a price forecast and the current market price | [`bet_size_dynamic`] | §10.6, Snippet 10.4 | |
| 9 | //! | only the sides and lifespans of the bets | [`bet_size_budget`], [`bet_size_reserve`] | §10.2 | |
| 10 | //! |
| 11 | //! Sizes are fractions of the maximum position in `[-1, 1]`, signed by side. The `func` |
| 12 | //! string arguments select the sizing curve: `"sigmoid"` (`m(x) = x / sqrt(w + x^2)`) or |
| 13 | //! `"power"` (`m(x) = sgn(x) |x|^w`, which needs the price divergence `x` scaled into |
| 14 | //! `[-1, 1]`). Any other name is [`BetSizingError::InvalidFunction`]. |
| 15 | //! |
nothing calls this directly
no outgoing calls
no test coverage detected