Page: 1 | Go to End | |
Author | Topic:Monte Carlo, CIR and Swaps | 1168 Views |
12 May 2013 at 4:25pm
Hello everyone,
I have two question regarding the use of short rate model to price a path-dependent swap
Even if I know that Fairmat can deal with my question, I'd like to understand few things
Let's say that the swap I want to price had the following features;
leg 1: vanilla (euribor 3m for instance)
leg 2: structured: the euribor 3 m is paid. as soon as a strike (s=1,5% for instance), the rate paid is 3% for the rest of the maturity.
In a Monte Carlo:
1) the short rate is simulate for a defined step: for instance 1/52 (just for the sake of this example: 1year = 52 weeks)
2) if the swap has a 5 year maturity then , the short rate has to be simulated for 5 years
3) Let's say that I only simulate 1 year: I want to determine the rate that will determine the cash-flow for the first tenor (that is to say in 3months = 0,25)
I would do this this way: even in a MC, the rate that defines the cash-flow is sopposed to be the forward rate at time 0,25 ?
If yes, then:
Fwd Euribor 3m in 3m= (P(0;0,25)/P(0;0,50)-1) / 0,25 where P(0;0,25) is the price of a ZCbond from the CIR model using: the parameters of the CIR AND the short rate simulated at the time 0,25
I wanted the foward euribor 3m in 3m and the maturity is defined by the fact that the forward is calculated using two discount factor that are seperated with 3 month ?
Then when the forward rates are defined, the structured leg can be defined
As you can see: the problem is that I don't understand how, from a short rate, we can define a rate with a maturity
and what rate exactly define the future cash flow (is it really the forward rate)
Sorry for all this question,
Once again, I know Fairmat can do everything on its own but I really would like to precisely understand what's behind it.
Thank you for your time and your help
Michael
13 May 2013 at 12:40pm
Hi MIchael,
each short rate model has his particular formula through which you can calculate bond prices (and the then also interest rates at every maturity) given only the short rate value.
A lot of commonly used models are called "affine term structure model" and for them bond prices are given by a formula of this kind
P(t,T) = exp( A(t,T) - B(t,T) * r(t) )
where A and B are two function completely determined by the model parameters and r(t) is the short rate at time t. CIR model is of this kind and you can find its A,B function in our CIR model documentation.
That said, suppose to have a single path simulation that gives a certain value of the short rate at t = 1, using the above formula you can obtain from that short rate all bond prices with t = 1 and whatever T you like. So for example you can calculate the bond price with T = t + 0.25 = 1.25 corresponding to a bond starting in t = 1 and paying three months later. From that bond price you can calculate the corresponding euribor 3m rate and that is what Fairmat do. That is the correct way a rate with a certain maturity is calculated from the short rate.
So for each simulation path you have a different value for the short rate int t = 1, a different euribor 3m and then a different cash flow. Then (putting aside the problem of discounting) taking the mean of cash flows for different simulation paths gives you the price.
If you use forward rates to determine cash flows the values you calculate will be the same in each simulation path... so you don't have to do a simulation at all!
The approach of substituting a forward rate in a payoff to be paid in the future is common but is wrong.
To convince you about that let me make an example. Suppose to have a payoff that pays 100 when the euribor 3m is above 4% while pays 0 if euribor 3m is lower or equal 4%. If the forward rate is equal to 3% then substituting it in the payoff formula would give a cash flow equal to zero. But the price of such a contract is surely different from zero because there will be some cases in which it will pay a different from zero amount. So to correctly evaluate it you have to simulate and see how many times the euribor 3m will be above 4% and how many times euribor 3m will be below 4%.
Enrico
13 May 2013 at 7:39pm
Hello Enrico,
Thank you very much for this explanation.
I think I finally understood my mistake thanks to you.
In fact, what I wanted to do is calculating the forward rates of each path and each period using the simulated r in the future which is a non sense.
Because the short rate is simulated in the future so I juste have to calculate the euribor rate from the P(t,T)
So one P(t,T) is needed:
E(t,T) = (1-P(t,T))/ ((T-t)*P(t,T))
(http://ieor.columbia.edu/files/seasdepts/industrial-engineering-operations-research/pdf-files/Brigo_D.pdf see page 7)
This rate will determine the cash-flow.
Am I right Enrico ?
Thanks
14 May 2013 at 11:53am
You're right!
That formula is precisely the one to be used to calculate rates that determine cash-flows using then only P(t,T) (different for each path).
Pleased to have helped you.
25 May 2013 at 2:37am
Enrico,
I still have another question.
The E(t,T) formula is E(t,T) = (1-P(t,T))/ ((T-t)*P(t,T))
Because P(t,T) is considered as a discount factor (ZCbond with boundary value of 1),
the E(t,T) formula is (1-df)/((T-t)*df)
wich is the formula to get a ZC rate from discount factors.
How come we can use this ZC rate then to calculate the cash - flows ?
Because they come from a discount factor related to the right period ?
Thank you again for your time Enrico
Mike
29 May 2013 at 11:16am
I'm not sure to have correctly understood your question.
In every derivative you have a payoff formula that connects the underlying to the amount payed or received.
Usually in interest rate derivatives the formula given in the contract doesn't represent directly the amount payed but the RATE payed in a certain period.
Let's suppose your contract has the euribor 6M as underlying, in the contract you can find something like:
if euribor 6M < 2% then it is payed a rate of 2%
if 2% < euribor 6M < 4% then it is payed euribor 6M
if euribor 6M > 4% then it is payed 4%
this kind of statements define a function that gives you a rate as a function of euribor 6M, let's indicate it with
Rate(euribor 6M)
Actual payments will be given by the formula
P = Notional * AccrualPeriod * Rate(eurbor 6M)
where there are 3 factors: the notional, the accrual period associated with the payment measured in the correct day-count convention, and the rate calculated from euribor 6M through the function Rate().
When you make a simulation the term E(t,T) with T-t = 6 month is precisely the simulated euribor 6M so for every path you can calculate a different payment has
P = Notional * AccrualPeriod * Rate(E(t,T))
that gives you the (not discounted) cash-flow for each path.
1168 Views | ||
Go to Top |
Currently Online: There is nobody online.
Welcome to our latest member: User4a8c