Salut à tous, j'ai un problème; le script de ma fonction fonctionne, donc je ne pense pas que le problème vienne de là.
Mais je souhaite créer ma fonction, avec comme option "type" qui sera soit EWMA soit EMP mais j'ai l'impression que ça ne fonctionne pas !
et je comprend pas comment l'appeler si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 function [VAR_EWMA,VAR_EMP] = param(data,lambda,alpha,type) if strcmp(type,'EWMA') ==1 A = size(data); for i=250:1:A(1) data2=data(i-250+1:i,:); results = Covariance(data2,lambda); B = size(results.vol_ewma); for z = 1:1:B(2); correlation(1,z) = (results.cov_ewma(1,z)/( results.vol_ewma(1,1) * results.vol_ewma(1,z))); end somme = real(sqrt((results.vol_ewma(1,2:1:B(2))*correlation(2:1:B(2))'*results.vol_ewma(1,1)))); VAR_EWMA(i,1)=somme*-norminv(alpha,0,1) ; end elseif strcmp(type,'EMP') ==1 A = size(data); for i=250:1:A(1) data2=data(i-250+1:i,:); results = Covariance(data2,lambda); B = size(results.vol_emp); for z = 1:1:B(2); correlation(1,z) = (results.cov_emp(1,z)/( results.vol_emp(1,1) * results.vol_emp(1,z))); end somme = real(sqrt((results.vol_emp(1,2:1:B(2))*correlation(2:1:B(2))'*results.vol_emp(1,1)))); VAR_EMP(i,1)=somme*-norminv(alpha,0,1) ; end end
ça fonctionne mais l'intérêt d'utiliser type si il faut le faire à la main !
Code : Sélectionner tout - Visualiser dans une fenêtre à part [Var_EWMA]=param(data,0.94,0.975,'EWMA');
Par contre si je mets :
J'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part [Var_EMP]=param(data,0.94,0.975,'EMP');
Error in param (line 4)
if strcmp(type,'EWMA') ==1
Pareil si je mets les 2 arguments.Output argument "VAR_EWMA" (and maybe others) not assigned during call to
"/Users/Siegelbaum/Downloads/MATLAB_GT_REACTIVE_BETA/param.m>param".
Merci pour votre aide
Partager