

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object Statistics.RandomVector Libor.LiborProcess.LiborVector
The RandomVector
of Libors
U=(X_m(T_m),X_{m+1}(T_m),...,X_{n1}(T_m))
as seen from time
t=0
, ie. a snapshot of the Libors L_j, j>=m
at time T_m
.
No conditioning on information available at time t
.
Time t
is ignored.
Useful only for pricing at time t=0
.
The idea is that many Libor derivatives depend only on such a vector and that direct simulation of this vector is much faster than computation of Libor paths.
Unfortunately the only way to compute this vector accurately is to
derive it from Libor paths which is exactly what we want to avoid.
Fortunately there are logGaussian approximations to this vector
(the vector of logarithms log(X_j(T_j))
is multinormal)
with known mean and covariance matrix which can be simulated directly.
This class provides the basic interface to such a vector and implements
many methods associated with a LiborProcess (such as zero coupon bonds,
swap rates,...) now derived from the vector U
instead of true
Libor. This allows for fast approximate valuation of Libor derivatives
which depend only on the vecor U
.
A Libor process has methods to compute associated (approximate)
Libor vectors based on either the X0
or X1
approximation to true Libor and each Libor derivative maintains a reference
to both an underlying Libor process and associated Libor vector.
Note: obvioulsy there a large number of other vectors of Libors
which one might need. The current vector this
is useful
in the pricing of zero coupon bonds (test case) and swaptions.
Other vectors can be implemented similarly.
Constructor Summary  
LiborVector(LiborProcess LP,
int m)
The approximation to true Libor is either X0 or
X1 (see LiborProcess.ps). 
Method Summary  
double 
B_i0(int i)
The zero coupon bond B_i(0)=B(0,T_i) . 
double 
B_iTm(int i)
The zero coupon bond B_i(T_m) . 
double 
B_pq0(int p,
int q)
The annuity B_pq(t)=sum_{k=p}^{q1}delta_kB_{k+1}(t)
at time t=0 . 
double 
B_pqTm(int p,
int q)
The annuity B_pq(t)=sum_{k=p}^{q1}delta_kB_{k+1}(t) . 
double 
forwardTransport()
Accrual factor 1/B(T_m,T_n)=1/B(n,m) . 
double[] 
getValue(int t)
No conditioning on information available at time t . 
abstract void 
nextSample()
Writes the next random sample of the vector of (approximate) Libors U=(X_m(T_m),X_{m+1}(T_m),...,X_{n1}(T_m)) into the array
this.X . 
double 
S_pq0(int p,
int q)
The forward swap rate S_pq(t)=k(t,[T_p,T_q]) at time
t=0 . 
double 
S_pqTm(int p,
int q)
The forward swap rate S_pq(t)=k(t,[T_p,T_q]) at
discrete time t=T_m . 
Methods inherited from class java.lang.Object 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 
public LiborVector(LiborProcess LP, int m)
The approximation to true Libor is either X0
or
X1
(see LiborProcess.ps). At present only
X0
is supported and specification of approximation type
X1
defaults to type X0
.
Not intended to be instantiated directly. LiborVectors
are returned by methods of the class LiborProcess
.
LP
 underlying Libor process.m
 Libors X_j(T_m), j>=m
.Method Detail 
public double[] getValue(int t)
No conditioning on information available at time t
.
The time parameter is ignored.
getValue
in class RandomVector
t
 discrete time, ignored.public abstract void nextSample()
U=(X_m(T_m),X_{m+1}(T_m),...,X_{n1}(T_m))
into the array
this.X
.
public double B_i0(int i)
B_i(0)=B(0,T_i)
.
i
 bond matures at time T_i
B_iTm
public double B_iTm(int i)
 The zero coupon bond
B_i(T_m)
.
 Parameters:
i
 bond matures at time T_i
,
must satisfy T<=i
.
forwardTransport
public double forwardTransport()
Accrual factor 1/B(T_m,T_n)=1/B(n,m)
. This factor shifts
a cashflow from time T_m
to the horizon T_n
with Libors in state at time T_m
.
S_pqTm
public double S_pqTm(int p,
int q)
The forward swap rate S_pq(t)=k(t,[T_p,T_q])
at
discrete time t=T_m
.
 Parameters:
p
 swap begins at T_p
,
must satisfy m<=p
q
 swap ends at T_q
(settled).
S_pq0
public double S_pq0(int p,
int q)
The forward swap rate S_pq(t)=k(t,[T_p,T_q])
at time
t=0
.
 Parameters:
p
 swap begins at T_p
.q
 swap ends at T_q
(settled).
B_pqTm
public double B_pqTm(int p,
int q)
The annuity B_pq(t)=sum_{k=p}^{q1}delta_kB_{k+1}(t)
.
at time t=T_m
.
 Parameters:
p
 annuity begins at T_p
.q
 annuity ends at T_q
(settled).
B_pq0
public double B_pq0(int p,
int q)
The annuity B_pq(t)=sum_{k=p}^{q1}delta_kB_{k+1}(t)
at time t=0
.
 Parameters:
p
 annuity begins at T_p
.q
 annuity ends at T_q
(settled).
Overview
Package
Class
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED  FIELD  CONSTR  METHOD
DETAIL: FIELD  CONSTR  METHOD