Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parEudon Lelievre Modifié depuis plus de 10 années
1
Matlab Atelier 3 : Modélisation financière avec MatLab
Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke Téléphone : (819) # 65262
2
Démarrer MATLAB Ligne de commande Historique des commandes
Permet de visualiser le contenu du répertoire de travail Répertoire de travail Variables en mémoire Démarrer MATLAB
3
% Variable temporaire (ans) 1/2 « » ans = 0
% Variable temporaire (ans) 1/2 « » ans = % Variable choisie par l’utilisateur A=1/2 « » A = Création de matrices A=[1 2;3 4] « » A = B=[1 2;3 4] « » B = Variables
4
Allocation de portefeuille
Arcade Best Essor Énergie 30% 5% 40% Matériaux 10% Industrie 85% 50% Un investisseur veut allouer : 30% en énergie 20% en matériaux 50% en industrie a = percentage dans le fonds 1 (Arcade) b = percentage dans le fonds 2 (Best) e = percentage dans le fonds 3 (Essor) Allocation de portefeuille
5
Allocation de portefeuille
b e F = [ ]; P = [0.3 0.2 0.5]; x = A F = [ ]; \ P = [0.3 0.2 0.5]; = % Calculer les pondérations A= F\P Allocation de portefeuille
6
Tracer un graphique en pointe de tartes
figure pie3(A) legend('Arcade','Best','Essor','Location','NO') Tracer un graphique en pointe de tartes
7
Travailler avec les expressions symboliques
MatLab
8
syms a b e; % Créer les variables symboliques a, b et e
eq1 = '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 graphique figure Allocation = eval([a b e]) explode = [0 1 0]; pie3(Allocation, explode) legend('Arcade','Best','Essor','Location','NO') Système d’équation
9
Travailler avec les expressions symboliques
clear close clc % Construire une expression symbolique P = sym('n*(n+1)*(n+2)*(n+3)+1'); % remplacer ‘n’ par 2 dans l’expression P subs(P, 'n',2) ans = 121 % faire varier ‘n’ entre -2pi et 2pi et tracer un graphique ezplot(P) Travailler avec les expressions symboliques
10
Calculateur symbolique
2*x^2+x-40=0 Solution 1 % Construire une expression symbolique eq1 =sym('2*x^2+x-40=0')% expression symbolique solve(eq1) ans = - 321^(1/2)/4 - 1/4 321^(1/2)/4 - ¼ % Évaluer l' expression symbolique eval(x) 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 Calculateur symbolique
11
clear close clc % Création de l’expression symbolique syms a x; f=sin(a*x); % Calcul de sa dérivée diff(f) ans = a*cos(a*x) % Calcul de la dérivée par rapport à ‘a’ diff(f, a) x*cos(a*x) Calcul de dérivée
12
Calcul de dérivée seconde
clear close clc % Création de l’expression symbolique syms a x; f=sin(a*x); % Calcul de sa dérivée seconde diff(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) Calcul de dérivée seconde
13
Calculer le prix d’une obligation
Matlab
14
Facteur d'actualisation (discount factor)
C = coupon M = montant de remboursement r = taux actuariel D = facteur d'actualisation (discount factor) = Exercice : Spot rates and yields Source : Strategic Asset Allocation in Fixed Income Markets Ken Nyholm, p. 46 Facteur d'actualisation (discount factor)
15
? Initialisation P = C x D = x
% Prix P= [ ]; % Flux monétaires futurs C= [ ]; % facteur d'actualisation ? = x Initialisation
16
Calculer le facteur d'actualisation (discount factor)
D = inv(C)* P; D = 0.9524 0.8935 0.8304 0.7737 0.7222 Calculer le facteur d'actualisation (discount factor)
17
Calculer le prix de l’obligation
CF= [ ] Prix = CF*D Prix = Calculer le prix de l’obligation
18
Calculer les taux actuariel
= - D .^ E 1 0.9524 0.8935 0.8304 0.7737 0.7222 -1/1 -1/2 -1/3 -1/4 -1/5 1 .^ - r = % Calculer le taux actuariel j= (1:5)'; E= -1./j; r= D.^E-1; Calculer les taux actuariel
19
Taux actuariel (zéro-coupon) vs Rendements d’obligations
r = Taux actuariel (zéro-coupon) vs y = Rendements % Calculer les rendements clc y=zeros(5,1) for i=1:5 y(i)=irr([-P(i) C(i,1:i)]); end Taux actuariel (zéro-coupon) vs Rendements d’obligations
20
Tracer un graphique de comparaison
plot(j,[r y]) legend('Taux actuariel (zéro-coupon)', 'Rendements', 'Location', 'NW') Tracer un graphique de comparaison
21
Création de graphiques
Matlab
22
Gestion des couleurs et des styles de lignes
% Initialisation year=[2000:1:2006]; sales=[ ]; -- ligne discontinue : ligne pointillée + signes plus o cercles y jaune . points x croix s carrés d diamant p pentagramme ˆ triangles vers le haut v triangles vers le bas < triangles vers la gauche > triangles vers la droite r rouge g vert c cyan m magenta w blanc k noir % Tracer un graphique plot(year,sales,'--r*','linewidth',2,'markersize',12) Gestion des couleurs et des styles de lignes
23
Surf(w) : tracer des surfaces
Exemple t=0:.01:1; y = sin(2*pi*t); w=y'*y; surf(w); Autres commandes mesh : Grillage en perspective stairs : Crée un graphique en escalier stem : Crée un graphique pour signal discret subplot : Permet de créer des graphiques multiples Surf(w) : tracer des surfaces
24
Création d'une interface graphique
Matlab
25
Chargement de données d’Excel
% chargement de données numériques (Excel) devises=xlsread('txChangeCAN'); % chargement de données (Excel) [devises, txtDevises]=xlsread('txChangeCAN'); Chargement de données d’Excel
26
Manipulation de matrices
% chargement des dates datestxt=txtDevises(2:end,1); % chargement des titres titres=txtDevises(1,2:end); % Convertir les dates en format numérique dates = datenum(datestxt, 'dd/mm/yyyy'); % Tracer un graphique plot(dates , devises(:,2)) datetick('x','dd/mm/yyyy'); Manipulation de matrices
27
%% Utiliser la fonction MENU pour choisir une devise
nbrchoix = menu('Choisissez un pays',titres); L'instruction menu(…)
28
% Initialisation txchangeChoisi= 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 Tracer un graphique
29
Récupération de données externes et calculs de rendements
MatLab
30
Chargement de données de Yahoo
clear clc %% Connexion à Yahoo c = yahoo; isconnection(c); get(c); % Importer les données de S&P 500 (^GSPC) à partir de Yahoo data= fetch(c,'^GSPC','Close','Jan 01 12','Apr 01 13'); %% Fermer la connexion close(c) Chargement de données de Yahoo
31
L'instruction input(…)
clear; clc %%Choisir un titre symbole=input('Tapez un symbole :','s'); %% Connexion à Yahoo c = yahoo; isconnection(c); get(c); % Importer les données à partir de Yahoo data= fetch(c,symbole,'Close','Jan 01 12','Apr 01 13'); %% Fermer la connexion close(c) L'instruction input(…)
32
%% Tracer un grahique figure; plot(data(:,1),data(:,2)); dateaxis('x',2); xlabel('Date'); ylabel('Valeur'); title(symbole); grid Tracer un grahique
33
Boucle: Chargement de données de Yahoo
clear; clc % Initialisation ClosingPrice = cell(1,3); j=1; %% Connexion à Yahoo c = 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 connexion close(c) Boucle: Chargement de données de Yahoo
34
Afficher plusieurs graphiques (subplot)
% initialisation MSFT= ClosingPrice{1} ; APL= ClosingPrice{2} ; IBM= ClosingPrice{3}; GSPC= ClosingPrice{4}; %% afficher plusieurs graphiques subplot(2,2,1) % graphique 1 plot(MSFT(:,2)) title('MSFT') subplot(2,2,2) % graphique 2 plot(APL(:,2)) title('APL') subplot(2,2,3), % graphique 3 plot(IBM(:,2)) title('IBM') subplot(2,2,4) % graphique 4 plot(GSPC(:,2)) title('GSPC') Afficher plusieurs graphiques (subplot)
35
Graphiques - séries chronologiques
% Tracer un graphique des séries chronologiques t=fints(MSFT(:,1),[MSFT(:,2), APL(:,2), IBM(:,2), GSPC(:,2)]); chartfts(t) Graphiques - séries chronologiques
36
Formats d’affichage des réels
%Par défaut le format est le format court à 5 chiffres pi ans = format long %format long a 15 chiffres format short e %format court à 5 chiffres avec notation en virgule flottante pi^ e+01 format % retour au format d’affichage par défaut clear Formats d’affichage des réels
37
Conclusion 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 Conclusion
38
Support Salle des marchés
39
Support Abdennabi Khiari Coordonnateur Salle des Marchés
Faculté d'administration Université de Sherbrooke Téléphone : (819) # 65262 Support
40
Conditions d'utilisation des ressources électroniques
41
Conditions d'utilisation des ressources é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. Conditions d'utilisation des ressources électroniques
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.