Re: Statistics Value at risk

Posted by jojogh on
URL: http://quantlib.414.s1.nabble.com/Statistics-Value-at-risk-tp15687p15719.html

Thanks, Luigi. But, I have made the test, the result should be between 0.04, and 0.05, not exactly the 0.04. But, lower than 0.045. I donot know why.

regards

Alex


2014-08-07 22:51 GMT+08:00 Luigi Ballabio <[hidden email]>:
The code below doesn't interpolate. In your case, if you ask for 0.99
VaR, the second loss is 0.05 and the third is 0.04, it just returns
0.04.

I don't think I remember the reason for that, though.

Luigi


On Thu, Aug 7, 2014 at 1:19 PM, Yuanhao Zhang <[hidden email]> wrote:
> Forgot to attach the excel file there.
> Hi, I am totally confused by the quantlib percentile function, the code is
> listed below. I have attached an excel file, you can find the issue in
> sheet1. If I have 250 sample pnl, the 0.99 percentile is just between the
> second and third one, use the interpolated function the value I have
> highlighted there. But, the result of QL is smaller than the highlighted
> one. And I thought the result of Excel is right, I have read the code, but i
> can not understand it, could you explain it for me. thanks!
>
>  Real GeneralStatistics::percentile(Real percent) const {
>
>         QL_REQUIRE(percent > 0.0 && percent <= 1.0,
>                    "percentile (" << percent << ") must be in (0.0, 1.0]");
>
>         Real sampleWeight = weightSum();
>         QL_REQUIRE(sampleWeight>0.0,
>                    "empty sample set");
>
>         sort();
>
>         std::vector<std::pair<Real,Real> >::iterator k, l;
>         k = samples_.begin();
>         l = samples_.end()-1;
>         /* the sum of weight is non null, therefore there's
>            at least one sample */
>         Real integral = k->second, target = percent*sampleWeight;
>         while (integral < target && k != l) {
>             k++;
>             integral += k->second;
>         }
>         return k->first;
>     }
>
>
>
> 2014-08-07 18:10 GMT+08:00 Luigi Ballabio <[hidden email]>:
>>
>> What are you getting instead? May you post some sample code that
>>
>> reproduces the issue?
>>
>> Luigi
>>
>> On Wed, Aug 6, 2014 at 6:20 PM, Yuanhao Zhang <[hidden email]>
>> wrote:
>> > Does any one used Statistics Value at risk function in QuantLib? I try
>> > to
>> > use the simple 250 PnL sample to test this function. The confidence
>> > level is
>> > 0.99, so the value should be between the second one and the third one.
>> > If
>> > the second one is -0.04 and the third one is -0.05, so the value is
>> > -(-0.04+(-0.05))/2=0.045. But, the quantlib value is always smaller than
>> > 0.045. Is that wrong with the calculation logic? I can not figure it out
>> > why
>> > the value is different. Any one could help me figure it out?
>> >
>> > Best regards
>> >
>> > Alex
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > Infragistics Professional
>> > Build stunning WinForms apps today!
>> > Reboot your WinForms applications with our WinForms controls.
>> > Build a bridge from your legacy apps to the future.
>> >
>> > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
>> > _______________________________________________
>> > QuantLib-users mailing list
>> > [hidden email]
>> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
>> >
>>
>>
>>
>> --
>> <https://implementingquantlib.blogspot.com>
>> <https://twitter.com/lballabio>
>
>



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users