|
From: Shenze W. <she...@da...> - 2020-06-16 21:28:11
|
Hi Luigi, Thanks a lot for the reply. I did not set the parameter `CashDividendModle` of the constructor `FdBlackScolesVanillaEngine` explicitly in my previous calculations. However, it seems that the parameter `CashDividendModle` does not affect the results at all. I calculated the prices of a bunch of American options with dividend yields with the engine `FdBlackScolesVanillaEngine` from QuantLib 1.18. The results from 'CashDividendModel cashDividendModel = Spot’ and the results from 'CashDividendModel cashDividendModel = Escrowed’ are identical, literally. I am using the Python wrap. Is this normal? Best, Shenze On Jun 16, 2020, 4:51 AM -0400, Luigi Ballabio <lui...@gm...>, wrote: > Hello, > thanks for the analysis. > > There are people here which are more capable of answering than I am, but just to make sure that we're comparing equals to equals: FdBlackScholesVanillaEngine has two possible ways to handle dividends, and we should document this better. One is the scale/shift model, and the other is the escrowed dividend model; you can choose the model by mans of an optional last parameter for the constructor (see <https://github.com/lballabio/QuantLib-SWIG/blob/master/SWIG/options.i#L1202>). > > Now, FDDividendAmericanEngine uses the escrowed dividend model, which I'm told is the one described in most texts. Instead, FdBlackScholesVanillaEngine uses by default the scale/shift model. If you didn't set the model explicitly, this might be the reason for the differences. Passing Escrowed as the model would cause the results to be closer. > > If you did that already, though, we'll have to look closer into the code. > > Hope this helps, > Luigi > > > > > On Mon, Jun 15, 2020 at 10:01 PM Shenze Wang <she...@da...> wrote: > > > Hi, > > > > > > We are currently using `FDDividendAmericanEngine` (denoted by DA in following) of QuantLib 1.12. Since this engine is removed in QuantLib 1.16, we’d like to switch to `FdBlackScholesVanillaEngine` (denoted by FD in following) of QuantLib 1.18. Before we do the switch, we’d like to know the difference between these two engines (DA engine in QuantLib 1.12 and FD engine in QuantLib 1.18) and what are the impacts on the pricing results. We are using the Python version of QuantLib. > > > > > > I priced ~7000 options with different ivols, strikes, interest rates, dividend yields with 3 engines: (a) DA12 - `FDDividendAmericanEngine` in QuantLib 1.12, (b) FD12 - `FdBlackScholesVanillaEngine` in QuantLib 1.12, and (c) FD18 - `FdBlackScholesVanillaEngine` in QuantLib 1.18. > > > > > > Here are some comparisons of the results. > > > > > > (1) The difference between FD18 and DA12 including two parts: the difference between FD12 & DA12, and the difference between FD18 & FD12. The difference between FD12 & DA12 is much greater than the difference between FD18 & FD12, as shown in the following form. The form shows CDF of the differences. The numbers in the form are the probability that the difference is in a certain range. > > > > > > > > > (2) FD12 vs DA12. The option prices generated by FD12 is greater than DA12 for in-the-money options, but lower for at-the-money and out-of-the-money options. Compared to the analytical solutions, FD12 is more accurate for at-the-money and out-of-the-money options, while DA12 is more accurate for in-the-money options. > > > > > > > > > > > > (3) FD18 vs FD12. Though it is relatively small, there is still a difference between FD18 and FD12, as shown in the following figure. > > > > > > > > > > > > So, my questions are: > > > > > > a. Do the difference between FD12 & DA12 and the difference between FD18 & FD12 described above behave as expected? > > > b. What’s the potential reasons for these differences? > > > > > > I know the answers to these questions could be very subtle, but we’d like to understand the reasons for these differences, at least to some extent. I also tried to dig into the C++ codes, but I am not familiar with the codes and I do not know where to start. If you could provide some explanations or point me the right directions, I would be super grateful. > > > > > > Thanks a lot. > > > > > > > > > Best Regards, > > > Shenze Wang > > > > > > DataDock Solutions > > > _______________________________________________ > > > QuantLib-users mailing list > > > Qua...@li... > > > https://lists.sourceforge.net/lists/listinfo/quantlib-users |