Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2993 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Help: Projet VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Help: Projet VBA

n°1995486
area8
Posté le 23-05-2010 à 22:39:09  profilanswer
 

Salut tout le monde,  
 
je dois rendre un projet de gestion de portefeuille dans 2 à 3 semaines et j'avoue que ma binôme et moi n'arrivons vraiment pas à nous en sortir !
 
http://www.master272.com/projet2009-10.pdf
 
Voilà le projet...
 
Si quelqu'un se sentait capable de m'aider, je lui en serais vraiment reconnaissant !  
 
C'est mon année qui se joue :p  
 
 
Merci d'avance !  
 
Bonne soirée !

mood
Publicité
Posté le 23-05-2010 à 22:39:09  profilanswer
 

n°1995487
Jubijub
Parce que je le VD bien
Posté le 23-05-2010 à 22:48:22  profilanswer
 

tu obtiendras plus de résultat en postant ce que tu as déjà fait, et là où tu as des problèmes...


---------------
Jubi Photos : Flickr - 500px
n°1995612
area8
Posté le 24-05-2010 à 18:20:47  profilanswer
 

Bin la on a bouclé la question 3.  
Par contre pour la question 4 rien n'y fait ! Toujours bloqués !

n°1995626
Jubijub
Parce que je le VD bien
Posté le 24-05-2010 à 20:29:18  profilanswer
 

again, ça irait mieux si tu postais ce que vous avez fait pour cette question...
 
poste le raisonnement au moins...
tu trouveras ici peu d'experts en maths financières, par contre y'a plein de gens qui maitrisent le VBA : c donc à toi de trouver l'algo, ou d'expliquer les éléments que tu as...
 
le truc c'est que la charte du forum interdit qu'on fasse l'exo à ta place, par contre on peut t'aider si t'as des soucis lié aiu VBA...


---------------
Jubi Photos : Flickr - 500px
n°1996020
area8
Posté le 25-05-2010 à 16:58:56  profilanswer
 

Voila notre code alors ! En théorie cela devrait marcher mais non :( je ne comprends pas ce qui coince !!
 
Question 4  
 
Function fnBackTest() As Variant
Rem  
Rem Dim wsP As Worksheet
Rem Dim wsR As Worksheet
Rem Dim wsV As Worksheet
Rem  
Rem Dim statfnlv As Variant
Rem  
Rem Dim observ As Integer
Rem Dim nbre As Integer
Rem  
Rem Dim i As Integer
Rem Dim j As Integer
Rem Dim k As Integer
Rem Dim nbt As Integer
Rem  
Rem Dim periode As Integer
Rem  
Rem '********************************************************************************
Rem ' Préalable                                                                     *
Rem '********************************************************************************
Rem  
Rem 'Activation du classeur "Gestion de Portefeuille - Projet"
Rem ThisWorkbook.Activate
Rem  
Rem 'Affectation de la feuille de calcul "Portefeuille" à wsP
Rem Set wsP = Worksheets("portefeuille" )
Rem  
Rem 'Affectation de la feuille de calcul "Rendements" à wsR
Rem Set wsR = Worksheets("rendements" )
Rem  
Rem 'Affectation de la feuille de calcul "vol_backward" à wsV
Rem Set wsV = Worksheets("vol_backward" )
Rem  
Rem 'Calcul des valeurs observ et nbre
Rem observ = wsV.Cells(Rows.Count, 1).End(xlUp).Row - 1
Rem nbre = wsV.Cells(1, Columns.Count).End(xlToLeft).Column - 1
Rem  
Rem ReDim statfnlnv(observ, nbre)
Rem  
Rem '********************************************************************************
Rem ' mise en oeuvre                                                                 *
Rem '********************************************************************************
Rem  
Rem 'mise en oeuvre sur les différentes périodes
Rem For periode = 2 To observ
Rem   statfnlnv = fnlnv(periode)
Rem Next periode
Rem  
Rem wsP.Cells(2, 2) = statfnlnv
Rem  
Rem 'calcul de la performante effective (le rendement ???) de cette stratégie
Rem For j = 2 To nbre
Rem   For i = 2 To observ
Rem   If wsP.Cells(i, j) <> 0 Then
Rem     k = k + wsR.Cells(i, j)
Rem     nbt = nbt + 1
Rem   End If
Rem   Next i
Rem Next j
Rem  
Rem wsP.Range("A1" ).End(xlDown).Value = "performance effective"
Rem wsP.Range("A2" ).End(xlDown).Value = k / nbt
Rem  
Rem End Function
Rem  
Rem  
End Sub
 
 
question 5:
 
 
Function fnlnv(periode As Integer) As Variant
Rem 'stratégie consistant à investir uniquement en monétaire lorsque la volatilité backward est supréieur à un seuil (75%); sinon investit dans les titres avec les alphas backward les plus élevé
Rem  
Rem Dim wsV As Worksheet
Rem Dim wsAb As Worksheet
Rem  
Rem Dim sel1 As Variant
Rem Dim sel2 As Variant
Rem Dim selnumb As Variant
Rem Dim mat As Variant
Rem  
Rem Dim observ As Integer
Rem Dim nbre As Integer
Rem Dim i As Integer
Rem Dim j As Integer
Rem Dim k As Integer
Rem  
Rem Dim pos1 As Integer
Rem Dim pos2 As Integer
Rem Dim posf As Integer
Rem  
Rem Dim valref As Integer
Rem Dim nbt As Integer
Rem  
Rem '********************************************************************************
Rem ' Préalable                                                                     *
Rem '********************************************************************************
Rem  
Rem 'Activation du classeur "Gestion de Portefeuille - Projet"
Rem ThisWorkbook.Activate
Rem  
Rem 'Affectation de la feuille de calcul "vol_backward" à wsV
Rem Set wsV = Worksheets("vol_backward" )
Rem  
Rem 'Affectation de la feuille de calcul "alpha_backward" à wsAb
Rem Set wsAb = Worksheets("alpha_backward" )
Rem  
Rem 'Calcul des valeurs observ et nbre
Rem observ = wsV.Cells(Rows.Count, 1).End(xlUp).Row - 1
Rem nbre = wsV.Cells(1, Columns.Count).End(xlToLeft).Column - 1
Rem  
Rem 'redimensionnement de la matrice sel, la matrice des titres sélectionnés
Rem ReDim sel1(observ, nbre)
Rem ReDim sel2(observ, nbre)
Rem ReDim selnumb(observ, nbre)
Rem ReDim mat(observ, nbre)
Rem  
Rem '********************************************************************************
Rem ' Stratégie du portefeuille*
Rem '********************************************************************************
Rem  
Rem 'on trie la volatilité backward de l'indice de marché S&P 500
Rem For i = 2 To observ - 1
Rem    sel1(i, 1) = wsV.Cells(i, 2).Value
Rem    Next i
Rem  
Rem sel1.Sort
Rem  
Rem 'on sélectionne la valeur du 3e quartile
Rem pos1 = observ * (75 / 100)
Rem valref = Round(sel1(1, pos1)).Value
Rem  
Rem 'on trie les alphas backward les plus élevé de la période
Rem For j = 4 To nbre
Rem   sel2(periode, j) = wsAb(periode, j).Value
Rem   Next j
Rem    
Rem sel2.Sort
Rem  
Rem 'on sélectionne les 10% des titres dont l'apha backward est le plus élevé (les 3 titres dans notre cas)
Rem pos2 = nbre * (90 / 100)
Rem nbt = nbre - pos2
Rem  
Rem For k = 1 To pos2
Rem    sel2.cell(1, k).ClearContents
Rem Next k
Rem  
Rem 'on créer une matrice selnumb qui contient les positions des titres sélectionnés
Rem For i = 1 To nbt
Rem  For j = 4 To nbre
Rem   If wsAb(periode, i) = sel2.Cells(i, j) Then
Rem   selnumb(periode, i) = j
Rem   End If
Rem  Next j
Rem Next i
Rem  
Rem 'on va investir uniquement en monétaire lorsque la volatilité backward est supréieur à un seuil (75%); sinon investit dans les titres avec les alphas backward les plus élevé
Rem ' supposons notre portefeuille est égale à 1
Rem  
Rem If wsV.Cells(periode, 1).Value >= valref.Value Then
Rem    mat(periode, 3) = 1
Rem    mat(periode, 2) = 0
Rem    For i = 4 To nbre
Rem      mat(periode, i) = 0
Rem      Next i
Rem Else
Rem    For i = 2 To nbre
Rem      mat(periode, i) = 0
Rem      Next i
Rem    For j = 1 To nbt
Rem      posf = selnumb(periode, j)
Rem      If mat(periode, posf) = posf Then
Rem      mat(periode, posf) = (1 / nbt)
Rem      End If
Rem    Next j
Rem End If
Rem  
Rem 'Report des dates dans la 1ère colonne de la matrice sel
Rem mat(periode, 1) = ThisWorkbook.wsV.Cells(periode, 1)
Rem  
Rem fnlnv = mat
Rem  
Rem End Function
Rem  
Rem  
End Sub
 
 
 
Voilà, j'ai codé ça pour les deux questions mais ça coince je n'arrive pas à comprendre pourquoi...Bref c'est la crise !  
 
Merci ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Help: Projet VBA

 

Sujets relatifs
barre de progression VBA access[VBA/EXcel] Faire plusieurs Tableaux croisés Dyn.
[VBA-Access] Tableau dont on ne connait pas Nb de lignesVBA, boucle For i = a to b a>b POSSIBLE ?
programmation Excel / VBACopier/coller des cellules sous condition
Quelques conseils pour un projet peut être trop ambitieux.Excel VBA Fonction Somme des (xi - yi)²
Débutant need Help en C[ACESS] HELp !! Projet VBA endommagé ! KESAKO ??
Plus de sujets relatifs à : Help: Projet VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR