SlideShare a Scribd company logo
EMLYON Business School
Specialized Master Quantitative Finance
(2013 / 2014)
Fair Valuation of Participating Contracts with
Jump Risk
KOUAM KAMGUIA AURELIEN ALEX
Reg.No: 20142165
Summary
This report aims to detail the implementation of a Participating Life Insurance con-
tract pricer in accordance with the fair value accounting principle of International
Accounting Standard Board (IASB).
• An inclusion of market and credit risk goes in line with the risk–sensitive
approach promoted by Solvency II and enhances risk management.
• The use of a double exponential random variable creates a rare case of in-
cluding default risk whilst obtaining a closed–form formula.
• A Taylor series approach is sufficiently accurate to approximate the confluent
hypergeometric function within this application.
CONTENTS
Contents
1 The Contract 1
1.1 The Pricing framework . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Valuation for default at maturity: generic formulas . . . . . 3
1.2 European Option Pricing under a Double exponential jump-diffusion
model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Computational Implementation 7
2.1 Source code of the file KouFormulas.cpp . . . . . . . . . . . . . . . 8
2.2 Source code of the file LicMath.h . . . . . . . . . . . . . . . . . . . 14
CONTENTS
Acronyms
IASB International Accounting Standard Board
LIST OF TABLES
List of Tables
1 Balance Sheet as at 0 . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1 The Contract
The participating life insurance contract with guarantee (LIC) spans on the interval
[0, T] and at time 0, the balance sheet of the insurer is as follows:
Assets Liabilities
A0 E0
L0
Table 1: Balance Sheet as at 0
where the assets portfolio, A0, is invested partially in equity such that E0 =
(1 − α) A0 and bonds as L0 = αA0 in which α ∈ [0, 1]. The variable α is directly
linked to the financial leverage β = L0
E0
.
As the contract’s name states, the policyholder is guaranteed a minimum rate
of return rg during the life of the contract, in other words she will receive at least
at maturity LT
g = L0ergT
. In practice, the guaranteed rate rg is always less than
the return of a risk–free asset of the same maturity.
Under the conditions that the insurer is fully solvent during the period [0, T],
the policyholders will receive additionally a fraction δ of financial earnings up to
their contribution α to the funding of the portfolio. Formally, this relationship
could be written as: δ AT − LT
g .
Courtois and Quittard-Pinon (2008) priced the LIC under two approaches:
when default occurs solely at maturity and when default could occur anytime
during the contract’s lifetime. For the time being, we will exclusively cover the
first case in the rest of this document.
1
1.1 The Pricing framework
The authors based their LIC pricing under the following assumptions about the
insurance and financial market:
1. there are no transactions costs, taxes, or problems with indivisibilities of
assets
2. there are a sufficient number of investors with comparable wealth levels so
that each investor believes that he can buy and sell as much of an asset as
he wants at the market price.
3. there exists an exchange market for borrowing and lending at the same rate
of interest.
4. short–sales of all assets, with full use of the proceeds, is allowed.
5. The interest rate r is constant.
6. Under the risk–neutral world the firm’s assets portfolio, A , follows a geo-
metric L´evy process notably:
dA
A−
= rdt + σdz + d
Nt
k=1
(Zk − 1) − λζt (1)
where r is the risk–free interest rate, σ is the asset’s volatility, z is a stan-
dard Brownian motion, N is a Poisson process with constant intensity λ, Zk
are strictly positive i.i.d random variables and ζ is here for compensation
purposes.
The random variable Z in the above equation is the novelty of this document
over previous works on LIC pricing because not only it embeds insurer’s
2
bankruptcy risk but also, provides quasi–closed–form formula. The random
variables Yk = log(Zk) are i.i.d. and possess a double exponential density:
fY (y) = pη1e−η1y
1{y≥0} + qη2e−η2y
1{y<0} (2)
where η1 is the intensity of positive jumps, η2 is the intensity of negative
jumps, p is the probability of upward jumps, q is the probability of downward
jumps and p + q = 1. All sources of randomness z, N and Yk are independent.
Using Ito’s lemma for jump–diffusions, it can be easily shown that the unique
solution to the firm’s assets portfolio SDE is:
At = A0exp Xt = A0exp r − λζ −
1
2
σ2
t + σzt +
Nt
k=1
Yk (3)
1.1.1 Valuation for default at maturity: generic formulas
At maturity, there are 3 possible outcomes: Within the first case, the insurer is
unable to meet its commitments and the firm is declared bankrupt. Policyholders
receive the residual value of the insurer’s assets, that is AT and the equityholders
nothing. In the second case, the end value of invested assets is greater than
the promised assets value to policyholders but, less than the threshold to deliver
bonuses to policyholders. Finally, the insurer is totally solvent at maturity and
pays the bonus to the policyholders. The mathematical translation of the above
explanation is:
Θ (T) =



AT ifAT < Lg
T
Lg
T ifLg
T ≤ AT ≤
Lg
T
α
Lg
T + δ (αAT − Lg
T ) ifAT >
Lg
T
α
3
Therefore, the arbitrage free price of the LIC can be rewritten as:
VL (0) = EQ e−rT
Lg
T + δ (αAT − Lg
T )+
− (Lg
T − AT )+
or more precisely as:
VL (0) = A0 + δαC AT ,
Lg
T
α
− C (AT , Lg
T ) (4)
where C(XT , K) is the price at time 0 of a European call with maturity T, un-
derlying process X and strike K. It’s plain to see that the LIC pricing in this
framework boils down to work out the price of a European call option in which
the underlying process is normally and double exponentially distributed. Luckily,
Kou (2002) developed such a formula.
1.2 European Option Pricing under a Double exponential
jump-diffusion model
Under a double exponential jump-diffusion model, Kou (2002) showed that an
European Option can be computed as follows:
ψc = S(0)Υ(r +
1
2
σ2
− λζ, ˜λ, ˜p, ˜η1, ˜η2, log(K/S(0)), T)
− Ke−rT
Υ(r −
1
2
σ2
− λζ, λ, p, η1, η2, log(K/S(0)), T) (5)
where S(0) is the initial stock price, σ is the underlying instrument volatility,
r, and λ are defined as in 1. η1, η2, p are defined as in 2. K is the strike price.
Furthermore, parameters ˜p, ˜η1, ˜η2, ˜λ and ζ are used to price under the risk-neutral
world. The relationships between ˜p, ˜η1, ˜η2 and ζ and the other variables are as
follows:
˜λ = λ (1 + ζ) , ˜η1 = η1 − 1, ˜η2 = η2 + 1
4
and:
˜p =
p
1 + ζ
η1
η1 − 1
and:
ζ = p
η1
η1 − 1
+ q
η2
η2 + 1
− 1
Υ(...) := P{Z(T) ≥ log(K/S(0))} stands for the sum of the double exponential
and normal random vaviables and, equals to the cumulative distribution function
of a standard normal random variable under the European Black-Scholes pricing.
With πn := P(N(T) = n) = e−λT
(λT)n
/n!
P{Z(T) ≥ a} =
eση1 2 T
2
σ
√
2πT
∞
n=1
πn
n
k=1
Pn,k(σ
√
Tη1)k
× Ik−1(a − µT; −η1, −
1
σ
√
T
, −ση1
√
T)
+
eση1 2 T
2
σ
√
2πT
∞
n=1
πn
n
k=1
Qn,k(σ
√
Tη2)k
× Ik−1(a − µT; η2,
1
σ
√
T
, −ση2
√
T) + π0Φ(−
a − µT
σ
√
T
)
(6)
where:
Pn,k =
n−1
i=k
P(goingfrom(i, n − i)to(k, 0)) · P(startingfrom(i, n − i))
5
=
n−1
i=k


n − k − 1
i − k

 ·
η1
η1 + η2
i−k
η2
η1 + η2
n−i
pi
qn−i
,
And
Qn,k =
n−1
i=k


n − k − 1
i − k

 ·
η1
η1 + η2
n−i
η2
η1 + η2
i−k
qi
pn−i
And
In (c; α, β, δ) = −
eαc
α
n
i=0
β
α
n−i
× Hhi (βc − δ) +
β
α
n+1
(2π)
β
× e
αδ
β
+ α2
2β2
Φ −βc + δ +
α
β
when β > 0 , α = 0 and for all n ≥ −1.
In (c; α, β, δ) = −
eαc
α
n
i=0
β
α
n−i
× Hhi (βc − δ) −
β
α
n+1
(2π)
β
∗
× e
αδ
β
+ α2
2β2
Φ βc − δ −
α
β
when β < 0 , α < 0 and for all n ≥ −1. Φ (...) is the standard normal cumulative
distribution function. Hhn (x) is the Hodgkin - Huxley function defined as:
Hhn (x) = 2−n
2 (π)e−x2
2 ×
1F1
1
2
n + 1
2
, 1
2
, 1
2
x2
(2)Γ 1 + 1
2
n
− x
1F1
1
2
n + 1, 3
2
, 1
2
x2
Γ 1
2
+ 1
2
n
where 1F1 (...) is the confluent hypergeometric function and Γ (...) is the gamma
function.
6
2 Computational Implementation
The development of a participating life insurance contract pricer was made in
C++. In order to price a life insurance contract, the end–user will make use of
the “KouFormulas.cpp” file. This file requires the integration of the “LicMath.h”
file which embeds all the necessary mathematical functions for the application.
Moreover, we employed some libraries from Boost. Once the “KouFormulas.cpp”
file opens, she will click on the “Local Windows Debugger” button. The interface
will subsequently request the following information:
1. The initial asset price.
2. The prevailing risk-free interest rate.
3. The asset’s volatility.
4. The average number of jumps per unit of time of the exponential random
variable.
5. The probability value of positive jumps of the double exponential random
variable.
6. The average number of positive jumps per unit of time of the double expo-
nential random variable.
7. The average number of negative jumps per unit of time of the double expo-
nential random variable.
8. The number of simulations required (Enter an integer value between 1 and
50).
9. The leverage coefficient or the proportion of assets invested in risk-free bonds.
7
10. The interest rate guaranteed to the policyholder at the contract’s maturity.
11. The participating coefficient.
12. The maturity of the contract.
2.1 Source code of the file KouFormulas.cpp
// KouFormulas . cpp : Defines the entry point for the console
// a p p l i c a t i o n .
//
// requires LicMath . h
//
#include<cmath>
#include”LicMath . h”
#include<boost /math/ d i s t r i b u t i o n s /normal . hpp>
#include<iostream>
//#i f ! defined ( MSC VER)
using namespace std ;
//#endif
using boost : : math : : normal ;
using namespace std ;
double KouFormulas (double S0 , double K, double int r ,
double sigma , double lambda , double p ,
double eta1 , double eta2 , double n ,
double Expiry )
8
{
//Compute the d i f f e r e n t parameters under the risk −neutral measure
double a = log10 (K/S0 ) ;
double variance = pow( sigma , 2 ) ;
double zeta = (( p∗ eta1 )/( eta1 − 1)) + (((1 −p)∗ eta2 )/( eta2 +1)) − 1;
double p est = (p/(1+ zeta )) ∗ ( eta1 /( eta1 −1));
double e t a 1 e s t = eta1 −1;
double e t a 2 e s t = eta2 + 1;
double i n t e n s i t y e s t = lambda ∗ (1+ zeta ) ;
double new drift = (( i n t r + 0.5∗( variance ) − ( lambda ∗ zeta ))∗
Expiry ) ;
double new drift1 = (( i n t r − 0.5∗( variance ) − ( lambda ∗ zeta ))∗
Expiry ) ;
//Compute sum of Pnk and sum of Qnk
double Sum Pnk rn = 0 . 0 ;
double Sum Qnk rn = 0 . 0 ;
double Sum Pnk = 0 . 0 ;
double Sum Qnk = 0 . 0 ;
double k d = 0 . 0 ;
for (unsigned long long int k = 1; k<=n ; k++)
{
k d = static cast<double>(k ) ;
Sum Pnk rn += Pnk(n , k d , eta1 est , eta2 est , p est ) ∗
pow( sigma∗ sqrt ( Expiry )∗
eta1 est , k d ) ∗
In ( k d −1,a − new drift ,− eta1 est ,
−(1/(sigma ∗ sqrt ( Expiry ) ) ) ,
−(sigma∗ e t a 1 e s t ∗ sqrt ( Expiry ) ) ) ;
9
Sum Qnk rn += Qnk(n , k d , eta1 est , eta2 est , p est ) ∗
pow( sigma∗ sqrt ( Expiry )∗
eta2 est , k d ) ∗
In ( k d −1,a − new drift , eta2 est ,
(1/( sigma ∗ sqrt ( Expiry ) ) ) ,
−(sigma∗ e t a 2 e s t ∗ sqrt ( Expiry ) ) ) ;
Sum Pnk += Pnk(n , k d , eta1 , eta2 , p) ∗
pow( sigma∗ sqrt ( Expiry )∗ eta1 , k d ) ∗
In ( k d −1,a − new drift1 ,−eta1 ,
−(1/(sigma ∗ sqrt ( Expiry ) ) ) ,
−(sigma∗ eta1 ∗ sqrt ( Expiry ) ) ) ;
Sum Qnk += Qnk(n , k d , eta1 , eta2 , p) ∗
pow( sigma∗ sqrt ( Expiry )∗ eta2 , k d ) ∗
In ( k d −1,a − new drift1 , eta2 ,
(1/( sigma ∗ sqrt ( Expiry ) ) ) ,
−(sigma∗ eta2 ∗ sqrt ( Expiry ) ) ) ;
}
// Standard normal cdf are needed for the remaining of
// t h i s a p p l i c a t i o n
normal distribution <double> nv ( 0 , 1 ) ;
// p o i s s o n d i s t r i b u t i o n <> pv ( lambda ) ;
// define d1 and d2 to measure the r e s p e c t i v e
// cumulative d i s t r i b u t i o n s
double d1 , d2 = 0;
d1 = ( exp (pow( sigma∗ eta1 est , 2 ) ∗ ( Expiry /2)))/( sigma ∗
10
sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry )) ∗
(gamma q(n+1, i n t e n s i t y e s t )) ∗ Sum Pnk rn +
( exp (pow( sigma∗ eta2 est , 2 ) ∗ ( Expiry /2))/( sigma ∗
sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry ) ) ) ∗
(gamma q(n+1, i n t e n s i t y e s t )) ∗ Sum Qnk rn +
( Ncdf (0 ,1 , −(a − new drift )/( sigma ∗ sqrt ( Expiry ) ) ) ) ;
d2 = ( exp (pow( sigma∗eta1 , 2 ) ∗ ( Expiry /2)))/( sigma ∗
sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry )) ∗
(gamma q(n+1,lambda )) ∗ Sum Pnk +
( exp (pow( sigma∗eta2 , 2 ) ∗ ( Expiry /2))/( sigma ∗
sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry ) ) ) ∗
(gamma q(n+1,lambda )) ∗ Sum Qnk +
( Ncdf (0 ,1 , −(a − new drift1 )/( sigma ∗ sqrt ( Expiry ) ) ) ) ;
return ( S0 ∗ d1 ) − (K∗exp(− i n t r ∗Expiry )∗ d2 ) ;
}
// Define the Payoff of a l i f e insurance contract with p r o f i t s and
// guarantee as in the O. Le Courtois and FQP (2008) paper
double DMLIC(double A0, double int r ,
double alpha , double rg , double delta ,
double sigma , double lambda , double p ,
double eta1 , double eta2 , double n ,
double Expiry )
{
// I n i t i a l i z e the contract parameters
double L0 = alpha ∗ A0;
double K1 LIC = (L0 ∗ exp ( rg ∗Expiry ))/ alpha ;
double K2 LIC = (L0∗exp ( rg ∗Expiry ) ) ;
11
return (A0 + ( delta ∗ alpha ∗( KouFormulas (A0, K1 LIC , int r , sigma ,
lambda , p , eta1 , eta2 , n , Expiry ) ) ) −
KouFormulas (A0, K2 LIC , int r , sigma , lambda ,
p , eta1 , eta2 , n , Expiry ) ) ;
}
int main ()
{
cout<<” Please enter the spot Asset price : ” <<endl ;
double A0 = 0 . 0 ;
cin>>A0;
cout<<” Please enter the risk −f r e e i n t e r e s t rate : ” <<endl ;
double r = 0 . 0 ;
cin>>r ;
cout<<” Please enter the V o l a t i l i y l e v e l : ” <<endl ;
double Vol = 0 . 0 ;
cin>>Vol ;
cout<<” Please enter the i n t e n s i t y of the Poisson d i s t r i b u t i o n : ” ;
cout<<endl ;
double lambda = 0 . 0 ;
cin>>lambda ;
cout<<” Please enter the probability value of p o s i t i v e jumps : ” ;
cout<<endl ;
double p = 0 . 0 ;
cin>>p ;
cout<<” Please enter the i n t e n s i t y of p o s i t i v e jumps : ” <<endl ;
12
double eta1 = 0 . 0 ;
cin>>eta1 ;
cout<<” Please enter the i n t e n s i t y of negative jumps : ” <<endl ;
double eta2 = 0 . 0 ;
cin>>eta2 ;
cout<<” Please enter the n value ” <<endl ;
int n = 0;
cin>>n ;
cout<<” Please enter the leverage c o e f f i c i e n t value ( alpha ) ” <<endl ;
double alpha = 0;
cin>>alpha ;
cout<<” Please enter the guaranteed rate ” <<endl ;
double rg = 0;
cin>>rg ;
cout<<” Please enter the p a r t i c i p a t i o n c o e f f i c i e n t value ( delta ) ” ;
cout <<endl ;
double delta = 0;
cin>>delta ;
cout<<” Please enter the maturity in years : ” <<endl ;
double T = 0 . 0 ;
cin>>T;
for (n ; n<=70;n++)
{
cout<<”The value of the Life Insurance Contract with default ” ;
13
cout<<at Maturity for n : ”<<n<<” i s : ”<<’ ’ ;
cout<<DMLIC(A0, r , alpha , rg , delta , Vol , lambda , p , eta1 , eta2 , n ,T)<<;
cout<<endl ;
}
system ( ”PAUSE” ) ;
return 0;
}
2.2 Source code of the file LicMath.h
// LicMath . h
#ifndef LicMath
#define LicMath
#include<cmath>
#include<iomanip>
#include<iostream>
#include<boost /math/ d i s t r i b u t i o n s . hpp>
#include<boost /math/ d i s t r i b u t i o n s / poisson . hpp>
#include<boost /math/ d i s t r i b u t i o n s /normal . hpp>
#include<boost /numeric/ ublas /matrix . hpp>
#include<boost /numeric/ ublas / vector . hpp>
#include<boost /numeric/ ublas / io . hpp>
#include<boost /math/ s p e c i a l f u n c t i o n s /gamma. hpp>
using namespace std ;
using namespace boost : : math ;
14
using namespace boost : : math : : constants ;
static const int g = 7;
static const double Pi =
3.1415926535897932384626433832795028841972 ;
static const double p [ g+2] = {0.99999999999980993 , 676.5203681218851 ,
−1259.1392167224028 , 771.32342877765313 , −176.61502916214059 ,
12.507343278686905 , −0.13857109526572012 , 9.9843695780195716 e −6,
1.5056327351493116 e −7};
typedef unsigned long long int VLint ;
typedef boost : : numeric : : ublas : : vector<int> VectorInt ;
typedef boost : : numeric : : ublas : : vector<double> VectorDbl ;
// Definition the f a c t o r i a l function
double f a c t o r i a l ( VLint n)
{
i f (n ==0 | | n == 1)
return 1;
else
return n ∗ f a c t o r i a l (n−1);
}
// Definition of the Combination function
double nCk( VLint n , VLint k)
{
return f a c t o r i a l (n )/( f a c t o r i a l (k) ∗ f a c t o r i a l (n−k ) ) ;
}
// Definition of the minimum function
15
template<class T> T mmin(T& a , T& b)
{
return (a<b) ? a : b ;
}
// Definition of the max function
template<class T>T max(T& a , T& b)
{
return (a<b) ?b : a ;
}
// Definition of the Pnk function
double Pnk( VLint n , VLint k , double eta1 , double eta2 , double p)
{
i f (n < 1)
{
cout<<”n i s equal or greater than 1”<<endl ;
}
i f ( k > n)
{
cout<<”k cannot be higher than n”<<endl ;
}
i f (p<0 | | p>1)
{
cout<< ”p i s a probability density function , t h e r e f o r e ” ;
cout<<” l i e s within the i n t e r v a l 0 and 1”<<endl ;
}
i f ( eta1 <=1)
16
{
cout<< ” eta1 cannot be l e s s than 1”<<endl ;
}
i f ( eta2 <=0)
{
cout<< ” eta2 cannot be l e s s than 0”<<endl ;
}
double Y = 0 . 0 ;
double j d = 0 . 0 ;
for ( VLint i = k ; i<=n−1; i++)
{
j d = static cast<double>( i ) ;
Y += nCk(n−k−1, i−k) ∗ pow(( eta1 )/( eta1+eta2 ) , i−k) ∗
pow(( eta2 )/( eta1+eta2 ) ,n−i )∗ (pow(p , i ))∗( pow(1−p , n−i ) ) ;
}
return Y;
}
// Definition of the Qnk function
double Qnk( VLint n , VLint k , double eta1 , double eta2 , double p)
{
i f (n < 1)
{
cout<<”n i s equal or greater than 1”<<endl ;
}
i f ( k > n)
{
cout<<”k cannot be higher than n”<<endl ;
17
}
i f (p<0 | | p>1)
{
cout<< ”p i s a probability density function , ” ;
cout<<” t h e r e f o r e l i e s within the i n t e r v a l 0 and 1”<<endl ;
}
i f ( eta1 <=1)
{
cout<< ”lambda1 cannot be l e s s than 1”<<endl ;
}
i f ( eta2 <=0)
{
cout<< ”lambda2 cannot be l e s s than 0”<<endl ;
}
double X = 0 . 0 ;
double j d = 0 . 0 ;
for ( VLint i = k ; i<=n−1; i++)
{
j d = static cast<double>( i ) ;
X += nCk(n−k−1, j d−k) ∗pow(( eta1 )/( eta1+eta2 ) ,n−j d ) ∗
pow(( eta2 )/( eta1+eta2 ) , j d−k)∗ (pow(p , n−j d ))∗
(pow(1−p , j d ) ) ;
}
return X;
}
/∗Code adapted from the Taylor s e r i e s approximation of the confluent
hypergeometric function 1F1(a ; b ; z ) developed by John Pearson as Part of
his MSc d i s s e r t a t i o n ’ Computation of Hypergeometric Functions ’
18
∗/
long double TaylorConfluentHypergeometric (double a , double b ,
double z )
{
double t o l = pow(10 , −15);
// I n i t i a l i s e a1 , vector of i n d i v i d u a l s terms ,
// and b1 which s t o r e s the sum
// of the computed terms up to that point
boost : : numeric : : ublas : : vector<double> a1 (500);
a1 (1) = 1;
double b1 = 1 . 0 ;
for ( int j =1; j <500;++ j )
{
//Compute the current entry of a1 in terms of l a s t
a1 ( j +1) = ( a+j −1)/(b+j −1) ∗ z/ j ∗a1 ( j ) ;
//Update the sum of computed terms up to that point
b1 = b1+a1 ( j +1);
i f ( fabs ( a1 ( j ))/ fabs ( b1 ) < t o l && fabs ( a1 ( j +1))/
fabs ( b1)< t o l )
break ;
}
return b1 ;
}
19
// Definition of the Hodgkin − Huxley function
double Hh( const double& n , const int& x)
{
double A = (pow(2 ,( −n /2)))∗
sqrt ( boost : : math : : constants : : pi<double >())∗
( exp (pow(x ,2)∗ −0.5));
double B = TaylorConfluentHypergeometric ((0.5∗ n )+0.5 ,0.5 ,
(0.5∗pow(x , 2 ) ) ) / ( sqrt (2) ∗ tgamma(1 + (0.5∗ n ) ) ) ;
double C = −(x∗( TaylorConfluentHypergeometric ((0.5∗ n)+1 ,
1 . 5 , ( 0 . 5 ∗ pow(x , 2 ) ) ) ) ) / ( tgamma((0.5)+(0.5∗ n ) ) ) ;
return A ∗ (B+C) ;
}
// Definition of the In function
double In ( const double& n , const double& c , const double& alpha ,
const double& beta , const double& delta1 )
{
// Declare v a r i a b l e s which w i l l hold your values
double r e s u l t 1 = 0 . 0 ;
normal snd ( 0 , 1 ) ;
double j d = 0 . 0 ;
i f ( beta > 0 && alpha != 0)
{
for ( int i = 0; i<=n ; i++)
{
j d = static cast<double>( i ) ;
r e s u l t 1 += (pow( beta /alpha , n−j d )) ∗
20
Hh( j d , ( beta ∗ c ) − delta1 ) +
(pow(( beta / alpha ) , n+1) ∗
( sqrt (2 ∗ boost : : math : : constants : : pi<double >())/
beta ) ∗ ( exp ( ( ( alpha ∗ delta1 )/( beta )) +
pow( alpha ,2)/(2 ∗pow( beta , 2 ) ) ) ) ∗
( cdf ( snd ,(− beta ∗ c ) + ( delta1 ) +
( alpha / beta ) ) ) ) ;
}
}
i f ( beta < 0 && alpha < 0)
{
for ( int i = 0; i !=n ; i++)
{
j d = static cast<double>( i ) ;
r e s u l t 1 += (pow( beta /alpha , n−j d )) ∗
Hh( j d , ( beta ∗ c ) − delta1 ) − (pow(( beta / alpha ) , n+1) ∗
( sqrt (2 ∗ boost : : math : : constants : : pi<double >())/ beta ) ∗
( exp ( ( ( alpha ∗ delta1 )/( beta )) + pow( alpha ,2)/
(2 ∗pow( beta , 2 ) ) ) ) ∗( cdf ( snd , ( beta ∗ c ) −
( delta1 ) − ( alpha / beta ) ) ) ) ;
}
}
return −(exp ( alpha ∗ c )/ alpha ) ∗ r e s u l t 1 ;
}
// Definition of the normal p r o b a b i l i t y density function
double npdf (double mu, double sigma , double x)
{
return (1.0 / ( sqrt (2.0 ∗
boost : : math : : constants : : pi<double >())) ∗
sigma ) ∗ exp( −0.5 ∗ (pow(x−mu, 2 ) /
21
(pow( sigma , 2 ) ) ) ) ;
}
/∗ Approximation of the normal cumulative d i s t r i b u t i o n from
Haug .E (1998) ”The Complete Guide to Option Pricing Formulas”
∗/
double Ncdf (double mu, double sigma , double x)
{
double a1 , a2 , a3 , k ;
double r e s u l t = 0 . 0 ;
a1 = 0.4361836;
a2 = −0.1201676;
a3 = 0.937298;
k = 1.0 / (1.0 + (0.33267 ∗ x ) ) ;
i f (x >= 0)
{
r e s u l t = 1 − npdf (mu, sigma , x) ∗ ( a1 ∗ k + ( a2 ∗ k ∗ k) +
( a3 ∗ k ∗ k ∗ k ) ) ;
}
else
{
r e s u l t = 1 − Ncdf (mu, sigma , −x ) ;
}
return r e s u l t ;
}
22
#endif
23
References
Courtois, O. L. and Quittard-Pinon, F. (2008). Fair valuation of participating life
insurance contracts with jump risk. The Geneva Risk and Insurance Review, 33.
Kou, S. (2002). A jump diffusion model for option pricing. Management Science,
48(8):1086–1101.
24

More Related Content

What's hot

Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...
Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...
Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...
Antoine Savine
 
option pricing
option pricingoption pricing
option pricing
RudreshSamant
 
Black Scholes
Black ScholesBlack Scholes
Black Scholes
MIKE (Merih) OZUGUZEL
 
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
Fynn McKay
 
PORTFOLIO DEFENDER
PORTFOLIO DEFENDERPORTFOLIO DEFENDER
PORTFOLIO DEFENDER
Anuj Gopal
 
Black scholes(Venu)
Black scholes(Venu)Black scholes(Venu)
Black-Scholes overview
Black-Scholes overviewBlack-Scholes overview
Black-Scholes overview
Inon Sharony
 
Value of options presentation
Value of options presentationValue of options presentation
Value of options presentation
Trevor Ruwa
 
Statistics of financial markets
Statistics of financial marketsStatistics of financial markets
Statistics of financial markets
Springer
 
Final exam
Final examFinal exam
Final exam
Caplain Tatou
 
Final
FinalFinal
Final
Kottyshock
 
Margrabe option
Margrabe optionMargrabe option
Margrabe option
Bank Industry
 
Application of Monte Carlo Methods in Finance
Application of Monte Carlo Methods in FinanceApplication of Monte Carlo Methods in Finance
Application of Monte Carlo Methods in Finance
SSA KPI
 
Financial Cash-Flow Scripting: Beyond Valuation by Antoine Savine
Financial Cash-Flow Scripting: Beyond Valuation by Antoine SavineFinancial Cash-Flow Scripting: Beyond Valuation by Antoine Savine
Financial Cash-Flow Scripting: Beyond Valuation by Antoine Savine
Antoine Savine
 
Black scholas theory for venu(RVSKVK)
Black scholas theory for venu(RVSKVK)Black scholas theory for venu(RVSKVK)
Black scholas theory for venu(RVSKVK)
RVS-KVK Institute of Management Studies
 
Option Probability
Option ProbabilityOption Probability
Option Probability
EricHartford
 
Simulation methods finance_1
Simulation methods finance_1Simulation methods finance_1
Simulation methods finance_1
Giovanni Della Lunga
 
Basic pricing
Basic pricingBasic pricing
Basic pricing
Ilya Gikhman
 
Basic of pricing 2
Basic of pricing 2Basic of pricing 2
Basic of pricing 2
Ilya Gikhman
 
Financial derivate-mcqs
Financial derivate-mcqsFinancial derivate-mcqs
Financial derivate-mcqs
SomnathKhandagale1
 

What's hot (20)

Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...
Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...
Notes for Computational Finance lectures, Antoine Savine at Copenhagen Univer...
 
option pricing
option pricingoption pricing
option pricing
 
Black Scholes
Black ScholesBlack Scholes
Black Scholes
 
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
 
PORTFOLIO DEFENDER
PORTFOLIO DEFENDERPORTFOLIO DEFENDER
PORTFOLIO DEFENDER
 
Black scholes(Venu)
Black scholes(Venu)Black scholes(Venu)
Black scholes(Venu)
 
Black-Scholes overview
Black-Scholes overviewBlack-Scholes overview
Black-Scholes overview
 
Value of options presentation
Value of options presentationValue of options presentation
Value of options presentation
 
Statistics of financial markets
Statistics of financial marketsStatistics of financial markets
Statistics of financial markets
 
Final exam
Final examFinal exam
Final exam
 
Final
FinalFinal
Final
 
Margrabe option
Margrabe optionMargrabe option
Margrabe option
 
Application of Monte Carlo Methods in Finance
Application of Monte Carlo Methods in FinanceApplication of Monte Carlo Methods in Finance
Application of Monte Carlo Methods in Finance
 
Financial Cash-Flow Scripting: Beyond Valuation by Antoine Savine
Financial Cash-Flow Scripting: Beyond Valuation by Antoine SavineFinancial Cash-Flow Scripting: Beyond Valuation by Antoine Savine
Financial Cash-Flow Scripting: Beyond Valuation by Antoine Savine
 
Black scholas theory for venu(RVSKVK)
Black scholas theory for venu(RVSKVK)Black scholas theory for venu(RVSKVK)
Black scholas theory for venu(RVSKVK)
 
Option Probability
Option ProbabilityOption Probability
Option Probability
 
Simulation methods finance_1
Simulation methods finance_1Simulation methods finance_1
Simulation methods finance_1
 
Basic pricing
Basic pricingBasic pricing
Basic pricing
 
Basic of pricing 2
Basic of pricing 2Basic of pricing 2
Basic of pricing 2
 
Financial derivate-mcqs
Financial derivate-mcqsFinancial derivate-mcqs
Financial derivate-mcqs
 

Similar to Fair valuation of participating life insurance contracts with jump risk

dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...
dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...
dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...
MbongeniShongwe1
 
Dynamical smart liquidity on decentralized exchanges for lucrative market making
Dynamical smart liquidity on decentralized exchanges for lucrative market makingDynamical smart liquidity on decentralized exchanges for lucrative market making
Dynamical smart liquidity on decentralized exchanges for lucrative market making
Stefan Duprey
 
Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...
Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...
Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...
International Journal of Business Marketing and Management (IJBMM)
 
PROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMAN
PROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMANPROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMAN
PROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMAN
DaliaCulbertson719
 
Introducing R package ESG at Rmetrics Paris 2014 conference
Introducing R package ESG at Rmetrics Paris 2014 conferenceIntroducing R package ESG at Rmetrics Paris 2014 conference
Introducing R package ESG at Rmetrics Paris 2014 conference
Thierry Moudiki
 
presentation
presentationpresentation
presentation
3ashmawy
 
Derivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin CalculusDerivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin Calculus
Hugo Delatte
 
Project Report
Project ReportProject Report
Project Report
Vadym Dolinin
 
CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...
CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...
CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...
Michele Beretta
 
Slides money banking risk reward capm
Slides money banking risk reward capmSlides money banking risk reward capm
Slides money banking risk reward capm
Julio Huato
 
Financial Regulation Lecture 9Based on notes by Marlena El.docx
Financial Regulation Lecture 9Based on notes by Marlena El.docxFinancial Regulation Lecture 9Based on notes by Marlena El.docx
Financial Regulation Lecture 9Based on notes by Marlena El.docx
ericn8
 
Pres-Fibe2015-pbs-Org
Pres-Fibe2015-pbs-OrgPres-Fibe2015-pbs-Org
Pres-Fibe2015-pbs-Org
Per Bjarte Solibakke
 
Pres fibe2015-pbs-org
Pres fibe2015-pbs-orgPres fibe2015-pbs-org
Pres fibe2015-pbs-org
Per Bjarte Solibakke
 
CAPM-3-Nt.ppt
CAPM-3-Nt.pptCAPM-3-Nt.ppt
CAPM-3-Nt.ppt
SafriR
 
02_lecture14.ppt
02_lecture14.ppt02_lecture14.ppt
02_lecture14.ppt
AnjaniKrMishra1
 
Calisto 2016a 251116
Calisto 2016a 251116Calisto 2016a 251116
Calisto 2016a 251116
Rodwell Kufakunesu (DPhil)
 
Portfolio theory and capm
Portfolio theory and capmPortfolio theory and capm
Portfolio theory and capm
Bhaskar T
 
Asian basket options
Asian basket optionsAsian basket options
Asian basket options
Victor Bontemps
 
Statistical Arbitrage Pairs Trading, Long-Short Strategy
Statistical Arbitrage Pairs Trading, Long-Short StrategyStatistical Arbitrage Pairs Trading, Long-Short Strategy
Statistical Arbitrage Pairs Trading, Long-Short Strategy
z-score
 
Portfolio management
Portfolio managementPortfolio management
Portfolio management
Ashwini Das
 

Similar to Fair valuation of participating life insurance contracts with jump risk (20)

dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...
dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...
dokumen.tips_1-finc4101-investment-analysis-instructor-dr-leng-ling-topic-por...
 
Dynamical smart liquidity on decentralized exchanges for lucrative market making
Dynamical smart liquidity on decentralized exchanges for lucrative market makingDynamical smart liquidity on decentralized exchanges for lucrative market making
Dynamical smart liquidity on decentralized exchanges for lucrative market making
 
Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...
Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...
Robust Optimal Reinsurance and Investment Problem with p-Thinning Dependent a...
 
PROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMAN
PROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMANPROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMAN
PROBLEMS IN SELECTION OF SECURITY PORTFOLIOS THE PERFORMAN
 
Introducing R package ESG at Rmetrics Paris 2014 conference
Introducing R package ESG at Rmetrics Paris 2014 conferenceIntroducing R package ESG at Rmetrics Paris 2014 conference
Introducing R package ESG at Rmetrics Paris 2014 conference
 
presentation
presentationpresentation
presentation
 
Derivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin CalculusDerivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin Calculus
 
Project Report
Project ReportProject Report
Project Report
 
CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...
CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...
CVA In Presence Of Wrong Way Risk and Early Exercise - Chiara Annicchiarico, ...
 
Slides money banking risk reward capm
Slides money banking risk reward capmSlides money banking risk reward capm
Slides money banking risk reward capm
 
Financial Regulation Lecture 9Based on notes by Marlena El.docx
Financial Regulation Lecture 9Based on notes by Marlena El.docxFinancial Regulation Lecture 9Based on notes by Marlena El.docx
Financial Regulation Lecture 9Based on notes by Marlena El.docx
 
Pres-Fibe2015-pbs-Org
Pres-Fibe2015-pbs-OrgPres-Fibe2015-pbs-Org
Pres-Fibe2015-pbs-Org
 
Pres fibe2015-pbs-org
Pres fibe2015-pbs-orgPres fibe2015-pbs-org
Pres fibe2015-pbs-org
 
CAPM-3-Nt.ppt
CAPM-3-Nt.pptCAPM-3-Nt.ppt
CAPM-3-Nt.ppt
 
02_lecture14.ppt
02_lecture14.ppt02_lecture14.ppt
02_lecture14.ppt
 
Calisto 2016a 251116
Calisto 2016a 251116Calisto 2016a 251116
Calisto 2016a 251116
 
Portfolio theory and capm
Portfolio theory and capmPortfolio theory and capm
Portfolio theory and capm
 
Asian basket options
Asian basket optionsAsian basket options
Asian basket options
 
Statistical Arbitrage Pairs Trading, Long-Short Strategy
Statistical Arbitrage Pairs Trading, Long-Short StrategyStatistical Arbitrage Pairs Trading, Long-Short Strategy
Statistical Arbitrage Pairs Trading, Long-Short Strategy
 
Portfolio management
Portfolio managementPortfolio management
Portfolio management
 

Recently uploaded

Money20/20 and EU Networking Event of 20/24!
Money20/20 and EU Networking Event of 20/24!Money20/20 and EU Networking Event of 20/24!
Money20/20 and EU Networking Event of 20/24!
FinTech Belgium
 
Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...
Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...
Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...
AntoniaOwensDetwiler
 
falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...
falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...
falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...
Falcon Invoice Discounting
 
1. Elemental Economics - Introduction to mining.pdf
1. Elemental Economics - Introduction to mining.pdf1. Elemental Economics - Introduction to mining.pdf
1. Elemental Economics - Introduction to mining.pdf
Neal Brewster
 
STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...
STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...
STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...
sameer shah
 
Tumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdf
Tumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdfTumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdf
Tumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdf
Henry Tapper
 
在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样
在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样
在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样
5spllj1l
 
OAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptx
OAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptxOAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptx
OAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptx
hiddenlevers
 
快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样
快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样
快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样
rlo9fxi
 
falcon-invoice-discounting-a-strategic-approach-to-optimize-investments
falcon-invoice-discounting-a-strategic-approach-to-optimize-investmentsfalcon-invoice-discounting-a-strategic-approach-to-optimize-investments
falcon-invoice-discounting-a-strategic-approach-to-optimize-investments
Falcon Invoice Discounting
 
Instant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School DesignsInstant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School Designs
egoetzinger
 
一比一原版(IC毕业证)帝国理工大学毕业证如何办理
一比一原版(IC毕业证)帝国理工大学毕业证如何办理一比一原版(IC毕业证)帝国理工大学毕业证如何办理
一比一原版(IC毕业证)帝国理工大学毕业证如何办理
conose1
 
Using Online job postings and survey data to understand labour market trends
Using Online job postings and survey data to understand labour market trendsUsing Online job postings and survey data to understand labour market trends
Using Online job postings and survey data to understand labour market trends
Labour Market Information Council | Conseil de l’information sur le marché du travail
 
快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样
快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样
快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样
5spllj1l
 
Applying the Global Internal Audit Standards_AIS.pdf
Applying the Global Internal Audit Standards_AIS.pdfApplying the Global Internal Audit Standards_AIS.pdf
Applying the Global Internal Audit Standards_AIS.pdf
alexiusbrian1
 
一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理
一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理
一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理
obyzuk
 
FCCS Basic Accounts Outline and Hierarchy.pptx
FCCS Basic Accounts Outline and Hierarchy.pptxFCCS Basic Accounts Outline and Hierarchy.pptx
FCCS Basic Accounts Outline and Hierarchy.pptx
nalamynandan
 
Who Is the Largest Producer of Soybean in India Now.pdf
Who Is the Largest Producer of Soybean in India Now.pdfWho Is the Largest Producer of Soybean in India Now.pdf
Who Is the Largest Producer of Soybean in India Now.pdf
Price Vision
 
一比一原版(UoB毕业证)伯明翰大学毕业证如何办理
一比一原版(UoB毕业证)伯明翰大学毕业证如何办理一比一原版(UoB毕业证)伯明翰大学毕业证如何办理
一比一原版(UoB毕业证)伯明翰大学毕业证如何办理
nexop1
 
Pensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdf
Pensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdfPensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdf
Pensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdf
Henry Tapper
 

Recently uploaded (20)

Money20/20 and EU Networking Event of 20/24!
Money20/20 and EU Networking Event of 20/24!Money20/20 and EU Networking Event of 20/24!
Money20/20 and EU Networking Event of 20/24!
 
Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...
Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...
Independent Study - College of Wooster Research (2023-2024) FDI, Culture, Glo...
 
falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...
falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...
falcon-invoice-discounting-a-premier-investment-platform-for-superior-returns...
 
1. Elemental Economics - Introduction to mining.pdf
1. Elemental Economics - Introduction to mining.pdf1. Elemental Economics - Introduction to mining.pdf
1. Elemental Economics - Introduction to mining.pdf
 
STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...
STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...
STREETONOMICS: Exploring the Uncharted Territories of Informal Markets throug...
 
Tumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdf
Tumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdfTumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdf
Tumelo-deep-dive-into-pass-through-voting-Feb23 (1).pdf
 
在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样
在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样
在线办理(GU毕业证书)美国贡萨加大学毕业证学历证书一模一样
 
OAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptx
OAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptxOAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptx
OAT_RI_Ep20 WeighingTheRisks_May24_Trade Wars.pptx
 
快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样
快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样
快速制作美国迈阿密大学牛津分校毕业证文凭证书英文原版一模一样
 
falcon-invoice-discounting-a-strategic-approach-to-optimize-investments
falcon-invoice-discounting-a-strategic-approach-to-optimize-investmentsfalcon-invoice-discounting-a-strategic-approach-to-optimize-investments
falcon-invoice-discounting-a-strategic-approach-to-optimize-investments
 
Instant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School DesignsInstant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School Designs
 
一比一原版(IC毕业证)帝国理工大学毕业证如何办理
一比一原版(IC毕业证)帝国理工大学毕业证如何办理一比一原版(IC毕业证)帝国理工大学毕业证如何办理
一比一原版(IC毕业证)帝国理工大学毕业证如何办理
 
Using Online job postings and survey data to understand labour market trends
Using Online job postings and survey data to understand labour market trendsUsing Online job postings and survey data to understand labour market trends
Using Online job postings and survey data to understand labour market trends
 
快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样
快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样
快速办理(SMU毕业证书)南卫理公会大学毕业证毕业完成信一模一样
 
Applying the Global Internal Audit Standards_AIS.pdf
Applying the Global Internal Audit Standards_AIS.pdfApplying the Global Internal Audit Standards_AIS.pdf
Applying the Global Internal Audit Standards_AIS.pdf
 
一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理
一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理
一比一原版(GWU,GW毕业证)加利福尼亚大学|尔湾分校毕业证如何办理
 
FCCS Basic Accounts Outline and Hierarchy.pptx
FCCS Basic Accounts Outline and Hierarchy.pptxFCCS Basic Accounts Outline and Hierarchy.pptx
FCCS Basic Accounts Outline and Hierarchy.pptx
 
Who Is the Largest Producer of Soybean in India Now.pdf
Who Is the Largest Producer of Soybean in India Now.pdfWho Is the Largest Producer of Soybean in India Now.pdf
Who Is the Largest Producer of Soybean in India Now.pdf
 
一比一原版(UoB毕业证)伯明翰大学毕业证如何办理
一比一原版(UoB毕业证)伯明翰大学毕业证如何办理一比一原版(UoB毕业证)伯明翰大学毕业证如何办理
一比一原版(UoB毕业证)伯明翰大学毕业证如何办理
 
Pensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdf
Pensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdfPensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdf
Pensions and housing - Pensions PlayPen - 4 June 2024 v3 (1).pdf
 

Fair valuation of participating life insurance contracts with jump risk

  • 1. EMLYON Business School Specialized Master Quantitative Finance (2013 / 2014) Fair Valuation of Participating Contracts with Jump Risk KOUAM KAMGUIA AURELIEN ALEX Reg.No: 20142165
  • 2. Summary This report aims to detail the implementation of a Participating Life Insurance con- tract pricer in accordance with the fair value accounting principle of International Accounting Standard Board (IASB). • An inclusion of market and credit risk goes in line with the risk–sensitive approach promoted by Solvency II and enhances risk management. • The use of a double exponential random variable creates a rare case of in- cluding default risk whilst obtaining a closed–form formula. • A Taylor series approach is sufficiently accurate to approximate the confluent hypergeometric function within this application.
  • 3. CONTENTS Contents 1 The Contract 1 1.1 The Pricing framework . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Valuation for default at maturity: generic formulas . . . . . 3 1.2 European Option Pricing under a Double exponential jump-diffusion model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Computational Implementation 7 2.1 Source code of the file KouFormulas.cpp . . . . . . . . . . . . . . . 8 2.2 Source code of the file LicMath.h . . . . . . . . . . . . . . . . . . . 14
  • 5. LIST OF TABLES List of Tables 1 Balance Sheet as at 0 . . . . . . . . . . . . . . . . . . . . . . . . . . 1
  • 6. 1 The Contract The participating life insurance contract with guarantee (LIC) spans on the interval [0, T] and at time 0, the balance sheet of the insurer is as follows: Assets Liabilities A0 E0 L0 Table 1: Balance Sheet as at 0 where the assets portfolio, A0, is invested partially in equity such that E0 = (1 − α) A0 and bonds as L0 = αA0 in which α ∈ [0, 1]. The variable α is directly linked to the financial leverage β = L0 E0 . As the contract’s name states, the policyholder is guaranteed a minimum rate of return rg during the life of the contract, in other words she will receive at least at maturity LT g = L0ergT . In practice, the guaranteed rate rg is always less than the return of a risk–free asset of the same maturity. Under the conditions that the insurer is fully solvent during the period [0, T], the policyholders will receive additionally a fraction δ of financial earnings up to their contribution α to the funding of the portfolio. Formally, this relationship could be written as: δ AT − LT g . Courtois and Quittard-Pinon (2008) priced the LIC under two approaches: when default occurs solely at maturity and when default could occur anytime during the contract’s lifetime. For the time being, we will exclusively cover the first case in the rest of this document. 1
  • 7. 1.1 The Pricing framework The authors based their LIC pricing under the following assumptions about the insurance and financial market: 1. there are no transactions costs, taxes, or problems with indivisibilities of assets 2. there are a sufficient number of investors with comparable wealth levels so that each investor believes that he can buy and sell as much of an asset as he wants at the market price. 3. there exists an exchange market for borrowing and lending at the same rate of interest. 4. short–sales of all assets, with full use of the proceeds, is allowed. 5. The interest rate r is constant. 6. Under the risk–neutral world the firm’s assets portfolio, A , follows a geo- metric L´evy process notably: dA A− = rdt + σdz + d Nt k=1 (Zk − 1) − λζt (1) where r is the risk–free interest rate, σ is the asset’s volatility, z is a stan- dard Brownian motion, N is a Poisson process with constant intensity λ, Zk are strictly positive i.i.d random variables and ζ is here for compensation purposes. The random variable Z in the above equation is the novelty of this document over previous works on LIC pricing because not only it embeds insurer’s 2
  • 8. bankruptcy risk but also, provides quasi–closed–form formula. The random variables Yk = log(Zk) are i.i.d. and possess a double exponential density: fY (y) = pη1e−η1y 1{y≥0} + qη2e−η2y 1{y<0} (2) where η1 is the intensity of positive jumps, η2 is the intensity of negative jumps, p is the probability of upward jumps, q is the probability of downward jumps and p + q = 1. All sources of randomness z, N and Yk are independent. Using Ito’s lemma for jump–diffusions, it can be easily shown that the unique solution to the firm’s assets portfolio SDE is: At = A0exp Xt = A0exp r − λζ − 1 2 σ2 t + σzt + Nt k=1 Yk (3) 1.1.1 Valuation for default at maturity: generic formulas At maturity, there are 3 possible outcomes: Within the first case, the insurer is unable to meet its commitments and the firm is declared bankrupt. Policyholders receive the residual value of the insurer’s assets, that is AT and the equityholders nothing. In the second case, the end value of invested assets is greater than the promised assets value to policyholders but, less than the threshold to deliver bonuses to policyholders. Finally, the insurer is totally solvent at maturity and pays the bonus to the policyholders. The mathematical translation of the above explanation is: Θ (T) =    AT ifAT < Lg T Lg T ifLg T ≤ AT ≤ Lg T α Lg T + δ (αAT − Lg T ) ifAT > Lg T α 3
  • 9. Therefore, the arbitrage free price of the LIC can be rewritten as: VL (0) = EQ e−rT Lg T + δ (αAT − Lg T )+ − (Lg T − AT )+ or more precisely as: VL (0) = A0 + δαC AT , Lg T α − C (AT , Lg T ) (4) where C(XT , K) is the price at time 0 of a European call with maturity T, un- derlying process X and strike K. It’s plain to see that the LIC pricing in this framework boils down to work out the price of a European call option in which the underlying process is normally and double exponentially distributed. Luckily, Kou (2002) developed such a formula. 1.2 European Option Pricing under a Double exponential jump-diffusion model Under a double exponential jump-diffusion model, Kou (2002) showed that an European Option can be computed as follows: ψc = S(0)Υ(r + 1 2 σ2 − λζ, ˜λ, ˜p, ˜η1, ˜η2, log(K/S(0)), T) − Ke−rT Υ(r − 1 2 σ2 − λζ, λ, p, η1, η2, log(K/S(0)), T) (5) where S(0) is the initial stock price, σ is the underlying instrument volatility, r, and λ are defined as in 1. η1, η2, p are defined as in 2. K is the strike price. Furthermore, parameters ˜p, ˜η1, ˜η2, ˜λ and ζ are used to price under the risk-neutral world. The relationships between ˜p, ˜η1, ˜η2 and ζ and the other variables are as follows: ˜λ = λ (1 + ζ) , ˜η1 = η1 − 1, ˜η2 = η2 + 1 4
  • 10. and: ˜p = p 1 + ζ η1 η1 − 1 and: ζ = p η1 η1 − 1 + q η2 η2 + 1 − 1 Υ(...) := P{Z(T) ≥ log(K/S(0))} stands for the sum of the double exponential and normal random vaviables and, equals to the cumulative distribution function of a standard normal random variable under the European Black-Scholes pricing. With πn := P(N(T) = n) = e−λT (λT)n /n! P{Z(T) ≥ a} = eση1 2 T 2 σ √ 2πT ∞ n=1 πn n k=1 Pn,k(σ √ Tη1)k × Ik−1(a − µT; −η1, − 1 σ √ T , −ση1 √ T) + eση1 2 T 2 σ √ 2πT ∞ n=1 πn n k=1 Qn,k(σ √ Tη2)k × Ik−1(a − µT; η2, 1 σ √ T , −ση2 √ T) + π0Φ(− a − µT σ √ T ) (6) where: Pn,k = n−1 i=k P(goingfrom(i, n − i)to(k, 0)) · P(startingfrom(i, n − i)) 5
  • 11. = n−1 i=k   n − k − 1 i − k   · η1 η1 + η2 i−k η2 η1 + η2 n−i pi qn−i , And Qn,k = n−1 i=k   n − k − 1 i − k   · η1 η1 + η2 n−i η2 η1 + η2 i−k qi pn−i And In (c; α, β, δ) = − eαc α n i=0 β α n−i × Hhi (βc − δ) + β α n+1 (2π) β × e αδ β + α2 2β2 Φ −βc + δ + α β when β > 0 , α = 0 and for all n ≥ −1. In (c; α, β, δ) = − eαc α n i=0 β α n−i × Hhi (βc − δ) − β α n+1 (2π) β ∗ × e αδ β + α2 2β2 Φ βc − δ − α β when β < 0 , α < 0 and for all n ≥ −1. Φ (...) is the standard normal cumulative distribution function. Hhn (x) is the Hodgkin - Huxley function defined as: Hhn (x) = 2−n 2 (π)e−x2 2 × 1F1 1 2 n + 1 2 , 1 2 , 1 2 x2 (2)Γ 1 + 1 2 n − x 1F1 1 2 n + 1, 3 2 , 1 2 x2 Γ 1 2 + 1 2 n where 1F1 (...) is the confluent hypergeometric function and Γ (...) is the gamma function. 6
  • 12. 2 Computational Implementation The development of a participating life insurance contract pricer was made in C++. In order to price a life insurance contract, the end–user will make use of the “KouFormulas.cpp” file. This file requires the integration of the “LicMath.h” file which embeds all the necessary mathematical functions for the application. Moreover, we employed some libraries from Boost. Once the “KouFormulas.cpp” file opens, she will click on the “Local Windows Debugger” button. The interface will subsequently request the following information: 1. The initial asset price. 2. The prevailing risk-free interest rate. 3. The asset’s volatility. 4. The average number of jumps per unit of time of the exponential random variable. 5. The probability value of positive jumps of the double exponential random variable. 6. The average number of positive jumps per unit of time of the double expo- nential random variable. 7. The average number of negative jumps per unit of time of the double expo- nential random variable. 8. The number of simulations required (Enter an integer value between 1 and 50). 9. The leverage coefficient or the proportion of assets invested in risk-free bonds. 7
  • 13. 10. The interest rate guaranteed to the policyholder at the contract’s maturity. 11. The participating coefficient. 12. The maturity of the contract. 2.1 Source code of the file KouFormulas.cpp // KouFormulas . cpp : Defines the entry point for the console // a p p l i c a t i o n . // // requires LicMath . h // #include<cmath> #include”LicMath . h” #include<boost /math/ d i s t r i b u t i o n s /normal . hpp> #include<iostream> //#i f ! defined ( MSC VER) using namespace std ; //#endif using boost : : math : : normal ; using namespace std ; double KouFormulas (double S0 , double K, double int r , double sigma , double lambda , double p , double eta1 , double eta2 , double n , double Expiry ) 8
  • 14. { //Compute the d i f f e r e n t parameters under the risk −neutral measure double a = log10 (K/S0 ) ; double variance = pow( sigma , 2 ) ; double zeta = (( p∗ eta1 )/( eta1 − 1)) + (((1 −p)∗ eta2 )/( eta2 +1)) − 1; double p est = (p/(1+ zeta )) ∗ ( eta1 /( eta1 −1)); double e t a 1 e s t = eta1 −1; double e t a 2 e s t = eta2 + 1; double i n t e n s i t y e s t = lambda ∗ (1+ zeta ) ; double new drift = (( i n t r + 0.5∗( variance ) − ( lambda ∗ zeta ))∗ Expiry ) ; double new drift1 = (( i n t r − 0.5∗( variance ) − ( lambda ∗ zeta ))∗ Expiry ) ; //Compute sum of Pnk and sum of Qnk double Sum Pnk rn = 0 . 0 ; double Sum Qnk rn = 0 . 0 ; double Sum Pnk = 0 . 0 ; double Sum Qnk = 0 . 0 ; double k d = 0 . 0 ; for (unsigned long long int k = 1; k<=n ; k++) { k d = static cast<double>(k ) ; Sum Pnk rn += Pnk(n , k d , eta1 est , eta2 est , p est ) ∗ pow( sigma∗ sqrt ( Expiry )∗ eta1 est , k d ) ∗ In ( k d −1,a − new drift ,− eta1 est , −(1/(sigma ∗ sqrt ( Expiry ) ) ) , −(sigma∗ e t a 1 e s t ∗ sqrt ( Expiry ) ) ) ; 9
  • 15. Sum Qnk rn += Qnk(n , k d , eta1 est , eta2 est , p est ) ∗ pow( sigma∗ sqrt ( Expiry )∗ eta2 est , k d ) ∗ In ( k d −1,a − new drift , eta2 est , (1/( sigma ∗ sqrt ( Expiry ) ) ) , −(sigma∗ e t a 2 e s t ∗ sqrt ( Expiry ) ) ) ; Sum Pnk += Pnk(n , k d , eta1 , eta2 , p) ∗ pow( sigma∗ sqrt ( Expiry )∗ eta1 , k d ) ∗ In ( k d −1,a − new drift1 ,−eta1 , −(1/(sigma ∗ sqrt ( Expiry ) ) ) , −(sigma∗ eta1 ∗ sqrt ( Expiry ) ) ) ; Sum Qnk += Qnk(n , k d , eta1 , eta2 , p) ∗ pow( sigma∗ sqrt ( Expiry )∗ eta2 , k d ) ∗ In ( k d −1,a − new drift1 , eta2 , (1/( sigma ∗ sqrt ( Expiry ) ) ) , −(sigma∗ eta2 ∗ sqrt ( Expiry ) ) ) ; } // Standard normal cdf are needed for the remaining of // t h i s a p p l i c a t i o n normal distribution <double> nv ( 0 , 1 ) ; // p o i s s o n d i s t r i b u t i o n <> pv ( lambda ) ; // define d1 and d2 to measure the r e s p e c t i v e // cumulative d i s t r i b u t i o n s double d1 , d2 = 0; d1 = ( exp (pow( sigma∗ eta1 est , 2 ) ∗ ( Expiry /2)))/( sigma ∗ 10
  • 16. sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry )) ∗ (gamma q(n+1, i n t e n s i t y e s t )) ∗ Sum Pnk rn + ( exp (pow( sigma∗ eta2 est , 2 ) ∗ ( Expiry /2))/( sigma ∗ sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry ) ) ) ∗ (gamma q(n+1, i n t e n s i t y e s t )) ∗ Sum Qnk rn + ( Ncdf (0 ,1 , −(a − new drift )/( sigma ∗ sqrt ( Expiry ) ) ) ) ; d2 = ( exp (pow( sigma∗eta1 , 2 ) ∗ ( Expiry /2)))/( sigma ∗ sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry )) ∗ (gamma q(n+1,lambda )) ∗ Sum Pnk + ( exp (pow( sigma∗eta2 , 2 ) ∗ ( Expiry /2))/( sigma ∗ sqrt (2∗ boost : : math : : constants : : pi<double>() ∗ Expiry ) ) ) ∗ (gamma q(n+1,lambda )) ∗ Sum Qnk + ( Ncdf (0 ,1 , −(a − new drift1 )/( sigma ∗ sqrt ( Expiry ) ) ) ) ; return ( S0 ∗ d1 ) − (K∗exp(− i n t r ∗Expiry )∗ d2 ) ; } // Define the Payoff of a l i f e insurance contract with p r o f i t s and // guarantee as in the O. Le Courtois and FQP (2008) paper double DMLIC(double A0, double int r , double alpha , double rg , double delta , double sigma , double lambda , double p , double eta1 , double eta2 , double n , double Expiry ) { // I n i t i a l i z e the contract parameters double L0 = alpha ∗ A0; double K1 LIC = (L0 ∗ exp ( rg ∗Expiry ))/ alpha ; double K2 LIC = (L0∗exp ( rg ∗Expiry ) ) ; 11
  • 17. return (A0 + ( delta ∗ alpha ∗( KouFormulas (A0, K1 LIC , int r , sigma , lambda , p , eta1 , eta2 , n , Expiry ) ) ) − KouFormulas (A0, K2 LIC , int r , sigma , lambda , p , eta1 , eta2 , n , Expiry ) ) ; } int main () { cout<<” Please enter the spot Asset price : ” <<endl ; double A0 = 0 . 0 ; cin>>A0; cout<<” Please enter the risk −f r e e i n t e r e s t rate : ” <<endl ; double r = 0 . 0 ; cin>>r ; cout<<” Please enter the V o l a t i l i y l e v e l : ” <<endl ; double Vol = 0 . 0 ; cin>>Vol ; cout<<” Please enter the i n t e n s i t y of the Poisson d i s t r i b u t i o n : ” ; cout<<endl ; double lambda = 0 . 0 ; cin>>lambda ; cout<<” Please enter the probability value of p o s i t i v e jumps : ” ; cout<<endl ; double p = 0 . 0 ; cin>>p ; cout<<” Please enter the i n t e n s i t y of p o s i t i v e jumps : ” <<endl ; 12
  • 18. double eta1 = 0 . 0 ; cin>>eta1 ; cout<<” Please enter the i n t e n s i t y of negative jumps : ” <<endl ; double eta2 = 0 . 0 ; cin>>eta2 ; cout<<” Please enter the n value ” <<endl ; int n = 0; cin>>n ; cout<<” Please enter the leverage c o e f f i c i e n t value ( alpha ) ” <<endl ; double alpha = 0; cin>>alpha ; cout<<” Please enter the guaranteed rate ” <<endl ; double rg = 0; cin>>rg ; cout<<” Please enter the p a r t i c i p a t i o n c o e f f i c i e n t value ( delta ) ” ; cout <<endl ; double delta = 0; cin>>delta ; cout<<” Please enter the maturity in years : ” <<endl ; double T = 0 . 0 ; cin>>T; for (n ; n<=70;n++) { cout<<”The value of the Life Insurance Contract with default ” ; 13
  • 19. cout<<at Maturity for n : ”<<n<<” i s : ”<<’ ’ ; cout<<DMLIC(A0, r , alpha , rg , delta , Vol , lambda , p , eta1 , eta2 , n ,T)<<; cout<<endl ; } system ( ”PAUSE” ) ; return 0; } 2.2 Source code of the file LicMath.h // LicMath . h #ifndef LicMath #define LicMath #include<cmath> #include<iomanip> #include<iostream> #include<boost /math/ d i s t r i b u t i o n s . hpp> #include<boost /math/ d i s t r i b u t i o n s / poisson . hpp> #include<boost /math/ d i s t r i b u t i o n s /normal . hpp> #include<boost /numeric/ ublas /matrix . hpp> #include<boost /numeric/ ublas / vector . hpp> #include<boost /numeric/ ublas / io . hpp> #include<boost /math/ s p e c i a l f u n c t i o n s /gamma. hpp> using namespace std ; using namespace boost : : math ; 14
  • 20. using namespace boost : : math : : constants ; static const int g = 7; static const double Pi = 3.1415926535897932384626433832795028841972 ; static const double p [ g+2] = {0.99999999999980993 , 676.5203681218851 , −1259.1392167224028 , 771.32342877765313 , −176.61502916214059 , 12.507343278686905 , −0.13857109526572012 , 9.9843695780195716 e −6, 1.5056327351493116 e −7}; typedef unsigned long long int VLint ; typedef boost : : numeric : : ublas : : vector<int> VectorInt ; typedef boost : : numeric : : ublas : : vector<double> VectorDbl ; // Definition the f a c t o r i a l function double f a c t o r i a l ( VLint n) { i f (n ==0 | | n == 1) return 1; else return n ∗ f a c t o r i a l (n−1); } // Definition of the Combination function double nCk( VLint n , VLint k) { return f a c t o r i a l (n )/( f a c t o r i a l (k) ∗ f a c t o r i a l (n−k ) ) ; } // Definition of the minimum function 15
  • 21. template<class T> T mmin(T& a , T& b) { return (a<b) ? a : b ; } // Definition of the max function template<class T>T max(T& a , T& b) { return (a<b) ?b : a ; } // Definition of the Pnk function double Pnk( VLint n , VLint k , double eta1 , double eta2 , double p) { i f (n < 1) { cout<<”n i s equal or greater than 1”<<endl ; } i f ( k > n) { cout<<”k cannot be higher than n”<<endl ; } i f (p<0 | | p>1) { cout<< ”p i s a probability density function , t h e r e f o r e ” ; cout<<” l i e s within the i n t e r v a l 0 and 1”<<endl ; } i f ( eta1 <=1) 16
  • 22. { cout<< ” eta1 cannot be l e s s than 1”<<endl ; } i f ( eta2 <=0) { cout<< ” eta2 cannot be l e s s than 0”<<endl ; } double Y = 0 . 0 ; double j d = 0 . 0 ; for ( VLint i = k ; i<=n−1; i++) { j d = static cast<double>( i ) ; Y += nCk(n−k−1, i−k) ∗ pow(( eta1 )/( eta1+eta2 ) , i−k) ∗ pow(( eta2 )/( eta1+eta2 ) ,n−i )∗ (pow(p , i ))∗( pow(1−p , n−i ) ) ; } return Y; } // Definition of the Qnk function double Qnk( VLint n , VLint k , double eta1 , double eta2 , double p) { i f (n < 1) { cout<<”n i s equal or greater than 1”<<endl ; } i f ( k > n) { cout<<”k cannot be higher than n”<<endl ; 17
  • 23. } i f (p<0 | | p>1) { cout<< ”p i s a probability density function , ” ; cout<<” t h e r e f o r e l i e s within the i n t e r v a l 0 and 1”<<endl ; } i f ( eta1 <=1) { cout<< ”lambda1 cannot be l e s s than 1”<<endl ; } i f ( eta2 <=0) { cout<< ”lambda2 cannot be l e s s than 0”<<endl ; } double X = 0 . 0 ; double j d = 0 . 0 ; for ( VLint i = k ; i<=n−1; i++) { j d = static cast<double>( i ) ; X += nCk(n−k−1, j d−k) ∗pow(( eta1 )/( eta1+eta2 ) ,n−j d ) ∗ pow(( eta2 )/( eta1+eta2 ) , j d−k)∗ (pow(p , n−j d ))∗ (pow(1−p , j d ) ) ; } return X; } /∗Code adapted from the Taylor s e r i e s approximation of the confluent hypergeometric function 1F1(a ; b ; z ) developed by John Pearson as Part of his MSc d i s s e r t a t i o n ’ Computation of Hypergeometric Functions ’ 18
  • 24. ∗/ long double TaylorConfluentHypergeometric (double a , double b , double z ) { double t o l = pow(10 , −15); // I n i t i a l i s e a1 , vector of i n d i v i d u a l s terms , // and b1 which s t o r e s the sum // of the computed terms up to that point boost : : numeric : : ublas : : vector<double> a1 (500); a1 (1) = 1; double b1 = 1 . 0 ; for ( int j =1; j <500;++ j ) { //Compute the current entry of a1 in terms of l a s t a1 ( j +1) = ( a+j −1)/(b+j −1) ∗ z/ j ∗a1 ( j ) ; //Update the sum of computed terms up to that point b1 = b1+a1 ( j +1); i f ( fabs ( a1 ( j ))/ fabs ( b1 ) < t o l && fabs ( a1 ( j +1))/ fabs ( b1)< t o l ) break ; } return b1 ; } 19
  • 25. // Definition of the Hodgkin − Huxley function double Hh( const double& n , const int& x) { double A = (pow(2 ,( −n /2)))∗ sqrt ( boost : : math : : constants : : pi<double >())∗ ( exp (pow(x ,2)∗ −0.5)); double B = TaylorConfluentHypergeometric ((0.5∗ n )+0.5 ,0.5 , (0.5∗pow(x , 2 ) ) ) / ( sqrt (2) ∗ tgamma(1 + (0.5∗ n ) ) ) ; double C = −(x∗( TaylorConfluentHypergeometric ((0.5∗ n)+1 , 1 . 5 , ( 0 . 5 ∗ pow(x , 2 ) ) ) ) ) / ( tgamma((0.5)+(0.5∗ n ) ) ) ; return A ∗ (B+C) ; } // Definition of the In function double In ( const double& n , const double& c , const double& alpha , const double& beta , const double& delta1 ) { // Declare v a r i a b l e s which w i l l hold your values double r e s u l t 1 = 0 . 0 ; normal snd ( 0 , 1 ) ; double j d = 0 . 0 ; i f ( beta > 0 && alpha != 0) { for ( int i = 0; i<=n ; i++) { j d = static cast<double>( i ) ; r e s u l t 1 += (pow( beta /alpha , n−j d )) ∗ 20
  • 26. Hh( j d , ( beta ∗ c ) − delta1 ) + (pow(( beta / alpha ) , n+1) ∗ ( sqrt (2 ∗ boost : : math : : constants : : pi<double >())/ beta ) ∗ ( exp ( ( ( alpha ∗ delta1 )/( beta )) + pow( alpha ,2)/(2 ∗pow( beta , 2 ) ) ) ) ∗ ( cdf ( snd ,(− beta ∗ c ) + ( delta1 ) + ( alpha / beta ) ) ) ) ; } } i f ( beta < 0 && alpha < 0) { for ( int i = 0; i !=n ; i++) { j d = static cast<double>( i ) ; r e s u l t 1 += (pow( beta /alpha , n−j d )) ∗ Hh( j d , ( beta ∗ c ) − delta1 ) − (pow(( beta / alpha ) , n+1) ∗ ( sqrt (2 ∗ boost : : math : : constants : : pi<double >())/ beta ) ∗ ( exp ( ( ( alpha ∗ delta1 )/( beta )) + pow( alpha ,2)/ (2 ∗pow( beta , 2 ) ) ) ) ∗( cdf ( snd , ( beta ∗ c ) − ( delta1 ) − ( alpha / beta ) ) ) ) ; } } return −(exp ( alpha ∗ c )/ alpha ) ∗ r e s u l t 1 ; } // Definition of the normal p r o b a b i l i t y density function double npdf (double mu, double sigma , double x) { return (1.0 / ( sqrt (2.0 ∗ boost : : math : : constants : : pi<double >())) ∗ sigma ) ∗ exp( −0.5 ∗ (pow(x−mu, 2 ) / 21
  • 27. (pow( sigma , 2 ) ) ) ) ; } /∗ Approximation of the normal cumulative d i s t r i b u t i o n from Haug .E (1998) ”The Complete Guide to Option Pricing Formulas” ∗/ double Ncdf (double mu, double sigma , double x) { double a1 , a2 , a3 , k ; double r e s u l t = 0 . 0 ; a1 = 0.4361836; a2 = −0.1201676; a3 = 0.937298; k = 1.0 / (1.0 + (0.33267 ∗ x ) ) ; i f (x >= 0) { r e s u l t = 1 − npdf (mu, sigma , x) ∗ ( a1 ∗ k + ( a2 ∗ k ∗ k) + ( a3 ∗ k ∗ k ∗ k ) ) ; } else { r e s u l t = 1 − Ncdf (mu, sigma , −x ) ; } return r e s u l t ; } 22
  • 29. References Courtois, O. L. and Quittard-Pinon, F. (2008). Fair valuation of participating life insurance contracts with jump risk. The Geneva Risk and Insurance Review, 33. Kou, S. (2002). A jump diffusion model for option pricing. Management Science, 48(8):1086–1101. 24