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.

Reply via email to