Le marché saute-t-il à cet instant ?
BV est aveugle aux sauts ; RV les voit. Leur ratio est ton détecteur de Lévy.
Une seule question à un bit. Si la variance de ces 60 secondes vient d'une
diffusion continue, deux estimateurs convergent vers la même cible et leur
écart est ~0. Si elle vient d'un saut isolé, un seul des deux estimateurs
l'a vu — l'écart explose. Le ratio J = 1 − BV/RV rend cette dichotomie
lisible sur un axe [0, 1].
Définition formelle de BV
Sur la même fenêtre (t − τ, t] que celle qui sert à
realized-variance — mêmes retours tick-by-tick
r_i, même découpe temporelle — on définit la bipower variation :
BV(t, τ) = (π/2) · Σ_{i: r_i, r_{i-1} ∈ window} |r_i| · |r_{i-1}|
La constante π/2 vient de l'identité gaussienne E[|Z|]² = 2/π pour
Z ∼ 𝒩(0, 1). Elle calibre l'estimateur de sorte que, en l'absence de
saut, BV(t, τ) →_p IV(t, τ) — la même integrated variance que RV
estime ([barndorff2004power, Thm. 1, p. ~7] — consistance de la
bipower variation vers la variance intégrée du processus continu, en
présence d'un terme de sauts purs additif).
C'est précisément cette robustesse-au-saut qui distingue BV de RV :
RV consomme r² (qui intègre les sauts), BV consomme |r_i|·|r_{i-1}|
(qui ne voit que ce qui persiste sur deux ticks consécutifs).
Le jump indicator
Le ratio sans dimension :
J(t, τ) = 1 − BV(t, τ) / RV(t, τ)
Sémantique à un bit. J ≈ 0 \(\to\) diffusion lisse. J → 1 \(\to\) les sauts
dominent la variance court terme. C'est la réponse à un bit à la
question wheeler qui donne son titre à cette page.
Borne à fenêtre finie : J ∈ [−ε, 1] avec ε ≈ 10/N
(docs/adr/0003-stats-and-classifier.md §2 (L113-L182), INV-BV-3).
Le −ε est purement fini-sample ; asymptotiquement (Δ → 0) on aurait
J ∈ [0, 1].
Intuition — pourquoi le produit décroisé est aveugle
Sur retours iid gaussiens centrés de variance σ², l'identité
E[|r_i| · |r_{i-1}|] = E[|r_i|]² = (2/π) · σ² donne directement
E[BV] = (π/2) · N · (2/π) · σ² = N · σ² = E[RV]. Donc BV ≈ RV,
J ≈ 0 — la signature d'un régime continu.
Maintenant injecte un saut isolé Δ_k au tick k. Le saut entre :
- dans
RVviar_k²\(\to\) contributionΔ_k²(un seul terme, énorme) ; - dans
BVvia deux produits,|r_{k-1}|·|r_k|et|r_k|·|r_{k+1}|, qui mêlent chacun|Δ_k|(grand) à|r_{k±1}|(de l'ordre deσ·√Δ).
Le terme de saut dans BV est donc d'ordre |Δ_k| · σ, linéaire en
amplitude, alors qu'il est Δ_k² dans RV, quadratique. À forte
amplitude, l'écart explose. Le ratio bascule. C'est mathématiquement le
même mécanisme que la décomposition de Lévy-Khintchine du quadratic
variation en partie continue + somme des sauts au carré
([barndorff2004power, Thm. 1] — qui formalise précisément cette
décomposition pour les semi-martingales avec sauts).
Biais fini-sample — off par défaut
L'estimateur naïf surestime systématiquement BV à N petit. Correction
[huang2005relative, Eq. 4] :
BV_corrected = (1 − 2/N)⁻¹ · BV_naive
Biais empirique (cf. docs/adr/0003-stats-and-classifier.md §2 (L160-L171)) :
N = 60(fenêtre 60 s @ 1 Hz) \(\to\) ~2.6 % de biais.N = 600(10 min @ 1 Hz) \(\to\) ~0.25 %.N = 6 000(10 min @ 10 Hz) \(\to\) ~0.03 %.
La correction est exposée comme feature flag bv-corrected dans
salim-core, off par défaut — réévaluation à J+30 selon le bruit
observé empiriquement
(docs/adr/0003-stats-and-classifier.md §2 (L167-L171)).
Activer la correction ajoute deux colonnes au schéma Parquet
(bv_corrected, j_corrected) sans casser la compatibilité V1.
Pour ton cas
Si tu calcules J sur fenêtre 60 s à chaque tick, c'est exactement la
mesure qui distingue « ARM bouge fort mais lisse » (volatilité élevée,
processus continu, J ≈ 0) de « ARM bouge fort par sauts » (régime
rugueux Mandelbrot, J → 1).
Le second est la signature que tu décrivais le 2026-05-10 sur WhatsApp.
J la rend lisible sans regarder le prix lui-même — il suffit de
comparer deux estimateurs de variance dont l'un ferme les yeux sur les
sauts.
Min-tick guard
Sur fenêtre courte avec très peu de samples (N < 30), J est
trompeur : un premier return solitaire donne BV = 0 (pas de paire
disponible), donc J = 1 artefact qui n'a rien à voir avec un saut
physique. Le pipeline applique min_tick_count_short = 30 avant de
laisser J alimenter le classifier — voir
pivot-j-based §"patches (a) min-tick guard" et
docs/adr/0005-classifier-signal-j-based.md §"Patches complémentaires"
qui posent les défauts (30, 300) et l'invariant « le classifier ne
transitionne pas tant que les deux counts ne dépassent pas ».
Sans ce garde, estimator-instability (l'adversaire endogène nommé dans
le frontmatter) gagne — le détecteur sonne en l'absence de saut.
Limites
- BV n'identifie pas quel tick a sauté, seulement qu'il y a eu
saut sur la fenêtre. Pour localiser, on agrège plusieurs
J(t, τ)àτcroissant et on cherche leτminimal oùJbascule. C'est le même genre de stratégie que la tail discovery d'Aït-Sahalia (hors scope ici). - La consistance de BV est asymptotique (
Δ → 0, [barndorff2004power, Thm. 1]). En haute fréquence MBP-10 (cadence sub-seconde au NY-open), c'est OK pour fenêtre≥ 30ticks ; en heure calme (midi NY), le min-tick guard tient. Jseul ne distingue pas saut Lévy α-stable vs saut gaussien rare — les deux donnentJ → 1. Pour la signature α-stable on regarde la décroissance deJquandτgrandit, ou l'exposant de Hurst des retours absolus ; voir roughness-and-levy.
Adversaire & liens
- Adversaire endogène :
estimator-instability—Jpeut flotter sur fenêtres maigres (N < 30). Antidote : min-tick guard nommé ci-dessus + featurebv-correctedsi le biais finite-sample empêche la lecture. - Théorie amont : realized-variance — définit
r_ietRV(t, τ); cette page les réutilise sans les redéfinir (économie de ~200 bits par re-définition évitée, cf.delib-20260514-bccc/synthesis.md§C9). - Théorie aval (régime) : regime-classifier —
utilise
Jcomme signal d'état (Smooth / Transition / Rough). - Décision empirique : pivot-j-based — pourquoi
Jremplace le ratioRV_short/RV_longdu MVP, et comportement observé AMC 27-jan-2021. - Au-delà du détecteur binaire : roughness-and-levy — distinguer un saut α-stable d'un saut gaussien rare.
Références
- [barndorff2004power, Thm. 1 p. ~7] Barndorff-Nielsen, O. E. & Shephard, N. (2004). Power and Bipower Variation with Stochastic Volatility and Jumps. Journal of Financial Econometrics 2(1), 1–37. DOI: 10.1093/jjfinec/nbh001. Thm. 1 = consistance BV \(\to\) IV en présence de sauts.
- [huang2005relative] Huang, X. & Tauchen, G. (2005). The Relative
Contribution of Jumps to Total Price Variance. Journal of Financial
Econometrics 3(4), 456–499. Eq. 4 (correction
(1 − 2/N)⁻¹). docs/adr/0003-stats-and-classifier.md§2 — Bipower variation et jump indicator (définition, algo online, invariants).docs/adr/0005-classifier-signal-j-based.md— PourquoiJremplaceR = RV_short/RV_long; min-tick guard.delib-20260514-bccc/synthesis.md§C3 (page = un correct unit = une question), §C4 (citation discipline), §C9 (no fabrication numérique).