σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Matrix Decompositions›Module 4 · Estimer la covariance›Sujet 4.2·~1 hAvancé

Écrêtage des valeurs propres et Marchenko-Pastur

Position dans le parcoursModule 4 sur 5 · Sujet 2 sur 3
4.2 Écrêtage des valeurs propres et Marchenko-Pastur
—Score du lab— / 100XP total—Série—

Distinguer les valeurs propres de signal du bruit

Si les rendements étaient du pur bruit sans structure, les valeurs propres de leur matrice de corrélation seraient tout de même étalées sur un intervalle connu, l'intervalle de Marchenko-Pastur [λ−,λ+][\lambda_-,\lambda_+][λ−​,λ+​] avec λ±=(1±q)2\lambda_\pm=(1\pm\sqrt q)^2λ±​=(1±q​)2 et q=N/Tq=N/Tq=N/T. Cet intervalle est une règle graduée. Une valeur propre de la matrice de corrélation empirique au-dessus de λ+\lambda_+λ+​ est plus grande que ce que le bruit peut expliquer : elle reflète un vrai facteur commun. Les valeurs propres à l'intérieur de l'intervalle sont indiscernables du bruit : leurs vecteurs propres sont des directions aléatoires qui n'informent pas sur le futur.

λi′={λi,λi>λ+λˉnoise,λi≤λ+,λˉnoise=1k∑λi≤λ+λi,Cclean=QΛ′QT\lambda_i'=\begin{cases}\lambda_i,&\lambda_i>\lambda_+\\[2pt]\bar\lambda_{\mathrm{noise}},&\lambda_i\le\lambda_+\end{cases},\qquad \bar\lambda_{\mathrm{noise}}=\frac{1}{k}\sum_{\lambda_i\le\lambda_+}\lambda_i,\qquad C_{\mathrm{clean}}=Q\Lambda'Q^{T}λi′​={λi​,λˉnoise​,​λi​>λ+​λi​≤λ+​​,λˉnoise​=k1​λi​≤λ+​∑​λi​,Cclean​=QΛ′QT(1)

L'écrêtage des valeurs propres agit sur ce verdict. On garde les valeurs propres au-dessus de λ+\lambda_+λ+​ et l'on remplace toutes les autres par leur propre moyenne λˉnoise\bar\lambda_{\mathrm{noise}}λˉnoise​, ce qui aplatit la partie bruitée du spectre. Prendre la moyenne plutôt que zéro conserve la trace, qui vaut NNN pour une matrice de corrélation, et garde la matrice définie positive donc inversible, ce dont un optimiseur a besoin. On reconstruit ensuite Cclean=QΛ′QTC_{\mathrm{clean}}=Q\Lambda'Q^{T}Cclean​=QΛ′QT et on la remet à l'échelle pour que sa diagonale vaille exactement 1, car le remplacement modifie légèrement la diagonale. Deux raffinements sont courants. Le mode de marché absorbe de la variance, donc le niveau de bruit est en réalité σ2≈1−λ1/N\sigma^2\approx1-\lambda_1/Nσ2≈1−λ1​/N plutôt que 1. Et la loi de Marchenko-Pastur suppose des observations indépendantes et des queues fines : le bord est un repère, non un test précis ; vérifiez la matrice nettoyée hors échantillon.

Quatre actifs, seize observationsSupposons N=4N=4N=4, T=16T=16T=16, donc q=0,25q=0{,}25q=0,25 et λ+=(1+0,5)2=2,25\lambda_+=(1+0{,}5)^2=2{,}25λ+​=(1+0,5)2=2,25. La matrice de corrélation empirique a pour valeurs propres 2,60; 0,80; 0,40; 0,202{,}60 ;\,0{,}80 ;\,0{,}40 ;\,0{,}202,60;0,80;0,40;0,20 (leur somme vaut N=4N=4N=4). Seule 2,602{,}602,60 dépasse 2,252{,}252,25 : une valeur propre de signal, le facteur de marché commun. Les trois autres sont du bruit, de moyenne (0,80+0,40+0,20)/3=0,4667(0{,}80+0{,}40+0{,}20)/3=0{,}4667(0,80+0,40+0,20)/3=0,4667. Le spectre nettoyé est 2,60; 0,4667; 0,4667; 0,46672{,}60 ;\,0{,}4667 ;\,0{,}4667 ;\,0{,}46672,60;0,4667;0,4667;0,4667, de somme toujours 4 et de plus petite valeur propre 0,470{,}470,47 au lieu de 0,200{,}200,20 : son conditionnement passe de 131313 à environ 5,65{,}65,6. Pour un problème plus grand avec q=0,4q=0{,}4q=0,4, le bord supérieur est (1+0,4)2=2,665(1+\sqrt{0{,}4})^2=2{,}665(1+0,4​)2=2,665.
  • Bord : les valeurs propres au-dessus de (1+q)2(1+\sqrt q)^2(1+q​)2 sont du signal ; celles dans l'intervalle sont du bruit.
  • Écrêtage : remplacer les valeurs propres de bruit par leur moyenne, ce qui conserve la trace et le caractère défini positif.
  • Finition : reconstruire QΛ′QTQ\Lambda'Q^{T}QΛ′QT et remettre la diagonale à 1 ; toujours valider hors échantillon.
Un repère, pas un verdictLes vrais rendements ont des queues épaisses et une volatilité qui change dans le temps, ce qui étale les valeurs propres de bruit au-delà du bord théorique. Voyez λ+\lambda_+λ+​ comme un seuil de départ raisonnable pour le nombre de composantes à garder, et laissez un test hors échantillon décider si le nettoyage aide vraiment. C'est exactement ce que fait le projet final.

Lab : ce qui est noté

  • Le bord supérieur15 pts
  • Compter les valeurs propres de signal10 pts
  • La valeur de remplacement15 pts
  • La trace est conservée10 pts
  • L'algorithme d'écrêtage15 pts
  • Pourquoi la moyenne15 pts
  • Ce que signifie une valeur propre au-dessus du bord20 pts
0/ 7 traités
Exercices
1Réponse numérique15 ptsSans réponse

Pour N = 200 actifs et T = 500 observations (q = 0,4), quel est le bord supérieur de Marchenko-Pastur (1+q)2(1+\sqrt q)^2(1+q​)2 ? Donnez-le avec trois décimales.

lambda+=lambda_+ =lambda+​=accepté : ± 0.005
2Réponse numérique10 ptsSans réponse

Une matrice de corrélation avec q = 0,25 (bord supérieur 2,25) a pour valeurs propres 2,60 ; 0,80 ; 0,40 et 0,20. Combien dépassent le bord ?

signal=signal =signal=accepté : ± 0.01
3Réponse numérique15 ptsSans réponse

Pour la même matrice, les trois valeurs propres de bruit 0,80 ; 0,40 et 0,20 sont remplacées par leur moyenne. Quelle est la valeur commune ? Donnez-la avec quatre décimales.

average=average =average=accepté : ± 0.001
4Compléter les blancs10 ptsSans réponse

Une matrice de corrélation de N=4N=4N=4 actifs a pour trace 4. Après écrêtage, les valeurs propres ont toujours la même somme. Complétez.

∑iλi′=\displaystyle \sum_i\lambda_i'=\htmlData{blank=a}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}}i∑​λi′​=
5Remettre les étapes dans l'ordre15 ptsSans réponse

Mettez dans l'ordre les étapes de l'écrêtage des valeurs propres.

Faites glisser pour réordonner, ou placez le focus sur un élément, Espace pour le soulever, les flèches pour le déplacer et Espace pour le déposer.

  1. 1Remettre à l'échelle pour que la diagonale vaille exactement 1
  2. 2Remplacer les valeurs propres au niveau du bord ou en dessous par leur moyenne
  3. 3Calculer la matrice de corrélation empirique et sa décomposition propre
  4. 4Reconstruire la matrice QΛ′QTQ\Lambda'Q^{T}QΛ′QT
  5. 5Trouver le bord (1+N/T)2(1+\sqrt{N/T})^2(1+N/T​)2
6Choix15 ptsSans réponse

Pourquoi remplace-t-on les valeurs propres de bruit par leur moyenne plutôt que par zéro ?

7Expliquer avec des mots20 ptsSans réponse

En une ou deux phrases, dites ce que signifie une valeur propre de la matrice de corrélation empirique au-dessus du bord supérieur de Marchenko-Pastur, et ce que signifie une valeur propre à l'intérieur.

Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 7 · Ctrl ⏎ pour vérifier

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub