La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Matlab Atelier 3 : Modélisation financière avec MatLab"— Transcription de la présentation:

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


Télécharger ppt "Matlab Atelier 3 : Modélisation financière avec MatLab"

Présentations similaires


Annonces Google