Skip to content
Nouveautés
  • Bourse & Prévisions #2: Description de la Stratégie [TUTO]
  • Bourse & Prévisions #1: Introduction [TUTO]
  • Bourse & Matlab #14: La Corrélation de A à Z – Partie 1/2
  • Bourse & Matlab #13: Comprendre le Prix – Modèle Simplifié – Partie 2/2
  • Bourse & Matlab #12: Comprendre le Prix – Modèle Simplifié – Partie 1/2
Ingénierie & Bourse

La Bourse en Équation & Trading Algorithmique

  • DÉBUTER EN BOURSE
    • Cours | PDF
    • BOURSE & MATLAB
    • PRÉVISIONS BOURSE
    • TRADING ALGORITHMIQUE
  • BOUTIQUE
    • ALGORITHMES
    • OUTILS DE TRADING
    • INDICATEURS BOURSIERS
  • Mon Compte
    • Connexion
    • Déconnexion
    • S’inscrire
  • Calendrier éco
  • TRACKING RECORD
  • Nos Missions
  • fr Français▼
    X
    am አማርኛar العربيةhy Հայերենaz Azərbaycan dilieu Euskarabe Беларуская моваbn বাংলাbs Bosanskibg Българскиca Catalàzh-CN 简体中文zh-TW 繁體中文co Corsucs Čeština‎da Dansknl Nederlandsen Englisheo Esperantotl Filipinofi Suomifr Françaisfy Fryskka ქართულიde Deutschel Ελληνικάgu ગુજરાતીha Harshen Hausahaw Ōlelo Hawaiʻiiw עִבְרִיתhmn Hmonghu Magyaris Íslenskaid Bahasa Indonesiait Italianoja 日本語jw Basa Jawakn ಕನ್ನಡkk Қазақ тіліkm ភាសាខ្មែរko 한국어ku كوردی‎ky Кыргызчаlo ພາສາລາວlv Latviešu valodalt Lietuvių kalbamk Македонски јазикmg Malagasyms Bahasa Melayuml മലയാളംmi Te Reo Māorimr मराठीmn Монголmy ဗမာစာne नेपालीfa فارسیpt Portuguêspa ਪੰਜਾਬੀro Românăru Русскийsm Samoangd Gàidhligsn Shonasd سنڌيsi සිංහලsk Slovenčinasl Slovenščinaso Afsoomaalies Españolsu Basa Sundasw Kiswahilisv Svenskatg Тоҷикӣta தமிழ்te తెలుగుtr Türkçeuk Українськаur اردوuz O‘zbekchavi Tiếng Việtyi יידישyo Yorùbázu Zulu
Ingénierie & Bourse

La Bourse en Équation & Trading Algorithmique

  • DÉBUTER EN BOURSE
    • Cours | PDF
    • BOURSE & MATLAB
    • PRÉVISIONS BOURSE
    • TRADING ALGORITHMIQUE
  • BOUTIQUE
    • ALGORITHMES
    • OUTILS DE TRADING
    • INDICATEURS BOURSIERS
  • Mon Compte
    • Connexion
    • Déconnexion
    • S’inscrire
  • Calendrier éco
  • TRACKING RECORD
  • Nos Missions
  • fr Français▼
    X
    am አማርኛar العربيةhy Հայերենaz Azərbaycan dilieu Euskarabe Беларуская моваbn বাংলাbs Bosanskibg Българскиca Catalàzh-CN 简体中文zh-TW 繁體中文co Corsucs Čeština‎da Dansknl Nederlandsen Englisheo Esperantotl Filipinofi Suomifr Françaisfy Fryskka ქართულიde Deutschel Ελληνικάgu ગુજરાતીha Harshen Hausahaw Ōlelo Hawaiʻiiw עִבְרִיתhmn Hmonghu Magyaris Íslenskaid Bahasa Indonesiait Italianoja 日本語jw Basa Jawakn ಕನ್ನಡkk Қазақ тіліkm ភាសាខ្មែរko 한국어ku كوردی‎ky Кыргызчаlo ພາສາລາວlv Latviešu valodalt Lietuvių kalbamk Македонски јазикmg Malagasyms Bahasa Melayuml മലയാളംmi Te Reo Māorimr मराठीmn Монголmy ဗမာစာne नेपालीfa فارسیpt Portuguêspa ਪੰਜਾਬੀro Românăru Русскийsm Samoangd Gàidhligsn Shonasd سنڌيsi සිංහලsk Slovenčinasl Slovenščinaso Afsoomaalies Españolsu Basa Sundasw Kiswahilisv Svenskatg Тоҷикӣta தமிழ்te తెలుగుtr Türkçeuk Українськаur اردوuz O‘zbekchavi Tiếng Việtyi יידישyo Yorùbázu Zulu
Ingénierie & Bourse

La Bourse en Équation & Trading Algorithmique

Analyse de la volatilité des indices- Bourse - Partie 3-3

Bourse & Matlab #9: Analyse de la volatilité des indices – Partie 3-3

  • IngB
  • 2 octobre 2021
  • 0
N'hésitez pas de consulter notre chaîne youtube "INGÉNIERIE et BOURSE" pour profiter des cours et tutos gratuis!

Objectifs

  • Savoir analyser la volatilité d’un actif
  • Savoir effectuer une analyse comparative entre plusieurs actifs
  • Les erreurs à éviter durant son analyse
  • Savoir coder la volatilité d’un actif
  • Savoir calculer la variance et la variance mobile d’un actif
  • Comprendre la notion de la volatilité
  • Avoir l’importance de la volatilité
  • Savoir calculer la volatilité de type sinusoïdal ou Gaussien
  • Savoir la relation entre la volatilité et la valeur efficace
  • Savoir différencier entre la volatilité globale et mobile
  • Etc.

Téléchargement et importation des données

Dans cette on va aborder  l’analyse de la volatilité d’un ensemble des indices. La première étape consiste le téléchargement et l’importation des données de cinq indices mondiaux : ‘CAC 40′,’FTSE 100′, ‘Nikkei 225′,’Dow Jones’ et ‘SP 500’ dans la BD Yahoo, ayant des symboles suivants successivement : ‘^FCHI’,’^FTSE’, ‘^N225′,’^DJI’,’^GSPC’.  Ci-dessous l’extrait du code qui permet l’importation et l’affichage des données brutes du Jan-03-1995 à la date actuelle.

%% 1. Téléchargement, Importation & Normalisation des données
Titre={'^FCHI','^FTSE', '^N225','^DJI','^GSPC'};
%     {'CAC 40','FTSE 100', 'Nikkei 225','Dow Jones','SP 500'};

% Titre={'GBPUSD=X', 'EURUSD=X', 'JPY=X','CHF=X','NZDUSD=X'};

Start='Jan-03-1995';    % Date de début
Stop=datestr(now,1);    % Date de fin (Actuelle) ou bien "Mois-Jour-Année"
[nn, mm] = month(Stop);
Stop=strcat(mm,'-',num2str(day(Stop)),'-',num2str(year(Stop)));

n=length(Titre);
N=1e4;
Data_H=zeros(n,N);
Data_L=zeros(n,N);
MM=2*300; H=ones(1,MM)/MM; % Filtre Moyenne Mobile

for i=1:n
    % Importation 
    Data = getData(char(Titre(i)),Start,Stop);
    
    % Prix haut de la bougié
    Data_H(i,:)=imresize(Data(:,2),[N 1],'cubic');

    % Prix bas
    Data_L(i,:)=imresize(Data(:,3),[N 1],'cubic');
end;
t=linspace(year(Start),year(Stop),N);

% Affichage
figure(1);
plot(t,Data_H', 'linewidth',3);xlim([t(1) t(end)]);
Titre={'CAC 40','FTSE 100', 'Nikkei 225','Dow Jones','SP 500'};
legend(Titre,'fontsize',16,2);
set(gca,'color','none');

Assurez-vous bien que la date de du début soit supérieure à la date d’introduction en bourse de l’actif afin d’éviter les erreurs d’interprétation de son analyse.

Données brutes des indices

On constate que les indices ‘Nikkei 225’ et ‘Dow Jones’ ont des amplitudes importantes par rapport aux autres indices. Une analyse comparative de la volatilité est difficile et illisible dans ces conditions. D’où l’importation de la normalisation des amplitudes.

A quoi sert la normalisation ?

La normalisation est une étape fondamentale durant son analyse des actifs du même type, en particulier lorsque ces derniers ont des amplitudes différentes. Elle consiste la normalisation des amplitudes des actifs pour quelle soient comprise entre [0 (0%), 1 (100%)]. En pratique, on divise le prix par la valeur maximale de la valeur absolue du prix dans la plage d’analyse (ici le prix le plus haut depuis 1995). On ajoute une ligne du code dans la boucle for :

for i=1:n
    Data = getData(char(Titre(i)),Start,Stop);
    
    % Prix haut de la bougié
    Data_H(i,:)=imresize(Data(:,2),[N 1],'cubic');
    Data_H(i,:)=Data_H(i,:)./max(abs(Data_H(i,:)));
    
    % Prix bas
    Data_L(i,:)=imresize(Data(:,3),[N 1],'cubic');
    Data_L(i,:)=Data_L(i,:)./max(abs(Data_L(i,:)));
end;

Données brutes des indices - normalisation des données

C’est mieux maintenant J On arrive à voir visuellement  les la volatilité ainsi la ressemblance entre indices. On peut encore faire mieux, on normalise le point de départ des indices. En effet, les indices disposent des shifts différents (valeurs de départs différentes). On va soustraire la valeur initiale de la façon suivante :

for i=1:n
    Data = getData(char(Titre(i)),Start,Stop);
    
    % Prix haut de la bougié
    Data_H(i,:)=imresize(Data(:,2),[N 1],'cubic');
    Data_H(i,:)=Data_H(i,:)-Data_H(i,1);
    Data_H(i,:)=Data_H(i,:)./max(abs(Data_H(i,:)));
    
    % Prix bas
    Data_L(i,:)=imresize(Data(:,3),[N 1],'cubic');
    Data_L(i,:)=Data_L(i,:)-Data_L(i,1);
    Data_L(i,:)=Data_L(i,:)./max(abs(Data_L(i,:)));
end;

Données brutes des indices - normalisation des données et suppression offsets

Les données sont maintenant normalisées & alignées pour son analyse. Ci-dessous les points clés à retenir :

  • On constate une relation de corrélation entre [CAC 40 & FTSE 100] ainsi [S&P 500 & Dow Jones]
  • Pics durant les crises
  • Changement du comportement du CAC 40 & FTSE 100 depuis la crise du 2008
  • Nikkei 225 est l’indice la plus volatile, elle a un comportement unique ! (n’est pas corrélé aux autres indices)
  • S&P 500 & Dow Jones plus stables et robustes face aux crises
  • On est posé sur le pic comme celui du 2001 pour l’ensemble des indices  🙁

Voir le tutoriel pour plus de détails

Calcul de la volatilité globale en % (1 Sigma)

Sig_H=100*sqrt(var(Data_H'));
Sig_B=100*sqrt(var(Data_L'));
strcat(num2str(Sig_H'),' - ', char(Titre'))
ans =

22.8422 -CAC 40    
23.3533 -FTSE 100  
 39.359 -Nikkei 225
21.4884 -Dow Jones 
19.7517 -SP 500 

La volatilité à 1 Sigma du Nikkei 225 est 2x plus grande par rapport aux autres indices.

Calcul de la volatilité mobile

La volatilité mobile est un bon indicateur de la variabilité de la volatilité. En effet, la volatilité peut variée en fonction du temps comme la valeur moyenne. Elle indique la nervosité du marché ou sa stabilité. On peut aussi profiter de la volatilité mobile pour savoir les actifs corrélés. On voit clairement dans la figure une bonne corrélation (ressemblance) entre SP500 et DJ ainsi CAC40 et FTSE100. On verra dans la suite la notion de corrélation. Le nikkei225 lui en crise permanente 🙂

M=150;
Sig_M=zeros(n,N);
for i=1:n
    for j=M:N
        V=Data_H(i,j-M+1:j);
        Sig_M(i,j)=sqrt(var(V));
    end;
end;

figure(3);
plot(t,100*Sig_M', 'linewidth',3);xlim([t(1) t(end)]);
legend(Titre,'fontsize',16,2);
title('Volatilité (1\sigma)','fontsize',16);
set(gca,'color','none');

Volatilité mobile ou instantanée des indices

La volatilité mobile moyenne des indices

La crise COVID-19  est presque 2x plus volatile par rapport aux deux dernières crises.

%% 3. Calcul de la Variance Mobile
M=120;
Sig_M=zeros(n,N);
for i=1:n
    for j=M:N
        V=Data_H(i,j-M+1:j);
        Sig_M(i,j)=sqrt(var(V));
    end;
end;

figure(3);
plot(t,100*Sig_M', 'linewidth',3);xlim([t(1) t(end)]);
legend(Titre,'fontsize',16,2);
title('Volatilité (1\sigma)','fontsize',16);
set(gca,'color','none');

%% 4. Calcul de la Variance Mobile
VM=100*sum(Sig_M)/n;
figure(4);
plot(t,VM, 'linewidth',3);xlim([t(1) t(end)]);
title('Volatilité (1\sigma)','fontsize',16);
set(gca,'color','none');

Volatilité moyenne des indice

Programme complet

clc; close all; clear all;

%% Ingenierie-Bourse.fr
%% Comprendre la Volatilité - Partie 3/3


%% 1. Téléchargement, Importation & Normalisation des données
Titre={'^FCHI','^FTSE', '^N225','^DJI','^GSPC'};
%     {'CAC 40','FTSE 100', 'Nikkei 225','Dow Jones','SP 500'};

% Titre={'GBPUSD=X', 'EURUSD=X', 'JPY=X','CHF=X','NZDUSD=X'};

Start='Jan-03-1995';    % Date de début
Stop=datestr(now,1);    % Date de fin (Actuelle) ou bien "Mois-Jour-Année"
[nn, mm] = month(Stop);
Stop=strcat(mm,'-',num2str(day(Stop)),'-',num2str(year(Stop)));

n=length(Titre);
N=1e4;
Data_H=zeros(n,N);
Data_L=zeros(n,N);
MM=2*300; H=ones(1,MM)/MM; % Filtre Moyenne Mobile

for i=1:n
    Data = getData(char(Titre(i)),Start,Stop);
    
    % Prix haut de la bougié
    Data_H(i,:)=imresize(Data(:,2),[N 1],'cubic');
    Data_H(i,:)=Data_H(i,:)-Data_H(i,1);
    Data_H(i,:)=Data_H(i,:)./max(abs(Data_H(i,:)));
    
    % Prix bas
    Data_L(i,:)=imresize(Data(:,3),[N 1],'cubic');
    Data_L(i,:)=Data_L(i,:)-Data_L(i,1);
    Data_L(i,:)=Data_L(i,:)./max(abs(Data_L(i,:)));
end;
t=linspace(year(Start),year(Stop),N);

% Affichage
figure(1);
plot(t,Data_H', 'linewidth',3);xlim([t(1) t(end)]);
Titre={'CAC 40','FTSE 100', 'Nikkei 225','Dow Jones','SP 500'};
legend(Titre,'fontsize',16,2);
set(gca,'color','none');

%% 2. Calcul de la volatilité globale
Sig_H=100*sqrt(var(Data_H'));
Sig_B=100*sqrt(var(Data_L'));
strcat(num2str(Sig_H'),' - ', char(Titre'))

%% 3. Calcul de la Variance Mobile
M=120;
Sig_M=zeros(n,N);
for i=1:n
    for j=M:N
        V=Data_H(i,j-M+1:j);
        Sig_M(i,j)=sqrt(var(V));
    end;
end;

figure(2);
plot(t,100*Sig_M', 'linewidth',3);xlim([t(1) t(end)]);
legend(Titre,'fontsize',16,2);
title('Volatilité (1\sigma)','fontsize',16);
set(gca,'color','none');

%% 4. Calcul de la Variance Mobile
VM=100*sum(Sig_M)/n;
figure(3);
plot(t,VM, 'linewidth',3);xlim([t(1) t(end)]);
title('Volatilité (1\sigma)','fontsize',16);
set(gca,'color','none');

 

Navigation de l’article

Previous Article
Next Article

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

− 1 = 1

cours divers
COURS DIVERS
Stratégie de Prévisions en Bourse Introduction
BOURSE & PRÉVISIONS
Ingénierie et matlab - Introduction
BOURSE & MATLAB
  • Bourse & Prévisions #2: Description de la Stratégie [TUTO]
  • Bourse & Prévisions #1: Introduction [TUTO]
  • Bourse & Matlab #14: La Corrélation de A à Z – Partie 1/2
  • Bourse & Matlab #13: Comprendre le Prix – Modèle Simplifié – Partie 2/2
  • Bourse & Matlab #12: Comprendre le Prix – Modèle Simplifié – Partie 1/2

fr Français▼
X
am አማርኛar العربيةhy Հայերենaz Azərbaycan dilieu Euskarabe Беларуская моваbn বাংলাbs Bosanskibg Българскиca Catalàzh-CN 简体中文zh-TW 繁體中文co Corsucs Čeština‎da Dansknl Nederlandsen Englisheo Esperantotl Filipinofi Suomifr Françaisfy Fryskka ქართულიde Deutschel Ελληνικάgu ગુજરાતીha Harshen Hausahaw Ōlelo Hawaiʻiiw עִבְרִיתhmn Hmonghu Magyaris Íslenskaid Bahasa Indonesiait Italianoja 日本語jw Basa Jawakn ಕನ್ನಡkk Қазақ тіліkm ភាសាខ្មែរko 한국어ku كوردی‎ky Кыргызчаlo ພາສາລາວlv Latviešu valodalt Lietuvių kalbamk Македонски јазикmg Malagasyms Bahasa Melayuml മലയാളംmi Te Reo Māorimr मराठीmn Монголmy ဗမာစာne नेपालीfa فارسیpt Portuguêspa ਪੰਜਾਬੀro Românăru Русскийsm Samoangd Gàidhligsn Shonasd سنڌيsi සිංහලsk Slovenčinasl Slovenščinaso Afsoomaalies Españolsu Basa Sundasw Kiswahilisv Svenskatg Тоҷикӣta தமிழ்te తెలుగుtr Türkçeuk Українськаur اردوuz O‘zbekchavi Tiếng Việtyi יידישyo Yorùbázu Zulu

Nous contacter

Ingénierie & Bourse - La Bourse en Équation & Trading Algorithmique.