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 Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke.

Présentations similaires


Présentation au sujet: "Matlab Atelier 3 : Modélisation financière avec MatLab Abdennabi Khiari Coordonnateur Salle des Marchés Faculté d'administration Université de Sherbrooke."— 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) #

2 Démarrer MATLAB 1. Ligne de commande 2. Historique des commandes 3. Permet de visualiser le contenu du répertoire de travail 4. Répertoire de travail 5. Variables en mémoire

3 Variables % Variable temporaire (ans) 1/2 « » ans = % Variable choisie par lutilisateur A=1/2 « » A = Création de matrices A=[1 2;3 4] « » A = B=[1 2;3 4] « » B =

4 Allocation de portefeuille Un investisseur veut allouer : 30% en énergie 20% en matériaux 50% en industrie ArcadeBestEssor Énergie30%5%40% Matériaux40%10% Industrie30%85%50% a = percentage dans le fonds 1 (Arcade) b = percentage dans le fonds 2 (Best) e = percentage dans le fonds 3 (Essor)

5 Allocation de portefeuille F = [ ]; % Calculer les pondérations A= F\P P = [ ]; \ = A F = [ ]; P = [ ]; = x abeabe

6 Tracer un graphique en pointe de tartes % Tracer un graphique figure pie3(A) legend('Arcade','Best','Essor','Location','NO')

7 Travailler avec les expressions symboliques MatLab

8 Système déquation 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')

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 lexpression P subs(P, 'n',2) ans = 121 % faire varier n entre -2pi et 2pi et tracer un graphique ezplot(P)

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) ans = 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

11 Calcul de dérivée clear close clc % Création de lexpression 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) ans = x*cos(a*x)

12 Calcul de dérivée seconde clear close clc % Création de lexpression 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)

13 Calculer le prix dune obligation Matlab

14 Facteur d'actualisation (discount factor) = Exercice : Spot rates and yields Source : Strategic Asset Allocation in Fixed Income Markets Ken Nyholm, p. 46 C = coupon M = montant de remboursement r = taux actuariel D = facteur d'actualisation (discount factor)

15 Initialisation P = C D x % Prix P= [ ]; % Flux monétaires futurs C= [ ]; x = % facteur d'actualisation ?

16 Calculer le facteur d'actualisation (discount factor) D = inv(C)* P; D =

17 Calculer le prix de lobligation % Calculer le prix de lobligation CF= [ ] Prix = CF*D Prix =

18 Calculer les taux actuariel /1 -1/2 -1/3 -1/4 -1/5.^ = r % Calculer le taux actuariel j= (1:5)'; E= -1./j; r= D.^E-1; DE.^= r

19 r = Taux actuariel (zéro-coupon) vs y = Rendements Taux actuariel (zéro-coupon) vs Rendements dobligations % Calculer les rendements clc y=zeros(5,1) for i=1:5 y(i)=irr([-P(i) C(i,1:i)]); end

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

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)

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

24 Création d'une interface graphique Matlab

25 Chargement de données dExcel % chargement de données numériques (Excel) devises=xlsread('txChangeCAN'); % chargement de données (Excel) [devises, txtDevises]=xlsread('txChangeCAN');

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');

27 L'instruction menu(…) % Utiliser la fonction MENU pour choisir une devise nbrchoix = menu('Choisissez un pays',titres);

28 Tracer un graphique % 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

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)

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)

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

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)

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')

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)

36 Formats daffichage des réels %Par défaut le format est le format court à 5 chiffres pi ans = format long %format long a 15 chiffres pi ans = format short e %format court à 5 chiffres avec notation en virgule flottante pi^3 ans = e+01 format % retour au format daffichage par défaut clear

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

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) #

40 Conditions d'utilisation des ressources électroniques

41 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.


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

Présentations similaires


Annonces Google