Page 1
CHAPTER 5
BSM Formulas for FP-payoff
Functions
The Binomial model can give the value of an option for any payoff func-
tion. However, the BSM option pricing formula can be obtained for some
payoff functions only. This is because the BSM differential equation can be
solved analytically only for some particular types of boundary conditions at the
time of expiration. However, the method of finding BSM formulas for various
payoff functions is same. So, in this chapter, we find a payoff function which
include various types of other payoff functions as a special case. In order to
this, we derive the BSM option pricing formulas for the fractional polynomial
payoff (FP-payoff) functions; namely, symmetric fractional polynomial payoff
(SFP-payoff) functions and asymmetric fractional polynomial payoff (AFP-
payoff) functions. From this general formulas, several other option pricing
formulas can be derived; e.g., plain vanilla option, parabola option, general
power option etc.
The results in this chapter are published in [8] by Prof. H. V. Dedania
and Mr. S. J. Ghevariya.
5.1. Definitions of FP-payoff Functions
In this section, we introduce the concept of fractional polynomials. As
the name suggests, every polynomial will be a fractional polynomial. Also
we define symmetric fractional polynomial payoff (SFP-payoff) function and
asymmetric fractional polynomial payoff (AFP-payoff) function.
124
Page 2
1. Definitions of FP-payoff Functions 125
Definition 5.1.1. A fractional polynomial is a function p(x) = anxpn + · · ·+
a1xp1 + a0,where pn > . . . > p1 > 0, n ∈ N, pi, ai ∈ R, ∀ i.
Definition 5.1.2. Symmetric fractional polynomial payoff (SFP-payoff) func-
tion for call option is defined as
CS(S, T ) =
p(ST )− p(K) if ST > K
0 if ST ≤ K(5.1.2.1)
where p(x) is a fractional polynomial which is increasing on [0,∞), K is the
striking price, ST is the price of an asset at maturity time T .
Definition 5.1.3. Symmetric fractional polynomial payoff (SFP-payoff) func-
tion for put option is defined as
PS(S, T ) =
p(K)− p(ST ) if ST < K
0 if ST ≥ K(5.1.3.1)
where p(x) is a fractional polynomial which is increasing on [0,∞), K is the
striking price, ST is the price of an asset at maturity time T .
Definition 5.1.4. Asymmetric fractional polynomial payoff (AFP-payoff) func-
tion for call option is defined as
CA(S, T ) =
p(ST )−K if ST > K
0 if ST ≤ K(5.1.4.1)
where p(x) is a fractional polynomial which is increasing on [0,∞), K is the
striking price, ST is the price of an asset at maturity time T .
Definition 5.1.5. Asymmetric fractional polynomial payoff (AFP-payoff) func-
tion for put option is defined as
PA(S, T ) =
K − p(ST ) if ST < K
0 if ST ≥ K(5.1.5.1)
Page 3
2. Deduction of BSM Formulas and Greek Letters 126
where p(x) is a fractional polynomial which is increasing on [0,∞), K is the
striking price, ST is the price of an asset at maturity time T .
5.2. Deduction of BSM Formulas and Greek Letters
Our main goal in this section is to derive the BSM option pricing formulas
for a most general payoff function so that various other formulas for particular
payoff functions can be deduced from our formulas. In order to this, we shall
derive the formula only for SFP-payoff functions; others can be derived in a
similar fashion.
Theorem 5.2.1. [8] The call option pricing formula for SFP payoff function
is
C(S, t) =
n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)N(di)− [p(K)− a0]e−r(T−t)N(d),
(5.2.1.1)
where
di =ln( SK ) + (r + (2pi − 1)σ
2
2 )(T − t)σ√T − t
and d =ln( SK ) + (r − 1
2σ2)(T − t)
σ√T − t
.
(5.2.1.2)
Proof. The BSM partial differential equation along with the boundary condi-
tions for a European call option C(S, t) is as follow [12, p.76]:
∂C
∂t+
1
2σ2S2∂
2C
∂S2+ rS
∂C
∂S− rC = 0 (5.2.1.3)
with
C(S, T ) =
p(ST )− p(K) if ST > K
0 if ST ≤ K,
Page 4
2. Deduction of BSM Formulas and Greek Letters 127
C(S, t) → S when S → ∞ and C(0, t) = 0, where K is the striking price.
Take S = Kex, t = T − τ12σ2 and C(S, t) = Kv(x, τ). These imply
∂C
∂t= K
(∂v
∂x
∂x
∂t+∂v
∂τ
∂τ
∂t
)= −Kσ
2
2
∂v
∂τ,
∂C
∂S= K
(∂v
∂x
∂x
∂S+∂v
∂τ
∂τ
∂S
)=
1
ex∂v
∂x,
∂2C
∂S2=
1
Ke2x
(∂2v
∂x2− ∂v
∂x
).
Substituting above values in Equation (5.2.1.3), we get
−K2σ2 ∂v
∂τ+
1
2σ2K2e2x 1
Ke2x
(∂2v
∂x2− ∂v
∂x
)+ rKex
1
ex∂v
∂x− rKv = 0
⇒ −1
2σ2 ∂v
∂τ+
1
2σ2
(∂2v
∂x2− ∂v
∂x
)+ r
∂v
∂x− rv = 0
⇒ −1
2σ2
(∂v
∂τ− ∂2v
∂x2+∂v
∂x
)+ r
(∂v
∂x− v)
= 0
⇒ ∂v
∂τ− ∂2v
∂x2+∂v
∂x=
r12σ
2
(∂v
∂x− v)
⇒ ∂v
∂τ=∂2v
∂x2− ∂v
∂x+ k
(∂v
∂x− v)
where k =r
12σ
2
⇒ ∂v
∂τ=∂2v
∂x2+ (k − 1)
∂v
∂x− kv. (5.2.1.4)
Again, by taking
v(x, τ) = eαx+βτu(x, τ), (5.2.1.5)
where α and β are constants, which are to be determined so that the Equation
(5.2.1.4) becomes a heat equation. Now, from Equation (5.2.1.5)
∂v
∂τ= βeαx+βτu(x, τ) + eαx+βτ ∂u
∂τ,
∂v
∂x= αeαx+βτu(x, τ) + eαx+βτ ∂u
∂x,
Page 5
2. Deduction of BSM Formulas and Greek Letters 128
and
∂2v
∂x2= α
(αeαx+βτu(x, τ) + eαx+βτ ∂u
∂x
)+ αeαx+βτ ∂u
∂x+ eαx+βτ ∂
2u
∂x2.
Substituting above values in Equation (5.2.1.4), we get
eαx+βτ
(βu+
∂u
∂τ
)= eαx+βτ
(α2u+ 2α
∂u
∂x+∂2u
∂x2
)+(k − 1)eαx+βτ
(αu+
∂u
∂x
)− keαx+βτu.
This gives
∂u
∂τ=∂2u
∂x2+ (2α + (k − 1))
∂u
∂x+ (α2 − β + (k − 1)α− k)u.
To make Equation (5.2.1.4) a heat equation, we must have
α2 − β + (k − 1)α− k = 0 and 2α + (k − 1) = 0
which gives
α = −1
2(k − 1) and β = −1
4(k + 1)2.
Hence, Equation (5.2.1.5) becomes
v(x, τ) = e−12(k−1)x− 1
4(k+1)2τu(x, τ). (5.2.1.6)
This, in turn, gives
∂u
∂τ=∂2u
∂x2(τ > 0, −∞ < x <∞) (5.2.1.7)
Now we have
C(S, T ) =
p(ST )− p(K) if ST > K
0 if ST ≤ K
∴ v(x, 0) =1
K
p(Kex)− p(K) if x > 0
0 if x ≤ 0.
Page 6
2. Deduction of BSM Formulas and Greek Letters 129
Hence the initial condition
u(x, 0) = e−αxv(x, 0)
=e
12(k−1)x
K
p(Kex)− p(K) if x > 0
0 if x ≤ 0
=
a1K(p1−1)e
12(2p1+k−1)x + a2K
(p2−1)e12(2p2+k−1)x
+a3K(p3−1)e
12(2p3+k−1)x + ...+ anK
(pn−1)e12(2pn+k−1)x
−e 12(k−1)x(a1K
(p1−1) + a2K(p2−1) + ...+ anK
(pn−1)) if x > 0
0 if x ≤ 0
=
n∑i=1
aiK(pi−1)e
12(2pi+k−1)x − [p(K)−a0]
K e12(k−1)x if x > 0
0 if x ≤ 0
= u0(x). (5.2.1.8)
The solution of Equation (5.2.1.7) is
u(x, τ) =1
2√πτ
∞∫−∞
u0(s)e−(s−x)2
4τ ds, (5.2.1.9)
where u0(x) is given by Equation (5.2.1.8). Now we have to calculate the
integral in Equation (5.2.1.9). To change the variable, take
y =s− x√
2τ⇒ dy =
ds√2τ.
So Equation (5.2.1.9) reduces to
u(x, τ) =1
2√πτ
∞∫−∞
u0(x+ y√
2τ)e−y2
2
√2τdy
=1√2π
∞∫−∞
u0(x+ y√
2τ)e−y2
2 dy (5.2.1.10)
Page 7
2. Deduction of BSM Formulas and Greek Letters 130
Now, from Equation (5.2.1.8), Equation (5.2.1.10) becomes
u(x, τ) =1√2π
∞∫−∞
u0(x+ y√
2τ)e−y2
2 dy
=1√2π
∞∫−x/√
2τ
[ n∑i=1
aiK(pi−1)e
12(2pi+k−1)(x+y
√2τ)
− [p(K)− a0]
Ke
12(k−1)(x+y
√2τ)e−
y2
2 dy
]
=
n∑i=1
aiK(pi−1)e
12(2pi+k−1)x+ 1
4(2pi+k−1)2τ 1√
2π
∞∫−x/√
2τ
e− 1
2
(y− (2pi+k−1)τ√
2τ
)2
dy
− 1
K
[[p(K)− a0]e
12(k−1)x+ 1
4(k−1)2τ
]1√2π
∞∫−x/√
2τ
e− 1
2
(y− (k−1)τ√
2τ
)2
dy
=
n∑i=1
aiK(pi−1)e
12(2pi+k−1)x+ 1
4(2pi+k−1)2τIi
− 1
K
[[p(K)− a0]e
12(k−1)x+ 1
4(k−1)2τ
]I. (5.2.1.11)
Now for i = 1, 2, ...n,
Ii =1√2π
∞∫−x/√
2τ
e− 1
2
(y− (2pi+k−1)τ√
2τ
)2
dy
=1√2π
x+(2pi+k−1)τ√2τ∫
−∞
e−ρ2
2 dρ
(ρ =
(y − (2pi + k − 1)τ√
2τ
))= N(di), (5.2.1.12)
Page 8
2. Deduction of BSM Formulas and Greek Letters 131
where
di =x+ (2pi + k − 1)τ√
2τand N(di) =
1√2π
di∫−∞
e−12ρ2
dρ.
Also
I =1√2π
∞∫−x/√
2τ
e− 1
2
(y− (k−1)τ√
2τ
)2
dy
=1√2π
x+(k−1)τ√2τ∫
−∞
e−ρ2
2 dρ
= N(d) (5.2.1.13)
where
d =x+ (k − 1)τ√
2τ.
Substituting values of Equations (5.2.1.12) and (5.2.1.13) in Equation (5.2.1.11),
we get
u(x, τ) =
n∑i=1
aiK(pi−1)e
12(2pi+k−1)x+ 1
4(2pi+k−1)2τN(di)
− 1
K
[[p(K)− a0]e
12(k−1)x+ 1
4(k−1)2τ
]N(d). (5.2.1.14)
Substituting value of Equation (5.2.1.14) in Equation (5.2.1.6), we get
v(x, τ) =
n∑i=1
aiK(pi−1)epix+(pi−1)(pi+k)τN(di)− e−kτ
[p(K)− a0]
KN(d).
(5.2.1.15)
Also we have
C(S, t) = Kv(x, τ), S = Kex, τ =1
2σ2(T − t), k =
r12σ
2.
Page 9
2. Deduction of BSM Formulas and Greek Letters 132
Hence, Equation (5.2.1.15) becomes
C(S, t) =
n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)N(di)− [p(K)− a0]e−r(T−t)N(d),
(5.2.1.16)
where
d =x+ (k − 1)τ√
2τ
=ln( SK ) + (r − 1
2σ2)(T − t)
σ√T − t
di =x+ (2pi + k − 1)τ√
2τ
=ln( SK ) + (r + (2pi − 1)σ
2
2 )(T − t)σ√T − t
,
for i = 1, 2, ...n. The Equation (5.2.1.16) is called the BSM formula for a call
option for SFP-payoff function. �
Now, we state other option pricing formulas for SFP-payoff and AFP-
payoff functions without proof.
Theorem 5.2.2. [8] The call option pricing formula for AFP-payoff function
is given by
C(S, t) =
n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)N(di)−[K−a0]e−r(T−t)N(d), (5.2.2.1)
where d and di are given by Equation (5.2.1.2).
Proof. We get the above formula with replacing p(K) by K in the proof of
Theorem 5.2.1.
Page 10
2. Deduction of BSM Formulas and Greek Letters 133
Theorem 5.2.3. [8] The put option pricing formula for SFP-payoff function
is given by
P (S, t) = [p(K)− a0]e−r(T−t)N(−d)−n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)N(−di),
(5.2.3.1)
where d and di are given by Equation (5.2.1.2).
Proof. The proof goes similar to the proof of Theorem (5.2.1) with replacing
the boundary condition
C(S, T ) =
p(ST )− p(K) if ST > K
0 if ST ≤ K
by
PS(S, T ) =
p(K)− p(ST ) if ST < K
0 if ST ≥ K.
Theorem 5.2.4. [8] The put option pricing formula for AFP-payoff function
is given by
P (S, t) = [K − a0]e−r(T−t) N(−d)−n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)N(−di),
(5.2.4.1)
where d and di are given by Equation (5.2.1.2).
Proof. We get the above formula with replacing p(K) by K in the proof of
Theorem 5.2.3.
Theorem 5.2.5. The put-call parity for SFP-payoff function is given by
C(S, t) = P (S, t) +
n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t) + [p(K)− a0]e−r(T−t).
Page 11
2. Deduction of BSM Formulas and Greek Letters 134
Theorem 5.2.6. The put-call parity for AFP-payoff function is given by
C(S, t) = P (S, t) +
n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t) + [K − a0]e−r(T−t).
Next, we derive greek letters for BSM formulas for SFP-payoff functions.
∆C =1
Sσ√T − t
[ n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)[piσ√T − tN(di) + η(di)
]−[p(K)− a0]e−r(T−t)η(d)
]∆P = ∆C −
n∑i=1
aipiS(pi−1)e(pi−1)(r+pi
σ2
2)(T−t)
ΓC =1
S2σ2(T − t)
[ n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)[piσ2(T − t)N(di)(pi − 1)
+piσ√T − tη(di)− diη(di)
]+ [p(K)− a0]e−r(T−t)η(d)(σ
√T − t+ d)
]ΓP = ΓC −
n∑i=1
aipi(pi − 1)S(pi−2)e(pi−1)(r+piσ2
2)(T−t)
ΘC = − 1
2σ√T − t
[ n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)
[(pi − 1)(r + pi
σ2
2)2σ√T − tN(di) + η(di)(r + pi
σ2
2)(T − t)
]−[p(K)− a0]e−r(T−t)
[2rσ√T − tN(d)− η(d)(r +
σ2
2)]]
ΘP = ΘC +
n∑i=1
ai(pi − 1)(r + piσ2
2)Spie(pi−1)(r+pi
σ2
2)(T−t)
−[p(K)− a0]re−r(T−t)
Page 12
3. C + + and Mathematica 135
νC =1
σ2√T − t
[ n∑i=1
aiSpie(pi−1)(r+pi
σ2
2)(T−t)[σ3pi(pi − 1)(T − t)
32N(di)
+η(di)((2pi − 1)σ3(T − t)− ln(
S
K)− (r + pi
σ2
2)(T − t)
)]+[p(K)− a0]e−r(T−t)η(d)
(σ3(T − t)− ln(
S
K)− (r − σ2
2)(T − t)
)]νP = νC −
n∑i=1
ai(pi − 1)(T − t)piσSpie(pi−1)(r+piσ2
2)(T−t)
ρC =1
σ
[ n∑i=1
aiσSpie(pi−1)(r+pi
σ2
2)(T−t)[(pi − 1)(T − t)N(di) + η(di)
√T − t
]−[p(K)− a0]e−r(T−t)
[η(d)√T − t− σ(T − t)N(d)
]]ρP = ρC −
n∑i=1
ai(pi − 1)(T − t)Spie(pi−1)(r+piσ2
2)(T−t)
+[p(K)− a0](T − t)e−r(T−t)
Remark 5.2.7. The greek letters for BSM formulas for AFP-payoff functions
are similar to the greek letters for BSM formulas for SFP-payoff functions with
K in place of p(K). So we are not writing them here.
5.3. C + + and Mathematica
In this section, we write C++ programmes of option pricing formulas for
FP-payoff functions. We also discuss mathematica for these option formulas.
Program-I: C + + program for the SFP-payoff payoff functions
(see Theorems 5.2.1 and 5.2.3).
#include<iostream.h>
#include<conio.h>
#include<math.h>
double CND(double X)
Page 13
3. C + + and Mathematica 136
{double L,K,W, a1, a2, a3, a4, a5;
a1 = 0.319381530, a2 = −0.356563782, a3 = 1.781477937, a4 = −1.821255978,
a5 = 1.330274429;
L = fabs(X);
K = 1/(1 + 0.2316419 ∗ L);
W = 1− (1/sqrt(2 ∗M PI) ∗ exp(−L ∗ L/2)) ∗ (a1 ∗K + a2 ∗ pow(K, 2)
+ a3 ∗ pow(K, 3) + a4 ∗ pow(K, 4) + a5 ∗ pow(K, 5));
if(X < 0)
{W = 1−W ;
}return W ;
}void main( )
{clrscr( );
char CallorPut;
int i,n;
double S,K, r, seg, T, t, d, C = 0, P = 0, a[100], p[100];
cout<< ”\nn = ”;
cin>> n;
for (i = 0; i <= n; i+ +)
{cout<< ”\nEnter a[” << i << ”] = ”;
cin>> a[i];
}for (i = 1; i <= n; i+ +)
{cout<< ”\nEnter p[” << i << ”] = ”;
Page 14
3. C + + and Mathematica 137
cin>> p[i];
}cout<< ”\nS = ”;
cin>> S;
cout<< ”\nK = ”;
cin>> K;
cout<< ”\nr = ”;
cin>> r;
cout<< ”\nseg = ”;
cin>> seg;
cout<< ”\nT = ”;
cin>>T;
cout<< ”\nt = ”;
cin>>t;
d = (log(S/K) + (r − pow(seg, 2)/2) ∗ (T − t))/(seg ∗ (sqrt(T − t)));cout<< ”\nCallorPut=c or p\n”;
cin>> CallorPut;
if(CallorPut ==′ c′)
{for (i = 1; i <= n; i+ +)
{C = C+a[i]∗pow(S, p[i])∗exp((p[i]−1)∗(r+p[i]∗pow(seg, 2)/2)∗(T−t))∗CND((log(S/K) + (r + (2 ∗ p[i]− 1) ∗ pow(seg, 2)/2) ∗ (T − t))/(seg
∗sqrt(T − t)))−(a[i]∗pow(K, p[i])−a[0])∗exp(−r∗(T − t))∗CND(d);
}cout<< ”\nC = ” << C;
}else if(CallorPut ==′ p′)
{for (i = 1; i <= n; i+ +)
Page 15
3. C + + and Mathematica 138
{P = P + (a[i] ∗ pow(K, p[i])− a[0]) ∗ exp(−r ∗ (T − t)) ∗CND(−d)− a[i] ∗
pow(S, p[i]) ∗ exp((p[i]− 1) ∗ (r+ p[i] ∗ pow(seg, 2)/2) ∗ (T − t)) ∗CND
(−((log(S/K) + (r + (2 ∗ p[i]− 1) ∗ pow(seg, 2)/2) ∗ (T − t))/(seg ∗sqrt(T − t))));
}cout<< ”\nP = ” << P ;
}getch( );
}
Program-II: C + + program for the AFP-payoff payoff functions
(Theorems 5.2.2 and 5.2.4).
#include<iostream.h>
#include<conio.h>
#include<math.h>
double CND(double X)
{double L,K,W, a1, a2, a3, a4, a5;
a1 = 0.319381530, a2 = −0.356563782, a3 = 1.781477937, a4 = −1.821255978,
a5 = 1.330274429;
L = fabs(X);
K = 1/(1 + 0.2316419 ∗ L);
W = 1− (1/sqrt(2 ∗M PI) ∗ exp(−L ∗ L/2)) ∗ (a1 ∗K + a2 ∗ pow(K, 2)
+ a3 ∗ pow(K, 3) + a4 ∗ pow(K, 4) + a5 ∗ pow(K, 5));
if(X < 0)
{W = 1−W ;
}return W ;
Page 16
3. C + + and Mathematica 139
}void main( )
{clrscr( );
char CallorPut;
int i,n;
double S,K, r, seg, T, t, d, C = 0, P = 0, a[100], p[100];
cout<< ”\nn = ”;
cin>> n;
for (i = 0; i <= n; i+ +)
{cout<< ”\nEnter a[” << i << ”] = ”;
cin>> a[i];
}for (i = 1; i <= n; i+ +)
{cout<< ”\nEnter p[” << i << ”] = ”;
cin>> p[i];
}cout<< ”\nS = ”;
cin>> S;
cout<< ”\nK = ”;
cin>> K;
cout<< ”\nr = ”;
cin>> r;
cout<< ”\nseg = ”;
cin>> seg;
cout<< ”\nT = ”;
cin>>T;
cout<< ”\nt = ”;
Page 17
3. C + + and Mathematica 140
cin>>t;
d = (log(S/K) + (r − pow(seg, 2)/2) ∗ (T − t))/(seg ∗ (sqrt(T − t)));cout<< ”\nCallorPut=c or p\n”;
cin>> CallorPut;
if(CallorPut ==′ c′)
{for (i = 1; i <= n; i+ +)
{C = C+a[i]∗pow(S, p[i])∗exp((p[i]−1)∗(r+p[i]∗pow(seg, 2)/2)∗(T−t))∗CND((log(S/K) + (r+ (2 ∗ p[i]− 1) ∗pow(seg, 2)/2) ∗ (T − t))/(seg ∗sqrt(T − t)))− (K − a[0]) ∗ exp(−r ∗ (T − t)) ∗ CND(d);
}cout<< ”\nC = ” << C;
}else if(CallorPut ==′ p′)
{for (i = 1; i <= n; i+ +)
{P = P + (K − a[0]) ∗ exp(−r ∗ (T − t)) ∗ CND(−d)− a[i] ∗ pow(S, p[i]) ∗
exp((p[i]− 1) ∗ (r+ p[i] ∗pow(seg, 2)/2) ∗ (T − t)) ∗CND(−((log(S/K)
+ (r + (2 ∗ p[i]− 1) ∗ pow(seg, 2)/2) ∗ (T − t))/(seg ∗ sqrt(T − t))));}
cout<< ”\nP = ” << P ;
}getch( );
}
Program-I: Mathematica program for the SFP-payoff payoff functions
(Theorems 5.2.1 and 5.2.3).
d = (Log[S/K] + (r − (1/2)seg∧2)(T − t))/(seg Sqrt[T − t])
Page 18
4. Corollaries 141
C = Sum[a[i]S∧p[i] Exp[(p[i]−1)(r+p[i]seg∧2/2)(T−t)] CDF[NormalDistribution[0, 1],
(Log[S/K] + (r + (2p[i]− 1)seg∧2/2)(T − t))/(seg Sqrt[T − t])], {i, 1, n}]−(Sum[a[i]K∧p[i], {i, 1, n}]−a[0]) Exp[−r(T−t)]CDF[NormalDistribution[0, 1], d]
P = (Sum[a[i]K∧p[i], {i, 1, n}]−a[0]) Exp[−r(T−t)]CDF[NormalDistribution[0, 1],−d]
−Sum[a[i]S∧p[i] Exp[(p[i]−1)(r+p[i]seg∧2/2)(T−t)] CDF[NormalDistribution[0, 1],
−((Log[S/K]+(r+(2p[i]−1)seg∧2/2)(T −t))/(seg Sqrt[T −t]))], {i, 1, n}]Program-II: Mathematica program for the SFP-payoff payoff functions
(Theorems 5.2.2 and 5.2.4).
d = (Log[S/K] + (r − (1/2)seg∧2)(T − t))/(seg Sqrt[T − t])C = Sum[a[i]S∧p[i] Exp[(p[i]−1)(r+p[i]seg∧2/2)(T−t)] CDF[NormalDistribution[0, 1],
(Log[S/K] + (r + (2p[i]− 1)seg∧2/2)(T − t))/(seg Sqrt[T − t])], {i, 1, n}]− (K − a[0]) Exp[−r(T − t)]CDF[NormalDistribution[0, 1], d]
P = (K − a[0]) Exp[−r(T − t)]CDF[NormalDistribution[0, 1],−d]
−Sum[a[i]S∧p[i] Exp[(p[i]−1)(r+p[i]seg∧2/2)(T−t)] CDF[NormalDistribution[0, 1],
−((Log[S/K]+(r+(2p[i]−1)seg∧2/2)(T −t))/(seg Sqrt[T −t]))], {i, 1, n}]
5.4. Corollaries
In this section, we exhibit that several existing formulas for various pay-
off functions turn out to be special cases of the formulas derived in Section-
3.2. However, we must stress that the formulas for log payoff and ML-payoff
functions discussed in Chapter-4 do not follow from the formulas derived in
previous section.
Corollary 5.4.1. [8] Deduction of the plain vanilla option pricing formulas.
Proof. Taking p(x) = x in Equations (5.1.2.1) and (5.1.3.1), we get plain
vanilla payoff functions; namely, C(S, T ) = max{ST − K, 0} and P (S, T ) =
max{K − ST , 0}. Then from Theorems 5.2.1 and 5.2.3,
C(S, t) = SN(d1)−Ke−r(T−t)N(d)
P (S, t) = Ke−r(T−t)N(−d)− SN(−d1).
Page 19
4. Corollaries 142
These are option pricing formulas for plain vanilla payoff functions
(see Theorems 3.2.1 and 3.2.2).
Corollary 5.4.2. [8] Deduction of the standard power option pricing formulas.
Proof. Taking p(x) = xp in Equations (5.1.4.1) and (5.1.5.1), we get the
standard power payoff functions C(S, T ) = max{Sp − K, 0} and P (S, T ) =
max{K − Sp, 0}. Then from Theorems 5.2.2 and 5.2.4,
C(S, t) = Spe(p−1)(r+pσ2
2)(T−t)N(d1)−Ke−r(T−t) N(d)
P (S, t) = Ke−r(T−t) N(−d)− Spe(p−1)(r+pσ2
2)(T−t)N(−d1).
Note that the above formulas are slightly different from Equations (4.6) and
(4.7) in [19, P.-116] just because they take S = K1p ex instead of S = Kex in
the proof.
Corollary 5.4.3. [8] Deduction of the option pricing formulas for M+ vanilla
payoff function .
Proof. Taking p(x) = x + M in Equation (5.1.4.1) and p(x) = x − M in
Equation (5.1.5.1), we get M+ vanilla payoff functions
C(S, T ) =
S −K +M, if S ≥ K
0, if S < K,
and
P (S, T ) =
K − S +M, if S < K
0, if S ≥ K.
Then from Theorems 5.2.2 and 5.2.4,
C(S, t) = SN(d1)− (K −M)e−r(T−t)N(d)
P (S, t) = (K +M)e−r(T−t)N(−d)− SN(−d1).
Page 20
4. Corollaries 143
These are option pricing formulas for M+ vanilla payoff function
(see Theorems 3.2.5 and 3.2.6).
Corollary 5.4.4. [8] Deduction of the powered option pricing formulas.
Proof. To derive the powered option pricing formula, we first need to de-
cide the striking price and then we can choose the coefficients of the poly-
nomial. Suppose the power is n and the striking price is K. Taking p(x) =∑ni=1(−1)n−i
(nn−i)Kn−ixi in Eqn (5.1.2.1) and p(x) =
∑ni=1(−1)i+1
(nn−i)Kn−ixi
in Equation (5.1.3.1), we will get the corresponding powered payoff functions
C(S, T ) = max{ST − K, 0}n and P (S, T ) = max{K − ST , 0}n, respectively.
Then from Theorems 5.2.1 and 5.2.3,
C(S, t) =
n∑i=0
(n
n− i
)(−K)n−iSie(i−1)(r+iσ
2
2)(T−t)N(di)
P (S, t) =
n∑i=0
(n
n− i
)Kn−i(−S)ie(i−1)(r+iσ
2
2)(T−t)N(−di),
where d0 = d. These are powered option pricing formulas (see Theorems 3.2.3
and 3.2.4).
Corollary 5.4.5. [8] Deduction of the general power option pricing formulas.
Proof. Take p(x) =∑n
i=1 aixi, where ai ≥ 0. Then the Equations (5.1.2.1)
and (5.1.3.1) will give the general power payoff functions, namely, C(S, T ) =
max{∑n
i=1 ai(SiT −K
i), 0} and P (S, T ) = max{∑n
i=1 ai(Ki − SiT ), 0}. Then
from Theorems 5.2.1 and 5.2.3,
C(S, t) =
n∑i=1
aiSie(i−1)(r+iσ
2
2)(T−t)N(di)− p(K)e−r(T−t)N(d)
P (S, t) = p(K)e−r(T−t) N(−d)−n∑i=1
aiSie(i−1)(r+iσ
2
2)(T−t)N(−di).
Page 21
4. Corollaries 144
Proof. Take p(x) = a2x2 + a1x, where a1, a2 ≥ 0. Then from Equations
(5.1.2.1) and (5.1.3.1) will give the parabola payoff functions; namely, C(S, T ) =
max{a1(ST −K) +a2(ST −K)2, 0} and P (S, T ) = max{a1(K−ST ) +a2(K−ST )2, 0}. Then from Theorems 5.2.1 and 5.2.3,
C(S, t) = a1SN(d1) + a2S2e(r+ 1
2σ2)N(d2)− p(K)e−r(T−t)N(d)
P (S, t) = p(K)e−r(T−t) N(−d)− a1SN(−d1)− a2S2e(r+ 1
2σ2)N(−d2).
Table - 5.1
p(x) By Theorem We get BSM formula for
x 5.2.1 plain vanilla call payoff function
(see Theorem 3.2.1)
x 5.2.3 plain vanilla put payoff function
(see Theorem 3.2.2)
xp 5.2.2 standard power call payoff function
xp 5.2.4 standard power put payoff function
x+M 5.2.2 M+ vanilla call payoff function
(see Theorem 3.2.5)
x−M 5.2.4 M+ vanilla put payoff function
(see Theorem 3.2.6)∑ni=1(−1)n−i
(nn−i)Kn−ixi 5.2.1 powered call payoff function
(see Theorem 3.2.3)∑ni=1(−1)i+1
(nn−i)Kn−ixi 5.2.3 powered put payoff function
(see Theorem 3.2.4)∑ni=1 aix
i 5.2.1 general power call payoff function∑ni=1 aix
i 5.2.3 general power put payoff function
a2x2 + a1x 5.2.1 parabola call payoff function
a2x2 + a1x 5.2.3 parabola put payoff function
Corollary 5.4.6. [8] Deduction of the parabola option pricing formulas.