Serving the Quantitative Finance Community

 
User avatar
dmitrilds
Topic Author
Posts: 0
Joined: February 19th, 2008, 8:19 am

Portfolio optimisation with transaction costs.

March 7th, 2010, 11:18 am

I am implementing MV portfolio optimisation with only addition of having linear transaction costs. Given the standard deviation of portfolio return I am maximizing return less tx costs subject to the following constraints:w(i,0) - initial weight for the positionw(i,t) - final weight what I am solving for.Objective: Return = sum{exp-ret(i,t)*w(i,t) - (abs(w(i,t)-w(i,0))*txCosts}Constraints:=> sum of weights inclusive of tx costs: sum{w(i,t)+txCosts*(abs(w(i,t)-w(i,0))} = 1=> Non negative return: objective >= 0=> stddev(w(i,t)) = const=> Leverage constraint on every position: l <= w(i,t) <= uAttempting implemntation with SQP solver of NAG (nag_opt_nlp_solve) - treating all constraints as non-linear. It works quite well with small tx costs but obviously it is not correct as the abs makes objective and constraint non-smooth at the point of original weight (and it breaks with substantial tx costs). I appreciate any suggestion on how to handle that "abs" in correct but simple way. Obvious option is to generate multiple optimisations tasks with altered constaints l <= w(i,t) <= w(i,0) and w(i,0) <= w(i,t) << u - but it is lots of the combinations...
 
User avatar
probably
Posts: 0
Joined: May 18th, 2004, 10:46 pm

Portfolio optimisation with transaction costs.

March 9th, 2010, 9:51 pm

Most commonly used is to writew_new = w_old + w_pos - w_negie, split your transaction into positive and negative part. You constrain both of them to be positive. Then your transaction cost model isc'w_pos + c'w_neg + rav/2 var( w_old + w_pos - w_neg ) = (*) this gives you a semi-definite covariance matrix.You don't need to impose that only either of them can be non-negative as long as your transaction cost c are strictly positive. To solve the cost minimzation over a risk constraint is classic Markoviz theory, you'll find it in any book on portfolio optimization.
Last edited by probably on March 8th, 2010, 11:00 pm, edited 1 time in total.