Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des...

41
Matlab Matlab Atelier 3 Atelier 3 : Modélisation financière avec MatLab : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke Téléphone : (819) 821-8000 # 65262 [email protected] www.USherbrooke.ca/salledemarche

Transcript of Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des...

Page 1: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

MatlabMatlabAtelier 3Atelier 3 : Modélisation financière avec MatLab : Modélisation financière avec MatLab

Abdennabi KhiariCoordonnateurSalle des MarchésFaculté d'administrationUniversité de SherbrookeTéléphone : (819) 821-8000 # [email protected]

www.USherbrooke.ca/salledemarche

Page 2: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Démarrer MATLABDémarrer MATLAB

1. Ligne de commande2. Historique des commandes 3. Permet de visualiser le contenu du répertoire de

travail4. Répertoire de travail5. Variables en mémoire

Page 3: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

VariablesVariables

% Variable temporaire (ans) 1/2 « »ans = 0.5000

% Variable choisie par l’utilisateurA=1/2 « »A = 0.5000

Création de matricesA=[1 2;3 4] « »A = 1 2 3 4B=[1 2;3 4] « »B = 1 2 3 4

Page 4: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

AAllocation de portefeuillellocation de portefeuille

Un investisseur veut allouer :

30% en énergie20% en matériaux50% en industrie

Arcade Best Essor

Énergie 30% 5% 40%

Matériaux

40% 10% 10%

Industrie 30% 85% 50%

0.5 0.50.85-0.3

0.2 0.10.1-0.4

0.3 0.40.05-0.3

eba

eba

eba

a = percentage dans le fonds 1 (Arcade)b = percentage dans le fonds 2 (Best)e = percentage dans le fonds 3 (Essor)

Page 5: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

AAllocation de portefeuillellocation de portefeuille

F = [0.3 0.05 0.4 0.4 0.1 0.1 0.3 0.850.5];

% Calculer les pondérations

A= F\P

P = [0.3 0.2 0.5];

\=A

F = [0.3 0.05 0.4 0.4 0.1 0.1 0.3 0.850.5];

P = [0.3 0.2 0.5];

=xabe

Page 6: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Tracer un Tracer un graphique en pointe de graphique en pointe de tartestartes

% Tracer un graphiquefigurepie3(A)legend('Arcade','Best','Essor','Location','NO')

Page 7: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Travailler avec les expressions Travailler avec les expressions symboliquessymboliques

MatLab

Page 8: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Système d’équationSystème d’équation

syms a b e; % Créer les variables symboliques a, b et eeq1 = '0.3*a+0.05*b+0.4*e = 0.3 ';eq2 = '0.4*a+0.1*b+0.1*e = 0.2 ';eq3 = '0.3*a+0.85*b+0.5*e = 0.5 ';[a,b,e] = solve(eq1,eq2,eq3,a,b,e)

% Tracer un graphiquefigureAllocation = eval([a b e])explode = [0 1 0];pie3(Allocation, explode)legend('Arcade','Best','Essor','Location','NO')

Page 9: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Travailler avec les expressions Travailler avec les expressions symboliquessymboliques

clearcloseclc

% Construire une expression symboliqueP = sym('n*(n+1)*(n+2)*(n+3)+1');

% remplacer ‘n’ par 2 dans l’expression Psubs(P, 'n',2) ans = 121

% faire varier ‘n’ entre -2pi et 2pi et tracer un graphiqueezplot(P)

Page 10: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

CCalculateur symboliquealculateur symbolique

2*x^2+x-40=0Solution 1% Construire une expression symbolique

eq1 =sym('2*x^2+x-40=0')% expression symboliquesolve(eq1)ans = - 321^(1/2)/4 - 1/4 321^(1/2)/4 - ¼

% Évaluer l' expression symbolique eval(x)ans = -4.7291 4.2291

Solution 2 % Variables de type "char“

eq2= '2*x^2+x-40=0 'solve(eq2)

ans = - 321^(1/2)/4 - 1/4 321^(1/2)/4 - 1/4

Page 11: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

CCalcul de dérivéealcul de dérivée

clearcloseclc% Création de l’expression symboliquesyms a x; f=sin(a*x);

% Calcul de sa dérivéediff(f)ans =a*cos(a*x)

% Calcul de la dérivée par rapport à ‘a’diff(f, a)ans =x*cos(a*x)

Page 12: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

CaCalcul de dérivée secondelcul de dérivée seconde

clearcloseclc% Création de l’expression symboliquesyms a x; f=sin(a*x);

% Calcul de sa dérivée secondediff(f, 2)ans=-a^2*sin(a*x)

% Calcul de la dérivée seconde par rapport à ‘a’ diff(f, a, 2)ans =-x^2*sin(a*x)

Page 13: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Calculer le prix d’une Calculer le prix d’une obligationobligation

Matlab

Page 14: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Facteur d'actualisation Facteur d'actualisation (discount factor)(discount factor)

= N33

221 1

MC...

1

C

1

C

1

CP

nrrrr

DTC

Exercice : Spot rates and yieldsSource : Strategic Asset Allocation in Fixed Income MarketsKen Nyholm, p. 46

C = couponM = montant de remboursementr = taux actuarielD = facteur d'actualisation (discount factor)

Page 15: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

InitialisationInitialisation

P = C Dx

% PrixP=

[ 100.000099.500093.750089.450091.0000 ];

% Flux monétaires futursC= [105.00 0 0 0

0 5.5000 105.5 0 0

0 4.0000 4 104 0 0 3.5000 3.5 3.5 103.5 0 4.5000 4.5 4.5 4.5 104.5];

x=

% facteur d'actualisation

?

Page 16: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Calculer le Calculer le facteur d'actualisation facteur d'actualisation (discount factor)(discount factor)

D = inv(C)* P;D = 0.9524 0.8935 0.8304 0.7737 0.7222

),((n.n)t)(n, CP tnD ),(-1

n)(n,t)(n, CD tnP

Page 17: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Calculer le prix de l’obligationCalculer le prix de l’obligation

% Calculer le prix de l’obligationCF= [3 3 103 0 0]Prix = CF*D

Prix = 91.0737

Page 18: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Calculer les taux Calculer les taux actuarielactuariel

0.9524 0.8935 0.8304 0.7737 0.7222

-1/1-1/2-1/3-1/4-1/5

.^=r

% Calculer le taux actuarielj= (1:5)';E= -1./j;r= D.^E-1;

D E.^=r 1-

11111

-

1r1

j

JJD

Page 19: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

r = Taux actuariel (zéro-coupon)

vs

y = Rendements

Taux actuariel (zéro-coupon) Taux actuariel (zéro-coupon) vs Rendementsvs Rendements d’obligations d’obligations

NN32 1

M

1

C...

1

C

1

C

1

CP

yyyyy

NN33

221 1

M

1

C...

1

C

1

C

1

CP

nn rrrrr

% Calculer les rendementsclcy=zeros(5,1)

for i=1:5 y(i)=irr([-P(i) C(i,1:i)]);end

Page 20: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Tracer un graphique de comparaisonTracer un graphique de comparaison

% Tracer un graphique de comparaisonplot(j,[r y])legend('Taux actuariel (zéro-coupon)', 'Rendements', 'Location', 'NW')

Page 21: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Création de graphiquesCréation de graphiquesMatlab

Page 22: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Gestion des couleurs et des styles Gestion des couleurs et des styles de lignesde lignes

% Initialisationyear=[2000:1:2006]; sales=[8 12 20 22 18 24 27];

 -- ligne discontinue : ligne pointillée + signes plus o cercles y jaune. points x croixs carrésd diamantp pentagrammeˆ triangles vers le hautv triangles vers le bas< triangles vers la gauche> triangles vers la droite  r rougeg vertc cyanm magentaw blanck noir

% Tracer un graphique plot(year,sales,'--r*','linewidth',2,'markersize',12)

Page 23: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Surf(wSurf(w) : ) : tracer des surfacestracer des surfaces

Exemple t=0:.01:1;y = sin(2*pi*t);w=y'*y;surf(w);

Autres commandes

mesh : Grillage en perspectivestairs : Crée un graphique en escalierstem : Crée un graphique pour signal discretsubplot : Permet de créer des graphiques multiples

Page 24: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Création d'une interface Création d'une interface graphiquegraphique

Matlab

Page 25: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Chargement de données Chargement de données d’Exceld’Excel

% chargement de données numériques (Excel)devises=xlsread('txChangeCAN');

% chargement de données (Excel)[devises, txtDevises]=xlsread('txChangeCAN');

Page 26: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Manipulation de matricesManipulation de matrices

% chargement des datesdatestxt=txtDevises(2:end,1);

% chargement des titrestitres=txtDevises(1,2:end);

% Convertir les dates en format numériquedates = datenum(datestxt, 'dd/mm/yyyy');

% Tracer un graphique plot(dates , devises(:,2))datetick('x','dd/mm/yyyy');

Page 27: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

L'instruction mL'instruction menu(…)enu(…)

%% Utiliser la fonction MENU pour choisir une devisenbrchoix = menu('Choisissez un pays',titres);

Page 28: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Tracer un graphique Tracer un graphique

% InitialisationtxchangeChoisi= devises(:, nbrchoix);dates = datenum(datestxt, 'dd/mm/yyyy');

% Tracer un graphique plot(dates , txchangeChoisi) datetick('x','dd/mm/yyyy'); xlabel('Date'); ylabel('Valeur'); title(titres(nbrchoix));grid

Page 29: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Récupération de données Récupération de données externes externes

et calculs de rendementset calculs de rendementsMatLab

Page 30: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Chargement de données de YahooChargement de données de Yahoo

clearclc

%% Connexion à Yahooc = yahoo;isconnection(c);get(c); % Importer les données de S&P 500 (^GSPC) à partir de Yahoodata= fetch(c,'^GSPC','Close','Jan 01 12','Apr 01 13');

%% Fermer la connexionclose(c)

Page 31: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

L'instruction input(…)L'instruction input(…)

clear; clc %%Choisir un titresymbole=input('Tapez un symbole :','s'); %% Connexion à Yahooc = yahoo; isconnection(c); get(c); % Importer les données à partir de Yahoodata= fetch(c,symbole,'Close','Jan 01 12','Apr 01 13'); %% Fermer la connexionclose(c)

Page 32: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Tracer un grahiqueTracer un grahique

%% Tracer un grahiquefigure; plot(data(:,1),data(:,2)); dateaxis('x',2);xlabel('Date'); ylabel('Valeur');title(symbole);grid

Page 33: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Boucle: Chargement de données de YahooBoucle: Chargement de données de Yahoo

clear; clc

% InitialisationClosingPrice = cell(1,3);j=1;

%% Connexion à Yahooc = yahoo; isconnection(c); get(c);

% Importer les données à partir de Yahoo

for i = {'MSFT', 'AAPL', 'IBM', '^GSPC'}; ClosingPrice{j} = fetch(c,i,'Close','Jan 01 12','Apr 01 13');

j=j+1;end

%% Fermer la connexionclose(c)

Page 34: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Afficher plusieurs graphiques Afficher plusieurs graphiques (subplot)(subplot)

% initialisationMSFT= ClosingPrice{1} ;APL= ClosingPrice{2} ;IBM= ClosingPrice{3};GSPC= ClosingPrice{4};

%% afficher plusieurs graphiques

subplot(2,2,1) % graphique 1plot(MSFT(:,2))title('MSFT')

subplot(2,2,2) % graphique 2plot(APL(:,2))title('APL')

subplot(2,2,3), % graphique 3plot(IBM(:,2))title('IBM')

subplot(2,2,4) % graphique 4plot(GSPC(:,2))title('GSPC')

Page 35: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Graphiques - séries Graphiques - séries chronologiqueschronologiques

% Tracer un graphique des séries chronologiquest=fints(MSFT(:,1),[MSFT(:,2), APL(:,2), IBM(:,2), GSPC(:,2)]);chartfts(t)

Page 36: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Formats d’affichage des réelsFormats d’affichage des réels

%Par défaut le format est le format court à 5 chiffrespians =3.1416

format long %format long a 15 chiffrespians =3.14159265358979

format short e %format court à 5 chiffres avec notation en virgule flottantepi^3ans =3.1006e+01

format % retour au format d’affichage par défautclear

Page 37: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

ConclusionConclusion

Matlab est un langage de programmation très simple◦ un monde de fonctions ◦ ne nécessite pas une formation spéciale pour le

maîtriser

Documentation complète ◦ doc◦ help◦ demo

Page 38: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

SupportSupportSalle des marchés

Page 39: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Support

Abdennabi KhiariCoordonnateurSalle des MarchésFaculté d'administrationUniversité de SherbrookeTéléphone : (819) 821-8000 # [email protected]

www.USherbrooke.ca/salledemarche

Page 40: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Conditions d'utilisation Conditions d'utilisation des ressources des ressources électroniquesélectroniques

Page 41: Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Conditions d'utilisation des Conditions d'utilisation des ressources électroniquesressources électroniques

L'accès à ces ressources électroniques est réservé aux utilisateurs autorisés. Ces personnes comprennent les étudiantes et étudiants inscrits ainsi que le personnel actuel de l'Université de Sherbrooke et les membres de son corps professoral.

Les utilisateurs autorisés ne peuvent transmettre, diffuser ou rendre disponibles d'autre façon à des personnes ou à des entités non autorisées le contenu des ressources faisant l'objet d'une licence, quel que soit le moyen employé.

Il est en outre interdit de recourir à des robots ou à des agents intelligents pour télécharger ou rassembler systématiquement des éléments de ces produits.

L'utilisation des ressources électroniques de la Salle des marchés et de l'Université de Sherbrooke à des fins commerciales est interdite.