Financial Optimization ISE 347/447. Lecture 15. Dr. Ted Ralphs

Similar documents
Integer Programming Models

A Robust Option Pricing Problem

Decomposition Methods

Bounding Optimal Expected Revenues for Assortment Optimization under Mixtures of Multinomial Logits

CSCI 1951-G Optimization Methods in Finance Part 00: Course Logistics Introduction to Finance Optimization Problems

DM559/DM545 Linear and integer programming

Chapter 7: Portfolio Theory

Part 3: Trust-region methods for unconstrained optimization. Nick Gould (RAL)

IE 495 Lecture 11. The LShaped Method. Prof. Jeff Linderoth. February 19, February 19, 2003 Stochastic Programming Lecture 11 Slide 1

Scenario reduction and scenario tree construction for power management problems

Stochastic Dual Dynamic Programming Algorithm for Multistage Stochastic Programming

MS-E2114 Investment Science Lecture 5: Mean-variance portfolio theory

The Irrevocable Multi-Armed Bandit Problem

Column generation to solve planning problems

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Lecture IV Portfolio management: Efficient portfolios. Introduction to Finance Mathematics Fall Financial mathematics

Lecture 10: The knapsack problem

Lecture 5: Iterative Combinatorial Auctions

1 Overview. 2 The Gradient Descent Algorithm. AM 221: Advanced Optimization Spring 2016

Scenario Generation and Sampling Methods

1 Shapley-Shubik Model

Applications of Linear Programming

Handout 8: Introduction to Stochastic Dynamic Programming. 2 Examples of Stochastic Dynamic Programming Problems

Trust Region Methods for Unconstrained Optimisation

Course notes for EE394V Restructured Electricity Markets: Locational Marginal Pricing

Outline. 1 Introduction. 2 Algorithms. 3 Examples. Algorithm 1 General coordinate minimization framework. 1: Choose x 0 R n and set k 0.

Optimization 101. Dan dibartolomeo Webinar (from Boston) October 22, 2013

Probability and Stochastics for finance-ii Prof. Joydeep Dutta Department of Humanities and Social Sciences Indian Institute of Technology, Kanpur

Stochastic Programming and Financial Analysis IE447. Midterm Review. Dr. Ted Ralphs

Online Appendix: Extensions

PORTFOLIO OPTIMIZATION AND EXPECTED SHORTFALL MINIMIZATION FROM HISTORICAL DATA

Integer Programming. Review Paper (Fall 2001) Muthiah Prabhakar Ponnambalam (University of Texas Austin)

Multistage Stochastic Demand-side Management for Price-Making Major Consumers of Electricity in a Co-optimized Energy and Reserve Market

Report for technical cooperation between Georgia Institute of Technology and ONS - Operador Nacional do Sistema Elétrico Risk Averse Approach

Sensitivity Analysis with Data Tables. 10% annual interest now =$110 one year later. 10% annual interest now =$121 one year later

Robust Dual Dynamic Programming

What can we do with numerical optimization?

Equity correlations implied by index options: estimation and model uncertainty analysis

Eco504 Spring 2010 C. Sims FINAL EXAM. β t 1 2 φτ2 t subject to (1)

Tutorial 4 - Pigouvian Taxes and Pollution Permits II. Corrections

Revenue Management Under the Markov Chain Choice Model

Essays on Some Combinatorial Optimization Problems with Interval Data

A Branch-and-Price method for the Multiple-depot Vehicle and Crew Scheduling Problem

CSCI 1951-G Optimization Methods in Finance Part 07: Portfolio Optimization

EE/AA 578 Univ. of Washington, Fall Homework 8

Interior-Point Algorithm for CLP II. yyye

ROBUST OPTIMIZATION OF MULTI-PERIOD PRODUCTION PLANNING UNDER DEMAND UNCERTAINTY. A. Ben-Tal, B. Golany and M. Rozenblit

Optimization Models in Financial Mathematics

On-line Supplement for Constraint Aggregation in Column Generation Models for Resource-Constrained Covering Problems

Log-Robust Portfolio Management

Support Vector Machines: Training with Stochastic Gradient Descent

Techniques for Calculating the Efficient Frontier

6.231 DYNAMIC PROGRAMMING LECTURE 8 LECTURE OUTLINE

Lecture outline W.B.Powell 1

Handout 4: Deterministic Systems and the Shortest Path Problem

SOLVING ROBUST SUPPLY CHAIN PROBLEMS

Optimization Methods in Management Science

Convex-Cardinality Problems

Dynamic Portfolio Choice II

Pricing Problems under the Markov Chain Choice Model

Portfolio selection with multiple risk measures

Stochastic Dual Dynamic Programming

Technical Report Doc ID: TR April-2009 (Last revised: 02-June-2009)

Worst-case-expectation approach to optimization under uncertainty

Markowitz portfolio theory

Martingale Pricing Theory in Discrete-Time and Discrete-Space Models

Approximate Composite Minimization: Convergence Rates and Examples

A start of Variational Methods for ERGM Ranran Wang, UW

Assortment Planning under the Multinomial Logit Model with Totally Unimodular Constraint Structures

The Assignment Problem

ORF 307: Lecture 12. Linear Programming: Chapter 11: Game Theory

Problem 1: Random variables, common distributions and the monopoly price

Advanced Operations Research Prof. G. Srinivasan Dept of Management Studies Indian Institute of Technology, Madras

Multistage risk-averse asset allocation with transaction costs

Lecture 2: Fundamentals of meanvariance

Ramsey s Growth Model (Solution Ex. 2.1 (f) and (g))

DASC: A DECOMPOSITION ALGORITHM FOR MULTISTAGE STOCHASTIC PROGRAMS WITH STRONGLY CONVEX COST FUNCTIONS

Chapter 8. Markowitz Portfolio Theory. 8.1 Expected Returns and Covariance

Characterization of the Optimum

Ellipsoid Method. ellipsoid method. convergence proof. inequality constraints. feasibility problems. Prof. S. Boyd, EE364b, Stanford University

A Simple Model of Bank Employee Compensation

Notes on Intertemporal Optimization

Contents Critique 26. portfolio optimization 32

Progressive Hedging for Multi-stage Stochastic Optimization Problems

Optimization in Finance

EE365: Markov Decision Processes

Robust Optimization Applied to a Currency Portfolio

A New Tool For Correlation Risk Management: The Market Implied Comonotonicity Gap

Multistage Stochastic Programming

Lecture 17: More on Markov Decision Processes. Reinforcement learning

6.231 DYNAMIC PROGRAMMING LECTURE 10 LECTURE OUTLINE

3. The Dynamic Programming Algorithm (cont d)

Multistage Stochastic Programming

Financial Risk Management

Evaluation of proportional portfolio insurance strategies

IEOR E4703: Monte-Carlo Simulation

Lecture 4: Divide and Conquer

Section 2 Solutions. Econ 50 - Stanford University - Winter Quarter 2015/16. January 22, Solve the following utility maximization problem:

Optimization Models for Quantitative Asset Management 1

Quantitative Risk Management

Transcription:

Financial Optimization ISE 347/447 Lecture 15 Dr. Ted Ralphs

ISE 347/447 Lecture 15 1 Reading for This Lecture C&T Chapter 12

ISE 347/447 Lecture 15 2 Stock Market Indices A stock market index is a statistic indicating the composite value of a specified basket of stocks. Stock market indices can be weighted in a number of ways. Price: Index is the total/average price of all stocks (i.e., the value of a basket consisting of one share of each stock). Market share: Index is weighted by the total number of shares of each stock outstanding outstanding. Market capitalization: Index is weighted by the total value of all the shares outstanding. Float: Index is weighted by the total value of all publicly traded shares outstanding. An index fund is a mutual fund whose goal is to provide roughly the same return as that of an associated index (e.g., the S&P 500). Index funds have become a popular investment medium for long-term investors. There are sound theoretical reasons for investing in an index fund.

ISE 347/447 Lecture 15 3 Stock Market Indices Let us consider an index weighted my market capitalization, such as the NASDAQ Composite. The investments in this index form a market (in this case consisting of all stocks listed on the NASDAQ. As in Lecture 12, let w be the relative market capitalization of the assets in the market, i.e., z i S i w i = n i=0 z is i, where z i is the number of shares of asset i that exist in the market and S i the value of each share.

ISE 347/447 Lecture 15 4 The Market Portfolio Revisited As we previously noted, under the assumption that the market is efficient, w must be the solution to a Markowitz model consisting of the assets in this market. In fact, under these assumptions, w will represent the previously discussed market portfolio. Hence, the combination of an index fund with a risk-free asset will always be an efficient allocation. Unfortunately, there is ample evidence that these assumptions do not hold in practice. Nevertheless, it seems to be the case that fund managers generally underperform the market on average. Actively managed funds also incur much higher transaction costs than unmanaged ones. It may therefore still make sense to invest in index funds in many cases.

ISE 347/447 Lecture 15 5 Constructing an Index Fund An index is essentially a proxy for the entire universe of investments. An index fund is, in turn, a proxy for an index. A fundamental question is how to construct an index fund. It is not practical to simply invest in exactly the same basket of investments as the index tracks. The portfolio will generally consist of a large number of assets with small associated positions. Rebalancing costs may be prohibitive. A better approach may be to select a small subset of the entire universe of stocks that we predict will closely track the index. This is what index funds actually do in practice.

ISE 347/447 Lecture 15 6 A Deterministic Model The model we now present attempts to cluster the stocks into groups that are similar. Then one stock is chosen as the representative of each cluster. The input data consists of parameters ρ ij that indicate the similarity of each pair (i, j) of stocks in the market. One could simply use the correlation coefficient as the similarity parameter, but there are also other possibilities. This approach is not guaranteed to produce an efficient portfolio, but should track the index, in principle.

ISE 347/447 Lecture 15 7 An Integer Programming Model We have the following variables: y j is stock j is selected, 0 otherwise. x ij is 1 if stock i is in the cluster represented by stock j, 0 otherwise. The objective is to maximize the total similarity of all stocks to their representatives. We require that each stock be assigned to exactly one cluster and that the total number of clusters be q.

ISE 347/447 Lecture 15 8 An Integer Programming Model Putting it all together, we get the following formulation max ρ ij x ij s.t. y j = q x ij = 1 x ij y j i = 1,..., n i = 1,..., n, j = 1,..., n x ij, y j {0, 1} i = 1,..., n, j = 1,..., n

ISE 347/447 Lecture 15 9 Interpreting the Solution As before, we let ŵ be the relative market-capitalized weights of the selected stocks n ŵ i = z is i x ij n n i=0 z, is i x ij where z i is the number of shares of asset i that exist in the market and S i the value of each share. This portfolio is what we now use to track the index. Note that we could also have weighted the objective by the market capitalization in the original model: max z i S i ρ ij x ij

ISE 347/447 Lecture 15 10 Pyomo Model for Constructing Index Fund model.k = Param(mutable = True) model.assets = Set() model.t = Set(initialize = range(1994, 2015)) model.r = Param(model.T, model.assets) def mean_init(model, j): return sum(model.r[i, j] for i in model.t)/len(model.t) model.mean = Param(model.assets, initialize = mean_init) def Q_init(model, i, j): return sum((model.r[k, i] - model.mean[i])*(model.r[k, j] - model.mean[j]) for k in model.t) model.q = Param(model.assets, model.assets, initialize = Q_init) model.rep = Var(model.assets, model.assets, within=nonnegativeintegers) model.select = Var(model.assets, within=nonnegativeintegers) def representation_rule(model, i): return (sum(model.rep[i, j] for j in model.assets) == 1) model.representation = Constraint(model.assets, rule=representation_rule) def selection_rule(model, i, j): return (model.rep[i, j] <= model.select[j]) model.selection = Constraint(model.assets, model.assets, rule=selection_rule)

ISE 347/447 Lecture 15 11 Pyomo Model for Constructing Index Fund (cont.) def cardinality_rule(model): return (summation(model.select) == model.k) model.cardinality = Constraint(rule=cardinality_rule) def objective_rule(model): return sum(model.q[i, j]*model.rep[i, j] for i in model.assets for j in mode model.objective = Objective(sense=maximize, rule=objective_rule)

ISE 347/447 Lecture 15 12 Solution Strategy for Large Instances This model consists of a very large number of variables and constraints (250K for the S&P 500). Even solving the LP relaxation for such a problem could be difficult. To overcome this difficulty, we can use the Lagrangian approach discussed in Lecture 13. In this case, we relax the constraints that require each stock to have exactly one representative. Then we get the relaxation L(u) = max ρ ij x ij + 1 s.t. y j = q x ij y j x ij, y j {0, 1} u i x ij i = 1,..., n, j = 1,..., n i = 1,..., n, j = 1,..., n

ISE 347/447 Lecture 15 13 Evaluating L(u) We can rewrite the objective function of the Lagrangian relaxation as max (ρ ij u i )x ij + u i If we set C j = (ρ ij u i ) +, then it is easy to see that L(u) = max C j y j + s.t. y j = q u i y j {0, 1} j = 1,..., n

ISE 347/447 Lecture 15 14 Evaluating L(u) (cont.) The end result is that in an optimal solution to the Lagrangian relaxation, we have The representatives are the q stocks with the largest values of C j. x ij = y j if and only if ρ ij > u i. We can use this choice of representatives as a heuristic for finding optimal solutions. For a given vector u, choose the q stocks with the largest values of C j. Assign each remaining stock to the most similar among the representatives. This solution will be feasible.

ISE 347/447 Lecture 15 15 Solving the Lagrangian Dual To get the best possible bound, we would like to solve the Lagrangian dual min L(u) u Let {(x k, y k )} T k=1 relaxation. be the set of all 0-1 solutions to the Lagrangian Then we have that L(u) = max k=1,...,t (ρ ij u i )x k ij + u i Hence, L(u) is a convex function

ISE 347/447 Lecture 15 16 Subgradient Optimization Since L is convex, we can also use a basic line-search algorithm to maximize it. We start with an initial guess u 0, set k 0, and then iterate until a stopping criteria is met. 1. Determine a subgradient s k to L at u k. 2. For a given step size α k, set u k+1 u k + α k s k. In our case, finding a subgradient is easy. We can just take s k i = 1 n x ij This algorithm is guaranteed to converge to the optimal solution as long as {α k } k=0 0 and k=0 αk = In practice, one usually uses a geometric progression for the step sizes.

ISE 347/447 Lecture 15 17 The General Principle The principle in this example can be generalized to any (nonconvex) optimization problem. Recall the Lagrangian dual problem (D) from Lecture 10: max Θ(u, v) s.t. u 0 where Θ(u, v) = inf x X Φ(x, u, v) and Φ(x, u, v) f(x) + m u i g i (x) + l v i h i (x) We include in the set X the easy constraints, so that Θ can be evaluated effectively (this is the Lagrangian subproblem). We can then use this Lagrangian dual to generate bounds within a branch-and-bound algorithm.

ISE 347/447 Lecture 15 18 General Subgradient Algorithm for the Lagrangian Dual The idea of the subgradient algorithm is to first fix µ, v and solve the Lagrangian subproblem to get x. Then update µ, v by moving in an ascent direction for Θ. Here is a basic subgradient algorithm for solving the Lagrangian dual: 1. Choose initial Lagrange multipliers µ 0 0, v 0 and set t = 0. 2. Solve the Lagrangian subproblem (evaluate Θ(µ, v)) to obtain x t. 3. Calculate an ascent direction d for Θ (usually the violation of the constraints at x t ). 4. Set (µ t+1, v t+1 ) (µ t, v t ) + λ t d d where λt is the chosen step size. 5. Set t t + 1 and go to step 2. This algorithm is guaranteed to converge to the optimal solution as long as {λ t } t=0 0 and t=0 λt = Sometimes, it s difficult to know when the optimal solution has been reached.

ISE 347/447 Lecture 15 19 A Linear Programming Formulation Note that when X is a finite set, we can write the Lagrangian dual equivalently as where {x k } T min {z z z,u,v Φ(xk, u, v) k = 1,..., T }, are the members of set X. When Φ is linear, this is a linear program, but with a very large number of constraints. We can solve this LP by starting with a subset of the constraints and adding new ones dynamically. This is called dynamic constraint generation. In our example, we have min {z + n u i z z,u (ρ ij u i )x k ij k = 1,..., T }, where {(x k, y k )} T are the members of X.

ISE 347/447 Lecture 15 20 Dantzig-Wolfe Decomposition When Φ is linear, then the previous algorithm amounts to relaxing a set of linear constraints A x b. The dual of the linear program from the previous slide is an LP with one column for each member of X. max s.t. c x λ s s = x s X A x b λ s = 1 s X λ R X + Solving this LP is equivalent to solving the Lagrangian dual, but this is sometimes preferred for algorithmic reasons. The solution method is to dynamically generate the columns and is called dynamic column generation.