{"text_format":"1","workbook":"xlsx","n_sheets":1,"sheets":["EXAMPLE4"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":195,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"EXAMPLE4","index":0,"n_rows":31,"n_cols":9,"rows_kept":31,"cut":false,"hidden":false,"merged":[]}
["Example 4:  Portfolio Optimization - Markowitz Method"]
["This model finds the optimal allocation of funds to stocks that minimizes the portfolio risk, measured"]
["by portfolio Variance (a quadratic function) at cell I17, computed via a custom QUADPRODUCT"]
["function.  This quadratic programming (QP) model can be solved with the GRG Nonlinear Solver, or"]
["more efficiently with the LP/Quadratic Solver or the SOCP Barrier Solver."]
[]
[]
[null,"Stock 1","Stock 2","Stock 3","Stock 4","Stock 5",null,"Total"]
["Portfolio %",1.4067657021019584E-2,0.24006055539666588,0.65797435419637396,3.7129945224689816E-5,8.7860303440715909E-2,null,{"$f":"SUM(B9:F9)","v":1}]
["Expected Return",7.0000000000000007E-2,0.08,9.5000000000000001E-2,6.5000000000000002E-2,0.14000000000000001]
["Linear QP Terms",0,0,0,0,0]
[]
["Variance/Covariance Matrix"]
[null,"Stock 1","Stock 2","Stock 3","Stock 4","Stock 5"]
["Stock 1",2.5000000000000001E-2,1E-3,0.01,-5.0000000000000001E-3,0.01]
["Stock 2",1E-3,0.04,-1E-3,1.2E-2,-8.5000000000000006E-3]
["Stock 3",0.01,-1E-3,1.2E-2,6.4999999999999997E-3,7.4999999999999997E-3,null,"Variance",{"$f":"_xll.QUADPRODUCT(Allocations,B11:F11,Stock_Covariances)","v":8.4555018856193476E-3}]
["Stock 4",-5.0000000000000001E-3,1.2E-2,6.4999999999999997E-3,0.08,0.01,null,"Std. Dev.",{"$f":"SQRT(I17)","v":9.195380299704492E-2}]
["Stock 5",0.01,-8.5000000000000006E-3,7.4999999999999997E-3,0.01,7.0000000000000007E-2,null,"Return",{"$f":"SUMPRODUCT(Allocations,Stock_Returns)","v":9.4999999999999987E-2}]
[]
["Select an appropriate Solver Engine from the dropdown list on the Engine tab in the task pane, then"]
["click Optimize on the ribbon to find the minimum risk portfolio with a return of at least 9.5%. It has"]
["a Variance of about 0.85%. Try reversing the problem to find the maximum return portfolio with a"]
["Variance not exceeding 1%. Select cell I19 and set this as the objective to be maximized."]
["Modify the constraint so that  I17 <= 0.01. Select the GRG Nonlinear Solver or the LP/Quadratic"]
["Solver from the Engine list in the task pane and solve to find a portfolio returning 10.2%."]
[]
["With Risk Solver Platform, you can automatically check this model for structure (LP, QP, etc.)"]
["and convexity.  Click the arrow under the Optimize button on the ribbon and select Analyze without"]
["Solving. The model is diagnosed as \"QP Convex\" with 3 functions: 1 Smooth function,"]
["and 2 Linear functions."]