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

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

Embed Size (px)

Citation preview

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.