5 Code: Cliquet with uncertain volatility, in similarity variables
Tải bản đầy đủ - 0trang
924
Part Five advanced topics
Dim Vmax, AssetStep, TStep, QStep, Delta, Gamma, Theta, Tim, Vol, qafter, _
frac, V1, V2 As Double
Dim i, j, k, M, iafter, kafter, N, NumSoFar, NumQSteps As Integer
ReDim jtest(1 To NumFixes) As Integer
Vmax = Application.Max(VolMin, VolMax)
AssetStep = 1 / NumAssetSteps
TStep = 0.95 * AssetStep ^ 2 / Vmax ^ 2 / 2 ^ 2 ’ A) This ensures stability _
of the explicit method
M = Int(Expiry / TStep) + 1
TStep = Expiry / M
QStep = AssetStep
NumQSteps = Int(Strike2 / QStep) * NumFixes
ReDim Q(0 To NumQSteps)
ReDim VOld(-NumAssetSteps To NumAssetSteps, 0 To NumQSteps) ’ First dimension _
centered on xi = 1
ReDim VNew(-NumAssetSteps To NumAssetSteps, 0 To NumQSteps)
NumSoFar = 1
For j = 1 To NumFixes - 1
jtest(j) = Int(j * Fixing / TStep) ’ Used in testing whether fixing date _
has been passed
Next j
For k = 0 To NumQSteps
Q(k) = k * QStep
For i = -NumAssetSteps To NumAssetSteps
xi(i) = 1 + AssetStep * i ’ i = 0 corresponds to xi = 0
VOld(i, k) = Application.Max(Strike1, Q(k) + _
Application.Max(0, Application.Min(Strike2, xi(i) - 1))) ’ B) _
Payoff
Next i
Next k
For j = 1 To M ’ C) Time stepping
For k = 0 To NumQSteps
For i = -NumAssetSteps + 1 To NumAssetSteps - 1
Delta = (VOld(i + 1, k) - VOld(i - 1, k)) / 2 / AssetStep ’ Central difference
Gamma = (VOld(i + 1, k) - 2 * VOld(i, k) + VOld(i - 1, k)) / AssetStep / AssetStep
Vol = VolMax
If Gamma > 0 Then Vol = VolMin ’ Volatility depends on gamma in the uncertain _
volatility model
Theta = IntRate * VOld(i, k) - 0.5 * Vol * Vol * xi(i) * xi(i) * Gamma _
- (IntRate - Div) * xi(i) * Delta ’ _
The Black-Scholes equation
VNew(i, k) = VOld(i, k) - TStep * Theta
Next i
VNew(-NumAssetSteps, k) = VOld(-NumAssetSteps, k) * (1 - IntRate * TStep) ’ D) _
Boundary condition at xi = 0
VNew(NumAssetSteps, k) = VNew(NumAssetSteps - 1, k) ’ D) Boundary condition at _
xi = infinity. Delta = 0
For i = -NumAssetSteps To NumAssetSteps
volatility case study: the cliquet option Chapter 56
VOld(i, k) = VNew(i, k) ’ E) Overwriting with new data
Next i
Next k
If jtest(NumSoFar) = j Then ’ F) Test for a fixing date
For i = -NumAssetSteps To NumAssetSteps
For k = 0 To NumQSteps
qafter = Q(k) + Application.Max(0, Application.Min(Strike2, xi(i) - 1)) ’ G) _
The updating rule
kafter = Int(qafter / QStep)
frac = (qafter - QStep * kafter) / QStep
V1 = 0
V2 = 0
If kafter < NumQSteps Then
V1 = VNew(0, kafter)
V2 = VNew(0, kafter + 1)
End If
VOld(i, k) = (1 - frac) * V1 + frac * V2 ’ The jump condition. Linear _
interpolation
Next k
Next i
NumSoFar = NumSoFar + 1
End If
Next j
cliquet = VOld ’ Output the whole array
End Function
This program clearly leaves much to be desired, for example in the discretization, the treatment of the jump condition etc. But it does have the beneﬁt of transparency.
A:
The time step is set so that the explicit ﬁnite difference method is stable. If the time step
is any smaller than this, the method will not converge.
B:
Here the payoff is set up; the dependent variable as a function of the independent variables.
C:
The time-stepping engine. Delta and gamma are discretized versions of the ﬁrst- and
second-order derivatives with respect to S. This part of the code also treats the uncertain
volatility. See how the volatility depends on the sign of gamma.
D:
The boundary conditions, for ξ = 0 and large ξ .
E:
Updating the next step back in the grid.
F:
Here the code tests for a ﬁxing date.
G:
Across ﬁxing dates the updating rule is applied. This is really the only point in the code
that knows we are pricing a cliquet option.
925
926
Part Five advanced topics
56.6 SUMMARY
The cliquet can be a subtle instrument, with a dependence on volatility that is far from obvious.
In our example there was a high degree of sensitivity to volatility but not to level, nor to current
skew. No, that sensitivity was to a rotation of forward volatility skew about a point 4% (half
way between the ﬂoor and the cap) above the previous year’s asset price. And that level just
happens to be at approximately where the risk-neutral asset is expected to be. Pure genius,
albeit an evil genius!
I hope this chapter has shown you, using a concrete example, just how sensitive contracts
can be to volatility, when they might appear to be quite harmless.
FURTHER READING
• This work on cliquet options was ﬁrst published in Wilmott (2002).
CHAPTER 57
jump diffusion
In this Chapter. . .
•
•
•
the Poisson process for modeling jumps
hedging in the presence of jumps
how to price derivatives when the path of the
underlying can be discontinuous
• jump volatility
57.1
INTRODUCTION
There is plenty of evidence that ﬁnancial quantities, be they equities, currencies or interest rates,
for example, do not follow the lognormal random walk that has been the foundation of almost
everything in this book, and almost everything in the ﬁnancial literature. We look at some of
this evidence in a moment. One of the striking features of real ﬁnancial markets is that every
now and then there is a sudden unexpected fall or crash. These sudden movements occur far
more frequently than would be expected from a Normally distributed return with a reasonable
volatility. On all but the shortest timescales the move looks discontinuous; the prices of assets
have jumped. This is important for the theory and practice of derivatives because it is usually
not possible to hedge through the crash. One certainly cannot delta hedge as the stock market
tumbles around one’s ankles, and to ofﬂoad all one’s positions will lead to real instead of paper
losses, and may even make the fall worse.
In this chapter I explain classical ways of pricing and hedging when the underlying follows
a jump-diffusion process.
57.2
EVIDENCE FOR JUMPS
Let’s look at some data to see just how far from Normal the
returns really are. There are several ways to visualize the difference between two distributions, in our case the difference
between the empirical distribution and the Normal distribution. One way is to overlay the two probability distributions.
In Figure 57.1 we see the distribution of Xerox returns, from
1986 until 1997, normalized to unit standard deviation. The
Part Five advanced topics
0.7
PDF
928
0.6
0.5
0.4
0.3
0.2
0.1
0
−3 −2.6 −2.2 −1.8 −1.4 −1 −0.6 −0.2 0.2
0.6
1
1.4
1.8
2.2
2.6
3
Scaled returns
Figure 57.1 The probability density functions for Xerox daily returns, scaled to zero mean and unit
standard deviation, and the standardized Normal distribution.
peak of the real distribution is clearly higher than the Normal distribution. Because both of
these distributions have the same standard deviation then the higher peak must be balanced by
fatter tails, it’s just that they would be too small to see on this ﬁgure. They may be too small
to see here, but they are still very important.
This difference is typical of all markets, even typical of the changes in interest rates. The
empirical distribution diverges from the Normal distribution quite markedly. The peak being
much higher means that there is a greater likelihood of a small move than we would expect
from the lognormal random walk. More importantly, and concerning the subject of this chapter,
the tails are much fatter. There is a greater chance of a large rise or fall than the Normal
distribution predicts.
In Figure 57.2 is shown the cumulative distribution functions for Xerox daily returns, scaled
to zero mean and unit standard deviation, and that for the standardized Normal distribution.
And in Figure 57.3 is shown the difference between these two. If you look at the latter ﬁgure
you will see that there is more weight in the empirical distribution than the Normal distribution
from about two standards deviations away from the mean. If you couple this likelihood of an
extreme movement with the importance of an extreme movement, assuming perhaps that people
are hedged against small movements, you begin to get a very worrying scenario.
Another useful plot is the logarithm of the pdf for the actual distribution and the Normal
distribution. The latter is simply a parabola, but what is the former? Such a plot is shown in
Figure 57.4. The log of the pdf of the actual distribution looks more linear than quadratic in
the tails.
The ﬁnal picture that I plot, in Figure 57.5, is called a Quantile-Quantile or Q-Q plot.
This is a common way of visualizing the difference between two distributions when you are
particularly interested in the tails of the distribution. This plot is made up as follows.
jump diffusion Chapter 57
Scaled returns
1.0
Xerox
Normal
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
−5
−4
−3
−2
−1
0.0
0
CDFs
1
2
3
4
5
Difference between CDFs
Figure 57.2 The cumulative distribution functions for Xerox daily returns, scaled to zero mean and
unit standard deviation, and that for the standardized Normal distribution.
−12
−7
−2
6%
4%
2%
0%
3
−2%
Scaled return
−4%
−6%
Figure 57.3 The difference between the cumulative distribution functions for Xerox daily returns,
scaled to zero mean and unit standard deviation, and the standardized Normal distribution.
929
Part Five advanced topics
Scaled returns
−4
0
−2
0
2
4
−1
Ln(Actual)
Ln(Normal)
−2
ln(PDF)
−3
−4
−5
−6
−7
Figure 57.4 Logarithms of the pdfs for Xerox daily returns and the standardized Normal distribution.
6
Quantile Xerox
930
4
2
0
−4
−3
−2
−1
0
−2
1
2
3
4
Quantile Normal
−4
−6
−8
Figure 57.5 Q-Q plot for Xerox daily returns and the standardized Normal distribution.
First, rank the empirical returns in order from smallest to largest, call these yi with an index
i going from 1 to n. Second, for the Normal distribution ﬁnd the returns xi such that the
cumulative distribution function at xi has value i/n. Finally, plot each point (xi , yi ).
The better the ﬁt between the two distributions, the closer the line is to straight. In the present
case the line is far from straight, due to the extra weight in the tails.
jump diffusion Chapter 57
Several theories have been put forward for the non Normality of the empirical distribution.
Three of these are
• Volatility is stochastic
• Returns are drawn from another distribution, a Pareto-Levy distribution, for example
• Assets can jump in value
There is truth in all of these. The ﬁrst was the subject of Chapter 51. The second is a can
of worms; moving away from the Normal distribution means throwing away 99% of current
theory and is not done lightly. But some of the issues this raises have to be addressed in jump
diffusion (such as the impossibility of hedging). The third is the present subject.
57.3
POISSON PROCESSES
The basic building block for the random walks we have considered so far is continuous Brownian motion based on the Normally distributed increment. We can think of this as adding to
the return from one day to the next a Normally distributed random variable with variance proportional to time step. The extra building block we need for the jump-diffusion model for an
asset price is the Poisson process. We saw this process in another context in Chapter 40. A
Poisson process dq is deﬁned by
dq =
0
1
with probability 1 − λ dt
with probability λ dt.
There is therefore a probability λ dt of a jump in q in the time step dt. The parameter λ is
called the intensity of the Poisson process. The scaling of the probability of a jump with the
size of the time step is important in making the resulting process ‘sensible,’ i.e. there being a
ﬁnite chance of a jump occurring in a ﬁnite time, with q not becoming inﬁnite.
This Poisson process can be incorporated into a model for an asset in the following way:
dS = µS dt + σ S dX + (J − 1)S dq.
(57.1)
We assume that there is no correlation between the Brownian motion and the Poisson process.
If there is a jump (dq = 1) then S immediately goes to the value J S. We can model a sudden
10% fall in the asset price by J = 0.9.
We can generalize further by allowing J to also be a random quantity. We assume that it
is drawn from a distribution with probability density function P (J ), again independent of the
Brownian motion and Poisson process.
The random walk in log S follows from (57.1):
d(log S) = µ − 12 σ 2 dt + σ dX + (log J ) dq.
This is just a jump-diffusion version of Itˆo.
Figure 57.6 is a spreadsheet showing how to simulate the random walk for S. In this simple
example the stock jumps by 20% at random times given by a Poisson process.
931
932
Part Five advanced topics
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
A
Asset
Drift
Volatility
Intensity
Jump
Timestep
B
C
D
Time
E
F
G
H
Asset
=B1
0
100
0.01 101.5164
0.02 103.5782
0.03 105.9509
0.04 105.559
0.05 104.8723
0.06 104.9846
0.07 104.237
0.08 104.9858
=E5*(1+$B$2*$B$6+$B$3*SQRT($B$6)*(RAND()+RAND()+RAND()+RAND()+RAND()+R
0.09 106.7324
AND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()-6)0.1 110.0078
$B$5*IF(RAND()<$B$4*$B$6,1,0))
0.11 111.1208
0.12 108.3814
0.13 106.6251
150
0.14 101.5317
0.15 79.8246
130
0.16 80.71573
0.17 82.47191
110
0.18 82.37806
0.19 81.69127
90
0.2 83.43508
0.21 83.62845
70
0.22 82.21449
0.23 82.34637
50
0.24 82.93521
0.25 84.00041
30
0.26 69.41815
0.27 69.12042
10
0.28 66.48793
0.29
65.40964
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
−10 0
0.3 66.8851
0.31 67.62094
0.32 66.87121
100
20%
20%
0.1
20%
0.01
Figure 57.6 Spreadsheet simulation of a jump-diffusion process.
57.4 HEDGING WHEN THERE ARE JUMPS
Now let us build up a theory of derivatives in the presence of jumps. Begin by holding a
portfolio of the option and − of the underlying:
= V (S, t) −
S.
The change in the value of this portfolio is
d
=
∂ 2V
∂V
+ 12 σ 2 S 2 2
∂t
∂S
dt +
+ (V (J S, t) − V (S, t) −
Again, this is a jump-diffusion version of Itˆo.
∂V
−
∂S
(µS dt + σ S dX)
(J − 1)S) dq.
(57.2)
jump diffusion Chapter 57
If there is no jump at time t so that dq = 0, then we could have chosen
= ∂V /∂S to
eliminate the risk. If there is a jump and dq = 1 then the portfolio changes in value by an O(1)
amount, that cannot be hedged away. In that case perhaps we should choose
to minimize
the variance of d . This presents us with a dilemma. We don’t know whether to hedge the
small(ish) diffusive changes in the underlying which are always present, or the large moves
which happen rarely. Let us pursue both of these possibilities.
57.5
HEDGING THE DIFFUSION
If we choose
=
∂V
∂S
we are following a Black–Scholes type of strategy, hedging the diffusive movements. The
change in the portfolio value is then
d
=
∂V
∂ 2V
+ 12 σ 2 S 2 2
∂t
∂S
dt + V (J S, t) − V (S, t) − (J − 1)S
∂V
∂S
dq.
The portfolio now evolves in a deterministic fashion, except that every so often there is a nondeterministic jump in its value. It can be argued (see Merton, 1976) that if the jump component
of the asset price process is uncorrelated with the market as a whole, then the risk in the
discontinuity should not be priced into the option. Diversiﬁable risk should not be rewarded.
In other words, we can take expectations of this expression and set that value equal to the riskfree return from the portfolio. This is not completely satisfactory, but is a common assumption
whenever there is a risk that cannot be fully hedged; default risk is another example of this. If
we take such an approach then we arrive at
∂V
∂V
∂V
∂ 2V
+ 12 σ 2 S 2 2 + rS
− rV + λE [V (J S, t) − V (S, t)] − λ SE [(J − 1)] = 0.
∂t
∂S
∂S
∂S
(57.3)
E[·] is the expectation taken over the jump size J , which can also be written
E[x] =
xP (J ) dJ,
where P (J ) is the probability density function for the jump size.
This is a pricing equation for an option when there are jumps in the underlying. The important
point to note about this equation that makes it different from others we have derived is its nonlocal nature. That is, the equation links together option values at distant S values, instead
of just containing local derivatives. Naturally, the value of an option here and now depends
on the prices to which it can instantaneously jump. When λ = 0 the equation reduces to the
Black–Scholes equation.
There is a simple solution of this equation in the special case that the logarithm of J is
Normally distributed. If the logarithm of J is Normally distributed with standard deviation σ
and if we write
k = E[J − 1]
933
934
Part Five advanced topics
then the price of a European non-path-dependent option can be written as
∞
n=0
1 −λ (T −t)
(λ (T − t))n VBS (S, t; σ n , rn ).
e
n!
In the above
λ = λ(1 + k), σ n2 = σ 2 +
nσ 2
T −t
and rn = r − λk +
n log(1 + k)
,
T −t
and VBS is the Black–Scholes formula for the option value in the absence of jumps. This formula
can be interpreted as the sum of individual Black–Scholes values each of which assumes that
there have been n jumps, and they are weighted according to the probability that there will
have been n jumps before expiry.
If one does not make the assumption that jumps should not be priced in, then one has to
play around with concepts such as the market price of risk.
57.6 HEDGING THE JUMPS
In the above we hedged the diffusive element of the random walk for the underlying. Another
possibility is to hedge both the diffusion and jumps as much as we can. For example, we could
choose
to minimize the variance of the hedged portfolio, after all, this is ultimately what
hedging is about.
The change in the value of the portfolio with an arbitrary is, to leading order,
d
=
∂V
−
∂S
dS + (− (J − 1)S + V (J S, t) − V (S, t)) dq + · · · .
The variance in this change, which is a measure of the risk in the portfolio, is
var[d ] =
2
∂V
−
∂S
σ 2 S 2 dt + λE (− (J − 1)S + V (J S, t) − V (S, t))2 dt + · · · .
(57.4)
This is minimized by the choice
=
λE [(J − 1)(V (J S, t) − V (S, t))] + σ 2 S
λSE (J − 1)2 + σ 2 S
∂V
∂S .
(To see this, differentiate (57.4) with respect to
and set the resulting expression equal to
zero.)
If we value the options as a pure discounted real expectation under this best-hedge strategy
then we ﬁnd that
∂V
∂V
∂ 2V
+ 12 σ 2 S 2 2 + S
∂t
∂s
∂S
µ−
σ2
(µ + λk − r) − rV
d
+ λE (V (J S, t) − V (S, t)) 1 −
J −1
(µ + λk − r)
d
= 0,