|
From: Ferdinando A. <na...@am...> - 2009-10-20 16:34:21
|
On Tue, Oct 20, 2009 at 6:04 PM, Luigi Ballabio
<lui...@gm...> wrote:
> Any thoughts? (or facts?)
I agree with the correction Chris suggested below.
I just would love a confirmation from Mark, since he suggested
Bachelier, even if all errors are mine :-)
ciao -- Nando
> On Tue, 2009-10-13 at 09:18 -0700, Chris Kenyon wrote:
>> I don't understand the bachelierBlackFormula in QL which reads (with
>> tests removed):
>>
>> bachelierFormula(Option::Type optionType,
>> Real strike,
>> Real forward,
>> Real stdDev,
>> Real discount)
>> {
>> ...
>> Real d = (forward-strike)*optionType, h = d/stdDev;
>> if (stdDev==0.0)
>> return discount*std::max(d, 0.0);
>> CumulativeNormalDistribution phi;
>> Real result = discount*stdDev*phi.derivative(h) + d*phi(h);
>>
>> return result;
>> }
>>
>> I think that in the result line the discount should be applied to all
>> the terms. There is no test in the test-suite specifically for the
>> bachelier. The only time it appears is in marketmodel.
>>
>> Supporting evidence comes from my own derivation (which can be wrong,
>> of course) and some books. In books you have to take care to include
>> the discounting because often they are just talking about Bachelier
>> (the person) who ignored interest rates.
>>
>> The other evidence is that the terms have the wrong dimensions, i.e. d
>> is (forward-strike) which is paid in the future but is not discounted.
>> Hence I don't see any way that the formula can be correct.
|