rfinanceperformanceanalyticsrisk-analysis

No contribution in component VaR using historical method in R


I am new to R. I am using package PerformanceAnalytics to calculate Component VaR of portfolio.

If I use gaussian method, it returns contribution.

> VaR(edhec, p=.95, method="gaussian", portfolio_method="component")
no weights passed in, assuming equal weighted portfolio
$VaR
           [,1]
[1,] 0.01193358

$contribution
 Convertible Arbitrage             CTA Global  Distressed Securities       Emerging Markets  Equity Market Neutral           Event Driven Fixed Income Arbitrage 
          0.0014400703           0.0003687009           0.0012961865           0.0032090406           0.0003479361           0.0013848605           0.0010051944 
          Global Macro      Long/Short Equity       Merger Arbitrage         Relative Value          Short Selling         Funds of Funds 
          0.0011151866           0.0015860006           0.0004412756           0.0009265836          -0.0027498306           0.0015623733 

$pct_contrib_VaR
 Convertible Arbitrage             CTA Global  Distressed Securities       Emerging Markets  Equity Market Neutral           Event Driven Fixed Income Arbitrage 
            0.12067381             0.03089608             0.10861675             0.26890849             0.02915606             0.11604738             0.08423244 
          Global Macro      Long/Short Equity       Merger Arbitrage         Relative Value          Short Selling         Funds of Funds 
            0.09344947             0.13290235             0.03697764             0.07764507            -0.23042800             0.13092245 

>



But If I use historical method it just returns a single portfolio level value

> VaR(edhec, p=.95, method="historical", portfolio_method="component")
no weights passed in, assuming equal weighted portfolio
[1] 0.01439231
> 


Is this correct? Am I missing something?

EDIT
I want to calculate component VaR of each part using historical simulation method.


Solution

  • The 'historical' method is not a 'simulation' method. It is a measure of the realized historical loss quantile.

    I have added historical contribution to PerformanceAnaltytics in v 1.4.3574 on R-Forge.

    Your example now produces:

    > VaR(edhec, p=.95, method="historical", portfolio_method="component")
    no weights passed in, assuming equal weighted portfolio
    $hVaR
      hVaR 95% 
    0.01419502 
    
    $contribution
    Convertible.Arbitrage             CTA.Global  Distressed.Securities       Emerging.Markets  Equity.Market.Neutral           Event.Driven Fixed.Income.Arbitrage           Global.Macro      Long.Short.Equity 
            -0.0006396664          -0.0001887839          -0.0007621405          -0.0020091076          -0.0001331756          -0.0008771216          -0.0004113300          -0.0006202640          -0.0010782781 
      Merger.Arbitrage         Relative.Value          Short.Selling         Funds.of.Funds 
         -0.0002735736          -0.0005046562           0.0012263158          -0.0008257281 
    
    $pct_contrib_hVaR
     Convertible.Arbitrage             CTA.Global  Distressed.Securities       Emerging.Markets  Equity.Market.Neutral           Event.Driven Fixed.Income.Arbitrage           Global.Macro      Long.Short.Equity 
            0.09012547             0.02659862             0.10738139             0.28307218             0.01876371             0.12358159             0.05795412             0.08739178             0.15192344 
      Merger.Arbitrage         Relative.Value          Short.Selling         Funds.of.Funds 
            0.03854501             0.07110328            -0.17278113             0.11634054 
    

    It is available from SVN now, should be available in binary form 'soon', and will be included in the next release of PerformanceAnalytics