Proposal to incorporate portfolio analytics

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Proposal to incorporate portfolio analytics

Amir Ahmed Ansari-2
Hi All,
 
I would like to propose the inclusion of portfolio optimization into Quantlib. First of all, a little dose of reality:
 
 
Current Landscape:
------------------------
 
As far as I know, portfolio optimization as it currently stands involves the maximization of the following function:
 
U = Alpha - Risk / RAP - Transaction Cost / Amortization - Taxes / Amortization - Penalties,
 
where Risk is computed from a multi-factor risk model.
 
Without naming names, here are two commercial approaches to tackling the problem:
 
1. 'Linearize' the risk component and the penalties component, then pose the problem as an integer programming problem and solve it through CPLEX. I have no idea how the linearization works but I have some intuitive hunches.
 
2. Utilize an iterative sub-gradient optimization procedure which tries to push the portfolio within the feasible region on each step by swapping a pair of securities.
 
If anyone knows about other ways, then I would love to hear about them.
 
Pros and Cons:
------------------
 
The proponents of approach 1 say the value of U from their method will usually best other industry approaches although they do not recommend using this approach when your problem is a simple non-constrained maximization problem. They say their approach can model arbitrarily complex constraints by linear piecewise approximation. I am not able to verify this, but my hunch is that any realistic linear piecewise approximation of a complex curve would slow down the algorithm. But note this is ONLY MY HUNCH.
 
Approach 2 can handle things like non-linear transaction costs in its stride. Unfortunately, the quadratic penalties can spoil the positive definiteness of the risk matrix and the algorithm would tend to converge on a local maxima. Even with the positive definiteness in tact, since the buy and sell amount has to be same on each iteration, the algorithm is limited to making 45 degree turns, which can again limit it to a local maxima on corners of the feasible region.
 
DISCLAIMER: The above discussion has been knowingly phrased in generic terms and contains only public domain knowledge. The intention is simply an open discussion to further the field. The intention is NOT to suggest one approach or the other or divulge internal/secret information. Any associaton with an actual company's product is the reader's own flight of fantasy. The author does not claim to be discussing any specific product.
 
Proposal:
-----------
 
We are not trying to mimick the behavior that is already there. So let us try and follow a third approach. We simply solve the linear inequalities to find a point within the feasible region. And then we proceed with either gradient ascent, OR the sub-gradient approach, ensuring on each iteration that we remain within the feasible region.
 
 
Would love to hear everybody's thoughts.
 
- Amir
 

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev