• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel macro invoegen, efficient frontier, mean-variance optimalisatie

Status
Niet open voor verdere reacties.

n00bish

Nieuwe gebruiker
Lid geworden
18 jun 2007
Berichten
3
Hey, ik ben een volledige beginneling. Ik heb een macro nodig op een portfolio te optimaliseren. Nou ben de onderstaande visual basic code tegengekomen, alleen heb ik geen enkel idee hoe ik deze moet toevoegen. Zou iemand me kunnen vertellen hoe ik deze code zou kunnen gebruiken, hij is toegevoegd in de attachement. Alvast enorm bedankt

ps. ik heb al gezocht op de site, maar de optie van solver.com werkt niet voor mij omdat ik 9 variabelen (en dus weights nodig) heb. als dit wel werkt zullen er vast anderen ook blij mee zijn (met respect aan John Alexander McNair dan)
 

Bijlagen

Hallo

Ga naar de VBA-editor, dit is Alt + F11. Doe Invoegen > Module en plak de code. Sluit VBA. Doe Alt-F8 en voer de code uit.

Wigi
 
hey mega-honourable,

tnx, ik had het ook al geprobeerd met f5, alleen nu blijkt dat de code meteen al bij de eerste regel een fout geeft, het eerste stukje heb ik onder toegevoegd. hij zegt dat mn Sub "not defined" is en SolverReset wordt in block gezet. zou er iemand even naar de code willen kijken en mij kunnen zeggen of er überhaubt iets nuttigs in wordt gezegd

Sub Frontier_Builder()
SolverReset
Application.ScreenUpdating = False
'Finding Maximum Surplus
SolverOk SetCell:="$K$38", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$18:$B$27"
SolverAdd CellRef:="$B$28", Relation:=2, FormulaText:="1"
SolverAdd CellRef:="$B$18:$B$27", Relation:=1, FormulaText:="Optimal_Mix_Max"
SolverAdd CellRef:="$B$18:$B$27", Relation:=3, FormulaText:="Optimal_Mix_Min"
SolverAdd CellRef:="$H$31:$H$33", Relation:=1, FormulaText:="$I$31:$I$33"
SolverOptions MaxTime:=1000, Iterations:=1000, Precision:=0.00000001, _
AssumeLinear:=False, StepThru:=False, Estimates:=2, Derivatives:=2, _
SearchOption:=1, IntTolerance:=0.000005, Scaling:=False, Convergence:=0, _
AssumeNonNeg:=False
Solution = SolverSolve(True)
MaxSurplus = Range("Surplus").Value
 
Je moet in VBA een referentie leggen naar de Solver.

Zie bij Extra > Referenties en vink de Solver aan.

Voor de rest: als je een n00b bent, succes met de code... :eek:

Post in het vervolg wel je code tussen code tags aub.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan