

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object Libor.LiborDerivatives.LiborDerivative Libor.LiborDerivatives.Swaption
Forward start payer swaption swpn(T,[T_p,T_q],k)
pays off
h=B_pq(T)*(S_pq(T)k)^+
at exercise time T=T_tau
,
where k
is the strike rate and S_pq(T)
is
the value of the [T_p,T_q]
swap rate at time T
.
Here B_pq
is the annuity
sum_{k=p}^{q1}delta_kB_{k+1}
as usual. The time
T=T_tau
of swaption exercise is assumed to be a point on the
Libor tenor structure.
Constructor Summary  
Swaption(LiborProcess LP,
int tau,
int p,
int q,
double kappa)
Libors needed for forward payoff are L_j, j>=tau
at time T_tau (forward transporting from time
T_tau ). 
Method Summary  
double 
analyticForwardPrice(int t)
Analytic approximation to the swaption price. 
double 
controlVariateMean(int t)
Mean of the control variate conditioned on the state of the Libor path at time t . 
double[] 
currentControlledForwardPayoff()
Control variate is (B_p(T)B_q(T))/B_n(T), T=T_tau . 
double 
currentForwardPayoff()
Payoff at time T_tau from current Libor path transported
forward from time T_tau to time T_n . 
double 
lognormalForwardPayoffSample()
The forward transported payoff (as seen from time t=0 )
computed from a new sample of the LiborVector object
U=(X^0_tau(T_tau),...,X^0_{n1}(T_tau)) , a lognormal
approximation to the vector of true Libors
U=(X_tau(T_tau),...,X_{n1}(T_tau)) . 
static void 
main(java.lang.String[] args)
Test program. 
double 
Sigma(int t)
Conditionally deterministic approximation to the aggregate volatility (square root of the quadratic variation <log(S_pq)>_t^T ) of the swap rate S_pq
to expiration conditioned on the state of the Libor process
at time t . 
double 
wpq(int j,
int t)
The weight w^{p,q}_j(t) in the representation of the
swap rate S_pq(t) as a convex combination of Libors. 
ColtVector 
xpq(int t)
The vector x_pq(t) used in the computation of the
approximation of the swap rate volatility. 
Methods inherited from class Libor.LiborDerivatives.LiborDerivative 
controlledForwardPayoff, controlledMonteCarloForwardPrice, forwardPayoff, lognormalForwardPayoff, lognormalMonteCarloForwardPrice, monteCarloForwardPrice 
Methods inherited from class java.lang.Object 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 
public Swaption(LiborProcess LP, int tau, int p, int q, double kappa)
L_j, j>=tau
at time T_tau
(forward transporting from time
T_tau
).
LP
 underlying Libor process.p
 swap begins at T_p
.q
 swap ends at T_q
.tau
 swaption exercises at time T_tau<=T_p
.kappa
 strike rate.Method Detail 
public double wpq(int j, int t)
The weight w^{p,q}_j(t)
in the representation of the
swap rate S_pq(t)
as a convex combination of Libors.
See LiborProcess.ps.
j
 Libor index in [p,q)
.t
 current discrete time.public ColtVector xpq(int t)
The vector x_pq(t)
used in the computation of the
approximation of the swap rate volatility. See
LiborProcess.ps.
t
 current discrete time.public double Sigma(int t)
Conditionally deterministic approximation
to the aggregate volatility (square root of the quadratic variation
<log(S_pq)>_t^T
) of the swap rate S_pq
to expiration conditioned on the state of the Libor process
at time t
.
This quantity is used in the analytic approximation to the swaption
price analyticForwardPrice(int)
. See LiborProcess.ps
t
 current discrete time.public double currentForwardPayoff()
T_tau
from current Libor path transported
forward from time T_tau
to time T_n
.
currentForwardPayoff
in class LiborDerivative
public double controlVariateMean(int t)
t
. This is
(B_p(t)B_q(t))/B_n(t)
(a P_n
martingale), see LiborProcess.ps.
controlVariateMean
in class LiborDerivative
t
 current discrete time t<=T
.public double[] currentControlledForwardPayoff()
(B_p(T)B_q(T))/B_n(T), T=T_tau
.
See LiborProcess.ps
currentControlledForwardPayoff
in class LiborDerivative
public double lognormalForwardPayoffSample()
The forward transported payoff (as seen from time t=0
)
computed from a new sample of the LiborVector
object
U=(X^0_tau(T_tau),...,X^0_{n1}(T_tau))
, a lognormal
approximation to the vector of true Libors
U=(X_tau(T_tau),...,X_{n1}(T_tau))
.
Recall X_j(t)=delta_jL_j(t)
, see document
LiborProcess.ps.
lognormalForwardPayoffSample
in class LiborDerivative
public double analyticForwardPrice(int t)
Analytic approximation to the swaption price. Based on a lognormal
distribution of the swap rate conditioned on the state of the Libor path
at the time t
of pricing.
analyticForwardPrice
in class LiborDerivative
t
 current discrete time.public static void main(java.lang.String[] args)
Test program. Allocates a Libor process of dimension
n=15
and prices the (at the money) swaption
swpn(T_5,[T_5,T_15],0.04)
.
The Monte Carlo forward price of this swaption
at time T_n
is compared to the analytic price and
to the Monte carlo price based on the lognormal Libor approximation
X0
and the correlation of the payoff with the control
variate computed.
The forward transporting and discounting involves all Libors
L_j, j>=5
.


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 