Sorry, somehow the objective function didn't appear in my post: Max. f = w' r - Lamda * w' * Omega * w - Tc * |w- w0|'
On Sun, Feb 27, 2011 at 9:26 PM, Zhang Beiting <[email protected]>wrote: > Hi all, > > I am trying to solve a portfolio optimization problem as follows: > > Maximize Objective f: , > Subject to: > > |w| < w_max > sum w < net_pos_max > sum|w| < gross_pos_max, where > > w: weights for each stock (vector) > r: expected return (vector) > w0: initial weights (vector) > tc: expected transaction costs (vector) > Omega: covariance matrix > Lamda: risk penalty parameter > > w_max: given maximum weights for each asset > net_pos_max: given maximum net position for the whole portfolio (long and > short), say 40% (with 120% long and 80% short) > gross_pos_max: given maximum gross position for the whole portfolio (long > and short), say 200% ( with 120% long and 80% short) > > Originally I thought this was just a typical optimization problem that > takes > into accounts of transaction costs in a very simple form. However, > I then found it was more complicated, at least cannot be solved by directly > calling the QuadProg package ("QP") in R. I would greatly appreciate any > inputs and help, and here are some of my findings: > > 1, It is the absolute value bars of transaction cost term that gives me the > headache. The objective function is not differentiable any more and cannot > be > solved by those converging optimization functions that accepts > differentiable objective functions, the QP in this case. Though it doesn't > destroy the > quadratic function form. > > 2, Possible solution a): Rewrite the absolute values in the obj. function > by > using a so called "epi-graph" reformulation. In short, replacing |x| > through > > introducing new variable like > > x = x+ - x- > > |x| = x+ + x- > > x+ , x- ⥠0 > > 3, Possible solution b): Construct a differential approximation for |x| by > introducing a "smoothing function |x| with a Gaussian Kernel. > > I don't which is easier to implement in R and would be grateful for any > further explanation. Have little experience in optimization except some > simple > mean-variance case (efficient frontier construction) when was at school. > > Again, thank you! > > [[alternative HTML version deleted]] > > > _______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-finance > -- Subscriber-posting only. If you want to post, subscribe first. > -- Also note that this is not the r-help list where general R questions > should go. > [[alternative HTML version deleted]]
_______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
