Bonjour à tous
Je suis en train de travailler sur un calcul de maximum drawdown : un instrument financier permettant de calculer la perte maximum si on avait investi au plus mauvais moment
L'idée c'est d'avoir une plage de valeur et de calculer le maxDD via une fonction VBA
Mon code doit pas etre loin d'être bon mais j'ai une erreur #Valeur!, pouvez vous me dire si vous reperer quelque chose qui cloche car là je ne vois pas très bien :
Merci beaucoup d'avance
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 Option Explicit Function Maxdrawdown(TheRange As Range) As Double Dim i, n As Integer Dim diff, maximum As Double Maxdrawdown = 0 i = 0 maximum = TheRange(1, 1) n = TheRange.Rows.Count For i = 0 To n - 1 If TheRange(i + 1, 1) > maximum Then maximum = TheRange(i + 1, 1) End If diff = (maximum - Range(i + 1, 1)) / maximum If (diff > Maxdrawdown) Then Maxdrawdown = diff End If Next i End Function
Partager