[GSoC-PortA] mapping function

Doug Martin martinrd at comcast.net
Mon Jul 8 19:58:38 CEST 2013


 

 

 

 

-----Original Message-----
From: gsoc-porta-bounces at lists.r-forge.r-project.org
[mailto:gsoc-porta-bounces at lists.r-forge.r-project.org] On Behalf Of Brian
G. Peterson
Sent: Monday, July 08, 2013 10:54 AM
To: gsoc-porta at r-forge.wu-wien.ac.at
Subject: Re: [GSoC-PortA] mapping function

 

On 07/08/2013 12:51 PM, Doug Martin wrote:

> Brian,

> 

> Thanks for your helpful comments below.  It is fortunate that we will 

> be meeting in a couple of weeks, and can discuss in more detail then.

> 

> Meanwhile, I am going to concentrate on the "standard" stuff that is 

> needed for the first few chapters of the 2nd edition.

 

It would be helpful to have a list, especially of anything that differs from
the first few chapters of the first edition.

[Doug] The first few chapters will be quite different.  By Wed. I  will send
a TOC with overview comments. 

 

> P.S. When do you head to Alaska?

 

I fly to seattle on Saturday, and Will be essentially out of contact, except
for occasional moments in a wifi coffee shop, from Sun-Sun.  I arrive back
in Seattle Sunday the 21st in the AM.

 

Regards,

 

Brian

 

 

 

> -----Original Message-----

> From:  <mailto:gsoc-porta-bounces at lists.r-forge.r-project.org>
gsoc-porta-bounces at lists.r-forge.r-project.org

> [ <mailto:gsoc-porta-bounces at lists.r-forge.r-project.org>
mailto:gsoc-porta-bounces at lists.r-forge.r-project.org] On Behalf Of 

> Brian G. Peterson

> Sent: Monday, July 08, 2013 5:00 AM

> To:  <mailto:gsoc-porta at r-forge.wu-wien.ac.at>
gsoc-porta at r-forge.wu-wien.ac.at

> Subject: Re: [GSoC-PortA] mapping function

> 

> On 07/06/2013 03:27 PM, Ross Bennett wrote:

>> I'm sure Brian will provide more detail, but hopefully this will 

>> provide some initial clarification about random portfolios and the 

>> logic I am using in rp_transform().

>> 

>> The random portfolio weights are being generated with a user 

>> specified leverage constraint, min_sum and max_sum. One could 

>> generate a dollar neutral portfolio by specifying min_sum=-0.01 and 

>> max_sum=1.01 or a leveraged portfolio with min_sum=1.49 and 

>> max_sum=1.51. I think this gives more flexibility than the method
proposed by Shaw.

> 

>> I need to spend some more time understanding the Shaw (2011) paper, 

>> but it is unclear to me if Shaw's method will work if we want to 

>> specify constraints such as min=c(0.05, 0.12, 0.15, 0.05, 0.08) and 

>> max=c(0.85, 0.92, 0.73, 0.75, 0.82) or if it only works for box 

>> constraints where all the values of min and max are equal.

> 

> Shaw's approach is quite interesting, but I think it is also rather 

> limited in the types of constraints he examines.

> 

> Also, the 'reject everything that doesn't meet the constraints' 

> approach isn't practical, in my opinion.  Perhaps in C/C++ code, but 

> even then, as the number of assets increases (all his examples are toy 

> ones), the number of non-conforming portfolios will also increase.

> 

> Doug asked elsewhere on this thread for a concise description of how 

> the random portfolios code worked before Ross started improving things 

> (and all his changes looks like an improvement to me so far).

> 

> ___________________________________________________________________

> 

> So, the original algorithm, developed by trial and error from my notes 

> of a private conversation with Pat:

> 

> - generate a uniform random draw satisfying box constraints

>     for all assets

> 

> - check to see if it is feasible (leverage constraints)

>     + assuming it is not feasible,

> 

>       randomly choose one weight from the weights vector

> 

>       do another random draw for that weight that is larger or smaller 

> than the original

>       draw to move the portfolio closer to the leverage constraint

> 

> ^

> \--return to check to see if the portfolio is feasible

> 

> The Burns-style method 'walks' the portfolio closer to the edges of 

> the feasible space, one weight at a time.

> 

> It's obviously a bit more complicated than this, but not much.  I 

> think it would be good to add a complete outline of the modified 

> algorithm to the documentation once we're happy with the approach.

> ______________________________________________________________________

> 

> Also elsewhere in this thread was a discussion of transforming the 

> entire vector to meet the leverage constraint.  While this 'works', it 

> has two drawbacks.  The first is that you may then violate the box 

> constraints.  The second is that you will be further from the edges of 

> the feasible space.  It may make sense to write a simple test script  

> on

> 50,100,200,500 assets that either transforms one asset at a time, or

> *first* transforms the entire vector, and then transforms individual 

> assets

> 

> 

> Shaw's reliance on vertex combinations between pairs of assets doesn't 

> seem as useful to me as the number of assets increases, but perhaps 

> it's only because it has been 20 years since I stared at Mathematica code.

> 

> Overall, I'd like to implement the Shaw methods, but I'd like that to 

> be secondary to getting something that works which has the flexibility 

> to handle all the constraint types we've identified.

> 

> So far, I think the progress on fn_map has been phenomenal.  For 

> Random Portfolios or DEoptim, this should give us what we need to have 

> feasible portfolios with any sort of layered constraints.  We'll need 

> to integrate the use of fn_map into constrained_objective for solvers 

> that don't specify all the constraint types.  I'll try to spend some 

> time outlining that later today.

> 

> Regards,

> 

>     - Brian

> 

> --

> Brian G. Peterson

>  <http://braverock.com/brian/> http://braverock.com/brian/

> Ph: 773-459-4973

> IM: bgpbraverock

> _______________________________________________

> GSoC-PortA mailing list

>  <mailto:GSoC-PortA at lists.r-forge.r-project.org>
GSoC-PortA at lists.r-forge.r-project.org

>  <http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta>
http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta

> 

> _______________________________________________

> GSoC-PortA mailing list

>  <mailto:GSoC-PortA at lists.r-forge.r-project.org>
GSoC-PortA at lists.r-forge.r-project.org

>  <http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta>
http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta

> 

 

 

--

Brian G. Peterson

 <http://braverock.com/brian/> http://braverock.com/brian/

Ph: 773-459-4973

IM: bgpbraverock

_______________________________________________

GSoC-PortA mailing list

 <mailto:GSoC-PortA at lists.r-forge.r-project.org>
GSoC-PortA at lists.r-forge.r-project.org

 <http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta>
http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/gsoc-porta/attachments/20130708/53af5597/attachment-0002.html>


More information about the GSoC-PortA mailing list