• Non ci sono risultati.

Credit Risk Modeling A.Y. 2017/18 M.A. in Finance A digression on simulation

N/A
N/A
Protected

Academic year: 2021

Condividi "Credit Risk Modeling A.Y. 2017/18 M.A. in Finance A digression on simulation"

Copied!
31
0
0

Testo completo

(1)

A.Y. 2017/18 M.A. in Finance A digression on simulation

Luca Regis1

1DEPS, University of Siena

(2)

Continuous-time diffusions

Let us now have a digression on simulation, starting from reviewing the methods to generate paths from

continuous-time purely diffusive processes.

We will consider sampling from solutions to Stochastic Differential Equations:

dX(t) = µ(t, X)dt + σ(t, X)dW (t), X(t0) = X0 First of all, generating sample paths amounts to discretizing the process, i.e. approximating it by considering its

realizations at a finite set of time points [t0, t1, ..., tN] and then interpolate to produce a continuous-time trajectory.

We usually split the sampling interval into equally spaced sub intervals.

(3)

Methods for generating diffusions

Samples from continuous diffusions can be generated using:

1 the exact transition density between two consecutive time points p(t,x;s,y).

2 the closed-form solution of the SDE, i.e. the exact dynamics followed by the process;

3 a dynamics which approximates the original SDE.

(4)

1-Exact Transition density

If the transition density

p(ti, xi; ti+1, xi+1) = P (X(ti+1) = xi+1|X(ti) = xi) is known for any pair of consecutive times, then:

Algorithm

1 Initialise X0= x0 and ∆t = T /N , where [0,T] is our sampling interval and N is the number of time steps.

2 For i=1,...N, sample Xi, from the density p(ti, ·; ti−1, Xi−1);

3 {Xi}i=0,...,N is a sample of process X on [0,T].

(5)

Example 1: Standard Brownian Motion

Consider the simple process dX(t) = dW (t). The standard brownian motion W(t) is a continuous stochastic process s.t.:

1 W (0) = 0;

2 The increments W (t) − W (s) are independent;

3 W (t) − W (s) is distributed as a N (0, t − s) for any 0 ≤ s < t ≤ T .

Subsequent values of the process W(t) can be generated easily, as we know the transition density between two consecutive time points:

W (ti) = W (ti−1) +pti− ti−1Zi, i = 1, ....N, where Z1, ..., Zn are independent standard normal random variables.

(6)

MATLAB code

function W=b_m_sim(T,N) dt=T/N;

W=zeros(N+1,1);

W(1)=0;

Z=icdf(’norm’,rand(N,1));

for i=1:N

W(i+1)= W(i)+sqrt{dt}*Z(i);

end

t=[0:dt,T];

plot(t,W,’*-’) end

(7)

A more interesting example: the Vasicek model

The Vasicek (1977) model is a well-known interest rate model for the short rate:

dr(t) = a (b − r(t)) dt + σdW (t), r(0) = r0. The Vasicek model falls into the domain of Gaussian models for the short rate and its transition density p(t, ·; s, y) is Normally distributed with mean b + e−a(t−s)(y − b) and variance σ2a2 1 − e−2a(t−s) .

(8)

MATLAB Simulation of Vasicek’s model

function X=Vasicek_sim(a,b,s,r0,T,N) X=zeros(N+1,1);

X(1)=r0;

dt=T/N;

for i=1:N

mu=b+exp(-a*dt)*(X(i)-b);

var=s^2*(1-exp(-2*a*dt))/(2*a);

X(i+1)=icdf(’norm’,rand,mu,sqrt(var));

end

t=[0:dt:T];

plot(t,X,’*’) end

(9)

2-Exact Solution

This method can be applied if the SDE can be solved explicitly, i.e. if there exists a functional of time t and the driving noise W up to time t such that

X(t) = G(t, {Wi}i=0,...t)

It consists in discretizing the underlying noise over a finite set of sampling times and apply the functional to obtain the value of the process X at that set of time points.

Algorithm

1 Set X0 = x0 and ∆t = T /N ;

2 For i = 1, ..., N sample the brownian motion W (ti) and set Xi = G(ti, {W (t1), ..., W (ti)})

3 (Xi)i=1,...,N is a sample of the process X on [0,T].

(10)

Example: Geometric Brownian Motion

The Geometric Brownian Motion is the most widely used model for stocks. It implies log-normal prices.

dS(t) = S(t) (rdt + σdW (t)) The solution of this SDE is

S(t) = S0exp



r −σ2 2



t + σW (t)

 . If we discretize it, we get:

Si= Si−1exp



r −σ2 2



∆t + σ

∆tZi



, i = 1, ..., N.

where Zis are independent samples from a standard normal random variable.

(11)

MATLAB Simulation of GBM

function S=GBM(r,s,S0,T,N) S=zeros(N+1,1);

S(1)=S0;

for i=1:N

S(i+1)=S(i)*...

exp((r-s^2/2)*dt+s*sqrt(dt)*randn);

end

t=[0:dt:T];

plot(t,S,’*-’)

(12)

3-Approximating the dynamics

When the two previoulsy described methods are not applicable, it is possible to simulate the solution

approximating the dynamics of the system, i.e. by solving the stochastic difference equation associated to the SDE.

There are several ways of approximating, we will see the most common one, the Euler scheme.

(13)

The Euler scheme

The SDE

dX(t) = µ(t, X)dt + σ(t, X)dW (t), X(t0) = X0 can be discretized in the following way:

Xi+1= Xi+ µ(ti, Xi)∆t + σ(ti, Xi)

∆tZi, where {Zi}’s are i.i.d. standard normals.

Algorithm

1 Set X0 = x0 and ∆t = T /N

2 For i = 0, ..., N − 1, sample Zi and compute Xi+1

3 Xi obtained this way is a sample of process X over [0,T]

(14)

Approximation Error

Being based on an approximation, the use of the Euler scheme entails an error.

Let XEU be the approximate solution computed based on the Euler Scheme and X the exact one. Then

Esupt∈[0,T ]|XEU(t) − X(t)|2 ≤ C∆t, with C constant.

The approximation error is smaller the smaller ∆t.

(15)

Example: Cox, Ingersoll, Ross (1985) process

The CIR process is used in the domain of interest rates. It is a square root process, which may never become negative:

dr(t) = a(b − X(t))dt + σp

r(t)dW (t).

We can discretize it using the Euler Scheme as:

rt+1= rt+ a(b − rt)∆t + σ√ rt

∆tZi, where {Zi}s are independent random samples from a standard normal distribution.

(16)

MATLAB Simulation of CIR process using Euler Scheme

function X=CIR(a,b,s,r0,T,N) X=zeros(N+1,1);

X(1)=r0;

dt=T/N;

for i=1:N

X(i+1)=X(i)+a*(b-X(i))*dt+s*sqrt(X(i))*sqrt(dt)*randn;

end

t=[0:dt:T];

plot(t,X,’*-’) end

(17)

Transition density for the CIR process

The CIR process has a known transition law:

r(t) = σ2(1 − e−a(t−s))

4a ∗ χ2d 4ae−a(t−s)

σ2(1 − e−a(t−s))r(s)

! , t > s,

where χ2d denotes the pdf of the non-central chi-squared distribution with d = 4abσ2 degrees of freedom.

Homework: Try to simulate the CIR process using its exact transition and compare the results with those obtained by using the Euler Scheme for different lengths of the time step dt.

(18)

Generating paths from jump processes

A jump process varies according to discontinuities only.

We consider a compound Poisson stochastic process

J (t) =

N (t)

X

j=1

Yj,

where

N describes the occurrence of jumps: for an event ω, for instance a jump trajectory, N (t, ω) counts the number of jumps between the initial time and current time t;

Yj represents the magnitude of the j-th jump.

(19)

Generating N and Y

In order to generate a path from a jump process it is necessary to simulate both N and Y.

N (t) is a counting process, i.e. a non-decreasing process that takes values in N and that defines the number of jumps occurred up to time t.

Y is generated by sampling from an assigned distribution.

Assume N and Y are independent.

(20)

Simulating a counting process

1 Generate the inter-arrival times, i.e. the time spans

between two consecutive jumps. They are random variables T1, ...TN.

2 Jump times, τ1, .., τN i.e. the instants at which jumps occur, are obtained as the cumulative sums of interarrival times:

τj =

j

X

i=1

Ti

3 For each time instant t, N (t) counts the number of jumps that have occurred since the beginning and prior to t:

N (t) =

+∞

X

n=1

1τn≤t.

(21)

Simulating a Poisson process

A homogeneous Poisson process is a unit-jump increasing process whose inter-arrival times are i.i.d. exponential.

Recall the density of the exponential distribution f (x) ∼ Exp(λ) = λe−λx

N (t) is distributed according to a Poisson law P o(λt):

fN (t)(n) = e−λt(λt)n/n!

N (t) can be simulated via conditional simulation or via countdown simulation.

(22)

Simulating the counting process

Algorithm - Conditional simulation

The algorithm samples the number of jump occurrences first, and then their location. Conditional on N (t) = n jump times of a homogeneous Poisson process are uniformly distributed on [0, T ].

1 Simulate N (T ) ∼ P o(λT ).

2 Simulate the N (T ) jump times τ1, ..., τN (T ) as uniform samples on [0, T ].

3 N (T ) and jump times are a sample form the Poisson process.

(23)

MATLAB code

function [NT,tau]=sim_Pp_cond(lambda,T) NT=icdf(’Poisson’,rand,lambda*T);

% alternatively, use NT=poissrnd(lambda*T);

tau=rand(NT,1).*T;

tau=sort(tau);

end

(24)

Countdown simulation

Algorithm

If λ is constant, N is a Poisson process and inter arrival times are exponentially distributed with parameter λ.

1 Let τ0= 0, i = 0

2 Set i = i + 1

3 Generate inter-arrival times from the exponential, for instance using the inverse transform method: generating U ∼ U [0, 1] and then Ti= −λ1log U .

4 Set τi= τi−1+ Ti

5 If τi≤ T , go to Step 2, otherwise return τ1, ..., τi−1 and the Poisson sample N (T ) = i − 1.

(25)

MATLAB code

function [NT,tau]=sim_Pp_count(lambda,T) tau(1)=0;

i=0;

while (tau(i+1)<=T) i=i+1;

tau(i+1)=tau(i)-log(rand)/lambda;

% alternatively, tau(i+1)=tau(i)+exprnd(lambda);

end

tau=tau(2:end);

NT=i-1;

end

(26)

Inhomogenous Poisson Process

In many applications, for instance in life insurance or credit risk, it is necessary to make use of a Poisson process with non-constant intensity.

The previous algorithms can be easily adapted.

Algorithm: conditional simulation

1 Simulate N (T ) ∼ P o

RT

0 λ(s)ds



2 Generate N (T ) independent inter-arrival times samples with common distribution density

fτ(t) = λ(t) RT

0 λ(s)ds

(27)

Cox Process

The previous algorithm can be easily adapted to simulate a Cox process as well, using a two step procedure:

Algorithm: conditional simulation given λ(t)

1 Simulate λ(t), for 0 ≤ t ≤ T and compute the corresponding Λ(t) =Rt

0λ(s)ds.

2 Conditional on the sampled λ(t), 0 ≤ t ≤ T , simulate a time-inhomogeneous Poisson Process:

Simulate N (T ) ∼ P o(Λ(T ))

Generate the N (T ) independent inter-arrival times samples that have common distribution density

fτ(t) = λ(t) RT

0 λ(s)ds .

(28)

Default arrival simulation

Indeed, when simulating a default arrival, the issue is simpler, because we are interested only in the first jump time of the Poisson process. In all cases, we simulate the arrival conditional on λ(t). We have two options:

1 Inverse-CDF Simulation: when the survival probability S(t, T ) is available in closed form, simulate U and let τ be chosen as the solution to

S(t, τ ) = U ;

2 Compensator Simulation: when Λ(t) can be simulated, exploit the fact that Λ(τ ) is exponentially distributed with parameter 1: S(0, τ ) = e−Λ(τ ). Then, simulate a standard unit-mean exponential variable Z, for which

P (Z > z) = e−z. Finally, let τ be the solution to Λ(τ ) = Z =⇒ τ = Λ−1(Z).

(29)

Issues with the simulation of default arrival from stripped intensities

Assume we have stripped a piecewise constant intensity from CDS quotes.

Then, we can use the compensator method(or, equivalently) the inverse-cdf method to simulate the jump time.

Two problems:

1 The hazard function Λ(t) is defined for 0 ≤ t ≤ T , where T is the last maturity for which CDS quotes are available.

Then, it is necessary to extend somehow the function Λ beyond Λ(T ), because if sampled exponential Z > Λ(T ) there is no solution to the equation.

2 To obtain an acceptable precision when using Monte-Carlo simulation to simulate default arrival it is necessary to use a large number of scenarios.

(30)

Jump-Diffusive Processes

Consider a jump-diffusive process

dX(t) = µ(t, X(t))dt + σ(t, X(t))dW (t) + η(t, X(t))dJ (t), where

J is a compound Poisson process J (t) =PN (t) j=1 Yj; X(t) = lims→tX(s);

ξ(t, x) is the jump intensity.

The idea is to simulate the continuous part and the jump part of the process separately.

(31)

Simulating a jump-diffusive process

Algorithm

1 Simulate the random jump times τ1, ...τm of the compound Poisson process;

2 Simulate the continuous part of the process at dates t1, ..., tn using the Euler scheme for instance, with ti= i∆t.

3 Simulate jump sizes and add them to the values X(ti) simulated at jump times.

Problem: τk’s need not coincide with ti’s.

Solution: approximate τk with τk = tj, where tj is the ti such that min |ti− τk| = |tj− τk|.

Riferimenti

Documenti correlati

Two main approaches to credit risk modeling, that differ, from a technical point of view, in the way default arrival, i.e. the time τ at which the default of a company occurs

Two main approaches to credit risk modeling, that differ, from a technical point of view, in the way default arrival, i.e. the time τ at which the default of a company occurs

R: “Gli affezionati, si fondamentalmente anche a livello di sponsorizzazione, non è stata fatta nessuna campagna di sponsorizzazione a pagamento, che ne so sui social

La natura digitale dell’archivio è qui particolarmente produttiva perché gli utenti del sito possono leggere questi materiali nel con- testo dell’archivio coloniale (visualizzando

Durante l’attraversamento della Calabria e la visita della Sicilia Ignazio Toraldo raccoglie osservazioni e registra le sue emozioni in un taccuino, desti- nato sicuramente

The criteria have been designed to apply in principle to all types of clinical audit - outcome, process and input, at the local, regional and national level, and against clinical

Precisamente partiendo de esta perspectiva, o sea, de la consideración del condicional como una síntesis de una antigua forma analítica, nos gustaría investigar los orígenes de

A simulation of the X-ray signal must take into account different sources of random- ness: (1) The (small) number of anomalous conduction electrons (paired to corresponding