[R-SIG-Finance] fPortfolio and leverage

Brian G. Peterson brian at braverock.com
Thu Aug 21 19:21:10 CEST 2008


then I would recommend downloading the source function file and changing 
the code directly, or changing the constraint inside the debugger.  The 
debugger is interactive, so you could set sum(w_i)=2 or whatever you 
need from inside the debugger.

Hopefully Yohan or Diethelm will chime in here and help out.

Regards,

   - Brian

giuseppe1.milicia at hsbcib.com wrote:
> Brian,
> 
> I don't think you can remove the target alpha. When you create a portfolio
> spec, it's there by default.
> 
> I tried the constraints you mentioned:
> 
> frontier = portfolioFrontier(Data, Spec,
> c("minsumW[1:22]=0.5","maxsumW[1:22]=2"))
> 
> and
> 
> frontier = portfolioFrontier(Data, Spec,
> c("minW[1:22]=0.2","maxW[1:22]=0.6"))
> 
> which puts the constraints on the single weights.
> 
> In the second case there is no solution. In the first again all the weights
> add to 1
> 
> I debugged the whole thing and it seems that .setBoxGroupConstraints fixes
> a budget constraints forcing the weights to add up to 1. It seems that the
> constratin sum(w_i)=1 is added automatically and cannot be removed.
> 
> I guess I should really set up the QP problem myself if I want to
> experiment with the sort of thing... :(
> 
> Cheers,
> 
> // Giuseppe
> 
> 
> 
>                                                                            
>              "Brian G.                                                     
>              Peterson"                                                     
>              <brian at braverock.                                          To 
>              com>                      Giuseppe1 MILICIA/IBEU/HSBC at HSBC    
>                                                                         cc 
>              21/08/2008 16:16          r-sig-finance at stat.math.ethz.ch     
>              Mail Size: 7779                                       Subject 
>                                        Re: [R-SIG-Finance] fPortfolio and  
>                                        leverage                            
>                                                                     Entity 
>                                        Investment Banking Europe - IBEU    
>                                                                            
>                                                                            
>                                                                            
>                                                                            
>                                                                            
>                                                                            
> 
> 
> 
> 
> The Chekhlov, Uryasev, and Zabarankin paper you reference can be found
> here:
> 
> http://www.ise.ufl.edu/uryasev/drawdown.pdf
> 
> for anyone else who is playing along.
> 
> Note how on page 8 of the paper, which you quote, they set limits on the
> total weight range to develop a particular leverage model, but not on
> the alpha or performance of the model.
> 
> So, to your original example:
> 
> # Load Data and Convert to timeSeries Object:
> Data = as.timeSeries(data(smallcap.ts))
> Data = Data[, c("BKE", "GG", "GYMB", "KRON")]
> 
> # Set Default Specifications:
> Spec = portfolioSpec()
> 
> setTargetAlpha(Spec) = 0.6
> 
> # Allow for unlimiConstraints = "Short"ted Short Selling:
> Constraints = "Short"
> 
> # Compute Short Selling Minimum Variance Portfolio
> frontier = portfolioFrontier(Data, Spec, Constraint)
> 
> #I seem to get always weights adding up to 1, no matter what I do...
> 
> #I tried:
> 
> frontier = portfolioFrontier(Data, Spec, "maxsumW[1:22]=2")
> 
> #Weights add up to 1 again.
> 
> frontier = portfolioFrontier(Data, Spec, "minsumW[1:22]=2")
> frontier = portfolioFrontier(Data, Spec, "minsumW[1:22]=0.1")
> 
> # The last two calls give back no portfolio. I wonder why?
> # Is it not possible to be leveraged/under invested?
> 
> This suggests that you should remove your setTargetAlpha constraint, and
> see what the optimizer does only with constraints of maxsumW[1:22]=2
> *and* minsumW[1:22]=0.1, which I believe can be specified in your
> portfolioSpec() call.
> 
> Regards,
> 
>    - Brian
> 
> giuseppe1.milicia at hsbcib.com wrote:
>> Brian,
>>
>> You are right. But I was thinking of a slighly different setup for the
>> problem. Say you want to leverage at different levels for each of the
>> assets, with only a global risk target as goal. I thought that the
> easiest
>> way out was to leave that to the portfolio optimizer. My assets are not
>> equities and I assume they are traded on margin.
>>
>> I believe that approach was taken, for instance, in "Portfolio
> optimization
>> with drawdown constraints" Checkhlov, Uryasec and Zabrankin.
>>
>> From the paper:
>>
>> "As for the technological constraints (8), we chose x_min = 0.2 and x_max
>> =0.8  . This choice was
>> dictated by the need to have the resultant margin-to-equity ratio in the
>> account within admissible
>> bounds, which are specific for a particular portfolio. In this futures
>> trading setup, these
>> constraints are analogous to the “fully-invested” condition from
> classical
>> Sharpe-Markowitz
>> theory. They define bounds on the leverage of the strategy and make an
>> efficient frontier to be
>> concave. If all positions are equal to the lower bound 0.2, then the sum
> of
>> the positions equals
>> 0.2 ×32 = 6.4 and the minimal leverage equals 6.4. However, if all
>> positions are equal to the
>> upper bound 0.8, then the sum of the positions equals 0.8× 32 = 25.6 and
>> the maximal leverage
>> equals 25.6. The optimal allocation of weights picks both the optimal
>> leverage and proportions
>> between instruments."
>>
>> Cheers,
>>
>> // Giuseppe
>>> Brian G. Peterson wrote:
>>> your example can still account for leverage.
>>>
>>> the w vector can be interpreted as percentage allocations from your
>>> total dollars to invest.
>>>
>>> Your leverage is unconstrained from the optimization.  Whether you have
>>> 100 euros to invest or 200 million euros to invest, you will still apply
>>> the weights from the output of the optimization.
>>>
>>> Regards,
>>>
>>>    - Brian
>>>
>>>> giuseppe1.milicia at hsbcib.com wrote:
>>>> Guys,
>>>>
>>>> I'm playing a bit with fPortfolio and looking at the examples and unit
>>>> tests, it seems that the weights returned always sum up to 1.
>>>>
>>>> I was wondering whether there is a way to have a leveraged portfolio
> with
>>>> weights summing up to W > 1. Say I target a certain risk level R and I
>>>> want the weights to be totally unconstrained. From the docs I see that
>>>> Constraints = "Short" should given me unconstrained weights:
>>>> "Short": This selection defines the case of unlimited short selling.
> i.e.
>>>> each weight may range
>>>> between -Inf and Inf. Consequently, there are no group constraints.
> Risk
>>>> budget constraints are
>>>> not included in the portfolio optimization.
> <...>
> 
> 
> 
> ************************************************************
> HSBC Bank plc may be solicited in the course of its placement efforts for a
> new issue, by investment clients of the firm for whom the Bank as a firm
> already provides other services. It may equally decide to allocate to its
> own proprietary book or with an associate of HSBC Group. This represents a
> potential conflict of interest. HSBC Bank plc has internal arrangements
> designed to ensure that the firm would give unbiased and full advice to the
> corporate finance client about the valuation and pricing of the offering as
> well as internal systems, controls and procedures to identify and manage
> conflicts of interest.
> 
> HSBC Bank plc
> Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
> Registered in England - Number 14259
> Authorised and regulated by the Financial Services Authority.
> ************************************************************
> 
> -----------------------------------------
> SAVE PAPER - THINK BEFORE YOU PRINT!
> 
> This transmission has been issued by a member of the HSBC Group
> "HSBC" for the information of the addressee only and should not be
> reproduced and/or distributed to any other person. Each page
> attached hereto must be read in conjunction with any disclaimer
> which forms part of it. Unless otherwise stated, this transmission
> is neither an offer nor the solicitation of an offer to sell or
> purchase any investment. Its contents are based on information
> obtained from sources believed to be reliable but HSBC makes no
> representation and accepts no responsibility or liability as to its
> completeness or accuracy.



More information about the R-SIG-Finance mailing list