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

Chapitre VI MatLab: Notions de Programmation Applications en Finance.

Présentations similaires


Présentation au sujet: "Chapitre VI MatLab: Notions de Programmation Applications en Finance."— Transcription de la présentation:

1 Chapitre VI MatLab: Notions de Programmation Applications en Finance

2 Introduction MatLab=Matrix Laboratory Permet la manipulation de matrices de maniere souple Developpement d’outils dans diverses disciplines: –Econometrie, finance –Analyse des signaux –Ingenierie etc...

3 Fenetre d’execution Indiquee par >> Toutes les fonctions en Matlab sont des lignes de texte et sont executees en appelant le nom de la fonction avec ses parametres

4 Help helpFonction d’aide en ligne help non_fonction

5 Fichiers Matlab Les fichiers sont en texte Extension.m Edit corrcoef %: Commentaire

6 Ponctuation Les instructions sont terminees par un point-virgule Sinon, les calculs sont affiches

7 Commandes Generales whowho : liste des variables en memoires whoswhos : informations complementaires sur leur type clearclear : annule les variables specifiees (ou toutes) savesave : sauver une variables sous format specifie loadload : charger une variable a partir d’un fichier whatwhat : liste des fonctions dans le fichier de travail

8

9 Operations de Base +-*/^+, -, *, /, ^, sincostansin, cos, tan, asinacosatanasin, acos, atan, explog log10exp, log (naturel), log10 (en base 10), abssqrtsignabs, sqrt, sign

10 Matrices Entre parentheses carrees Vecteur ligne x = [1, 2, 3]; Vecteur colonne: y = [1; 4; 7]; Matrice: A = [1 2 3; 4 5 6; 7 8 9]; ou: A = [ ];

11 Exemple

12 Pour faire reference a des elements d’une matrice A(m,n)l’element a mn est indique A(m,n) ; A(2,3) donne 6 A(m,:)La ligne m est indiquee par A(m,:), toutes les colonnes sont selectionnees par : A(2,:) donne [4 5 6] A(:,n)La colonne n est indiquee par A(:,n), toutes les lignes sont selectionnees A(:,3) donne [3; 6; 9] La matrice partielle a mn, avec m1  m  m2 et n1  n  n2 A(m1:m2,n1:n2) A(m1:m2,n1:n2) ; A(1:2,2:3) dà [2, 3; 5, 6] Manipulation de Matrices

13 Les operateurs matriciels + - * ^ / \ ' + - * ^ / \ ' Transposition Division a gauche: A\B = inv(A)*B Division a droite: B/A = B*inv(A) Attention: L’ordre des matrices n’est pas indifferent A*B  B*A

14 X=3x2 Y=2x3 XY=3x3 YX=2x2

15 Autres fonctions utiles maxmin max, min, sort sort, sum prod sum, prod, median median Manipulation element par element. * y = sin(x). * cos(x); Valeurs manquantes NaN Isnan, nanmean, nanstd

16 Autres inv inv det det size size rank rank eig eig On ne peut inverser que des matrices carrees Inverse de la matrice Determinant Dimensions rang Valeurs propres » y=normrnd(0,1,100,1); » x=0.5*y+normrnd(0,1,100,1); » beta=inv(x'*x)*x'*y beta =

17 Creation de matrices eye(n) eye(n) : matrice identite zeros(m,n) zeros(m,n) : matrice de zeros ones(m,n) ones(m,n) : matrice de 1 rand(m,n) rand(m,n) : matrice aleatoire [0,1] diag(X) diag(X) : extraire la diagonale

18

19 Sans specifier d’increment t=1:5 => t=[ ] Increment positif specifie t=0:0.2:1 => t=[ ] Increment negatif t=2:-0.2:1 => t=[ ] Generation de Vecteurs

20 IF-THEN-ELSE if,if condition1, ; operation1; elseif, elseif condition2, ; operation2; else ; operation3; end;

21 Condition1,2 Condition1,2 doivent donner comme resultats TRUE ou FALSE. Les Operateurs sont: <> = ===~=&| egal different Et ou

22

23 Boucles Syntaxe de base for k= 1:step:n, for k = 1:step:n, operationi, end; Executer l’operation pour k=1,1+step,1+2step....jusqu’a n while while condition operationi; end;

24 Exemple » y=[]; for x=0:pi/4:2*pi; si=sin(x); y=[y;si]; end y y =

25 Graphiques plot plot cree des graphiques en deux dimensions plot(x,y); x=0:pi/20:2*pi; » y=sin(x)

26 plot(x,y,'g+'); Choix possibles r red. point g greeno circle b bluex x-mark w white+ plus m magenta* star c cyan- solid y yellow: dotted k black-- dashed -. dash-dot

27 Autres commandes grid grid : lignes title title : titre xlabel xlabel : legende abscisses ylabel ylabel : legende ordonnees axis axis : changer echelle figurefigure cree une nouvelle fenetre graphique

28 Pour visualiser differents graphiques subplot(211), plot(funz1); subplot(212), plot(funz2); subplot(2,1,1) » plot(normrnd(0,1,100,1)) » subplot(2,1,2) » plot(normrnd(0,1,100,1)*100)

29 Fonction graphique en 3D xx = -2:0.1:2; yy = xx; [x,y] = meshdom(xx,yy); z = x.* exp(-x.^2 - y.^2); mesh(z);

30 Nouvelles Fonctions Creer un nouveau fichier en mode editeur La premiere ligne donne function z = fun1(a,b) ou function [x,y] = fun2(a,b) a et b sont les inputs Z, ou x et y sont les resultats

31 Finance Frontiere Efficiente: –Utiliser la Boite d’Outils MatLab Finance –Creer routine de maximisation de la fonction d’utilite

32

33

34

35

36


Télécharger ppt "Chapitre VI MatLab: Notions de Programmation Applications en Finance."

Présentations similaires


Annonces Google