Optimization Methods in Finance - Homework II (Solutions) K. Subramani LCSEE, West Virginia University, Morgantown, WV {ksmani@csee.wvu.edu} 1 Problems 1. Consider the cone defined as: Cq r = {(x 1, x,... x n ) : x 1 x x j, x 1, x 0.} Show that x = (x 1, x,..., x n ) Cq r if and only if y = (y 1, y,..., y n ) C q, where, y 1 = ( 1 ) (x 1 + x ), y = ( 1 ) (x 1 x ), y j = x j, j = 3, 4,... n and C q is the Lorenz cone given by: C q = {y = (y 1, y,..., y n ) R n : y 1 (y, y 3,..., y n ) }. Solution: Assume that x C r q. Since y 1 = x1+x and y = x1 x, we have that x 1 = y1+y and x = y1 y. Thus, we get: x 1 x ( y 1 + y ) ( y 1 y ) y 1 y y 1 x j y j y j yj j= As x 1, x 0 we have that y 1 0. Thus, we get: y 1 yj = (y, y 3,..., y n ) j= This means that, if x C r q, then y C q. Now, assume that y C q. From y 1 (y, y 3,..., y n ) 1
we have y 1 0 and y1 n j= y j. Thus, y 1 y n y j which means that y 1 y 0. Since y 1 0, we have that y 1 y. Thus x 1, x 0. We also have that x 1 + x 1 x + x y 1 y ( x 1 + x ) ( x 1 x ) x 1 x 1 x + x x 1 x y j x j x j x j This means that, if y C q, then x C r q.. Assume that u 1 f 1 (x) u 1 and u f (x) u. Use integer programming to model the following conditions: (a) Either f 1 (x) 0 or f (x) 0. (b) f 1 (x) 0 f (x) 0. (c) Either f 1 (x) 0 or f (x) 0, but not both. (d) n i=1 a i x i b, where b > 0. Solution: y 1 and y are defined here and they will be used in the other following. { { 1, if f 1 (x) 0 y 1 = 0, if f 1 (x) < 0. y 1, if f (x) 0 = 0, if f (x) < 0. (1) (a) Either f 1 (x) 0 or f (x) 0. Solution: so we can have {0, 1} and {1, 0} and {1, 1} but not {0, 0}, so the corresponding integer program is going to be: 0 y 1 1 0 y 1 y 1 + y 1 y 1, y Z. (b) f 1 (x) 0 f (x) 0. Solution: So we have {1, 1} and {0, 0} and {1, 1} but not {1, 0} so the corresponding integer program is going to be: 0 y 1 1 0 y 1 y 1 y 0 y 1, y Z.
(c) Either f 1 (x) 0 or f (x) 0, but not both. Solution: So we can have {0, 1} and {1, 0} but not {1, 1} nor {0, 0}, so the corresponding integer program is going to be: 0 y 1 1 0 y 1 y 1 + y = 1 y 1, y Z. (d) n i=1 a i x i b, where b > 0. We know that absolute value could be formed like this: y 1 = { 1, if { (a i x i ) b. 1, if (a i x i ) b. y = 0, otherwise. 0, otherwise. () Here we can have {1, 0} and {0, 1} but we cannot have {0, 0} and also it is not possible to have {1, 1}, so the corresponding integer program is going to be: 0 y 1 1 0 y 1 y 1 + y = 1 y 1, y Z. 3. Consider the following integer programming problem: subject to max z = x 1 + x x 1 x 3 x 1 + x x 1 + x 13 x 1, x 0 x 1, x integer (a) Solve the above problem graphically. (b) Solve the above problem using the branch-and-bound technique discussed in class. All linear programming relaxations should be solved graphically. Solution: (a) If we were asked to solve the LP, then the optimal point would be a vertex. Since the objective function is X 1 + X, the result should be integer, too. That is why we can not use the point (4, 5/), z = 10.5 since it is not integer. Now we try to draw slip (skew) the objective function into the feasible solution to find the integral points (point), which lie on that line. 3
(0,13/) (3/,5) (0,) (4,5/) (3/,0) (13/,0) x 1 + X = 11 (0,-3/) By testing the lines of X 1 + X = {10, 9, 8}, we find that the objective function X 1 + X = {10} does not contain any integer point in the feasible solution, so we try X 1 + X = {9}, which contains the point (3, 3) giving the optimal value Z = 9. These steps are shown in the following figure. 4
(0,13/) (3/,5) (1,4) (,4) (0,) (1,3) (,3) (3,3) (3,) (4,5/) (3/,0) z=9 z=8 z=10 (13/,0) (0,-3/) 5
(b) In the following figure constraints and feasible solutions are shown. (0,13/) (3/,5) (0,) (4,5/) (3/,0) (13/,0) (0,-3/) Since the coefficients in the objective function are integers and positive, one of the vertices (4, 5/) or (3/, 5) should be the answer for the linear programming. Since we have integer programming here we need to find out the integer numbers around it. for (4, 5/) z = 10.5, for (3/, 5) z = 8. Because the first point has larger value, we try to use that by adding two constraints to it by X X 3. Now we have two areas and again we should find the optimal points by checking the vertices. 6
(0,13/) (3/,5), Z=8 x = 3 x = (1/,3) (7/,3),Zm=10 (4,5/) (0,) (7/,),Z=9 (3/,0) (13/,0) (0,-3/) So, now we find that Z max = Z m = 10 in the blue region, but still this is not an integer solution. So again we need to add two more constraints. Since the optimal vertex is (7/, 3), we add X 1 4 and X 1 3. 7
(0,13/) (3/,5), Z=8 x = 3 (3,7/), Zm=9.5 (3,3),Z=9 x = (0,) (4,5/) (7/,),Z=9 (4,5/), infeasible (3/,0) (13/,0) x 1 = 3 x = 4 (0,-3/) Again we see here that Z m = 9.5 is not integer so we need to add two more constraints to the previous figure two: X 4 and X 3. 8
(0,13/) (3/,5), Z=8 x = 4 (5,4), Zm=9 x = 3 x = (0,) (3,3),Zm=9 (4,5/) (3/,0) x 1 = 3 x 1 = 4 (13/,0) (0,-3/) Here we see that Z m = 9, and the corresponding vertex is (3, 3). Final solution : (x 1 = 3, x = 3) (Z max = 9). 4. The following problem is called the stagewise shortest path problem: You are given n cities, which are partitioned into (N + 1) stages. City O is the only city in Stage 0 and city D is the only city in Stage N. Each city in stage k can advance to any city in stage k + 1, for k = 0, 1,,... (N 1). The distance between city i and city j is denoted by d ij. Formulate the dynamic programming recursion for the stagewise shortest path problem. Solution: Let v i, i = 1... m denote the i th city with v 1 = O and v m = D. Also, let V k denote the set of cities in stage k. Thus, V 0 = {v 1 } and V N = {v m }. For all cities v i V k let D(i, k) represent the length of the stagewise shortest path from v 1 to v i V k. Thus, we can define D as follows: 9
D(1, 0) = 0. For each v i V k, D(i, k) = min vj V k 1 (D(j, k 1) + d ij ). The goal is to find D(m, N). 5. Compute the value of an American put option on a stock with current price equal to $100, strike price equal to $98, and expiration date five weeks from today. The yearly volatility of the logarithm of the stock return is σ = 0.30. The risk-free interest rate is 4%. Use a binomial lattice with N = 5. Solution: On page 46 of the textbook, this problem is solved for the case N = 4. Since the values of all parameters are the same, we are going to have the same recursions as in the textbook. They are the following: when j = 0, 1,..., N, and v(n, j) = max{c u j d N j S 0, 0}, v(k, j) = max{ 1 R [p u v(k + 1, j + 1) + p d v(k + 1, j)], c u j d k j S 0 }. k = N, N 1,..., 0 and j = 0, 1,..., k. By taking N = 5, and using the values of the constants from the textbook, one can get the following values for v(k, j), and in particular, for v(0, 0). The calculations are done via a program written on C + +. 5 4 3 4 0.6 3 1 1.14 0.5 3 0.74 1.0 1.04 0 4.33 1 3.5.09 0 6.64 1 6.00 0 9.75 1 9.75 0 13.35 0 16.80 Figure 1: The values of v(k, j) 10