Tuning: Model & signal
The Model stage prices each candidate contract and turns that price into an edge — the gap between the model's fair value and the market's ask. Everything downstream acts on that number, so the Model is the most consequential part of a strategy. It is a builder component: you tune it while building, and it locks as part of the published strategy. Swapping the model or changing its shape is a structural change and deploys through the evidence gate.
For the concepts behind fair value and edge, see Concepts: edge & settlement. This page is the knob reference.
The Fair-Value calculator
The model slot holds one pricing law (an alpha or forecast model in the vocabulary of platforms like QuantConnect and Qlib). Parachute ships two:
- Jump-Diffusion — the default. It adds a jump/tail term to the base law so the model does not understate contracts that only pay off after a violent move. Crypto minute-returns are far more fat-tailed than a bell curve, which a pure Gaussian law misses.
- Gaussian (GBM) — a classic log-normal geometric-Brownian-motion law with no jump term.
Choosing between them is the one toggle here:
| Dial | Turning it on… | Range |
|---|---|---|
| Jump Model Enabled — jump_model_enabled | Selects the Jump-Diffusion law; off reverts to the plain Gaussian law | boolean |
Switching the calculator is a structural change — it changes what the strategy is — so it deploys through the evidence gate.
Jump-Diffusion calibration constants
When Jump-Diffusion is selected, its behaviour is set by a block of fitted constants. These are not taste knobs. They come from a 90-day calibration of BTC and ETH return data, and the calibration — not intuition — is what makes the model honest. Leave them at their calibrated defaults unless you are deliberately re-fitting the model with your own analysis.
| Dial | What it sets | Range |
|---|---|---|
| Reference Jump Rate (λ_ref) — jump_lambda_ref_btc, jump_lambda_ref_eth | Baseline jumps-per-hour at normal volatility (separate BTC and ETH values) | 0–20 |
| Vol Sensitivity (β) — jump_beta_btc, jump_beta_eth | How fast the jump rate scales as realized volatility rises | 0–5 |
| Jump Size (σ_J) — jump_sigma_btc, jump_sigma_eth | Standard deviation of a single jump, in log-return units | 0–0.1 |
| Jump Drift (μ_J) — jump_mu_btc, jump_mu_eth | Mean direction of a jump — fitted at 0 (symmetric, no directional bias) | -0.05–0.05 |
| Max Effective Jump Rate — jump_lambda_max | Hard ceiling on the scaled jump rate, so an extreme hour can't produce an unbounded intensity | 0–50 |
Because they are calibrated together, changing one in isolation usually makes the model worse, not better. Treat this block as a unit and re-fit as a unit.
The Fair-Value Ceiling
One model dial is a legitimate risk lever:
| Dial | Turning it up… | Range |
|---|---|---|
| Fair Value Ceiling — fair_value_ceiling | Lets the model call a contract more certain (a higher fair value). Turning it down holds more headroom back for un-modeled tail risk, so the model stays humble about near-certain favorites | 0.9–0.99999 |
An advanced companion clamp, Certainty Weight Floor (certainty_weight_floor, range 0–1), sits on the Probability Calculator node. It is a calibrated model input; leave it at its default unless you are re-calibrating the model as a whole.
ITM Probability Tilt
An optional model tilt that nudges the estimated settle probability upward for a contract already deep in-the-money as settlement approaches, where the base model can underweight near-certain outcomes. It is off by default. It is a model knob and is not the Moneyness Filter — the two are deliberately kept distinct, and neither is ever shown as a bare "ITM."
| Dial | Turning it up… | Range |
|---|---|---|
| ITM Bias Enabled — itm_bias_enabled | Switches the tilt on (off = no tilt) | boolean |
| Hours Max — itm_bias_hours_max | Applies the tilt further from expiry, so it affects more of a contract's life | ≥ 1 hour |
| Spot Buffer — itm_bias_spot_buffer_pct | Requires spot to be further in-the-money before the tilt applies, making it more selective (fewer contracts qualify) | 0–0.1 (fraction of strike) |
| Max Probability Boost — itm_bias_max_add | Raises the ceiling on how much probability the tilt can add | 0–0.1 |
Momentum Bias
An optional nudge to fair value toward recent price momentum, so the model leans with a short-term move. It is off by default, and deliberately so: a calibration analysis found that enabling it added overconfidence and worsened the model. (This is separate from the momentum-based Trend Filter, which is unaffected.) Reach for it only if you have a specific reason to want the model to follow momentum, and confirm with a backtest.
| Dial | Turning it up… | Range |
|---|---|---|
| Momentum Bias Enabled — momentum_enabled | Switches the tilt on (off = no tilt) | boolean |
| Momentum Scale Factor — momentum_bias_scaling_factor | Strengthens the nudge — a larger shift in fair value per unit of momentum signal | 0–0.5 |
Next: the Filters that decide which of these edges are actually worth trading.