Bonsoir à tous, j'aimerais savoir comme faire pour afficher les calculs que fait matlab mon code est le suivant :
Le problème c'est qu'il me donne que les 9 premières valeurs et que des 0 ensuite.
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 %Quantille des stratégies NH=23.16947856; NB=15.90023217; RH=0.993438548; RB=0.812575924; %Création d'un vecteur pour le portefeuille avec que des 0 port3 = zeros(length(signalr),1); port3(1,:)=100; %premiere valeur du portefeuille 100 for i=2:length(signaler) % boucle if signaln(i-1)>NH&&signalr(i-1)>RH || signaln(i-1)>NH&&RB<signalr(i-1)<RH port3(i,:)=port3(i-1,:).*(1+(0.8*cont(i-1)+0.2*trend(i-1))); elseif signaln(i-1)>NH&&signalr(i-1)<RB||NB<signaln(i-1)<NH&&signalr(i-1)>RH port3(i,:)=port3(i-1,:)*(1+(0.6*cont(i-1)+0.6*trend(i-1))); elseif NB<signaln(i-1)<NH&&RB<signalr(i-1)<RH port3(i,:)=port3(i-1,:)*(1+(0.5*cont(i-1)+0.5*trend(i-1))); elseif NB<signaln(i-1)<NH&&signalr(i-1)<RB||signaln(i-1)<NB&&signalr(i-1)>RH port3(i,:)=port3(i-1,:)*(1+(0.4*cont(i-1)+0.6*trend(i-1))); elseif signaln(i-1)<NB&&RB<signalr(i-1)<RH port3(i,:)=port3(i-1,:)*(1+(0.2*cont(i-1)+0.8*trend(i-1))); elseif signaln(i-1)<NB&&signalr(i-1)<RB port3(i,:)=port3(i-1,:)*(1+(0.1*Cont(i-1)+0.9*Trend(i-1))); end end
Les 9 premières valeurs ont les mêmes caractéristiques que la 10eme qui ne passe pas c'est à dire le cas :
NB<signaln<NH&&RB<signalr<RH
donc je vois pas pourquoi, si c'était une erreur dans les conditions je n'aurais pas eu de valeurs dès le début.
Pour info :
Port3:
100
99,9318130820178
100,088110890041
99,7294276269757
99,7800696562153
99,7349682448054
99,6860776060977
99,4575180511880
99,4527844421098
99,7358939506015
99,6506175706554
signalr :
20,6485060100000
19,7252146200000
19,2896397300000
18,3933304200000
18,9994471600000
18,8431495900000
18,6472895600000
18,3566342600000
19,2947543200000
21,2758430500000
22,2286129500000
21,6574234100000
Donc là sur signaln on est dans tous les cas RB<signaln<RH
signalr :
0,750862751830270
0,718821735130126
0,701354474303901
0,668798147927616
0,692240264914708
0,688599844759384
0,689960773792256
0,682878492457439
0,723523804911358
0,800162283544370
0,837629150700482
0,815268764330509
les 11 premières valeurs sont dans signalr<RB et la 11ème passe à RB<signalr<RH et je crois que c'est là que ça bug ...
Merci pour aide
Partager