This section describes how to estimate the Black-Scholes and local polynomial SPD using options data on the German DAX index.
The dataset was taken from the financial database M D *BASE located at CASE (Center for Applied Statistics and Economics) at Humboldt-Universität zu Berlin. Since M D *BASE is a proprietary database, only a limited dataset is provided for demonstration purposes.
This database is filled with options and futures data provided by
Eurex. Daily
series of 1, 3, 6 and 12 months DM-LIBOR rates taken from the
serve as riskless interest
rates. The DAX 30 futures and options settlement data of January
1997 (21 trading days) were used in this study. Daily settlement
prices for each option contract are extracted along with contract
type, maturity and strike. For the futures, the daily settlement
prices, maturities and volumes are the relevant information. To
compute the interest rates corresponding to the option maturities
a linear interpolation between the available rates was used.
The DAX is a performance index which means that dividends are reinvested. However, assuming no dividend yields when inverting the Black-Scholes formula results in different volatilities for pairs of puts and calls contrary to the no-arbitrage assumption contained in the Put-Call parity. This remark can be explained by the fact that until January 2002 domestic investors have an advantage as they may receive a portion or all of the dividend taxes back depending on their tax status. Dividend tax means here the corporate income tax for distributed gains from the gross dividend.
Since the dividends are rebated to domestic investors the DAX should fall by an amount contained between 0 and these dividend taxes. Indeed, the value of this fall depends on the level of these taxes which may be equal to zero and on the weights of domestic and foreign investors trading the DAX. These dividend taxes have the same effects as ordinary dividends and should therefore be used for computing the implied volatilities and the future price implicit in the Black Scholes formula.
Hafner and Wallmeier (2001) suggest a method in order to get around
this problem which consists in computing dividends implied by the
Put-Call parity. Indeed, combining the futures pricing formula
Using (8.23), implied dividends were computed for
each pair of put and call with the same strike. Theoretically, for
a given time to maturity there must be only one value for these
implied dividends. For each maturity the average of these implied
dividends was used to compute the corrected price. Using this
method implied volatilities are more reliable as the systematic
``gap'' between put and call volatilities disappears. The only
uncertainty at this stage is due to the interpolated rates for the
maturity .
The dataset consists of one file
XFGData9701
with 11
columns.
1 | Day |
2 | Month |
3 | Year |
4 | Type of option (1 for calls, 0 for puts) |
5 | Time to maturity (in calendar days) |
6 | Strike prices |
7 | Option prices |
8 | Corrected spot price (implied dividends taken into account) |
9 | Risk-free interest rate |
10 | Implied volatility |
11 | Non-corrected spot price |
The data can be read into XploRe by loading the quantlib finance and then issuing the following command:
data=read("XFGData9701.dat")Next extract all call options on January 3, 1997 with the
data=paf(data,(data[,1]==3)&&(data[,4]==1))
This section provides an example using XploRe to calculate the semiparametric SPD using DAX index options data. It is assumed that the quantlib finance has been loaded.
XFGSPDonematurity.xpl
plots the SPD of the series of options
closest to maturity. This first example only uses smoothing method
in one dimension.
XFGSPDoneday.xpl
calculates and plots the local polynomial SPD
for January 10, 1997 for different times to maturity (
). After loading the data, the implied volatility is
estimated using the
volsurf
quantlet, while the first and
second derivatives are estimated using
lpderxest
quantlet.
In this example the grid size is 0.01. The bandwidth is chosen
arbitrarily at 0.15 and 0.125 for the moneyness and maturity
directions respectively. The criteria used is a visual inspection
of the first and second derivatives to ensure that they are
continuous and smooth. Next the quantlet
spdbl
is used to
calculate the SPD which is finally displayed in
Figure 8.1.
This figure shows the expected effect of time to maturity on the
SPD, which is a loss of kurtosis. The -axis represents the
terminal prices
. The local polynomial SPD displays a
negative skew compared to a theoretical Black-Scholes SPD. The
major reason for the difference is the measure of implied
volatility. Using the local polynomial estimators one captures the
effect of the ``volatility smile'' and its effects on the higher
moments such as skewness and kurtosis. This result is similar to
what Aït-Sahalia and Lo (1998) and
Rookley (1997) found in their study.
![]() ![]() |
Figure 8.2 and Figure 8.3 show Delta and Gamma for the full range of strikes and for three different maturities. This method allows the user to get in one step both greeks in one estimation for all strikes and maturities.
A natural question that may arise is how do the SPDs evolve over
time. In this section an illustrative example is used to show the
dynamics of the SPD over the month of January 1997.
XFGSPDonemonth.xpl
estimates and plots the SPD for each
trading day in January 1997. The
-axis is the moneyness,
-axis is the trading day, and the
-axis is the SPD.
Figure 8.4 shows the local polynomial SPD for
the three first weeks of January, 1997.
Rookley's method serves to estimate the SPD, where ,
and
from (8.16) are computed via local
polynomials. The method is now applied to estimate a SPD whose
maturity is equal to the maturity of a series of options. In this
case, the nonparametric regression is a univariate one.
With a polynomial of order and a bandwidth
, it can be shown that
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
An asymptotic approximation of
is complicated by
the fact that
is a non linear function of
,
and
. Analytical confidence intervals can be obtained
using delta methods proposed by Aït-Sahalia (1996).
However, an alternative method is to use the bootstrap to
construct confidence bands. The idea for estimating the bootstrap
bands is to approximate the distribution of
The following procedure illustrates how to construct bootstrap confidence bands for local polynomial SPD estimation.
Two SPDs (Jan 3 and Jan 31, 1997) whose times to maturity are 49
days were estimated and are plotted in Figure (8.5).
The bootstrap confidence band corresponding to the first SPD (Jan
3) is also visible on the chart. In Figure (8.6), the
SPDs are displayed on a moneyness metric. It seems that the
differences between the SPDs can be eliminated by switching to the
moneyness metric. Indeed, as can be extracted from Figure
8.6, both SPDs lie within the 95 percent confidence
bands. The number of bootstrap samples is set to . The
local polynomial estimation was done on standardized data,
is
then set to 0.75 for both plots and
is equal to
times
. Notice that greater values of
are tried and the
conclusion is that the confidence bands are stable to an increase
of
.
![]() ![]() |
In Chapter 7, the Implied Binomial Trees (IBT) are discussed. This method is a close approach to estimate the SPD. It also recovers the SPD nonparametrically from market option prices and uses the Black Scholes formula to establish the relationship between the option prices and implied volatilities as in Rookely's method. In Chapter 7, the Black Scholes formula is only used for Barle and Cakici IBT procedure, but the CRR binomial tree method used by Derman and Kani (1994) has no large difference with it in nature. However, IBT and nonparametric regression methods have some differences caused by different modelling strategies.
The IBT method might be less data-intensive than the nonparametric regression method. By construction, it only requires one cross section of prices. In the earlier application with DAX data, option prices are used with different times to maturity for one day to estimate the implied volatility surface first in order to construct the tree using the relation formula between option prices and risk-neutral probabilities. The precision of the SPD estimation using IBT is heavily affected by the quality of the implied volatility surface and the choice of the levels of the implied tree. Furthermore, from the IBT method only risk-neutral probabilities are obtained. They can be considered as a discrete estimation of the SPD. However, the IBT method is not only useful for estimating SPD, but also for giving a discrete approximation of the underlying process.
![]() |
The greatest difference between IBTs and nonparametric regression is the requirement of smoothness. The precision of Rookley's SPD estimation is highly dependent on the selected bandwidth. Even if very limited option prices are given, a part of the SPD estimation still can be obtained using nonparametric regression, while the IBT construction has to be given up if no further structure is invoked on the volatility surface. Rookley's method has on first sight no obvious difference with Aït-Sahalia's method theoretically, Aït-Sahalia and Lo (1998). But investigating the convergence rate of the SPD estimation using Aït-Sahalia's method allows one to conduct statistical inference such as test of the stability of the SPD and tests of risk neutrality.
The quantlet
XFGSPDcom.xpl
shows a comparison of the SPD
estimates by IBT and Rookley's methods. The differences between
these two SPD estimates may be due to the selection of the
bandwidths in Rookley's method, the choice of steps in the
construction of the IBT and the use of DAX implied dividends in
Rookley's method. Figure 8.7 shows the implied
binomial trees and the local polynomial SPDs for January, 3 1997.
Both densities seems to be quiet different. Indeed, the IBTs SPD
shows a fatter left tail than the Rookley's one and the Rookley's
SPD shows a larger kurtosis. To test which of both densities is
more reliable, a cross-validation procedure is performed. The idea
of this test is to compare the theoretical prices based on
(8.1) with those observed on the market. However, as
the whole tails are not available for the Rookley's SPD, the test
is done on butterfly spreads defined in Section 8.2 since
their prices should not be influenced by the tails of the SPDs.
For cross-validation, we remove the three calls used to calculate
the observed butterfly prices from the sample before estimating
the SPD. Moreover, since the largest difference between both SPDs
is observed at the ATM point (see Figure 8.7), the
test is applied only to the two butterfly spreads whose centers
surround the ATM point. The width
of the butterfly
spread is set to 200.
![]() ![]() |
This procedure is done for the 21 days of January 1997.
Figure 8.8 displays the results in term of
relative pricing error :