Function un peu spéciale ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lebarbo

XLDnaute Occasionnel
Bonjour le forum, bonjour à tous,

Je souhaite faire une fonction sur ce qu'on appelle la tracking error dans le langage financier c'est à dire :
1/ J'ai deux séries de nombre

2/ Je dois calculer la rentabilité périodique de chacune des deux séries (c'est à dire [n/n-1]-1 ; [n+1/n]-1...)

3/ Je dois faire la différence entre chaque rentabilité périodique ce qui me donne la série ultime "u" ; )

exemple série n & série o

[n/n-1]-1 - [o/o-1] - 1 = u
[n+1/n]-1 - [o+1/o] - 1 = u1...

4/ Je fais un ecart type de cette série que je multiplie par la racine du "pas" de calcul (52 pour une série de rentabilité périodique.

Voilà ce que je souhaiterais faire dans une function mais j'ai franchement du mal avec le point 3/ où je dois faire un tableau virtuel dans la tête de "Monsieur VBA" si vous avez des idées...

Voilà mon premier bout de code :

Function Tracking_Error(PlageFonds As Range, PlageIndice As Range, Pas As Range)

NbLignesFonds = PlageFonds.Rows.Count
NbLIgnesIndice = PlageIndice.Rows.Count

ReDim Difference(2 To NbLignesFonds)

'calcul de la différence des rentabilités

For I = 2 To NbLignesFonds
Difference(I) = (PlageFonds.Cells(I, 1).Value / PlageFonds.Cells(I - 1, 1).Value - 1) - (PlageIndice.Cells(I, 1).Value / PlageIndice.Cells(I, 1).Value - 1)
Next I

Tracking_Error = Application.WorksheetFunction.StDev(Difference(I)) * Application.WorksheetFunction.SQRT(Pas)

End Function

Merci d'avance pour vos suggestions
 
Re : Function un peu spéciale ?

Bonsoir lebarbo, GI_GI, le Forum,

J'ai volontairement laissé ta dernière demande sans réponse.
Pourquoi ?
Tout simplement parce que je pense t'avoir donné la base VBA nécessaire pour réaliser le type de fonction personnalisée souhaitée et aussi, parce que visiblement, il s'agit plus cette fois d'un problème de math que d'un problème purement VBA ou Excel.
Je te l'ai dit plus haut, de nous deux, le matheux c'est toi et pour ma part, je ne capte pas la moitié de ce que tu cherches à faire...

Cordialement,
 
Re : Function un peu spéciale ?

; ) Ok merci quand même, pour moi il s'agit d'un souci davantage de code ici, j'ai beau chercher rien à faire mais je vais continuer ...on verra bien !
En tout cas merci pour ton aide et peut-être que je reviendrai avec un autre post si je n'y arrive vraiment pas.

Bye et bon week
 
Re : Function un peu spéciale ?

Putain quel con....

Tu as bien fait de me répondre dans ce sens quand je vois ce que j'ai fait comme erreur dans ma formule...là je m'en veux vraiment... j'ai multiplié au lieu de diviser.
TU AVAIS RAISON ! Problème d'attention pas de code.

BetaPerso = Application.Covar(TabResult1, TabResult2) * Application.Var(TabResult2)

BetaPerso = Application.Covar(TabResult1, TabResult2) / Application.Var(TabResult2)

MERCI encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
911
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Réponses
9
Affichages
884
Réponses
0
Affichages
657
Réponses
7
Affichages
829
  • Question Question
Microsoft 365 macro vba sumifs
Réponses
5
Affichages
750
B
  • Question Question
Réponses
3
Affichages
1 K
Réponses
7
Affichages
1 K
Retour