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.

Reply via email to