{"categories":["Fixed Income"],"contentHtml":"<h3>LMM</h3><p>The <strong>LIBOR Market Model</strong> (or <strong>Brace-Gatarek-Musiela Model</strong>)</p><p>is a model constructed in terms of the forward rates underlying caplet prices.</p><p>HJM was defined as a process for the forwards.</p><p>Basically the benefit was that it could model the entire term structure, as long as you input all the volatilities for the term structure.</p><p>But the problem is the calibration.</p><p>Notation</p><p><math><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math> kth reset date</p><p>So <math><msub><mi>𝑡</mi><mn>0</mn></msub><mo>=</mo><mn>0</mn></math>, <math><msub><mi>𝑡</mi><mn>1</mn></msub><mo>=</mo><mn>0.25</mn></math>, <math><msub><mi>𝑡</mi><mn>2</mn></msub><mo>=</mo><mn>0.5</mn></math>, …</p><p><math><msub><mi>𝐹</mi><mi>𝑘</mi></msub></math> forward rate between <math><mi>𝑘</mi></math> and <math><mi>𝑘</mi><mo>+</mo><mn>1</mn></math></p><p><math><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math> index for next reset date at time <math><mi>𝑡</mi></math>.</p><p>So if <math><mi>𝑡</mi><mo>=</mo><mn>0.4</mn></math>, then <math><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>=</mo><mn>0.5</mn></math>.</p><p><math><msub><mi>𝛿</mi><mi>𝑘</mi></msub><mo>=</mo><msub><mi>𝑡</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math></p><p>So basically you can imagine that you have your forward curve,</p><p><math><mi>𝜉</mi></math>: <math><mi>𝜉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math> = volatility of <math><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math> at time <math><mi>𝑡</mi></math></p><p>Assume that we have only one factor</p><p>This factor is the forward risk neutral process with respect to <math><mi>𝑃</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo>,</mo><msub><mi>𝑡</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo stretchy=\"false\">)</mo></math></p><p>Then, our process</p><math display=\"block\"><mi>𝑑</mi><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>=</mo><msub><mi>𝜉</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mi>𝑑</mi><mi>𝑊</mi></math><p>The change is driven by the volatility, existing forward rate, and Brownian motion.</p><p>Applying some change of numeraire, skipping some steps, you get</p><p>the rolling forward rate process (in notes)</p><p>Price of a ZCB at time t_i which is discounted, the ratio of that to t_i+1</p><math display=\"block\"><mfrac><mrow><mi>𝑃</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo>,</mo><msub><mi>𝑡</mi><mi>𝑖</mi></msub><mo stretchy=\"false\">)</mo></mrow><mrow><mi>𝑃</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo>,</mo><msub><mi>𝑡</mi><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo stretchy=\"false\">)</mo></mrow></mfrac><mo>=</mo><mn>1</mn><mo>+</mo><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math><p>If you apply the natural log, you get</p><math display=\"block\"><mo lspace=\"0em\" rspace=\"0.16666666666666666em\">ln</mo><mi>𝑃</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo>,</mo><msub><mi>𝑡</mi><mi>𝑖</mi></msub><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>−</mo><mo form=\"prefix\" lspace=\"0em\" rspace=\"0.16666666666666666em\">ln</mo><mi>𝑃</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo>,</mo><msub><mi>𝑡</mi><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>=</mo><mo form=\"prefix\" lspace=\"0em\" rspace=\"0em\">ln</mo><mo form=\"prefix\" stretchy=\"false\">[</mo><mn>1</mn><mo>+</mo><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo stretchy=\"false\">]</mo></math><p>This is the relationship between the ZCB and the forward.</p><p>Then if you apply Ito’s lemma… and equate coefficient of dW</p><p>something long…</p><p>Then you can take the substitution of the forward process.</p><math display=\"block\"><mfrac><mrow><mi>𝑑</mi><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mrow><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></mfrac><mo>=</mo><munderover><mo form=\"prefix\" lspace=\"0em\">∑</mo><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">=</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mi>𝑘</mi></munderover><mfrac><mrow><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><msub><mi>𝜉</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><msub><mi>𝜉</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mrow><mn>1</mn><mo>+</mo><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></mfrac><mi>𝑑</mi><mi>𝑡</mi><mo>+</mo><msub><mi>𝜉</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mi>𝑑</mi><mi>𝑊</mi></math><p>This is the process followed by the forward rate between <math><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math> and <math><msub><mi>𝑡</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub></math>, in a risk-neutral world.</p><p>In the limiting case, when this interval becomes smaller, this converges to HJM</p><p>The idea is being able to calibrate this model.</p><p>It can be simplified with:</p><h3>Simplified Model</h3><p>Assume that <math><msub><mi>𝜉</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math> functions only on the number of whole accrued periods between the next date and <math><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math>.</p><p>Define <math><msub><mi mathvariant=\"normal\">Λ</mi><mi>𝑖</mi></msub></math> as the value of <math><msub><mi>𝜉</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math> (volatility of the forward) when there are <math><mi>𝑖</mi></math> such accrued periods.</p><p>Then the volatility of the forward can be redefined as</p><p><math><msub><mi>𝜉</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>=</mo><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></msub></math> which is a step function</p><p>And such values like <math><msub><mi mathvariant=\"normal\">Λ</mi><mi>𝑖</mi></msub></math> can be estimated from the volatilities used to value caplets in Black’s model.</p><p>Recall that to value a caplet, we have</p><math display=\"block\"><mi>𝐿</mi><msub><mi>𝛿</mi><mi>𝑘</mi></msub><mi>𝑃</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mn>0</mn><mo>,</mo><msub><mi>𝑡</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo form=\"postfix\" stretchy=\"false\">)</mo><mo form=\"prefix\" stretchy=\"false\">[</mo><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mi>𝑁</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><msub><mi>𝑑</mi><mn>1</mn></msub><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>−</mo><msub><mi>𝑅</mi><mi>𝑘</mi></msub><mi>𝑁</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><msub><mi>𝑑</mi><mn>2</mn></msub><mo form=\"postfix\" stretchy=\"false\">)</mo><mo stretchy=\"false\">]</mo></math><p>blah blah blah <math><msub><mi>𝑑</mi><mn>1</mn></msub></math> and <math><msub><mi>𝑑</mi><mn>2</mn></msub></math></p><p>If we equate the variances between Black’s model and this, we get</p><math display=\"block\"><msubsup><mi>𝜎</mi><mi>𝑘</mi><mn>2</mn></msubsup><msub><mi>𝑡</mi><mi>𝑘</mi></msub><mo>=</mo><munderover><mo form=\"prefix\" lspace=\"0em\">∑</mo><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">=</mo><mn>1</mn></mrow><mi>𝑘</mi></munderover><msubsup><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑖</mi></mrow><mn>2</mn></msubsup><msub><mi>𝛿</mi><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mn>1</mn></mrow></msub></math><p>Lecture 5, slide 11 (PDF p. 11), gives the calibration example in its own words: “If Black volatilities for the first three caplets are 24%, 22%, and 20%, then <math><msub><mi mathvariant=\"normal\">Λ</mi><mn>0</mn></msub><mo>=</mo><mn>24.00</mn><mi>%</mi></math>, <math><msub><mi mathvariant=\"normal\">Λ</mi><mn>1</mn></msub><mo>=</mo><mn>19.80</mn><mi>%</mi></math>, and <math><msub><mi mathvariant=\"normal\">Λ</mi><mn>2</mn></msub><mo>=</mo><mn>15.23</mn><mi>%</mi></math>.”</p><h3>Implementation</h3><p>How would I use this model to price a bond. If you observe the volatility, then you can price a bond under this?</p><p>This would be done via Monte Carlo simulation</p><math display=\"block\"><mfrac><mrow><mi>𝑑</mi><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mrow><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></mfrac><mo>=</mo><munderover><mo form=\"prefix\" lspace=\"0em\">∑</mo><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">=</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mi>𝑘</mi></munderover><mfrac><mrow><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></msub><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></msub></mrow><mrow><mn>1</mn><mo>+</mo><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></mfrac><mi>𝑑</mi><mi>𝑡</mi><mo>+</mo><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></msub><mi>𝑑</mi><mi>𝑊</mi></math><p>Then, by Ito’s lemma,</p><math display=\"block\"><mi>𝑑</mi><mo form=\"prefix\" lspace=\"0.16666666666666666em\" rspace=\"0.16666666666666666em\">ln</mo><msub><mi>𝐹</mi><mi>𝑘</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>=</mo><mrow><mo>[</mo><mrow><munderover><mo lspace=\"0em\">∑</mo><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">=</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mi>𝑘</mi></munderover><mfrac><mrow><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></msub><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑚</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></msub></mrow><mrow><mn>1</mn><mo>+</mo><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></mfrac></mrow><mo>]</mo></mrow><mi>𝑑</mi><mi>𝑡</mi><mo>+</mo><mtext>same thing as above</mtext></math><p>Then we can approximate the drift by approximating <math><msub><mi>𝐹</mi><mi>𝑖</mi></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math> and <math><mi>𝑡</mi></math></p><p>Then,</p><math display=\"block\"><msub><mi>𝐹</mi><mrow><mi>𝑘</mi><mrow><mo>(</mo><msub><mi>𝑡</mi><mrow><mi>𝑗</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow></msub><mo>=</mo><msub><mi>𝐹</mi><mrow><mi>𝑘</mi><mrow><mo>(</mo><mi>𝑡</mi><mo>)</mo></mrow></mrow></msub><mo form=\"prefix\" lspace=\"0.16666666666666666em\" rspace=\"0em\">exp</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><munderover><mo lspace=\"0em\">∑</mo><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">=</mo><mi>𝑗</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow><mi>𝑘</mi></munderover><mfrac><mrow><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mrow><mi>𝑖</mi><mrow><mo>(</mo><msub><mi>𝑡</mi><mi>𝑗</mi></msub><mo>)</mo></mrow></mrow></msub><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑖</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑗</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mn>1</mn></mrow></msub></mrow><mrow><mn>1</mn><mo>+</mo><msub><mi>𝛿</mi><mi>𝑖</mi></msub><msub><mi>𝐹</mi><mrow><mi>𝑖</mi><mrow><mo>(</mo><msub><mi>𝑡</mi><mi>𝑗</mi></msub><mo>)</mo></mrow></mrow></msub></mrow></mfrac><mo>−</mo><mfrac><msubsup><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑗</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mn>1</mn></mrow><mn>2</mn></msubsup><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><msub><mi>𝛿</mi><mi>𝑗</mi></msub><mo>+</mo><msub><mi mathvariant=\"normal\">Λ</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mi>𝑗</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mn>1</mn></mrow></msub><mi>𝜖</mi><msqrt><msub><mi>𝑑</mi><mi>𝑗</mi></msub></msqrt></mrow><mo>)</mo></mrow></math><p>Lecture 5, slide 8 (PDF p. 8), defines <math><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math> as the kth reset date, <math><msub><mi>𝐹</mi><mrow><mi>𝑘</mi><mrow><mo>(</mo><mi>𝑡</mi><mo>)</mo></mrow></mrow></msub></math> as the forward rate between <math><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math> and <math><msub><mi>𝑡</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub></math>, <math><mi>𝑚</mi><mrow><mo>(</mo><mi>𝑡</mi><mo>)</mo></mrow></math> as the index for the next reset date at time <math><mi>𝑡</mi></math>, and <math><msub><mi>𝛿</mi><mi>𝑘</mi></msub><mo>=</mo><msub><mi>𝑡</mi><mrow><mi>𝑘</mi><mo lspace=\"0em\" rspace=\"0em\">+</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>𝑡</mi><mi>𝑘</mi></msub></math>.</p><p>ipynb file is provided</p><p>Each approximation of the drift the forward rate remains constant.</p><p>If we define the rolling forward in the risk neutral world, it allows us to discount bond from one date to the next one.</p><p>In terms of simulation, what’s happening in the code is that if you assume that we want to simulate a zero curve with N accrued periods.</p><p>On each trial, we start with the forward rate at time 0, which is calculated from the initial zero curve.</p><p><math><msub><mi>𝐹</mi><mn>0</mn></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mn>0</mn><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>,</mo><msub><mi>𝐹</mi><mn>1</mn></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mn>0</mn><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>,</mo><mi>…</mi><mo>,</mo><msub><mi>𝐹</mi><mrow><mi>𝑁</mi><mo lspace=\"0em\" rspace=\"0em\">−</mo><mn>1</mn></mrow></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><mn>0</mn><mo stretchy=\"false\">)</mo></math></p><p>Then we can use an approximation formula (described above) to calculate <math><msub><mi>𝐹</mi><mn>1</mn></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><msub><mi>𝑡</mi><mn>1</mn></msub><mo stretchy=\"false\">)</mo></math>, <math><msub><mi>𝐹</mi><mn>2</mn></msub><mo form=\"prefix\" stretchy=\"false\">(</mo><msub><mi>𝑡</mi><mn>1</mn></msub><mo stretchy=\"false\">)</mo></math>…</p><p>Limitations of the theoretical model</p><h3>Credit Risk</h3><p>LMM is a little complicated, this is just an introduction to the topic.</p><p>Credit risk is the probability that a debtor will default on their debts. We have always assumption that the cash flow is 100% likely i.e.&nbsp;with treasury bonds.</p><p>For single-name derivatives, we will look at CDS and CDOs. Then we will look at portfolios. We are interested in expected loss, with a discrete number of names in the portfolio, to estimate the losses in order to price the portfolio correctly.</p><p>Rating agencies will rate the credit risk of bonds.</p><p>S&amp;P says AAA, AA, A, BBB, BB, B, CCC, CC, C</p><p>Moody’s has Aaa, Aa, A, Baa, Ba, B, Caa, Ca and C</p><p>Bonds with ratings of BBB and above are investment grade</p><p>These are measured as bands of probabilities.</p><h4>Question about Diversification</h4><p>By diversifying your portfolio into multiple assets, you decrease the credit risk. Then you can securitize the portfolio by splitting it into tranches, and then get the CDO.</p><p>And then payment in the bonds</p><p>You can have nonlinear dependence between variables, and tail dependence between variables which is conditional. Then the probability of default, what is the likelihood of this house being on fire if this other house is on fire? If the answer is not 0, then you have tail dependence.</p><p>We will look at different models that measure this.</p><h4>Hazard Rates</h4><p>Also known as default intensity, this is the probability of default for a certain time period conditional on no earlier default.</p><p>Unconditional default probability is from 0.</p><p>We are given a table that has cumulative default rates.</p><p>In order to calculate the probability that A defaults in the first year, you take the actual probability. Then if it’s the second year, we’re concerned with the cdf(2) - cdf(1).</p><p>Then the probability of survival is 1 - this</p><p>This is all unconditional default probability.</p><p>Then the conditional probabilities are known as default intensities or hazard rates</p><p>The unconditional probability of default within a certain default vs the survival probability.</p><p>The survival probability is V(t)</p><math display=\"block\"><mi>𝜆</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mi mathvariant=\"normal\">Δ</mi><mi>𝑡</mi><mo>=</mo><mfrac><mrow><mi>𝑉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>−</mo><mi>𝑉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo>+</mo><mi mathvariant=\"normal\">Δ</mi><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mrow><mi>𝑉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow></mfrac></math><p>Then you get the ODE</p><math display=\"block\"><mfrac><mrow><mi>𝑑</mi><mi>𝑉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></mrow><mrow><mi>𝑑</mi><mi>𝑡</mi></mrow></mfrac><mo>=</mo><mo form=\"prefix\">−</mo><mi>𝜆</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mi>𝑉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo stretchy=\"false\">)</mo></math><math display=\"block\"><mi>𝑉</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mo>=</mo><msup><mi>𝑒</mi><mrow><mo>−</mo><msubsup><mo form=\"prefix\">∫</mo><mn>0</mn><mi>𝑡</mi></msubsup><mi>𝜆</mi><mo form=\"prefix\" stretchy=\"false\">(</mo><mi>𝑡</mi><mo form=\"postfix\" stretchy=\"false\">)</mo><mi>𝑑</mi><mi>𝑡</mi></mrow></msup></math><p>Then the survival probability can be found by integrating over the hazard rate. So if you have a specification of the hazard rate, you can find the cumulative survival probability.</p><p>Then we can also discuss the cumulative default probability.</p><p>We can use the CDS to determine the piecewise constant hazard rates and then construct the survival probabilities.</p><p>So this is a calibration in which we can price the risk of default through CDS.</p><p>First we will look at bonds.</p>","contentSourceFormat":"typst","contentTypst":"== LMM\n<lmm>\nThe #strong[LIBOR Market Model] (or #strong[Brace-Gatarek-Musiela Model])\n\nis a model constructed in terms of the forward rates underlying caplet prices.\n\nHJM was defined as a process for the forwards.\n\nBasically the benefit was that it could model the entire term structure, as long as you input all the volatilities for the term structure.\n\nBut the problem is the calibration.\n\nNotation\n\n$t_k$ kth reset date\n\nSo $t_0 = 0$, $t_1 = 0.25$, $t_2 = 0.5$, …\n\n$F_k$ forward rate between $k$ and $k + 1$\n\n$m\\(t\\)$ index for next reset date at time $t$.\n\nSo if $t = 0.4$, then $m\\(t\\)= 0.5$.\n\n$delta_k = t_(k + 1) - t_k$\n\nSo basically you can imagine that you have your forward curve,\n\n$xi$: $xi\\(t\\)$ = volatility of $F_k\\(t\\)$ at time $t$\n\nAssume that we have only one factor\n\nThis factor is the forward risk neutral process with respect to $P\\(t\\,t_(k + 1)\\)$\n\nThen, our process\n\n$ d F_k\\(t\\)= xi_k\\(t\\)F_k\\(t\\)d W $\n\nThe change is driven by the volatility, existing forward rate, and Brownian motion.\n\nApplying some change of numeraire, skipping some steps, you get\n\nthe rolling forward rate process (in notes)\n\nPrice of a ZCB at time t\\_i which is discounted, the ratio of that to t\\_i+1\n\n$ frac(P\\(t\\,t_i\\), P\\(t\\,t_(i + 1)\\)) = 1 + delta_i F_i\\(t\\) $\n\nIf you apply the natural log, you get\n\n$ ln P\\(t\\,t_i\\)- ln P\\(t\\,t_(i + 1)\\)= ln\\[1 + delta_i F_i\\(t\\)\\] $\n\nThis is the relationship between the ZCB and the forward.\n\nThen if you apply Ito's lemma… and equate coefficient of dW\n\nsomething long…\n\nThen you can take the substitution of the forward process.\n\n$ frac(d F_k\\(t\\), F_k\\(t\\)) = sum_(i = m\\(t\\))^k frac(delta_i F_i\\(t\\)xi_i\\(t\\)xi_k\\(t\\), 1 + delta_i F_i\\(t\\)) d t + xi_k\\(t\\)d W $\n\nThis is the process followed by the forward rate between $t_k$ and $t_(k + 1)$, in a risk-neutral world.\n\nIn the limiting case, when this interval becomes smaller, this converges to HJM\n\nThe idea is being able to calibrate this model.\n\nIt can be simplified with:\n\n== Simplified Model\n<simplified-model>\nAssume that $xi_k\\(t\\)$ functions only on the number of whole accrued periods between the next date and $t_k$.\n\nDefine $Lambda_i$ as the value of $xi_k\\(t\\)$ (volatility of the forward) when there are $i$ such accrued periods.\n\nThen the volatility of the forward can be redefined as\n\n$xi_k\\(t\\)= Lambda_(k - m\\(t\\))$ which is a step function\n\nAnd such values like $Lambda_i$ can be estimated from the volatilities used to value caplets in Black's model.\n\nRecall that to value a caplet, we have\n\n$ L delta_k P\\(0\\,t_(k + 1)\\)\\[F_k N\\(d_1\\)- R_k N\\(d_2\\)\\] $\n\nblah blah blah $d_1$ and $d_2$\n\nIf we equate the variances between Black's model and this, we get\n\n$ sigma_k^2 t_k = sum_(i = 1)^k Lambda_(k - i)^2 delta_(i - 1) $\n\nLecture 5, slide 11 (PDF p. 11), gives the calibration example in its own words: “If Black volatilities for the first three caplets are 24%, 22%, and 20%, then $Lambda_0=24.00\\%$, $Lambda_1=19.80\\%$, and $Lambda_2=15.23\\%$.”\n\n== Implementation\n<implementation>\nHow would I use this model to price a bond. If you observe the volatility, then you can price a bond under this?\n\nThis would be done via Monte Carlo simulation\n\n$ frac(d F_k\\(t\\), F_k\\(t\\)) = sum_(i = m\\(t\\))^k frac(delta_i F_i\\(t\\)Lambda_(i - m\\(t\\)) Lambda_(k - m\\(t\\)), 1 + delta_i F_i\\(t\\)) d t + Lambda_(k - m\\(t\\)) d W $\n\nThen, by Ito's lemma,\n\n$ d ln F_k\\(t\\)= [sum_(i = m\\(t\\))^k frac(delta_i F_i\\(t\\)Lambda_(i - m\\(t\\)) Lambda_(k - m\\(t\\)), 1 + delta_i F_i\\(t\\))] d t + upright(\"same thing as above\") $\n\nThen we can approximate the drift by approximating $F_i\\(t\\)$ and $t$\n\nThen,\n\n$ F_k(t_(j + 1)) = F_k(t) exp((sum_(i = j + 1)^k frac(delta_i F_i(t_j) Lambda_(i - j - 1), 1 + delta_i F_i(t_j)) - Lambda_(k - j - 1)^2 / 2) delta_j + Lambda_(k - j - 1) epsilon.alt sqrt(d_j)) $\n\nLecture 5, slide 8 (PDF p. 8), defines $t_k$ as the kth reset date, $F_k(t)$ as the forward rate between $t_k$ and $t_(k+1)$, $m(t)$ as the index for the next reset date at time $t$, and $delta_k=t_(k+1)-t_k$.\n\nipynb file is provided\n\nEach approximation of the drift the forward rate remains constant.\n\nIf we define the rolling forward in the risk neutral world, it allows us to discount bond from one date to the next one.\n\nIn terms of simulation, what's happening in the code is that if you assume that we want to simulate a zero curve with N accrued periods.\n\nOn each trial, we start with the forward rate at time 0, which is calculated from the initial zero curve.\n\n$F_0\\(0\\)\\,F_1\\(0\\)\\,dots.h\\,F_(N - 1)\\(0\\)$\n\nThen we can use an approximation formula (described above) to calculate $F_1\\(t_1\\)$, $F_2\\(t_1\\)$…\n\nLimitations of the theoretical model\n\n== Credit Risk\n<credit-risk>\nLMM is a little complicated, this is just an introduction to the topic.\n\nCredit risk is the probability that a debtor will default on their debts. We have always assumption that the cash flow is 100% likely i.e.~with treasury bonds.\n\nFor single-name derivatives, we will look at CDS and CDOs. Then we will look at portfolios. We are interested in expected loss, with a discrete number of names in the portfolio, to estimate the losses in order to price the portfolio correctly.\n\nRating agencies will rate the credit risk of bonds.\n\nS&P says AAA, AA, A, BBB, BB, B, CCC, CC, C\n\nMoody's has Aaa, Aa, A, Baa, Ba, B, Caa, Ca and C\n\nBonds with ratings of BBB and above are investment grade\n\nThese are measured as bands of probabilities.\n\n=== Question about Diversification\n<question-about-diversification>\nBy diversifying your portfolio into multiple assets, you decrease the credit risk. Then you can securitize the portfolio by splitting it into tranches, and then get the CDO.\n\nAnd then payment in the bonds\n\nYou can have nonlinear dependence between variables, and tail dependence between variables which is conditional. Then the probability of default, what is the likelihood of this house being on fire if this other house is on fire? If the answer is not 0, then you have tail dependence.\n\nWe will look at different models that measure this.\n\n=== Hazard Rates\n<hazard-rates>\nAlso known as default intensity, this is the probability of default for a certain time period conditional on no earlier default.\n\nUnconditional default probability is from 0.\n\nWe are given a table that has cumulative default rates.\n\nIn order to calculate the probability that A defaults in the first year, you take the actual probability. Then if it's the second year, we're concerned with the cdf(2) - cdf(1).\n\nThen the probability of survival is 1 - this\n\nThis is all unconditional default probability.\n\nThen the conditional probabilities are known as default intensities or hazard rates\n\nThe unconditional probability of default within a certain default vs the survival probability.\n\nThe survival probability is V(t)\n\n$ lambda\\(t\\)Delta t = frac(V\\(t\\)- V\\(t + Delta t\\), V\\(t\\)) $\n\nThen you get the ODE\n\n$ frac(d V\\(t\\), d t) = - lambda\\(t\\)V\\(t\\) $\n\n$ V\\(t\\)= e^(- integral_0^t lambda\\(t\\)d t) $\n\nThen the survival probability can be found by integrating over the hazard rate. So if you have a specification of the hazard rate, you can find the cumulative survival probability.\n\nThen we can also discuss the cumulative default probability.\n\nWe can use the CDS to determine the piecewise constant hazard rates and then construct the survival probabilities.\n\nSo this is a calibration in which we can price the risk of default through CDS.\n\nFirst we will look at bonds.","dataUrl":"https://sharifhsn.dev/api/posts/advanced-derivatives-week-08.json","date":"2025-03-20","datePublished":"2025-03-20","description":"The LIBOR Market Model (or Brace-Gatarek-Musiela Model ) is a model constructed in terms of the forward rates underlying caplet prices. HJM was defined as a process for the…","site":"https://sharifhsn.dev","slug":"advanced-derivatives-week-08","source":"Advanced Derivatives","sourceUrl":null,"tags":["Fixed Income","LIBOR Market Model","Interest Rate Models","Hazard Rates"],"title":"LIBOR Market Model and Hazard Rates","url":"https://sharifhsn.dev/blog/advanced-derivatives-week-08/","version":"1","wordCount":1598}