Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Seminar Numerical Finance

Summer Term 2013


Prof. Dr. Karsten Urban
Sebastian Kestler
Institute for Numerical Mathematics
Valuation of commodity-based swing options
Christopher Davis
June 19, 2013
Contents
1 Introduction 3
1.1 Why are swing options necessary? . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Contract Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Swing Options with Recovery Time 4
2.1 Financial Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Permissable Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Price Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Valuation using Monte Carlo Simulations 8
4 Numerical Implementation 11
4.1 Main Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2
1 INTRODUCTION 3
1 Introduction
1.1 Why are swing options necessary?
The operational activities associated with some industries involve the purchasing and selling of
commodity items in highly volatile markets. Often, these commodities are purchased for use
in production operations, where storage of both the production input and production output
is either expensive or very dicult. Hence there are constraints imposed upon the time frames
in which these commodities can be bought and sold - production supply must correspond to
production demand; product created must be sold almost immediately; and production input
material must be bought at the time at which it is required. Thus the commodities must be
bought and sold at the prevailing market price, regardless of whether the price is favourable or
not.
As an example, let us consider a simple utility company that requires oil to fuel its power
stations, in order to generate electricity to supply its customers. Since the electricity is sold at
a constant price, the company would like to acquire some form of protection from the volatile
oil market. A simple solution would be for the company to enter into multiple forward contracts
for oil, with each contract expiring at a point in time when the company requires a delivery
of oil. However, the demand for electricity is not constant - rather, it has dependencies on
several factors, some of which are largely predictable, such as a lower demand during the night,
whereas other factors are less predictable, for example a higher demand during an unseasonal
period of cold weather. Thus the company also requires some form of protection from this
volatility of demand, which the set of forward contracts does not oer. A solution would be to
supplement the forward contracts with vanilla European or American options. However, this
scheme is likely to oer too much exibility, resulting in a hedging strategy that is overpriced.
Swing options are designed to oer the appropriate amount of hedging protection in such a
situation. The option is composed of:
Forward part: a sequence of forward contracts, which guarantee the option buyer a
periodic delivery of a pre-determined amount of the underlying commodity, for a pre-
determined price.
Swing part: the holder has the right to exercise either a put or a call option on the
underlying commodity at a chosen set of time points, each of a chosen size. Thus the
holder can choose to acquire more or to acquire less of the underlying, depending on
production requirements or the market climate.
The maximum size of each swing, and the time points at which they are permissable, are
specied in the contract of the swing option (discussed in the next section).
The price of the forward part is simply the sum of the expected payo of each forward contract
that forms the periodic delivery. Thus here we only concentrate on the price of the more
complicated swing part.
2 SWING OPTIONS WITH RECOVERY TIME 4
1.2 Contract Variations
2 Swing Options with Recovery Time
We begin to mathematically dene the swing option, and start building the framework required
to valuate it. Although we have made it clear that swing options exist primarily for the practical
reasons of supply and demand, we must now assume that our option holder is the classical prot
maximising investor. As such, all decisions regarding exercise times and sizes will be based soley
on prot maximisation, regardless of practical considerations.
2.1 Financial Denition
In keeping with [1], we adopt the following notation to describe the swing options with recovery
time that we wish to valuate.
Times:
The option contract is written at time t = 0, and expires at t = T > 0.
Swings are permitted after the time t = T
0
>= 0, i.e. in the time period [T
0
, T]
Prices:
S denotes the price process of the underlying commodity.
When swinging to acquire more of the underlying, the option holder must pay a
strike price of K
a
per unit. However, if the price of the underlying is greater than
S
max
, a higher strike of K
a
+ (S S
max
) must be paid.
Likewise when swinging to acquire less of the underlying (which we dene as deliv-
ering the units supplied by the forward part of the contract), the holder receives a
strike price of K
d
per unit. If the price of the underlying is less than S
min
, a strike
price of K
d
(S
min
S) is received.
S
min
, K
d
, K
a
, S
max
are all pre-specied in the contract, and should satisfy the
relation:
0 <= S
min
< K
d
< K
a
< S
max
(1)
If the price of the underlying is less than K
a
, then to acquire it through the swing option is
disadvantageous - we assume that the option holder would simply purchase any units required
on the market, at price S. The same holds for delivering the underlying when the market price
is greater than K
d
. Figure 1 shows the payout characterisation and swing payout prole for
the acquisition (1a) and delivery (1b) swings.
Under our assumption of a prot maximising investor, we assume that units acquired are
immediately sold on the market for price S. Analogously, all units delivered were bought on
the market for price S. Thus we convert the payout proles in Figure 1 into net payout (i.e.
prot) proles, shown in Figure 2.
2 SWING OPTIONS WITH RECOVERY TIME 5
Figure 1
0 K
a
S
max
K
a
S
P
a
i
d
t
o
a
c
q
u
i
r
e
(a) Price paid to acquire the underlying, based
on the prevailing market price.
S if S < K
a
K
a
if K
a
S S
max
S (S
max
K
a
) if S > S
max
(2)
0 S
min
K
d
K
d
S
min
K
d
S
R
e
c
e
i
v
e
d
f
r
o
m
d
e
l
i
v
e
r
y
(b) Amount received when delivering the un-
derlying, based on the prevailing market price.
K
d
(S
min
S) if S < S
min
K
d
if S
min
S K
d
S if S > K
d
(3)
Figure 2
0 K
a
S
max
S
max
K
a
S
P
r
o

t
f
r
o
m
a
c
q
u
i
s
i
t
i
o
n
(a) Prot from acquiring and immediately sell-
ing the underlying, based on the prevailing
market price.
(S) =
_

_
0 if S < K
a
S K
a
if K
a
S S
max
S
max
K
a
if S > S
max
(4)
0 S
min
K
d
K
d
S
min
S
P
r
o

t
f
r
o
m
d
e
l
i
v
e
r
y
(b) Prot from buying and immediately deliv-
ering the underlying, based on the prevailing
market price.
(S) =
_

_
K
d
S
min
if S < S
min
K
d
S if S
min
S K
d
0 if S > K
d
(5)
2 SWING OPTIONS WITH RECOVERY TIME 6
0 S
min
K
d
K
a
S
max
S
max
K
a
K
d
S
min
S
P
r
o

t
f
r
o
m
s
w
i
n
g
i
n
g
Figure 3: The prot from any swing action, based on the prevailing market price.
We note that since K
d
< K
a
, it is only ever optimal to swing to acquire OR to swing to deliver.
Therefore we obtain a payout prole for the option as a whole by taking the supremum of the
acquisition and delivery proles, as shown in Figure 3.
We also note that the role of the parameters S
min
and S
max
is now clear - these parameters
place a cap on the potential net payout of the option, which aords the option writer some
protection from extreme price changes in the underlying commodity.
2.2 Permissable Strategies
It is clear that the swing option contract must explicitly state what swing actions the option
holder has at their disposal, since such characteristics will directly inuence the options value.
Additionally, limits must be imposed to prevent undesirable behaviour, such as innite prot
or arbitrage.
Firstly, the maximum number of units of the underlying that can be acquired or delivered in
each swing action must be specied. Without such a limit, a swing action could be executed
on an innite number of units, which would generate innite prot provided the option were
in the money.
Denition 2.1. We dene the maximum swing size to be L N, and dene the chosen size
of a swing action to be:
{1, ..., L} (6)
Denition 2.2. We dene the chosen swing strategy over the life of the swing option by a
control sequence that pairs chosen swing time points {
i
}
i1
, with the chosen swing sizes
i
at
these time points:
{(
i
,
i
)}
i1
(7)
Secondly, there is a need for some form of constraint on the frequency of swing actions to
prevent swinging an arbitrarily large number of times in a nite time period, which would also
generate innite prot if the option were in the money. For the swing option family that we
consider in this paper, this limit takes the form of a recovery time.
2 SWING OPTIONS WITH RECOVERY TIME 7
Denition 2.3. The recovery time dictates how long the option holder must wait after exe-
cuting a swing action before the next swing action can be executed. This is characterised by a
non-decreasing function:

R
: N R
+
(8)
which is used to form the constraint:

i
:=
i
+
R
(
i
)
i+1
(9)
I.e.
i
is the rst point in time that a swing action can be executed after executing the i
th
action (
i
,
i
) in the control sequence (and, clearly,
0
:= T
0
). Since
R
is non-decreasing, we
note that larger swing actions result in longer recovery times (apart from in the special case
of a constant recovery time), and that the shortest possible recovery time is (1). Thus the
constraint (9) limits the maximum possible number of swing actions in the control sequence to:
B
S
=
_
T T
0

R
(1)
+ 1
_
(10)
Denition 2.4. Let (, F, P, F) be a ltered probability space, and let A be the set of all
conceivable control sequences. Then A

A denotes the set of all admissible control sequences


{(
i
,
i
)}
i1
for 1 i B
S
that satisfy:
1.
i
[, T] is a stopping time wrt. the ltration F.
2.
i

i+1
3.
i
{1, 2, . . . , L} is F

i
-measurable.
I.e. a strategy must be such that:
1. All swing actions are based on decisions made using only past and present information.
2. The contract-specic constraint (9) must be fullled.
3. The contract-specic constraint (6) must be fullled, and the choice of swing size must
be based on the same information that was used to make the decision to swing.
2.3 Price Model
In order to valuate the swing option, we must design a model for the price process of the
underlying.
3 VALUATION USING MONTE CARLO SIMULATIONS 8
3 Valuation using Monte Carlo Simulations
We now reach the focus of this paper, which is the valuation of swing options using Monte Carlo
simulations. In this section we carefully detail the ingredients of the valuation proceedure. For
a more succint overview of the proceedure, see Algorithm ???????? in the next section. Because
of the early exercise propety of swing options, the method that we use here is an extension
of a method used to price American options using Monte Carlo simulations in a least-squares
framework (see LONGSTAFF and SCHWARTZ).
Recall that swing actions may be executed by the option holder at any time t [T
0
, T]. Since
we cannot deal with arbitrary exercise times, we must start by discretising the time domain
into K + 1 time points at which (and only at which) the option holder may exercise:
t {T
0
= t
0
< t
1
< . . . < t
K
= T} =: T (11)
Since we are using Monte Carlo simulation, we simulate N paths of our chosen price process of
the underlying. We have:
- Paths = {1, . . . , N}.
- Prices of the underlying X(t, ), for times t T , for each path .
- The value of the option P(t, ) for times t T , for each path .
The payout received from executing a swing action of size at time t can thus be calculated
from the price simulations X(t, ). We dene it by the function g, which follows directly from
the maximum of (4) and (5) (since we chose to acquire or deliver the underlying, based on
which is more protable):
g(X(t, ), ) := max
_

_
X(t, )
_
,
_
X(t, )
_
_
(12)
As is the norm when valuing options, we begin with the value of the option at maturity, i.e.
t = T = t
K
, which is equal to the payout at this time. If the option is in the money, then
it is optimal to execute a swing action of the maximal permissible size, L, since the recovery
time penalty is of no consequence here. If the option is not in the money, then we simply dont
execute a swing action, we receive no payout, and thus the option is worthless:
P(t
K
, ) =
_
g (X(t
K
, ), L) if g (X(t
K
, ), L) > 0
0 otherwise
(13)
We now need to proceed backwards in time, until we obtain the value of the option at t = 0
for each path. Thus we consider an arbitrary time point t
k
T , where the option values at
all subsequent times t
j
, j = k + 1, . . . , K have already been calculated. We use F(t
k
, , ) to
represent the remaining value of the option on path , following a swing action of size at
time t
k
. Thus to nd the value of the option before this swing, we must calculate what value
3 VALUATION USING MONTE CARLO SIMULATIONS 9
of {0, . . . , L} was optimum, and hence used for this action. Note that we now assume that
a decision not to swing is represented by = 0:

opt
= arg max
{0,...,L}
_
F
_
t
k
, ,
_
+g
_
X(t
k
, ),
_
_
(14)
I.e. the optimum swing size is the permissible size that maximises the sum of the value of the
option following the swing, and the payout received from executing the swing. The bulk of the
computation of the option value revolves around nding this optimum .
We dene

t
k
to be the next discretised time point in T that a swing action is permissible,
following a swing action of size at time t
k
:

t
k
=
_
t
k+1
if = 0
t
k
+
R
() if > 0
(15)
(if t
k
+
R
() T , then

t
k
takes the smallest element of T greater than t
k
+
R
()).
We calculate F(t
k
, , ) as:
F(t
k
, , ) = E
_
e
r(

t
k
t
k
)
P(

t
k
, )

F
t
k
_
(16)
(if

t
k
> T, then we use P(

t
k
, ) = 0).
We assume that this conditional expectation is in L
2
, and since L
2
is a separable Hilbert space,
it has a countable orthonormal basis. Therefore F can be represented by a linear combination of
these basis functions (see WERNER 2004!!!!!!!!!). We choose the Laguerre polynomials weighted
by e

X
2
to be our basis functions:
B
n
(X) = e

X
2
e
X
n!
d
n
dX
n
(X
n
e
X
) (17)
Thus:
F(t
k
, , ) =

l=1
a
l
(t
k
, )B
l
(X(t
k
, )) (18)
Using the rst M basis functions, we obtain the approximation:
F(t
k
, , ) F
M
(t
k
, , ) =
M

l=1
a
l
(t
k
, )B
l
(X(t
k
, )) (19)
where a
l
are the -dependent coecients that we need to obtain by using least-squares re-
gression. Since the decision of whether to swing is clear when the option is out of the
money, only in-the-money paths are used in the regression. Hence we seek the M-vector
a() = (a
1
(t
k
, ), . . . , a
M
(t
k
, )) that minimises the regression function:
R
_
a()
_
=

{|g(X(t
K
,),L)>0}
_
e
r(

tt
k
)
P(

t, )
M

l=1
a
l
(t
k
, )B
l
_
X(t
k
, )
_
_
2
(20)
3 VALUATION USING MONTE CARLO SIMULATIONS 10
Setting to be the set of

N < N in-the-money paths at time t
k
, we dene

N-vector

X
containing the prices, and the

N-vector

P containing the corresponding discounted future
option prices:

P = e
r(

tt
k
)
P(

t, ) (21)
Then we obtain the minimisation problem:
R
_
a()
_
=

P

Ba() (22)
where:

B =
_
_
_
B
0
(

X
1
) B
M
(

X
1
)
.
.
.
.
.
.
B
0
(

X

N
) B
M
(

X

N
)
_
_
_
To solve the regression problem, we use the usual method of QR decomposition of B. As B is
not a square matrix, we build the following partitioning structure:
R :=
_

R
0
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
r
11
r
12
r
1M
0 r
22
r
2M
0 0
.
.
.
.
.
.
.
.
.
.
.
. r
MM
0 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0
_
_
_
_
_
_
_
_
_
_
_
_
_
,

P := Q
T

P =
_

P
1

P
2
_
=
_
_
_
_
_
_
_
_
_
_
p
1
.
.
.
p
M
p
M+1
.
.
.
p

N
_
_
_
_
_
_
_
_
_
_
Therefore:

P

Ba()
2
2
= Q
T

P Q
T

Ba()
2
2
since Q orthonormal
=

P Q
T
QRa()
2
2
=

P Ra()
2
2
since Q
T
Q = I
=

P
1


Ra()
2
2
+

P
2

2
2
And so we have reduced our minimisation problem to solving the simple system of M equations

Ra() =

P
1
(23)
where

R is upper triangular. Note that this system needs to be solved for each {0, . . . , L}
with corresponding

P.

R remains the same across all of these systems.
We now have all of the components required to valuate the option at time t
k
. It should be
noted, that whilst we only used in-the-money paths to nd the optimum swing size, we must
calculate the value of the option at t
k
for all paths.
1. Use the computed a(0), . . . , a(L) from (23) to calculate the corresponding values of
F(t
k
, , ) using (18).
2. Use the values of F(t
k
, , ) to calculate
opt
using (14).
4 NUMERICAL IMPLEMENTATION 11
3. Use
opt
in (12) to calculate the payout g

opt
at time t
k
, and in (15) to calculate the time
point

t
k
when we can next swing.
Then the value of the option at t
k
is:
P(t
k
, ) = g

opt
+e
r(

t
k
t
k
)
P(

t
k
, ) (24)
And so, we continue backwards in time until we reach t
0
= T
0
, the rst time that it is possible
to take a swing action. Since we are using the Monte Carlo framework, the approximated value
of the option is the mean option value over all of the paths. The option does not change in the
time period [0, T
0
], and hence the value at t = 0 is simply the discounted value at t = T
0
:
P
MC
= e
rT
0
_
1
N
N

=1
P(t
0
, )
_
(25)
4 Numerical Implementation
In this section we give a recipe-like algorithm for pricing swing options, and present our results
for the pricing of a swing option with a typical specication.
4.1 Main Algorithm
We start by presenting the algorithms.
4 NUMERICAL IMPLEMENTATION 12
Algorithm 1: Monte Carlo Method for Swing Options
Input : N, K, M, T, T
0
, , , , , r, S
0
, S
min
, K
d
, K
a
, S
max
, L, t
R
(.)
1. Initialise storage:
P: a N (K + 1) array to store option values.
D: a N (K + 1) array to store optimum swing sizes.
2. Simulate N price paths of our process:
!!!!!refPPalgo
X: a N (K + 1) array with elements X(t
k
, )
3. Compute terminal option value.
Fill P( : , K + 1) using (13)
4. Iterate backwards over time:
for k = K 1 to 1, step 1 do
i. Calculate:

N
ii. Calculate: t =
TT
0
K
k
iii. Construct: pout
sgl
, a N-vector containing the payout for each
price path for a single swing unit ( = 1), using (12).
iii. Initialise:

P: a

N (L + 1) array.
iv. Initialise: a: a M (L + 1) array
v. Compute: B using ALGO for BASIS LAG
vi. Construct:

B, a

N (L + 1) array
containing the rows of B for which pout
sgl
> 0.
vi. Compute: QR decomposition of

B


R = R(1:M , 1:M)
vii. Iterate over permissible swing sizes:
for d = 0 to L do
Calculate:

t using (15).
To Algorithm 2
end
ix. Compute: V = Ba +pout
sgl
T
(0, . . . , L)
Note: (N 1) (1 (L + 1)) (N (L + 1))
xii. Iterate over all paths:
for i = 0 to N do
To Algorithm 3
end
end
Output : Write solution to le, output the option value for the specied value of S0.
4 NUMERICAL IMPLEMENTATION 13
Algorithm 2: Subalgorithm - Least Square Regression Computation for Algorithm 1
Input :

t,

P, Q,

R, a, T, M, d
1. Initialise storage:


P: a M-vector, the right-hand side of the system.
2. Construct

P:
if

t < T
then Fill

P( : , d + 1) with zeros.
else Fill

P( : , d + 1) using (21).
3. Compute

P:


P =
_
Q
T
(1:M , : )
_

P
4. Solve the system:


Ra( : , d + 1) =

P
Output : Return a to Algorithm 1
Algorithm 3: Subalgorithm - Optimal Swing Size Computation for Algorithm 1
Input : V , D, t, P, pout
sgl
, t, T, T
0
, r, K, k, i
1. Find the column index of the maximum value of the row vector V (i , : ):
j
max
2. Save the optimum swing size to D:
D(i, k + 1) = j
max
1
3. Update

t:
Update

t using (15) with = D(i, k + 1).
4. Add resulting payout to option value array:
P(i, k + 1) = pout
sgl
(i) D(i, k + 1)
5. If next permissible swing is before maturity:
if

t < T
then P(i, k + 1) += e
r(

tt)
P
_
i,
_

tK
TT
0
_
+ 1
_
Output : Return P to Algorithm 1
REFERENCES 14
References
[1] R. Kiesel, J. Gernhard, S. Stoll: Valuation of commodity-based swing options, The
Journal of Energy Markets, Vol. 3, No. 3 (Fall 2010), 91-112.

You might also like