Hallo,
das TestErg() liefert ja nur einen Zahlenwert, da kann zeitlich nichts beschränken. Es ist in einem solchen Falle also notwendig, die Berechnung neu zu erstellen. In diesem Fall (Maximaler Drawdown des Zeitraumes 1.1.2001 bis vor 1.1.2002) geht dies z.B. wie folgt:
|
Quellcode
|
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
|
option explicit
dim i
dim Kapital, RelevanteZeit, HHVWert, MaxDD
const Startwert = -9999999999999
MaxDD=0
HHVWert=Startwert
' Den Schalter zwischen den beiden gewünschten Daten auf "1" stellen:
if scriptberechneformel("Schalter(0, DateMark(1,1,2001,0,0), 1, DateMark(1,1,2002,0,0), 0)", RelevanteZeit) then
GetKapitalkurve Kapital
for i=1 to ubound(Kapital)
if Kapital(i)<>Novalue then 'Prüfen!!
if RelevanteZeit(i)>0 then
if Kapital(i) > HHVWert then
HHVWert = Kapital(i)
end if
if Kapital(i) - HHVWert < MaxDD then
MaxDD = Kapital(i) - HHVWert
end if
end if
end if
next
end if
if HHVWert > Startwert then
Ergebnis = MaxDD
else
Ergebnis = "K/A"
end if
|