σμ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 5 · Facteurs et portefeuilles›Sujet 5.2·~1 h 40 minAvancé

Projet final : une covariance débruitée pour la variance minimale

Position dans le parcoursModule 5 sur 5 · Sujet 2 sur 2
5.2 Projet final : une covariance débruitée pour la variance minimale
—Score du lab— / 100XP total—Série—

Nettoyer la matrice rapporte-t-il ?

Le portefeuille de variance minimale prend une matrice de covariance Σ et renvoie les poids entièrement investis de plus petite variance, w=Σ⁻¹ 1 / ( 1ᵀΣ⁻¹ 1). On dirait des mathématiques pures, mais c'est le test le plus tranchant d'un estimateur de covariance, car il exploite chaque erreur de la matrice. Ce projet final soumet toute la compétence à ce test. Vous estimez Σ sur les 63 derniers jours de bourse, construisez le portefeuille, le détenez les 21 jours suivants, puis avancez, et mesurez la volatilité du portefeuille que vous auriez réellement détenu. Trois estimateurs s'affrontent : la covariance empirique simple, celle à valeurs propres écrêtées et celle rétrécie de Ledoit-Wolf.

w=(Σ⁻¹ 1)/(1ᵀΣ⁻¹ 1), Σ^(*)=δμI+(1-δ)S, δ=(min(b̄²,d²))/d², λ₊=(1+√(N/T))²

N'inversez jamais la matrice : résolvez le système linéaire Σ x= 1 et divisez par la somme, c'est plus rapide et plus précis. La partie honnête, c'est le calendrier. Les poids d'un bloc de jours ne doivent utiliser que les jours qui le précèdent, et le résultat est la volatilité des rendements hors échantillon mis bout à bout, non la variance promise par l'optimiseur. Pour l'écrêtage, on travaille sur la matrice de corrélation, on remplace par leur moyenne les valeurs propres qui ne dépassent pas λ₊, on reconstruit, on remet la diagonale à 1 et l'on multiplie de nouveau par les volatilités. Pour le rétrécissement, on calcule l'intensité avec la formule du fichier de départ, exactement comme dans la leçon précédente, avec S divisée par T.

Ce que disent les vraies donnéesPour douze grandes actions américaines depuis 2010, avec une fenêtre de 63 jours et des pas de 21 jours (3 680 jours hors échantillon), le portefeuille de variance minimale construit sur la covariance empirique a une volatilité annuelle d'environ 14,3 %. Avec la matrice à valeurs propres écrêtées, elle vaut environ 13,9 %, et avec Ledoit-Wolf environ 13,7 % : le rétrécissement gagne, et un portefeuille équipondéré des mêmes actions a environ 18,4 %. Le gain du nettoyage est de quelques pour cent de volatilité avec 12 actifs ; avec des centaines d'actifs il est bien plus grand, car q=N/T est alors proche de 1. Avec des fenêtres plus longues les trois estimateurs se rapprochent, et à 126 jours ou plus l'écrêtage au simple bord de Marchenko-Pastur est un peu moins bon que la matrice empirique, rappel qu'il faut valider chaque raffinement hors échantillon.
  • Poids : résoudre Σ x= 1 puis diviser par la somme ; ne jamais inverser la matrice.
  • Écrêtage et rétrécissement : valeurs propres de bruit remplacées par leur moyenne ; ou mélange avec μI à intensité calculée.
  • Backtest : estimer sur les window derniers jours, détenir step jours, avancer et mesurer la volatilité hors échantillon mise bout à bout.
Le but de toute la compétenceUne matrice de covariance est une estimation, non un fait, et ceux qui l'utilisent, les optimiseurs en tête, sont ceux qui en trouvent les erreurs. Les valeurs propres et la SVD disent où vit l'information d'une matrice, le bord de Marchenko-Pastur et l'intensité de rétrécissement disent dans quelle mesure s'y fier, et seul un test sur des jours jamais vus dit si votre réparation a marché. Gardez ces trois réflexes.

Lab : ce qui est noté

  • Écrêtage des valeurs propres25 pts
  • Rétrécissement de Ledoit-Wolf25 pts
  • Poids de variance minimale10 pts
  • Un backtest glissant20 pts
  • Comparer les estimateurs20 pts
Explorateur · lab-md-12
▾ lab-md-12
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-md-12$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-md-12 revient aux fichiers de départ et le terminal est vidé. Votre solution actuelle sera perdue : cette action est irréversible.

Sera réinitialisé
  • main.py → code de départ
  • Historique du terminal et sortie des tests
  • Modifications non soumises
Sera conservé
  • Meilleur score du lab
  • Votre XP et votre série
  • Progression du cours et notes

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