rendement portefeuille

Zone d'échange de sources C, C++, Java, VB, VBA et autres...

Modérateur : webmaster

Répondre
renardbleu
Messages : 4
Enregistré le : 30/06/2005 14:33

rendement portefeuille

Message par renardbleu » 30/06/2005 14:36

Bonjour,

Existe-t'il des logiciels qui permettent de suivre le rendement d'un portefeuille (en tenant compte d'éventuelles rentrées ou sorties de liquidités, des effets de leviers, etc) et donnant aussi le ratio risque/rendement (toujours en tenant compte des éventuels effets de leviers SRD ou Futures).

Merci !

Rodingo

Message par Rodingo » 06/07/2005 18:41

le portefeuille sur http://www.boursier.com/ on ma dit qu'il était bon mais je sais pas si il a toutes ces options je l'utilise pas .

gigi
Messages : 1000
Enregistré le : 09/01/2005 20:30
Localisation : Paris
Contact :

Suivi

Message par gigi » 17/07/2005 12:08

Le mieux pour suivre son portefeuille, et de se faire une feuille excel. C'est simple, et au moins vous savez comment tout est calculé puisque c'est vous qui entrez les données!
Pratique aussi pour faire des courbes personnalisées.

Mais bon, ça demande un peu de travail...

Renard

Message par Renard » 29/07/2005 19:07

Voici quelques macros pour déjà commencer (n'oublie pas de les vérifier avant de les utiliser) :
module 1 :
Public Const répertoire_fichier_a_importer As String = "C:\usr\b"
Public Const fichier_macro As String = "test.xls"
Function rendement(fichier As String, onglet As String) As Double
Dim valeur_début As Double
Dim valeur_fin As Double

fanion = True
i = 1

' recherche de la valeur du portefeuille inintiale
valeur_début = Workbooks(fichier).Worksheets(onglet).Range("B" & 1).Value

' recherche de la valeur du portefeuille finale
While i < 1000 And fanion
' recherche de la dernière ligne
If Workbooks(fichier).Worksheets(onglet).Range("A" & i + 1).Value = "" Then
fanion = False
Else
i = i + 1
End If

Wend
valeur_fin = Workbooks(fichier).Worksheets(onglet).Range("B" & i).Value

' calcul du rendement
rendement = (valeur_fin - valeur_début) / valeur_début
End Function
Function moyenne(fichier As String, onglet As String) As Double
Dim somme As Double

fanion = True
i = 1
somme = 0

While i < 1000 And fanion
' recherche de la somme des valeurs
somme = somme + Workbooks(fichier).Worksheets(onglet).Range("B" & i).Value

If Workbooks(fichier).Worksheets(onglet).Range("A" & i + 1).Value = "" Then
fanion = False
Else
i = i + 1
End If
Wend

' calcul de la moyenne
moyenne = somme / i
End Function

Function ecart_type(fichier As String, onglet As String, moy As Double) As Double
Dim somme As Double

fanion = True
i = 1
somme = 0

While i < 1000 And fanion
' recherche
somme = somme + (Workbooks(fichier).Worksheets(onglet).Range("B" & i).Value - moy) ^ 2

If Workbooks(fichier).Worksheets(onglet).Range("A" & i + 1).Value = "" Then
fanion = False
Else
i = i + 1
End If


Wend

ecart_type = Sqr(somme / i)
End Function

Sub import_fichier(Fichier_a_importer As String)
'
' cette macro importe un fichier texte avec une tabulation comme séparateur
' Macro enregistrée le 15/12/2004 par Jean-Marc COSTIOU
'
Workbooks.OpenText Filename:= _
Fichier_a_importer, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 1))

End Sub

dans la feuille excel, avec les boutons associés :
recherche du portefeuille (fichier txt avec la date en premiere colonne, une tabulation et la valeur du portefeuille) :
Private Sub Fichier_à_importer_Click()

' on importe uniquement les fichiers "*.txt" du répertoire
Application.FileSearch.LookIn = répertoire_fichier_a_importer
Application.FileSearch.Filename = "*.txt"

Workbooks(fichier_macro).Worksheets("Commande").Range("E2").Value = "fichier à traiter"
If Application.FileSearch.Execute() > 0 Then
For i = 1 To Application.FileSearch.FoundFiles.Count
Nom_fichier = Right(Application.FileSearch.FoundFiles(i), Len(répertoire_fichier_a_importer) + 3)
Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i + 2).Value = Nom_fichier
Next i
Else
MsgBox "Aucun fichier à importer dans le répertoire " & répertoire_fichier_a_importer
End If
End Sub

calcul du risque / rendement
Private Sub Risque_Click()

Dim moy As Double
fanion = True
i = 3

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Workbooks(fichier_macro).Worksheets("Commande").Range("F" & 2).Value = "risque"
Workbooks(fichier_macro).Worksheets("Commande").Range("G" & 2).Value = "rendement"

While i < 1000 And fanion
' ouverture du fichier pour calculer l'écart-type
import_fichier (répertoire_fichier_a_importer & "\" & Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value)

' recherche de la moyenne pour calculer la moyenne
moy = moyenne(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value, _
Left(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value, _
Len(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value) - 4))

' calcul écart type
Workbooks(fichier_macro).Worksheets("Commande").Range("F" & i).Value = ecart_type(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value, _
Left(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value, _
Len(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value) - 4), moy)

' calcul rendement
Workbooks(fichier_macro).Worksheets("Commande").Range("G" & i).Value = rendement(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value, _
Left(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value, _
Len(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value) - 4))

' fermeture du ficher d'importation des données
Workbooks(Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i).Value).Close


If Workbooks(fichier_macro).Worksheets("Commande").Range("E" & i + 1).Value = "" Then
fanion = False
End If

i = i + 1
Wend

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

renardbleu
Messages : 4
Enregistré le : 30/06/2005 14:33

Re: Suivi

Message par renardbleu » 11/08/2005 10:49

gigi a écrit :Le mieux pour suivre son portefeuille, et de se faire une feuille excel. C'est simple, et au moins vous savez comment tout est calculé puisque c'est vous qui entrez les données!
Pratique aussi pour faire des courbes personnalisées.

Mais bon, ça demande un peu de travail...
Oui, je fais ça sous excel, avec pour le rendement un calcul trivial: rapport première et dernière valeur de capital.
Sauf qu'en cas de retrait de liquidités, ce n'est plus valable, et je ne sais pas comment calculer ça...

Avatar du membre
webmaster
Messages : 769
Enregistré le : 14/06/2003 15:21
Contact :

Message par webmaster » 11/08/2005 23:07

Bonsoir,
renardbleu a écrit :Oui, je fais ça sous excel, avec pour le rendement un calcul trivial: rapport première et dernière valeur de capital.
Sauf qu'en cas de retrait de liquidités, ce n'est plus valable, et je ne sais pas comment calculer ça...
La mesure de la performance des portefeuilles constitue en effet une question intéressante. Cela paraît trivial au premier abord, mais un peu moins quand on se penche sur le sujet. Même la mesure de la rentabilité seule (ie le rendement) n'est pas triviale car on obtient des résultats différents selon la méthode employée. Une future page de la rubrique "A savoir" doit aborder ce sujet. Voici en substance ce qu'elle devrait contenir.

Méthode applicable lorsqu'aucun retrait ou versement n'est effectué : c'est celle que vous appliquez. Le rendement est égal à la valeur finale du portefeuille divisée par sa valeur initiale.

Méthode applicable (et préconisée dans la littérature) lorque des retraits et/ou versements sont effectués : taux de rentabilité pondéré par le temps. On calcule de la manière suivante :
1) on décompose la période considérée en autant de sous-périodes qu'on a effectué de retraits ou de versements.
2) on calcule la rentabilité du portefeuille pour chaque sous-période.
3) on calcule la rentabilité globale à partir des rentabilités de chaque sous-période.

Par exemple avec un portefeuille de 10000 euros et :
- un retrait de 2000 euros alors que le portefeuille en valait 11000 ;
- un versement de 3000 euros alors que le portefeuille en valait 12000 euros ;
- une valeur liquidative actuelle de 13000 euros.

1) on décompose la période en 3 sous périodes distinctes :
- investissement jusqu'au retrait de 2000 euros ;
- du retrait de 2000 euros jusqu'au versement de 3000 euros ;
- du versement de 3000 euros à aujourd'hui.
2) on calcule les rentabilités de chaque sous-période, ce qui donne :
- r1 = 11000/10000, soit r1=1.1
- r2 = 12000/9000, soit r2=1.3333
- r3 = 13000/15000, soit r3=0.8666
3) on calcule la rentabilité globale :
R = r1*r2*r3
R = 1.1*1.3333*0.8666
R = 1.2709

Le rendement global du portefeuille est de 27.09%.

Est-ce que cela répond à votre question ?

Webmaster

renardbleu
Messages : 4
Enregistré le : 30/06/2005 14:33

Message par renardbleu » 12/08/2005 14:15

webmaster a écrit :Bonsoir,

Est-ce que cela répond à votre question ?

Webmaster
Perfect !!!
Merci bien !

nab
Messages : 6
Enregistré le : 10/05/2006 16:26

Message par nab » 12/05/2006 00:44

Bonsoir,

J'ai suivi avec attention le calcul de rendement d'1 portefeuille et g trouvé l'explication super claire et très interessante !

Seulement une question me titille :
on dit qu'il est très difficile de battre l'indice mais on parle d'un rendement annuel je suppose ?
Si on prend le cas d'un portefeuille qui fait par exemple du 40% sur une période de 2 mois (car investissement ponctuel) alors que l'indice fait du 10% (annuel ou sur 2 mois), doit on considérer que l'on a fait une meilleure performance que l'indice ou cette logique n'est pas valable ?

Je ne sais pas si me je suis bien fait comprendre mais bon :D

Merci d'avance

gigi
Messages : 1000
Enregistré le : 09/01/2005 20:30
Localisation : Paris
Contact :

Comparaison portefeuille/indice.

Message par gigi » 13/05/2006 06:47

Pour comparer de façon valable un rendement entre un portefeuille et un indice, il faut regarder sur une longue période. Ainsi dans votre cas, vous pouvez très bien regarder sur 2 mois (période courte), pour regarder l'écart immédiat (ou la déviation par rapport à un indice), mais aussi regardez à un an.
Par exemple: Vous êtes investi 2 mois, et vous faites une performance de 40% par rapport à la somme investie; le reste de l'année vous rester non investi, donc rendement de 0%.
Sur les 2 mois, l'indice fait +10%, et l'ensemble de l'année, l'indice double (+100%).
Vous aurez donc fait mieux sur 2 mois, mais moins bien sur 1 an:

Code : Tout sélectionner

Temps&#58;        |   T0    | +2 mois  |  +1 an
--------------+---------+----------+---------------
Portefeuille  |   100   |    140   |   140
--------------+---------+----------+---------------
Indice        |   100   |    110   |   200
--------------+---------+----------+---------------
Ceci étant, une comparaison par rapport à un indice n'a pas d'intérêt en soi. Et il n'est valable à mon avis que sur une longue période d'observation, pour un nombre de valeurs composant le portefeuille supérieur à 5, et si les données de l'indice et du portefeuille sont comparable. Ainsi, si votre portefeuille est surtout composé de petites valeurs, le comparer au CAC40 n'a pas de sens. L'indice CAC40 ne peut être valablement utilisé que pour des grosses capitalisations françaises. Ainsi, si vous avez des grosses capitalisations américaines, mieux vaut utiliser le Standard&Poor 500 comme référence.

Sandy Zordan
Messages : 91
Enregistré le : 06/03/2006 10:47

Indice

Message par Sandy Zordan » 13/05/2006 17:00

Bonjour, :D
Une question toute bête; existe-t'il un indice boursier mondial ?
SMZ

Avatar du membre
webmaster
Messages : 769
Enregistré le : 14/06/2003 15:21
Contact :

Message par webmaster » 15/05/2006 21:52

Bonsoir,
Sandy Zordan a écrit :Une question toute bête; existe-t'il un indice boursier mondial ?
Il y a par exemple pour les grosses capitalisations le MSCI World qu'on peut manipuler à travers un tracker, le Lyxor ETF MSCI WORLD.

Webmaster

futé
Messages : 2
Enregistré le : 17/05/2006 20:07

Message par futé » 17/05/2006 20:50

en faite on dit qu'on ne peut pas battre l'indice pour une bonne et simple raison. D'abord ton raisonnement s'applique sur des petites sommes d'argents. Quand tu devra gerer des centaines de millier d'euros, et meme des millions, tu ne pourras pas passer un ordre d'achat sur une action à un montant "fixe", le spread d'execution sera trop grand et dans ce cas tu acheteras de plus en plus cher. et raisonnement inverse quand tu vendras, tu vendras de moins en moins cher. Donc au finale c'est vraiment pas sur que tu gagnes. En gros ca revient a un probleme de liquidité, avec des grosse sommes tu ne peux pas faire des allers retours simplement.

donc maintenant, tu as un nouveau probleme, tu dois placé plusieur somme d'argent sur plusieur action différente. Et la tu retrouves la definition d'indice; Un indice est la composition pondéré d'action ( par exemple).

Désolé si c'est pas claire et pour les fautes, mais je suis trop préssé, n'hésite pas à répondre pour des questions car ca doit pas etre bien clair....

nab a écrit :Bonsoir,

J'ai suivi avec attention le calcul de rendement d'1 portefeuille et g trouvé l'explication super claire et très interessante !

Seulement une question me titille :
on dit qu'il est très difficile de battre l'indice mais on parle d'un rendement annuel je suppose ?
Si on prend le cas d'un portefeuille qui fait par exemple du 40% sur une période de 2 mois (car investissement ponctuel) alors que l'indice fait du 10% (annuel ou sur 2 mois), doit on considérer que l'on a fait une meilleure performance que l'indice ou cette logique n'est pas valable ?

Je ne sais pas si me je suis bien fait comprendre mais bon :D

Merci d'avance

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités