| |||||||||
Folio - Embedding examples from 'Getting started' Description Simple embedding tasks for a portfolio optimization problem:
Source Files By clicking on a file name, a preview is opened at the bottom of this page. Data Files foliodata.mos (!****************************************************** Mosel Example Problems ====================== file foliodata.mos `````````````````` Modeling a small LP problem to perform portfolio optimization. -- Parameters, data input from file, result output to file -- (c) 2008 Fair Isaac Corporation author: S.Heipcke, Aug. 2003, rev. June 2018 *******************************************************!) model "Portfolio optimization with LP" uses "mmxprs" parameters DATAFILE= "folio.dat" ! File with problem data OUTFILE= "result.dat" ! Output file MAXRISK = 1/3 ! Max. investment into high-risk values MAXVAL = 0.3 ! Max. investment per share MINAM = 0.5 ! Min. investment into N.-American values end-parameters public declarations SHARES: set of string ! Set of shares RISK: set of string ! Set of high-risk values among shares NA: set of string ! Set of shares issued in N.-America RET: array(SHARES) of real ! Estimated return in investment end-declarations initializations from DATAFILE RISK RET NA end-initializations public declarations frac: array(SHARES) of mpvar ! Fraction of capital used per share Return: linctr ! Objective function end-declarations ! Objective: total return Return:= sum(s in SHARES) RET(s)*frac(s) ! Limit the percentage of high-risk values sum(s in RISK) frac(s) <= MAXRISK ! Minimum amount of North-American values sum(s in NA) frac(s) >= MINAM ! Spend all the capital sum(s in SHARES) frac(s) = 1 ! Upper bounds on the investment per share forall(s in SHARES) frac(s) <= MAXVAL ! Solve the problem maximize(Return) ! Solution printing to a file fopen(OUTFILE, F_OUTPUT) writeln("Total return: ", getobjval) forall(s in SHARES) writeln(strfmt(s,-12), ": \t", strfmt(getsol(frac(s))*100,5,2), "%") fclose(F_OUTPUT) end-model | |||||||||
© Copyright 2024 Fair Isaac Corporation. |