Solveur à valeur cible variable

  • Initiateur de la discussion Initiateur de la discussion radium
  • Date de début Date de début

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 !

radium

XLDnaute Nouveau
Bonjour,

J'ai un problème où je dois trouver la meilleur combinaison selon 3 objets qui ont une série de rendements pour créer un portefeuille optimal

-Mes cellules variables sont les pondérations de ces séries de rendements mensuels
-La somme des 3 pondérations doit être 100%
-Max 65% par pondération
-Min 10% par pondération
-Un coefficient beta calcule la relation du portefeuille avec un indice : je veux le délimiter par +- 0.2
-Mon écart-type du nouveau portefeuille est à max 10%

Ma valeur cible est le rendement total du portefeuille combiné, où je veux le maximiser.


Cela fait un total d'environ 10 contraintes et je dois répéter l'opération mois par mois, des centaines de mois.
Or, ce sont les mêmes contraites mois après mois, mais elles changent de celulles plus bas (+1)

J'ai pensé créé une macro, mes connaissances ne sont pas poussées la dedans, mais j'ai l'impression que ça conserve les contraintes stable (fixes) et que ça ne fait que modifier les cellules variables, est-ce le cas?




N'hesitez pas à me demander des détails, merci de votre aide...
 
Re : Solveur à valeur cible variable

En gros, si je vulgarise

Variable Cible : rendement total (composé de poidsA *rendementA + poidsB*rendB + poids C*rendC)
Cellules variables : poids A B C
Contraintes
Poids A B C max 0.6 min 0.1
Poids A B C = 100%
Ecartype max 10%
Beta (mesure de risque) +/- 0.2

Ce sont les mêmes contraintes en valeur ci-haut, mais elles varient mois par mois, donc si je voudrais faire un autre itération, je devrais modifier les cellules ci-bas à chaque fois? J'ai l'impression que ce seront uniquement les valeurs cibles qui modifieront.



La macro que j'ai créer resemble à ça,

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 19/06/2012 par ffaille
'
' Touche de raccourci du clavier: Ctrl+j
'
Range("Z40:AB40").Select
SolverReset
SolverOk SetCell:="$AR$54", MaxMinVal:=1, ValueOf:="0", ByChange:= _
"$Z$55:$AB$55"
SolverAdd CellRef:="$Z$55", Relation:=1, FormulaText:="0.6"
SolverAdd CellRef:="$AA$55", Relation:=1, FormulaText:="0.6"
SolverAdd CellRef:="$AB$55", Relation:=1, FormulaText:="0.6"
SolverAdd CellRef:="$Z$55", Relation:=3, FormulaText:="0.1"
SolverAdd CellRef:="$AA$55", Relation:=3, FormulaText:="0.1"
SolverAdd CellRef:="$AB$55", Relation:=3, FormulaText:="0.1"
SolverAdd CellRef:="$AC$55", Relation:=2, FormulaText:="1"
SolverAdd CellRef:="$AW$55", Relation:=1, FormulaText:="0.2"
SolverAdd CellRef:="$AW$55", Relation:=1, FormulaText:="-0.2"
SolverOk SetCell:="$AR$54", MaxMinVal:=1, ValueOf:="0", ByChange:= _
"$Z$55:$AB$55"
SolverOk SetCell:="$AR$54", MaxMinVal:=1, ValueOf:="0", ByChange:= _
"$Z$55:$AB$55"
SolverSolve
End Sub


Merci de votre aide précieuse...
Bonne journée.
 
- 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
Retour