part deux..we take a break from non-homogeneous diffusion (none of this Ito-Stratanovitch confusing business), and build some intuition on the conversion between SDE (Stochastic Differential Equations) and PDE (Partial Differential Equations) for the PDF (Probability Density Function). We will need that intuition when we attack the inhomogeneous diffusion in full earnest in Part "trois"
Part Deux of the Rates modeling presentation. This one is a little breather before attacking part III. Usually the morning or a couple of days after part I to review the basics. Have tried to put some graphs. More slides than less so that you can pick and choose when using them / giving a talk.
Lots of errors and typos, hope you enjoy them
Part IV - not my favorite one, because it feels like enumerating a lot of models and properties, but you need to go though it, and the proper treatment of instantaneous forward and short rate, as well as affine models, since they are historically quite important to the field for financial modeling. Again, all mistakes and typos are mine.
part deux..we take a break from non-homogeneous diffusion (none of this Ito-Stratanovitch confusing business), and build some intuition on the conversion between SDE (Stochastic Differential Equations) and PDE (Partial Differential Equations) for the PDF (Probability Density Function). We will need that intuition when we attack the inhomogeneous diffusion in full earnest in Part "trois"
Part Deux of the Rates modeling presentation. This one is a little breather before attacking part III. Usually the morning or a couple of days after part I to review the basics. Have tried to put some graphs. More slides than less so that you can pick and choose when using them / giving a talk.
Lots of errors and typos, hope you enjoy them
Part IV - not my favorite one, because it feels like enumerating a lot of models and properties, but you need to go though it, and the proper treatment of instantaneous forward and short rate, as well as affine models, since they are historically quite important to the field for financial modeling. Again, all mistakes and typos are mine.
"Le jeu du Taquin".
I was recently browsing some applications of AI in preparation for the class I am teaching at the University of Miami on Fintech, and le "Jeu du Taquin" (French name for the so-called fifteen puzzle in English), lends itself very well to applying some AI tools.
Some references below, in French mostly because "but of course", but also and more importantly including the seminal and important book written by my grandfather on this subject almost a hundred years ago ! ๐คฃ
"Plus ca change plus c'est la meme chose"
Hope that everything is well!
Stay safe, have a great weekend!
Luc.
A macroscopic drift of Brownian particles (1.5 and 2.5 pm diameter silica spheres in water) is induced by
switching on and off a spatially periodic asymmetric potential. It is defined by an ac voltage, applied between
asymmetrically shaped metallic electrodes deposited on a glass plate. The induced drift is a function of the
particle diffusion coefficient; one can thus select particles according to their size.
"Le jeu du Taquin".
I was recently browsing some applications of AI in preparation for the class I am teaching at the University of Miami on Fintech, and le "Jeu du Taquin" (French name for the so-called fifteen puzzle in English), lends itself very well to applying some AI tools.
Some references below, in French mostly because "but of course", but also and more importantly including the seminal and important book written by my grandfather on this subject almost a hundred years ago ! ๐คฃ
"Plus ca change plus c'est la meme chose"
Hope that everything is well!
Stay safe, have a great weekend!
Luc.
A macroscopic drift of Brownian particles (1.5 and 2.5 pm diameter silica spheres in water) is induced by
switching on and off a spatially periodic asymmetric potential. It is defined by an ac voltage, applied between
asymmetrically shaped metallic electrodes deposited on a glass plate. The induced drift is a function of the
particle diffusion coefficient; one can thus select particles according to their size.
By tracking the Brownian trajectory of a sphere of 1 p,m radius in a suspension of 35 nm radius
beads, we probe the depth of the entropic potential experienced by a large sphere close to the cell
wall. This potential is caused by the pressure exerted by the Quid of small beads when they cannot fit
in the gap between the large bead and the wall. We find that the potential depth is of order kT. Its
dependence on the volume fraction of small spheres is significantly overestimated by a theory which
treats the small beads as an ideal gas.
We describe here in more details the Optical thermal ratchet experiment, and present an analytic derivation of the corresponding Fokker-Planck equation.
This seminal experiment addresses the issue of the generalization of Fickโs Law in the case of a spatially inhomogeneous diffusion coefficient. In Finance this is akin to the problem of a volatility dependent on the price of the underlying asset. We demonstrate deviation from the Stokes-Einstein law. In particular this relates to the Ito versus Stratonovitch controversy in stochastic calculus.
First experimental realization of a Thermal ratchet using lasers. A thermal ratchet was a device proposed by Feynman that has the apparent ability to extract direct motion from random noise. Translated into Finance, this concept gave birth to the Parrondo paradox, a trading strategy that has the apparent ability to extract profits (positive PL) from random movements in the price of the underlier.
Part III of the Rates presentations. This one refines the notation for a general claim, and we explore some of the pitfalls and test our knowledge through the example of the Libor in arrears. This one is a little of a breather before attacking part IV
part I of an introduction to stochastic calculus
part II is n PDE/SDE mapping
part III on the Maxwell demon and the Ito-Stratanovitch controversy
part IV is on the Langevin equation
Introductory class (1st year associate level) to structured notes market. Example of the Gamma trap from dealers dynamically hedging the NIN (Non-Inversion Notes) and the LSN (Leveraged Steepener Notes), and also impact on the volatility surface of the dealers dynamically hedging the Callable issuance.
Poonawalla Fincorp and IndusInd Bank Introduce New Co-Branded Credit Cardnickysharmasucks
ย
The unveiling of the IndusInd Bank Poonawalla Fincorp eLITE RuPay Platinum Credit Card marks a notable milestone in the Indian financial landscape, showcasing a successful partnership between two leading institutions, Poonawalla Fincorp and IndusInd Bank. This co-branded credit card not only offers users a plethora of benefits but also reflects a commitment to innovation and adaptation. With a focus on providing value-driven and customer-centric solutions, this launch represents more than just a new productโit signifies a step towards redefining the banking experience for millions. Promising convenience, rewards, and a touch of luxury in everyday financial transactions, this collaboration aims to cater to the evolving needs of customers and set new standards in the industry.
how to sell pi coins in South Korea profitably.DOT TECH
ย
Yes. You can sell your pi network coins in South Korea or any other country, by finding a verified pi merchant
What is a verified pi merchant?
Since pi network is not launched yet on any exchange, the only way you can sell pi coins is by selling to a verified pi merchant, and this is because pi network is not launched yet on any exchange and no pre-sale or ico offerings Is done on pi.
Since there is no pre-sale, the only way exchanges can get pi is by buying from miners. So a pi merchant facilitates these transactions by acting as a bridge for both transactions.
How can i find a pi vendor/merchant?
Well for those who haven't traded with a pi merchant or who don't already have one. I will leave the telegram id of my personal pi merchant who i trade pi with.
Tele gram: @Pi_vendor_247
#pi #sell #nigeria #pinetwork #picoins #sellpi #Nigerian #tradepi #pinetworkcoins #sellmypi
The European Unemployment Puzzle: implications from population agingGRAPE
ย
We study the link between the evolving age structure of the working population and unemployment. We build a large new Keynesian OLG model with a realistic age structure, labor market frictions, sticky prices, and aggregate shocks. Once calibrated to the European economy, we quantify the extent to which demographic changes over the last three decades have contributed to the decline of the unemployment rate. Our findings yield important implications for the future evolution of unemployment given the anticipated further aging of the working population in Europe. We also quantify the implications for optimal monetary policy: lowering inflation volatility becomes less costly in terms of GDP and unemployment volatility, which hints that optimal monetary policy may be more hawkish in an aging society. Finally, our results also propose a partial reversal of the European-US unemployment puzzle due to the fact that the share of young workers is expected to remain robust in the US.
Introduction to Indian Financial System ()Avanish Goel
ย
The financial system of a country is an important tool for economic development of the country, as it helps in creation of wealth by linking savings with investments.
It facilitates the flow of funds form the households (savers) to business firms (investors) to aid in wealth creation and development of both the parties
what is the future of Pi Network currency.DOT TECH
ย
The future of the Pi cryptocurrency is uncertain, and its success will depend on several factors. Pi is a relatively new cryptocurrency that aims to be user-friendly and accessible to a wide audience. Here are a few key considerations for its future:
Message: @Pi_vendor_247 on telegram if u want to sell PI COINS.
1. Mainnet Launch: As of my last knowledge update in January 2022, Pi was still in the testnet phase. Its success will depend on a successful transition to a mainnet, where actual transactions can take place.
2. User Adoption: Pi's success will be closely tied to user adoption. The more users who join the network and actively participate, the stronger the ecosystem can become.
3. Utility and Use Cases: For a cryptocurrency to thrive, it must offer utility and practical use cases. The Pi team has talked about various applications, including peer-to-peer transactions, smart contracts, and more. The development and implementation of these features will be essential.
4. Regulatory Environment: The regulatory environment for cryptocurrencies is evolving globally. How Pi navigates and complies with regulations in various jurisdictions will significantly impact its future.
5. Technology Development: The Pi network must continue to develop and improve its technology, security, and scalability to compete with established cryptocurrencies.
6. Community Engagement: The Pi community plays a critical role in its future. Engaged users can help build trust and grow the network.
7. Monetization and Sustainability: The Pi team's monetization strategy, such as fees, partnerships, or other revenue sources, will affect its long-term sustainability.
It's essential to approach Pi or any new cryptocurrency with caution and conduct due diligence. Cryptocurrency investments involve risks, and potential rewards can be uncertain. The success and future of Pi will depend on the collective efforts of its team, community, and the broader cryptocurrency market dynamics. It's advisable to stay updated on Pi's development and follow any updates from the official Pi Network website or announcements from the team.
what is the best method to sell pi coins in 2024DOT TECH
ย
The best way to sell your pi coins safely is trading with an exchange..but since pi is not launched in any exchange, and second option is through a VERIFIED pi merchant.
Who is a pi merchant?
A pi merchant is someone who buys pi coins from miners and pioneers and resell them to Investors looking forward to hold massive amounts before mainnet launch in 2026.
I will leave the telegram contact of my personal pi merchant to trade pi coins with.
@Pi_vendor_247
NO1 Uk Divorce problem uk all amil baba in karachi,lahore,pakistan talaq ka m...Amil Baba Dawood bangali
ย
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
how can i use my minded pi coins I need some funds.DOT TECH
ย
If you are interested in selling your pi coins, i have a verified pi merchant, who buys pi coins and resell them to exchanges looking forward to hold till mainnet launch.
Because the core team has announced that pi network will not be doing any pre-sale. The only way exchanges like huobi, bitmart and hotbit can get pi is by buying from miners.
Now a merchant stands in between these exchanges and the miners. As a link to make transactions smooth. Because right now in the enclosed mainnet you can't sell pi coins your self. You need the help of a merchant,
i will leave the telegram contact of my personal pi merchant below. ๐ I and my friends has traded more than 3000pi coins with him successfully.
@Pi_vendor_247
how to sell pi coins at high rate quickly.DOT TECH
ย
Where can I sell my pi coins at a high rate.
Pi is not launched yet on any exchange. But one can easily sell his or her pi coins to investors who want to hold pi till mainnet launch.
This means crypto whales want to hold pi. And you can get a good rate for selling pi to them. I will leave the telegram contact of my personal pi vendor below.
A vendor is someone who buys from a miner and resell it to a holder or crypto whale.
Here is the telegram contact of my vendor:
@Pi_vendor_247
how can I sell my pi coins for cash in a pi APPDOT TECH
ย
You can't sell your pi coins in the pi network app. because it is not listed yet on any exchange.
The only way you can sell is by trading your pi coins with an investor (a person looking forward to hold massive amounts of pi coins before mainnet launch) .
You don't need to meet the investor directly all the trades are done with a pi vendor/merchant (a person that buys the pi coins from miners and resell it to investors)
I Will leave The telegram contact of my personal pi vendor, if you are finding a legitimate one.
@Pi_vendor_247
#pi network
#pi coins
#money
how to swap pi coins to foreign currency withdrawable.DOT TECH
ย
As of my last update, Pi is still in the testing phase and is not tradable on any exchanges.
However, Pi Network has announced plans to launch its Testnet and Mainnet in the future, which may include listing Pi on exchanges.
The current method for selling pi coins involves exchanging them with a pi vendor who purchases pi coins for investment reasons.
If you want to sell your pi coins, reach out to a pi vendor and sell them to anyone looking to sell pi coins from any country around the globe.
Below is the contact information for my personal pi vendor.
Telegram: @Pi_vendor_247
US Economic Outlook - Being Decided - M Capital Group August 2021.pdfpchutichetpong
ย
The U.S. economy is continuing its impressive recovery from the COVID-19 pandemic and not slowing down despite re-occurring bumps. The U.S. savings rate reached its highest ever recorded level at 34% in April 2020 and Americans seem ready to spend. The sectors that had been hurt the most by the pandemic specifically reduced consumer spending, like retail, leisure, hospitality, and travel, are now experiencing massive growth in revenue and job openings.
Could this growth lead to a โRoaring Twentiesโ? As quickly as the U.S. economy contracted, experiencing a 9.1% drop in economic output relative to the business cycle in Q2 2020, the largest in recorded history, it has rebounded beyond expectations. This surprising growth seems to be fueled by the U.S. governmentโs aggressive fiscal and monetary policies, and an increase in consumer spending as mobility restrictions are lifted. Unemployment rates between June 2020 and June 2021 decreased by 5.2%, while the demand for labor is increasing, coupled with increasing wages to incentivize Americans to rejoin the labor force. Schools and businesses are expected to fully reopen soon. In parallel, vaccination rates across the country and the world continue to rise, with full vaccination rates of 50% and 14.8% respectively.
However, it is not completely smooth sailing from here. According to M Capital Group, the main risks that threaten the continued growth of the U.S. economy are inflation, unsettled trade relations, and another wave of Covid-19 mutations that could shut down the world again. Have we learned from the past year of COVID-19 and adapted our economy accordingly?
โIn order for the U.S. economy to continue growing, whether there is another wave or not, the U.S. needs to focus on diversifying supply chains, supporting business investment, and maintaining consumer spending,โ says Grace Feeley, a research analyst at M Capital Group.
While the economic indicators are positive, the risks are coming closer to manifesting and threatening such growth. The new variants spreading throughout the world, Delta, Lambda, and Gamma, are vaccine-resistant and muddy the predictions made about the economy and health of the country. These variants bring back the feeling of uncertainty that has wreaked havoc not only on the stock market but the mindset of people around the world. MCG provides unique insight on how to mitigate these risks to possibly ensure a bright economic future.
2. Luc_Faucheux_2020
Recombining Binomial trees
2
ยจ Fast, memory efficient, numerically stable and well understood (number of nodes ~ N^2)
ยจ Can be used to run Monte Carlo simulations on the trees
ยจ Arbitrage is respected ONLY on average on a slice
3. Luc_Faucheux_2020
Recombining Binomial trees
ยจ Cropping
ยจ Mean reversion
ยจ Storing curve in memory versus recalculating on the fly (storing discounts versus calling
exp())
ยจ Single volatility models for callable as an example
3
4. Luc_Faucheux_2020
Non-recombining binomial tree
ยจ Respect arbitrage free at EVERY node in the tree
ยจ Simplest to implement
ยจ Very close to Monte Carlo simulations
ยจ Very expensive in CPU and memory (number of nodes ~ 2^N)
4
5. Luc_Faucheux_2020
Monte Carlo simulation
ยจ Bundling
ยจ Regression
ยจ Choice of regression factors
ยจ Numerically noisy (accuracy ~ N^(-1/2))
ยจ Very CPU intensive
ยจ But very intuitive, very flexible, and as we saw in the Skew module, you can run a Monte
Carlo on a simpler model, or on an entire portfolio once you have created a portfolio map
5
7. Luc_Faucheux_2020
The glorious life of a valiant forward
ยจ f(t,t1,t2) is the forward rate between the time t1 and t2 on the curve observed at time t
ยจ t, t1 and t2 are by convention in absolute
ยจ f(t,t1,t2) evolves from (t) to (t+1) into f(t+1,t1,t2) with instantaneous volatility ๐(๐ก, ๐ก!, ๐ก")
ยจ f(t,t1,t2) โdiesโ as the anchor overnight rate on the curve observed at time t2
ยจ โRolling forwardโ convention as opposed to โconstant forwardโ
7
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,6,7)
f(2,2,3) f(2,6,7)
f(3,3,4) f(3,6,7)
f(4,4,5) f(4,6,7)
f(5,5,6) f(5,6,7)
f(6,6,7)
f(7,7,8)
f(8,8,9)
f(9,9,10)
f(10,10,11)
f(11,11,12)
f(12,12,13)
8. Luc_Faucheux_2020
The glorious life of a valiant forward
ยจ Each line can be viewed as the new curve at time t
ยจ Today (t=0) curve is defined by the successive forwards f(0,0,1), f(0,1,2)โฆ..
ยจ At time t the curve will then be defined by the successive forwards f(t,t,t+1), f(t,t+1,t+2),โฆ
ยจ Similar to our HJM spreadsheet but sliding down the curve back one every time
8
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,6,7)
f(2,2,3) f(2,6,7)
f(3,3,4) f(3,6,7)
f(4,4,5) f(4,6,7)
f(5,5,6) f(5,6,7)
f(6,6,7)
f(7,7,8)
f(8,8,9)
f(9,9,10)
f(10,10,11)
f(11,11,12)
f(12,12,13)
9. Luc_Faucheux_2020
The glorious life of a valiant forward
ยจ In practice, ๐ ๐ก, ๐ก!, ๐ก" tends to 0 when (t=t1), and has a maximum in the โbellyโ of the
curve
ยจ In reality, ๐ ๐ก, ๐ก!, ๐ก" is also dependent on the actual forward f(t,t1,t2) as well as previous
instantaneous volatilities (GARCH for example) and previous forwards
ยจ A common assumption is for the volatility ๐ ๐ก, ๐ก!, ๐ก" to be stationary for the same class of
forwards. A class of forward is defined as all forwards of equal maturity T: (t2-t1=T)
ยจ ๐ ๐ก, ๐ก!, ๐ก" = '๐ ๐ก! โ ๐ก
9
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,6,7) f(1,11,12)
f(2,2,3) f(2,6,7) f(2,11,12)
f(3,3,4) f(3,6,7) f(3,11,12)
f(4,4,5) f(4,6,7) f(4,11,12)
f(5,5,6) f(5,6,7) f(5,11,12)
f(6,6,7) f(6,11,12)
f(7,7,8) f(7,11,12)
f(8,8,9) f(8,11,12)
f(9,9,10) f(9,11,12)
f(10,10,11) f(10,11,12)
f(11,11,12)
f(12,12,13)
10. Luc_Faucheux_2020
Regular Eurodollar options or caplet
ยจ Average variance for the forward over the life, option expires at the same time that the
forward
ยจ ๐". ๐ก! = โซ#$%
#$#!
๐" ๐ก, ๐ก!, ๐ก" . ๐๐ก = โซ#$%
#$#!
'๐" ๐ก! โ ๐ก . ๐๐ก
ยจ Pricing different option for different strikes K, and expressing those option prices in a
common model (say Lognormal or Normal) will return the skew and smile expressed within
that model
10
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,11,12)
f(2,2,3) f(2,11,12)
f(3,3,4) f(3,11,12)
f(4,4,5) f(4,11,12)
f(5,5,6) f(5,11,12)
f(6,6,7) f(6,11,12)
f(7,7,8) f(7,11,12)
f(8,8,9) f(8,11,12)
f(9,9,10) f(9,11,12)
f(10,10,11) f(10,11,12)
f(11,11,12)
f(12,12,13)
11. Luc_Faucheux_2020
Mid-curve Eurodollar options or forward caplets
ยจ Average variance for the forward over the option, option expires BEFORE the forward at a
time Texp
ยจ ๐". ๐ก&'( = โซ#$%
#$#"#$
๐" ๐ก, ๐ก!, ๐ก" . ๐๐ก = โซ#$%
#$#"#$
'๐" ๐ก! โ ๐ก . ๐๐ก
ยจ Pricing different option for different strikes K, and expressing those option prices in a
common model (say Lognormal or Normal) will return the skew and smile expressed within
that model
11
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,11,12)
f(2,2,3) f(2,11,12)
f(3,3,4) f(3,11,12)
f(4,4,5) f(4,11,12)
f(5,5,6) f(5,11,12)
f(6,6,7) f(6,11,12)
f(7,7,8) Texpiry f(7,11,12)
f(8,8,9)
f(9,9,10)
f(10,10,11)
f(11,11,12)
f(12,12,13)
12. Luc_Faucheux_2020
A swap is a weighted basket of forwards
ยจ Consider a swap with swap rate R (at-the-money swap rate)
โ Nfloat periods on the Float side with forecasted forward f(i)
โ indexed by i, with
โ daycount fraction DCF(i),
โ discount D(i)
โ Notional N(i)
โ Nfixed periods on the Fixed side,
โ indexed by j, with
โ daycount fraction DCF(j),
โ discount D(j)
โ Notional N(j)
!
!
๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐ = !
"
๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐
12
13. Luc_Faucheux_2020
A swap rate is a weighted basket of forward rates
ยจ At-the-money swap rate equation: โ) ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐ = โ* ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐
ยจ Above equation is valid at all times before the swap start, forwards and discount factors
being calculated on the then current discount curve the usual way, if the period I on the
float side starts at time ts(i) and ends at time te(i), and the forward is โalignedโ with the
period (no swap in arrears or CMS like)
ยจ ๐ (๐ก) = โ) ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐ก, ๐ก๐ ๐ , ๐ก๐(๐) /[โ* ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ ]
ยจ โfrozen numeraireโ approximation, expand above equation in first order in forward rates but
keeping the discount factors constant
ยจ ๐๐ (๐ก) = โ) ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐๐ ๐ก, ๐ก๐ ๐ , ๐ก๐(๐) /[โ* ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ ]
ยจ Taking the square of the above yields the instantaneous volatility of the swap rate
ยจ ฮ+
" . ๐๐ก =< ๐๐ " >=
โ)! โ)" ๐ท๐ถ๐น ๐1 . ๐ท ๐1 . ๐ ๐1 . ๐ท๐ถ๐น ๐2 . ๐ท ๐2 . ๐ ๐2 . < ๐๐ ๐1 . ๐๐ ๐2 > /
[โ*! โ*" ๐ท๐ถ๐น ๐1 . ๐ท ๐1 . ๐ ๐1 ๐ท๐ถ๐น ๐2 . ๐ท ๐2 . ๐ ๐2 ]
13
14. Luc_Faucheux_2020
A swap rate is a weighted basket of forward rates
ยจ instantaneous volatility of the swap rate
ยจ ฮ+
"
. ๐๐ก =< ๐๐ " >=
โ)! โ)" ๐ท๐ถ๐น ๐1 . ๐ท ๐1 . ๐ ๐1 . ๐ท๐ถ๐น ๐2 . ๐ท ๐2 . ๐ ๐2 . < ๐๐ ๐1 . ๐๐ ๐2 > /
[โ*! โ*" ๐ท๐ถ๐น ๐1 . ๐ท ๐1 . ๐ ๐1 ๐ท๐ถ๐น ๐2 . ๐ท ๐2 . ๐ ๐2 ]
ยจ Where ๐๐ ๐1 = ๐๐ ๐ก, ๐ก๐ ๐1 , ๐ก๐(๐1) and ๐๐ ๐2 = ๐๐ ๐ก, ๐ก๐ ๐2 , ๐ก๐(๐2)
ยจ In abbreviated notation
ยจ < ๐๐ ๐1 . ๐๐ ๐2 >= ๐ ๐1 . ๐ ๐2 . ๐ ๐1, ๐2 . ๐๐ก
ยจ So to calculate the instantaneous volatility of the swap rate you need the instantaneous
volatility of each forward BUT ALSO the instantaneous correlation matrix between the
forward constituting the weighted basket.
14
15. Luc_Faucheux_2020
A swap evolving to the first set
ยจ Example above : a 5x12 swap evolving on the volatility surface up until the first set
15
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,5,6) f(1,6,7) f(1,7,8) f(1,8,9) f(1,9,10) f(1,10,11) f(1,11,12)
f(2,2,3) f(2,5,6) f(2,6,7) f(2,7,8) f(2,8,9) f(2,9,10) f(2,10,11) f(2,11,12)
f(3,3,4) f(3,5,6) f(3,6,7) f(3,7,8) f(3,8,9) f(3,9,10) f(3,10,11) f(3,11,12)
f(4,4,5) f(4,5,6) f(4,6,7) f(4,7,8) f(4,8,9) f(4,9,10) f(4,10,11) f(4,11,12)
f(5,5,6) f(5,6,7) f(5,7,8) f(5,8,9) f(5,9,10) f(5,10,11) f(5,11,12)
f(6,6,7)
f(7,7,8)
f(8,8,9)
f(9,9,10)
f(10,10,11)
f(11,11,12)
f(12,12,13)
17. Luc_Faucheux_2020
A swaption is a mid-curve on the basket of forwards
ยจ Example above : a โ5y7yโ swaption, or a 5y option on a 7y swap, equating the year to the
time units
ยจ Option expires at time t5, underlying is a swap starting at time t5 and ending at time t12
ยจ Note that only the first forward gets to experience the โwhole lifeโ volatility, all the other
forwards essentially will experience the โmid-curveโ or truncated volatility up to the
swaption expiry
17
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,5,6) f(1,6,7) f(1,7,8) f(1,8,9) f(1,9,10) f(1,10,11) f(1,11,12)
f(2,2,3) f(2,5,6) f(2,6,7) f(2,7,8) f(2,8,9) f(2,9,10) f(2,10,11) f(2,11,12)
f(3,3,4) f(3,5,6) f(3,6,7) f(3,7,8) f(3,8,9) f(3,9,10) f(3,10,11) f(3,11,12)
f(4,4,5) f(4,5,6) f(4,6,7) f(4,7,8) f(4,8,9) f(4,9,10) f(4,10,11) f(4,11,12)
f(5,5,6) f(5,6,7) f(5,7,8) f(5,8,9) f(5,9,10) f(5,10,11) f(5,11,12)
f(6,6,7)
f(7,7,8)
f(8,8,9)
f(9,9,10)
f(10,10,11)
f(11,11,12)
f(12,12,13)
18. Luc_Faucheux_2020
Market practice assumption
ยจ Volatility is assumed to be stationary: ๐ ๐ก, ๐ก!, ๐ก" = '๐ ๐ก! โ ๐ก , ๐ก"
ยจ Correlation is also stationary: ๐ ๐1, ๐2 = ๐( ๐ก๐ (๐1) โ ๐ก๐ (๐2) )
ยจ Parametrization of the volatility and correlation (Ribbonato, ..)
ยจ ๐ ๐1, ๐2 = ๐ ๐ก๐ ๐1 โ ๐ก๐ ๐2 = ๐ฟ, + 1 โ ๐ฟ, . exp{
-|#/ )! -#/ )" |
0%
}
โ ๐ฟ# is the long term (asymptotic) level of correlation
โ ๐# is the characteristic time scale (half-life) for the correlation to decrease from 100%
perpendicular to the diagonal
18
22. Luc_Faucheux_2020
Parametrization of the volatility
ยจ Usually assume a bell shape, with a maximum and a long term asymptote, with simple
analytical expression in order to integrate easily, and have numerically stable calibration
(sensitivity of the parameters to the market input are well behaved)
ยจ We choose the following
โ .๐ 0 = .๐$%&
โ .๐ โ = .๐'
โ .๐ ๐$() = .๐$()
โ If ๐ก < ๐$(), we use .๐*
๐ก = .๐$%&
*
+ .๐$()
*
โ .๐$%&
*
โ (
+
,!"#
)
โ If ๐ก >= ๐$(), we use .๐*
๐ก = .๐$()
*
+ .๐'
*
โ .๐$()
*
โ [1 โ exp
- +-,!"#
,$
]
22
32. Luc_Faucheux_2020
A caplet and two distinct swaptions on the grid
ยจ A t5-t12 swaption (orange)
ยจ A t7 caplet (mauve)
ยจ A t9-t12 swaption (dark orange)
ยจ On the typical swaption grid, the t5-t12 and the t9-t12 are different distinct points with no
overlap
ยจ The caplet is also one point. Even though those 3 structures pan overlapping areas of the
forward volatility surface of different sizes, they all get condensed to one point on the
swaption grid
32
f(0,0,1) f(0,1,2) f(0,2,3) f(0,3,4) f(0,4,5) f(0,5,6) f(0,6,7) f(0,7,8) f(0,8,9) f(0,9,10) f(0,10,11) f(0,11,12)
f(1,1,2) f(1,5,6) f(1,6,7) f(1,7,8) f(1,8,9) f(1,9,10) f(1,10,11) f(1,11,12)
f(2,2,3) f(2,5,6) f(2,6,7) f(2,7,8) f(2,8,9) f(2,9,10) f(2,10,11) f(2,11,12)
f(3,3,4) f(3,5,6) f(3,6,7) f(3,7,8) f(3,8,9) f(3,9,10) f(3,10,11) f(3,11,12)
f(4,4,5) f(4,5,6) f(4,6,7) f(4,7,8) f(4,8,9) f(4,9,10) f(4,10,11) f(4,11,12)
f(5,5,6) f(5,6,7) f(5,7,8) f(5,8,9) f(5,9,10) f(5,10,11) f(5,11,12)
f(6,6,7) f(6,7,8) f(6,9,10) f(6,10,11) f(6,11,12)
f(7,7,8) f(7,9,10) f(7,10,11) f(7,11,12)
f(8,8,9) f(8,9,10) f(8,10,11) f(8,11,12)
f(9,9,10) f(9,10,11) f(9,11,12)
f(10,10,11)
f(11,11,12)
f(12,12,13)
33. Luc_Faucheux_2020
You have priced too much, and not enough
ยจ The options market is incredibly hard to calibrate
ยจ Some points have lots of overlapping market info
ยจ Large gaps in between, requiring either
โ Interpolation on the market inputs (on the grid) with very little theoretical justification
โ Interpolation on the model parameters, running the risk of being โoff marketโ
33
36. Luc_Faucheux_2020
An illustrated example : Black Derman Toy
ยจ Work through a tree implementation of the BDT model (short rate model)
ยจ Most widely used model when modeling fixed income securities
ยจ Illustrate some of the relevant issues around numerical implementation
ยจ Work through some of the math to illustrate some pitfalls when switching from:
โ The numerical tree implementation
โ To the dynamics (Stochastic Differential Equation or SDE)
โ To the PDE for the PDF (Partial Differential Equation for the Probability Density Function)
โ To the grid implementation
36
37. Luc_Faucheux_2020
The BDT model tree implementation
37
t0
t1
t2
t3
t4
(0,0)
(1,0)
(1,1)
(2,0)
(2,1)
(2,2)
(3,0)
(3,1)
(3,2)
(3,3)
(4,0)
(4,1)
(4,2)
(4,3)
(4,4)
38. Luc_Faucheux_2020
The BDT model tree implementation
38
tk tk+1
X(k,i)
X(k+1,i+1)
X(k+1,i)
ยจ We index the stochastic variable ๐(๐, ๐), where ๐ is the period index and ๐ is the position
index
ยจ We choose a time step to be ๐ฟ๐ก = ๐
ยจ At first we assume this time step to be constant
ยจ The spacing for a given period is ๐ ๐, ๐ + 1 โ ๐ ๐, ๐ = ๐ฟ๐ for all index ๐
ยจ For a given period, all nodes in the tree are equally spaced
ยจ We start with the assumption that the spacing ๐ฟ๐ is a constant
39. Luc_Faucheux_2020
Building a BDT tree I
ยจ For sake of simplicity, we go back to time spacing of unit 1, and neglect any holidays and
daycount fraction details like we did in the curve module
ยจ We have the forward yield curve as input ๐(๐ก1, ๐ก1-!)
ยจ We can compute the spot discount factors and the forward discount factors
ยจ Forward discount ๐1 = ๐(๐ก1) which here we chose to be ๐ ๐ก1 =
!
!23(#&,#&'!)
ยจ The spot discount curve is such that ๐ท 0 = 1, ๐% = ๐ 0 = 1
and ๐ท ๐ก12! = ๐ท ๐ก1 . ๐(๐ก12!)
39
0-1 1-2 2-3 3-4 4-5 5-6 6-7
Y0_fwd 1 1.5 2 2.5 3 3.25 3.5
D0_spot 0.990099 0.975467 0.95634 0.933015 0.90584 0.877327 0.847658
D0_fwd 0.990099 0.985222 0.980392 0.97561 0.970874 0.968523 0.966184
VOL_spot 0.2 0.3 0.3 0.4 0.5 0.7
STDEV 0.08 0.36 0.54 1.28 2.5 5.88
40. Luc_Faucheux_2020
Building a BDT tree II
ยจ Forward discount ๐1 = ๐(๐ก1) which here we chose to be ๐ ๐ก1 =
!
!23(#&,#&'!)
ยจ Note that this is more a choice on how we define the forward yield curve.
ยจ As we kept repeating in the curve module, the only thing that matters are the discount
factors. Yields are not unique and depend on conventions, holidays, daycount fraction and
assumptions to compute them. Discount factors ARE unique
ยจ We also have as input to the models the volatility curve for the variable we are using the
build the BDT tree. In our case we will use the forward.
ยจ Note that you could use another variable
ยจ The goal is to calibrate the model inputs to the market on observable prices
ยจ So if you build the tree on a given variable, you will get a different value for the volatility
inputs after calibration but you will recover the market prices
40
41. Luc_Faucheux_2020
Building a BDT tree III
41
0-1 1-2 2-3 3-4 4-5 5-6 6-7
Y0_fwd 1 1.5 2 2.5 3 3.25 3.5
D0_spot 0.990099 0.975467 0.95634 0.933015 0.90584 0.877327 0.847658
D0_fwd 0.990099 0.985222 0.980392 0.97561 0.970874 0.968523 0.966184
VOL_spot 0.2 0.3 0.3 0.4 0.5 0.7
STDEV 0.08 0.36 0.54 1.28 2.5 5.88
ยจ In our case we chose the forward to be lognormally distributed, and so this volatility will be
the annualized lognormal yield volatility in % per year
ยจ Again, the point is that because there are going to be so many assumptions and numerical
computations that will be different for each implementation of a tree, you cannot really
compare the model inputs between two models, just like you cannot really compare a
normal volatility to a lognormal one
ยจ The only thing you can compare are the prices produced by the model
42. Luc_Faucheux_2020
Building a BDT tree IV
ยจ We create a grid of forward yields ๐(๐, ๐)
ยจ We chose for the โbottomโ value ๐ ๐, 0 =
3(#&,#&'!)
(!2
((&)
+
)^(1)
, where ๐(๐) is the volatility input
ยจ The idea is to start with a distribution of forwards centered around the input one ๐(๐ก1, ๐ก1-!)
and with a standard deviation that will be close to the volatility input
ยจ Each successive value for a given period going up the nodes in the tree is given by
ยจ ๐ ๐, ๐ + 1 = ๐ ๐, ๐ . [1 + ๐ ๐ ]1
42
Y_fwd 1 1.498501 1.994013 2.488784 2.97612 3.209678 3.427392
1.501499 2.005996 2.51125 3.024024 3.290726 3.573885
2.01805 2.533919 3.072699 3.373821 3.72664
2.556793 3.122158 3.459014 3.885924
3.172413 3.546359 4.052015
3.635909 4.225206
4.405799
43. Luc_Faucheux_2020
Building a BDT tree V
ยจ Note that the goal is to start with a โreasonableโ state for the tree
ยจ The calibration process will automatically adjust to the solution we need
ยจ Note that the BDT model is somewhat different from the other models out there
ยจ BDT does NOT start with an equation, BDT essentially starts from a numerical
implementation and just โlet the calibration takes care of thingsโ
ยจ This makes the underlying dynamics a somewhat complicated beast to express in the usual
SDE and PDE
ยจ We will show in a simple case how to do this, if only to point out the pitfalls and the gaps
between the SDE world and the discrete numerical implementation world
43
44. Luc_Faucheux_2020
Building a BDT tree VI
ยจ This pragmatic approach (again does not sound smart at first because you are just using
Excel, you are not writing complicated equations), turns out to be the smart one in the end.
ยจ This is also what makes BDT (and the tweaks like BK,..) one of the most commonly used
model in Finance, it is intuitive, it is robust, it is fast
ยจ Note that BDT also has drawbacks, the calibration process can be at time unstable, and
because of the discrete nature of it, it is also numerically โnoisyโ. For computing the Greeks
using a BDT, depending on the payoff of the option that you are pricing, you will get โjumpsโ
in value when you are crossing a node in your valuation
ยจ Note that the number of nodes in the BDT tree increases linearly with the number of time
steps for a given period, and thus the total number of nodes scales as the square of the
number of time steps, making reducing the noise by increasing the number of nodes and
times steps a computationally expensive proposition
44
45. Luc_Faucheux_2020
Building a BDT tree VII
ยจ From each forward ๐(๐, ๐) at each node we compute the Discount factor
ยจ ๐ ๐, ๐ = 1/(1 + ๐ ๐, ๐ )
ยจ We now have built a tree where at each node we have the forward and the discount factor
45
D_fwd 0.990099 0.985236 0.98045 0.975717 0.971099 0.968901 0.966862
0.985207 0.980335 0.975503 0.970647 0.968141 0.965494
0.980219 0.975287 0.970189 0.967363 0.964072
0.975069 0.969724 0.966566 0.962594
0.969251 0.965751 0.961058
0.964917 0.959461
0.957801
46. Luc_Faucheux_2020
Building a BDT tree VIII
ยจ We also attach to each node the usual binomial probability in order to recover the Gaussian
distribution
ยจ The probability at each node is the probability to end up at that given node
ยจ We assume here for simplicity equal probability for โupโ and โdownโ to be 0.5
ยจ Note that there are tons of numerical schemes out there to change the probabilities and
thus affect the drift inside the tree, but this does not change the fundamentals of the model
ยจ Note also that now that we have a tree, sometimes Monte-Carlo simulation are run โon the
treeโ in order ot price path-dependent structures
46
PROBA 1 0.5 0.25 0.125 0.0625 0.03125 0.015625
0.5 0.5 0.375 0.25 0.15625 0.09375
0.25 0.375 0.375 0.3125 0.234375
0.125 0.25 0.3125 0.3125
0.0625 0.15625 0.234375
0.03125 0.09375
0.015625
48. Luc_Faucheux_2020
Calibrating a BDT tree I
ยจ We now have built this tree, but we need to calibrate it to market
ยจ This is usually a multi step process usually performed in a sequential manner (but not
always)
ยจ The first step is usually ensuring that we recover the discount curve, this will ensure that we
will be pricing bonds and swaps and zero coupon bonds to market
ยจ This is where the numerical implementation of a solver for example, is crucial, in particular
for the stability of the solution
48
49. Luc_Faucheux_2020
Calibrating a BDT tree II
ยจ We calculate the expectation for the discount (remember that it should be probability
weighted)
ยจ This is obviously not equal to our input discount curve
ยจ We need to โshiftโ the forwards in order to solve for the discount
49
51. Luc_Faucheux_2020
Calibrating a BDT tree IV
ยจ This is where we get into the wonderful world of numerical solvers
ยจ Note that we are โbootstrappingโ the factors along the tree
ยจ So a little error at one level needs to be corrected at the next level, potentially creating
instabilities
51
55. Luc_Faucheux_2020
Pricing a cap
ยจ From each forward ๐(๐, ๐) at each node we compute the discount factor
ยจ ๐ ๐, ๐ = 1/(1 + ๐ ๐, ๐ ), (assuming the usual convention of unity for daycount fraction)
ยจ At each node the payoff is ๐ถ๐๐ ๐, ๐ = ๐๐ด๐(๐ ๐, ๐ โ ๐พ, 0)
ยจ The discounting back is given by:
ยจ ๐ถ๐๐ ๐, ๐ =
!
"
. ๐ ๐, ๐ . ๐ถ๐๐ ๐ + 1, ๐ + 1 + ๐ถ๐๐ ๐ + 1, ๐ + ๐๐ด๐ ๐ ๐, ๐ โ ๐พ, 0 . ๐
ยจ If the cap is paid at the end of the period, ๐ = ๐(๐, ๐) otherwise ๐ = 1
55
tk tk+1
X(k,i)
X(k+1,i+1)
X(k+1,i)
56. Luc_Faucheux_2020
Pricing a swap in BDT
ยจ In the โswapโ world you do not need to build a tree, you only need a discount curve and use
simple formulas like SUMPRODUCT
56
57. Luc_Faucheux_2020
Pricing a swap in BDT - II
ยจ We saw this when looking at the convexity
ยจ This is because the right way (the right measure) to look at cashflows is the discount curve.
ยจ A swap fixed leg is the sum of fixed payment times discount factors
ยจ Same for the Float leg (a little more complicated)
ยจ But in fact a swap PV is a linear sum of discount factors
ยจ As such it exhibits ZERO convexity against the discount curve
ยจ And so to price a swap you do not need a volatility curve, nor an option model, but if you
are pricing a derivatives on a swap (like a swaption), you better make sure that your option
model does recover the same price for the underlier
ยจ This sounds obvious, but you would be surprised how many options models out there are
not repricing the underlier correctly
ยจ Letโs look back at the โyield curveโ (zero vol) swap valuation
57
58. Luc_Faucheux_2020
A swap is a weighted basket of forwards: AT-THE-MONEY
ยจ Consider a swap with swap rate R (at-the-money swap rate)
โ Nfloat periods on the Float side with forecasted forward f(i)
โ indexed by i, with
โ daycount fraction DCF(i),
โ discount D(i)
โ Notional N(i)
โ Nfixed periods on the Fixed side,
โ indexed by j, with
โ daycount fraction DCF(j),
โ discount D(j)
โ Notional N(j)
๐๐ ๐น๐ฟ๐๐ด๐ = )
,
๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐ = )
-
๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ = ๐๐(๐น๐ผ๐๐ธ๐ท)
58
59. Luc_Faucheux_2020
Standard Swap periods
ยจ On the fixed side, coupon payment at the end of the period
โ Period start date (psj)
โ Adjusted period start date (psj_adj)
โ Period end date (pej)
โ Adjusted period end date (pej_adj)
โ Payment date (pmj)
โ PV of a period ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ = ๐ท๐ถ๐น ๐๐ ๐./-, ๐๐๐_๐๐๐ . ๐ท ๐๐- . ๐ ๐ . ๐
ยจ On the float side, floating rate sets at the beginning of the period, and pays at the end (Libor in advance or
standard Libor swap, as opposed to Libor in arrears)
โ PV of a period (swaplet) ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐
โ ๐ท๐ถ๐น ๐ = ๐ท๐ถ๐น ๐๐ ๐./-, ๐๐๐./- and ๐ท ๐ = ๐ท(๐๐๐)
โ ๐ท ๐๐๐ = ๐ท ๐๐ ๐ โ
0
01234 56,,58, .:(,)
or
โ ๐ท๐ถ๐น ๐๐๐, ๐๐ ๐ . ๐ ๐ = [1 โ
2 58,
2 56,
]
59
60. Luc_Faucheux_2020
Zero coupon bonds on todayโs curve with zero volatility
ยจ Zero-coupon bonds ๐ ๐ก0, ๐ก; = ๐ท ๐ก0, ๐ก; = โ๐ท(๐ก;) ๐ท(๐ก0)
ยจ โ๐ ๐ก0, ๐ก; is the price at time ๐ก0of a zero-coupon bond maturing at time ๐ก;โ
ยจ โ๐ ๐ก0, ๐ก; is the price at time ๐ก0of a risk-free zero-coupon bond with principal $1 maturing at time ๐ก;โ
ยจ IT SHOULD REALLY SAY : โUsing todayโs discount curve at time ๐ก<, ๐ ๐ก0, ๐ก; is the price of a risk-free zero-
coupon bond with principal $1 maturing at time ๐ก;, and the value of that price has been forward
discounted to time ๐ก0, again using todayโs discount curveโ
ยจ People love the zero coupon bonds, in many cases they make those the stochastic drivers of the rates
model (HJM for example)
60
61. Luc_Faucheux_2020
Expected Values in a non deterministic world
ยจ Simply compounded spot interest rate: ๐ฟ(๐ก0, ๐ก;)
ยจ ๐ฟ ๐ก0, ๐ก; =
0=>(?!,?")
/@: ?!,?" .>(?!,?")
or more simply ๐ ๐ก0, ๐ก; =
0
01/@: ?!,?" .A(?!,?")
ยจ Related to how to roll the curve forward at zero volatility,
ยจ Method 2
โ Compute the discount factors curve
โ Divide all discount factors by the overnight d(t0,t1)=d(t1)
โ Use new discount factor curve starting at t1
ยจ So at zero volatility, when t goes from t0 to t1, the price of a zero discount bonds ๐ ๐ก0, ๐ก; is unchanged:
๐ ๐ก@, ๐ก0, ๐ก; = ๐ 0, ๐ก0, ๐ก; where ๐ก@ is the โcurveโ time in the future.
ยจ NOW, if the volatility is non zero, ๐ 1, ๐ก0, ๐ก; โ ๐ 0, ๐ก0, ๐ก;
ยจ It is only true ON AVERAGE < ๐ 1, ๐ก0, ๐ก; >= ๐ 0, ๐ก0, ๐ก; or EXP ๐ 1, ๐ก0, ๐ก; = ๐ 0, ๐ก0, ๐ก; where EXP is
the Expected value (average).
ยจ This is called the rolling numeraire or โbank accountโ numeraire: if you deposit ๐ 0,0, ๐ก; today to get $1
at time t2, ON AVERAGE you should also be able to invest ๐ 0,0, ๐ก; until time t1, then deposit it until
time t2 and still get $1
61
62. Luc_Faucheux_2020
Fixed Leg of a swap
ยจ A fixed leg of a swap is a series of fixed cash flows.
ยจ Now matter how the curve moves, ON AVERAGE the price of zero coupon bonds is conserved
ยจ < ๐ ๐ก@, ๐ก0, ๐ก; > = ๐ 0, ๐ก0, ๐ก; and ๐ ๐ก@, ๐ก0, ๐ก; =
2(?#,?")
2(?#,?!)
ยจ In particular when t2=t1+1, ๐ ๐ก@, ๐ก0, ๐ก0 + 1 =
2(?#,?!10)
2(?#,?!)
= ๐(๐ก@, ๐ก0)
ยจ So < ๐ ๐ก@, ๐ก0, ๐ก0 + 1 > = <
2 ?#,?!10
2 ?#,?!
> = < ๐(๐ก@, ๐ก0)> = ๐ 0, ๐ก0, ๐ก0 + 1 = ๐(0, ๐ก0)
ยจ Also by recurrence < ๐ท 1, ๐ก0 > โ ๐ 0,1 = ๐ท(0, ๐ก0) at time t=0
ยจ At time t=1, ๐ 1,2 is fixed and has zero volatility (will drop when t goes from 1 to 2)
ยจ So < ๐ท 2, ๐ก0 > โ ๐ 1,2 = ๐ท(1, ๐ก0) at time t=1
ยจ So at every point in the future, if you invest then a unit of currency and โrollโ it forward (bank
numeraire), the expected gain is todayโs gain if you had entered into the same contract.
ยจ Still another way to say, if you invest one unit of currency for a given length of time t, it is equivalent to
investing overnight and rolling the proceeds everyday (the arbitrage free framework does not take credit
into consideration)
62
63. Luc_Faucheux_2020
Floating leg of a swap
ยจ A floating swaplet pays ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐ ๐ and its PV is ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐
ยจ Where ๐ท๐ถ๐น ๐๐๐, ๐๐ ๐ . ๐ ๐ = [1 โ
2 58,
2 56,
]
ยจ We know from the fixed rate leg that < ๐ท ๐ >= ๐ท ๐ , but what about < ๐ท ๐ . ๐ ๐ > ?
ยจ Note, to be exact < ๐ท ๐ >= ๐ท ๐ should really read โ?#BC?$
๐ธ๐๐{๐ก@, ๐(๐ก@, ๐ก@ + 1)}, where
๐ธ๐๐ ๐ก@, ๐ ๐ก@, ๐ก@ + 1 is the expected value of the overnight discount between the time (tc) and (tc+1),
observed up until time tc (because it drops off the curve after tc, and before tc, no matter where you
observe it, its expected value is equal to todayโs value)
ยจ ๐ธ๐๐ ๐ก@, ๐ ๐ก@, ๐ก@ + 1 = ๐ธ๐๐ ๐ก < ๐ก@, ๐ ๐ก@, ๐ก@ + 1 = ๐(๐ก@ + 1)
ยจ Back to < ๐ท ๐ . ๐ ๐ > , there is a little trick
63
64. Luc_Faucheux_2020
Floating leg of a swap
ยจ Because the forward f(i) sets at the beginning of the period, once we reach the period start, everything
is known about the payment, and it becomes a fixed cashflow.
ยจ ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐ . ๐ธ๐๐{๐๐ ๐, ๐ท ๐๐ ๐, ๐๐๐ . ๐ ๐ }
ยจ ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐ = ๐ท(๐๐ ๐)
ยจ ๐ท๐ถ๐น ๐ . ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐, ๐๐๐ . ๐ ๐ = ๐ธ๐๐{๐๐ ๐,
234(,)
01234 , .:(,)
. ๐ ๐ }
ยจ Now, magic trick,
D
01D
=
D10=0
01D
=
01D=0
01D
= 1 โ
0
01D
ยจ So, ๐ธ๐๐ ๐๐ ๐,
234 ,
01234 , .: ,
. ๐ ๐ = ๐ธ๐๐ ๐๐ ๐, 1 โ
0
01234 , .: ,
= ๐ธ๐๐ ๐๐ ๐, 1 โ ๐ ๐๐ ๐, ๐๐ ๐, ๐๐๐
ยจ And because the price of zero coupon bond is respected:
ยจ ๐ธ๐๐ ๐๐ ๐,
234 ,
01234 , .: ,
. ๐ ๐ = 1 โ ๐ 0, ๐๐ ๐, ๐๐๐ = 1 โ
0
01234 , .: ,
=
234 ,
01234 , .: ,
. ๐ ๐
64
65. Luc_Faucheux_2020
Quick summary
ยจ In the rolling numeraire measure,
โ PV of fixed cashflows are conserved (Expected value of a fixed cashflow as the curve evolves in a stochastic manner
over time will converge to the fixed amount at the payment date)
โ Price of zero coupon bonds are conserved
โ Price of bonds are conserved (the price of a bond will change over time, but ON AVERAGE the price you should be
willing to pay for this bond is the price you can compute today using todayโs curve, because the price of a bond
exhibits no convexity with respect to the discount curve changing, AS LONG as the discount curve changes in a manner
that respect the Arbitrage free condition, that is that a contract where you invest X today to get Y at time T, is the same
(equivalent, on average), as any contract where you invest X today, get the proceeds at some point in time in the
future, then reinvest them until T.)
โ This is either painfully obvious or really deep, depending on how you look at it
โ The arbitrage free assumption does NOT know about credit
โ The arbitrage free assumption does NOT know about individual utility function (also called time-indifferent, it assumes
that market participants are indifferent about receiving X today versus Y at time T, where the ratio Y/X is the price of
today zero coupon bond maturing at time T, and that price will be conserved over time)
โ The Floating leg of a swap ALSO exhibit zero convexity against the discount factor curve, because it can be expressed as
a linear function of discount factors, thanks to the amazing trick x=x+1-1
โ It is surprising that of ALL the possible structures we could come up with a swap, there is almost zero probability that
we would not need a volatility curve, and yet 99.9% of the swaps being traded are such that they are NOT convex in
terms of the discount factors. Note that this breaks down once you have stochastic funding (forecasting and
discounting on different curves
ยจ Other markets (equity, commodities,..) do NOT have such a strong underlying constraint that needs to be
respected.. In HJM for example, we will show that respecting the arbitrage enforces zero possible choice
for the drift, once the volatility is known, everything else is.
65
67. Luc_Faucheux_2020
Pricing a swap in BDT - IV
ยจ NOTE : swaps payments are "in arrears" at the end of the period, and so you have to
discount for that period
ยจ index is set "in advance" and paid "in arrears"
ยจ If you were dealing with a swap where the payment is set at the same time as the payment,
value would be different
ยจ in fact it would exhibit convexity ("in arrears" swap)
ยจ you would need a BDT tree or an option model in order to value it
ยจ But numerically quite easy to do, you just do not discount for that period
67
69. Luc_Faucheux_2020
Pricing a swap in BDT - VI
ยจ We recover the same swap rate
ยจ Please note that we are really discounting cash flows, never a rate or a yield
ยจ Note that in practice to โtake into accountโ all the numerical imprecisions and the many
steps, the solver is sometimes done on the Swap Rate (Market observable)
ยจ The Swap Rate is really only the value of the Fixed coupon so that the discounted value of all
fixed payments is equal to the discounted value of all the floating payments
ยจ Note that if we had priced the swap โin arrearsโ we would get a different swap rate than the
one computed from the yield curve (even taking into account the timing difference)
ยจ The difference between those two rates is the convexity adjustment
ยจ In the SUMPRODUCT formula (deterministic world, or zero volatility), we just need to offset
the discounts by one period. Float fixes at the beginning of the period and pays at the
beginning, fixed also pays at the beginning of the period. This timing difference between the
fixing of the float and the payment is what creates the convexity.
ยจ Because we cannot do the little trick:
'
!2'
=
'2!-!
!2'
=
!2'-!
!2'
= 1 โ
!
!2'
69
70. Luc_Faucheux_2020
Pricing a swap in BDT - VI-b
ยจ Another way is also to parametrize the shifts in order to allow for some tolerance, and
globally minimize for the Market observables (Swap rates), and be careful over the overlap
of swap durations
ยจ This is sometimes done in practice in order to โcorrectโ for a number of numerical
imprecisions along the way (missing holidays, imperfect daycount fraction, small residuals in
the minimization steps,..)
70
71. Luc_Faucheux_2020
Legs of a swap in arrears
ยจ A fixed leg of a swap is a series of fixed cash flows that pays
ยจ ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐๐
ยจ And its PV is:
ยจ ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐๐ . ๐ท(๐ โ 1)
ยจ A floating swaplet โin arrearsโ pays:
ยจ ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐ ๐
ยจ and its PV is:
ยจ ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ โ 1 . ๐ ๐ . ๐ ๐
ยจ Where ๐ท๐ถ๐น ๐๐๐, ๐๐ ๐ . ๐ ๐ = [1 โ
2 58,
2 56,
]
71
72. Luc_Faucheux_2020
Floating leg of a regular swap
ยจ Because the forward f(i) sets at the beginning of the period, once we reach the period start, everything
is known about the payment, and it becomes a fixed cashflow.
ยจ ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ . ๐ ๐ . ๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐ . ๐ธ๐๐{๐๐ ๐, ๐ท ๐๐ ๐, ๐๐๐ . ๐ ๐ }
ยจ ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐ = ๐ท(๐๐ ๐)
ยจ ๐ท๐ถ๐น ๐ . ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐, ๐๐๐ . ๐ ๐ = ๐ธ๐๐{๐๐ ๐,
234(,)
01234 , .:(,)
. ๐ ๐ }
ยจ Now, magic trick,
D
01D
=
D10=0
01D
=
01D=0
01D
= 1 โ
0
01D
ยจ So, ๐ธ๐๐ ๐๐ ๐,
234 ,
01234 , .: ,
. ๐ ๐ = ๐ธ๐๐ ๐๐ ๐, 1 โ
0
01234 , .: ,
= ๐ธ๐๐ ๐๐ ๐, 1 โ ๐ ๐๐ ๐, ๐๐ ๐, ๐๐๐
ยจ And because the price of zero coupon bond is respected:
ยจ ๐ธ๐๐ ๐๐ ๐,
234 ,
01234 , .: ,
. ๐ ๐ = 1 โ ๐ 0, ๐๐ ๐, ๐๐๐ = 1 โ
0
01234 , .: ,
=
234 ,
01234 , .: ,
. ๐ ๐
72
73. Luc_Faucheux_2020
Floating leg of an โin arrearsโ swap
ยจ Because the forward f(i) sets at the beginning of the period, once we reach the period start, everything
is known about the payment, and it becomes a fixed cashflow.
ยจ ๐๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ท ๐ โ 1 . ๐ ๐ . ๐ ๐ = ๐ท๐ถ๐น ๐ . ๐ ๐ . ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐ . ๐ธ๐๐{๐๐ ๐, 1. ๐ ๐ }
ยจ ๐ธ๐๐ ๐๐ ๐, ๐ท ๐๐ ๐ = ๐ท(๐๐ ๐)
ยจ ๐ท๐ถ๐น ๐ . ๐ธ๐๐ ๐๐ ๐, 1. ๐ ๐ = ๐ธ๐๐{๐๐ ๐, ๐ท๐ถ๐น ๐ . ๐ ๐ }
ยจ Where ๐ท๐ถ๐น ๐๐๐, ๐๐ ๐ . ๐ ๐ = [1 โ
2 58,
2 56,
]
ยจ Now, magic trick,
D
01D
=
D10=0
01D
=
01D=0
01D
= 1 โ
0
01D
, but that gets us nowhere
ยจ So, ๐ธ๐๐ ๐๐ ๐, ๐ท๐ถ๐น ๐ . ๐ ๐ = ๐ธ๐๐ 1 โ
2 58,
2 56,
ยจ This has not only a timing difference but a ratio, and we all know that ๐ธ๐๐
0
D
<> 1/๐ธ๐๐(๐ฅ)
ยจ This can be done through the Taylor expansion (or also Jensen inequality)
ยจ This is the famous Swap in arrears convexity trade of May 1995 (story time)
73
75. Luc_Faucheux_2020
Pricing a swaption - II
ยจ Careful that the only thing you should discount are cashflows, not rates
ยจ You could look at the rates but then at each node you would need to weigh by the actual
duration of that swap on that node to express it back into a cash flow
ยจ Note that the Blackโ77 model assumes a single duration for all nodes, and so putting in the
same input volatility in your BDT model and the Blackโ77 model will NOT recover the same
option price
ยจ The average of a product is not the product of the averages (or integrals)
ยจ If you want to calibrate BDT to the implied volatilities from Black77 (or match the option
prices that you see in the market), you would need to input a different volatilities.
ยจ Just because it is called the same thing (volatility) and has the same units does not mean
that you can equate the two
75
76. Luc_Faucheux_2020
Pricing a callable
ยจ We can now even price a callable swap
ยจ This is the main reason to build a tree, as opposed to closed form models
ยจ Note also that once you have the tree calibrated, it is very flexible in terms of any payoff of
structure that you want to price
ยจ A closed form solution would be hard to modify
ยจ In practice, the most important step is the calibration step. Think about the yield curve
moving in real time every seconds, the volatility curve moving maybe on a time scale of
minutes, and so you need to build a calibration routine that can be done quickly and still be
stable
ยจ Sometimes tree models are calibrated carefully overnight and kept constant during the day,
and trading desks adjust the price based on an estimate of the Greeks and the market
moves
76
78. Luc_Faucheux_2020
Pricing a callable - III
ยจ Specific callable swap in the example is a 5y3ync1
ยจ Swap starts in 5year
ยจ Swap ends in 8 years
ยจ Call option at par (no fees either way) at year 6 and year 7
78
79. Luc_Faucheux_2020
Pricing a callable swap -IV
ยจ From each forward ๐(๐, ๐) at each node we compute the discount factor
ยจ ๐ ๐, ๐ = 1/(1 + ๐ ๐, ๐ ), (assuming the usual convention of unity for daycount fraction)
ยจ At each node the payoff of the regular swap is SWAP ๐, ๐ = ๐ ๐, ๐ โ ๐พ . ๐(๐, ๐)
ยจ The discounting back is given by:
ยจ SWAP ๐, ๐ =
!
"
. ๐ ๐, ๐ . SWAP ๐ + 1, ๐ + 1 + SWAP ๐ + 1, ๐ + ๐ ๐, ๐ โ ๐พ . ๐(๐, ๐)
79
tk tk+1
X(k,i)
X(k+1,i+1)
X(k+1,i)
80. Luc_Faucheux_2020
Pricing a callable swap -V
ยจ At each node the payoff of the regular swap is SWAP ๐, ๐ = ๐ ๐, ๐ โ ๐พ . ๐(๐, ๐)
ยจ The discounting back is given by:
ยจ SWAP ๐, ๐ =
!
"
. ๐ ๐, ๐ . SWAP ๐ + 1, ๐ + 1 + SWAP ๐ + 1, ๐ + ๐ ๐, ๐ โ ๐พ . ๐(๐, ๐)
ยจ IF on an option node, the new payoff then becomes ๐๐ด๐(SWAP ๐, ๐ , 0)
ยจ You can easily add a fee to cancel (>0 or <0), for example if there is a fee to cancel expressed
as paid over the cancel period, the payoff becomes: ๐๐ด๐(SWAP ๐, ๐ , โfee)
80
tk tk+1
X(k,i)
X(k+1,i+1)
X(k+1,i)
82. Luc_Faucheux_2020
Pricing a callable swap -VII
ยจ Because of the optionality, the payer of a fixed rate callable swap is willing to pay an above
market rate (higher than the swap rate) to pay for the option
ยจ We can use again a numerical solver (GoalSeek in Excel)
ยจ Note: a great numerical solver is hard to find, and is used all the times in Finance
ยจ Solve for 0 PV on the regular swap -> SR = 3.414 in our example
ยจ Solve for 0 PV on the fixed callable ->SR = 3.448 in our example
ยจ The callable swap offers a pick-up of 3.5 basis point running above the Swap rate
ยจ The more optionality, the higher the pick-up
ยจ The higher the volatility, the more valuable the option, the higher the pick-up
ยจ If you calibrate your model to European swaptions, do you recover the price of callables
observed in the market ? The answer is no (for many reasons, see the Structured ppt), but
people try to adjust for that by introducing mean reversion in the BDT tree. Letโs see what
that means and how that works.
82
83. Luc_Faucheux_2020
Pricing a callable swap -VIII
ยจ Most of the times in practice, trading desks will keep an adjustment grids between the
European and the Callable and adjust the volatility curve by that adjustment to price a
callable.
ยจ This is quite unsatisfactory for a lot of reason
ยจ It is not consistent
ยจ Where do you hedge the callable? On the shifted grid or the original one?
ยจ The adjustment creates a PL difference, do you hold that as a reserve, do you release it?
ยจ The PL difference will show some market directionality. Do you hedge that market
directionality?
ยจ If you hedge a Callable with European options, do you price and hedge those Europeans on
the shifted grid or the original one?
ยจ Different callables at different coupon will have different adjustments
83
84. Luc_Faucheux_2020
Pricing a callable swap -IX
ยจ We have now all the building blocks of a full-fledged Fixed-Income front-to-back
infrastructure
ยจ To do the risk management, bump the yield curve and the vol curve and reprice all the
trades AFTER recalibrating the BDT tree
ยจ You can price pretty much any payoff that you want that is a function of the variables in the
tree
ยจ You can also do a โMonte-Carlo on the treeโ for path-dependent options, you are just going
forward in the tree, as opposed to discounting backwards
84
88. Luc_Faucheux_2020
The BDT dynamics I
ยจ The following question comes up:
ยจ You have built something that reprices market observables
ยจ Congratulations but what dynamics did you use ?
ยจ When we use Black-Sholes, we can write the SDE for the underlier, and the PDE
ยจ Can we do the same thing for BDT ?
ยจ Answer is sort of yes unless you do numerical things to the BDT tree that are too drastic
ยจ We are now giving some insights on this dynamics, if only to point out the difficulties in
bridging the gap between the equations and the discrete numerical implementation of
those
88
89. Luc_Faucheux_2020
The BDT dynamics II
89
t0
t1
t2
t3
t4
(0,0)
(1,0)
(1,1)
(2,0)
(2,1)
(2,2)
(3,0)
(3,1)
(3,2)
(3,3)
(4,0)
(4,1)
(4,2)
(4,3)
(4,4)
91. Luc_Faucheux_2020
The BDT dynamics IV
91
tk tk+1
X(k,i)
X(k+1,i+1)
X(k+1,i)
ยจ We index the stochastic variable ๐(๐, ๐), where ๐ is the period index and ๐ is the position
index
ยจ We choose a time step to be ๐ฟ๐ก = ๐
ยจ At first we assume this time step to be constant
ยจ The spacing for a given period is ๐ ๐, ๐ + 1 โ ๐ ๐, ๐ = ๐ฟ๐ for all index ๐
ยจ For a given period, all nodes in the tree are equally spaced
ยจ We start with the assumption that the spacing ๐ฟ๐ is a constant
92. Luc_Faucheux_2020
The BDT dynamics V
ยจ To the first order with no drift
ยจ ๐ ๐ + 1, ๐ = ๐ ๐, ๐ โ ๐ฟ๐/2
ยจ ๐ ๐ + 1, ๐ + 1 = ๐ ๐, ๐ + ๐ฟ๐/2
ยจ Probabilities ฮ ๐, ๐ to be at the node ๐, ๐
ยจ Using (1/2) probabilities up and down
ยจ ฮ ๐ + 1, ๐ =
!
"
ฮ ๐, ๐ โ 1 + ฮ ๐, ๐
ยจ This is also referred to as the master equation.
ยจ Easier to work in the ฮ ๐ก, ๐ space to avoid the drift of the (๐) indices (zero drift means that
the middle for ๐ would be the starting point but that is roughly the node (๐, ๐ =
1
"
)
ยจ ALWAYS pay attention to the boundary conditions (borders), so for example
ยจ ฮ ๐, ๐ = 0 IF ๐ > ๐ OR (๐ < 0)
92
93. Luc_Faucheux_2020
The BDT dynamics VI
ยจ < โ๐ > =
!
"
. ๐ ๐ + 1, ๐ + 1 + ๐ ๐ + 1, ๐ = ๐(๐, ๐)
ยจ So no drift in this simple example
ยจ When writing ๐๐ = ๐. ๐๐ก + ๐. ๐๐, we would have ๐ = 0
ยจ < โ๐"> =
!
"
. (๐ ๐ + 1, ๐ + 1 โ ๐ ๐, ๐ )^(2) + (๐ ๐ + 1, ๐ โ ๐ ๐, ๐ )^(2)
ยจ < โ๐"> =
!
"
. (๐ฟ๐/2)" + (๐ฟ๐/2)" =
89+
:
ยจ When writing ๐๐ = ๐. ๐๐ก + ๐. ๐๐, we would have (๐". ๐ฟ๐ก) =
89+
:
93
X(k,i)
X(k+1,i+1)
X(k+1,i)
๐ฟ๐/2
๐ฟ๐/2
94. Luc_Faucheux_2020
The BDT dynamics VII
ยจ (๐". ๐ฟ๐ก) =
89+
:
ยจ Again we see the scaling argument that if we want ๐to be well defined (does not go to 0,
does not go to infinity), as we are reducing the size of the time step and the spacing in order
to reach the continuous limit from the discrete implementation, we need
ยจ
89+
:8#
โ ๐" = ๐๐๐๐ ๐ก๐๐๐ก when ๐ฟ๐ โ 0 and ๐ฟ๐ก โ 0
ยจ So the discrete tree implemented converges to the continuous dynamics described by the
SDE (Stochastic Differential Equation): ๐๐ = ๐. ๐๐ก + ๐. ๐๐
ยจ With ๐ = 0
ยจ And ๐ = lim(
89+
:8#
)
94
95. Luc_Faucheux_2020
The BDT dynamics VIII
ยจ From the SDE ๐๐ = ๐. ๐๐ก + ๐. ๐๐ we should be able to recover the PDE for the PDF
ยจ
;< (9,#)
;#
= โ
;
;9
๐. ฮ ๐, ๐ก โ
;
;9
=+
"
. ฮ ๐, ๐ก =
=+
"
.
;+< (9,#)
;9+
ยจ
;< (9,#)
;#
=
=+
"
.
;+< (9,#)
;9+
ยจ Letโs rederive this directly from the tree and the master equation
ยจ ฮ ๐ + 1, ๐ =
!
"
ฮ ๐, ๐ โ 1 + ฮ ๐, ๐
ยจ Or more importantly
ยจ ฮ ๐(๐ + 1, ๐) =
!
"
ฮ ๐(๐, ๐ โ 1) + ฮ ๐(๐, ๐)
95
96. Luc_Faucheux_2020
The BDT dynamics IX
ยจ We have ฮ ๐(๐ + 1, ๐) =
!
"
ฮ ๐(๐, ๐ โ 1) + ฮ ๐(๐, ๐)
ยจ With:
ยจ ๐ ๐ + 1, ๐ = ๐ ๐, ๐ โ ๐ฟ๐/2
ยจ ๐ ๐ + 1, ๐ + 1 = ๐ ๐, ๐ + ๐ฟ๐/2
ยจ Taylor expanding in time and space the master equation around ๐(๐ + 1, ๐) which is the
middle point (easier because we will perform symmetric calculations)
96
X(k,i)
X(k+1,i)
X(k,i-1)
๐ฟ๐/2
๐ฟ๐/2
101. Luc_Faucheux_2020
The BDT mean reversion I
ยจ Everything we did so far assumed constant time step and spacing between nodes.
ยจ We keep a constant time step
ยจ Because of the algorithm construction of the BDT, there is a constant shift (up or down) in
order to match the discount curve.
ยจ This is just a drift on top of the diffusive process.
ยจ More subtle is the mean reversion effect. Mean reversion is a crucial concept in finance. It
indicates that things have a tendency when diffusing away from the equilibrium to โrevert
back to the meanโ or mean revert, hence the term โmean reversionโ
ยจ What is the intuition for it in the BDT model?
ยจ Essentially at a given time indexed by k, there are k nodes. The spacing between the nodes
is given by the volatility input. What happens when this spacing is not time-dependent?
Meaning its value change from (k) to (k+1). We could end up in a situation like this one:
101
102. Luc_Faucheux_2020
The BDT mean reversion II
ยจ Decreasing volatility input from (k) to (k+1). The tree gets compressed. Positive mean
reversion (usual one)
ยจ Note: in this case it is obvious that a BDT binomial model breaks the arbitrage locally, even
though one average over the time slices the arbitrage is still respected
ยจ The further away from the center the greater the pull-back : typical of mean reversion
102
103. Luc_Faucheux_2020
The BDT mean reversion III
ยจ Increasing volatility input from (k) to (k+1). The tree explodes. Negative mean reversion
(unusual one)
ยจ Note: in this case it is obvious that a BDT binomial model breaks the arbitrage locally, even
though one average over the time slices the arbitrage is still respected
ยจ The further away from the center the greater the push-out : typical of negative mean
reversion
103
104. Luc_Faucheux_2020
The BDT mean reversion IV
ยจ It should not come as a surprise, because in some ways, in BDT for a given โspliceโ at a given
point in time k, you just put k nodes equally spaced and then you just shift those up and
down in order to recover the average discount factor, and then you connect those dots back
to the previous time slice
ยจ Local versus average arbitrage free
ยจ BDT is said to be arbitrage free because when discounting back on the tree you recover the
price of todayโs discount curve. Note that it is only ON AVERAGE that the arbitrage is being
respected. When there is mean reversion, locally at any point in the BDT tree the โlocalโ
arbitrage is NOT being respected, and so the local dynamics of BDT (if we can figure it outโ
will NOT be arbitrage free (only in very limited case for example constant volatility).
ยจ Another way to say it is that if you build a BDT tree out of any node in an existing BDT tree,
this will NOT be a BDT tree, and will not respect arbitrage
ยจ Letโs try to estimate how this impacts the dynamic equation.
104
105. Luc_Faucheux_2020
The BDT mean reversion V
ยจ For k large enough the tree is centered around ๐ ๐,
1
"
= ๐?(๐) for middle
ยจ For each node ๐ ๐, ๐ = ๐? ๐ + ๐ โ
1
"
. ๐ฟ๐(๐)
ยจ ๐ ๐ + 1, ๐ = ๐? ๐ + 1 + ๐ โ
12!
"
. ๐ฟ๐(๐ + 1)
ยจ ๐ ๐ + 1, ๐ + 1 = ๐? ๐ + 1 + ๐ + 1 โ
12!
"
. ๐ฟ๐(๐ + 1)
105
X(k,i)
X(k+1,i+1)
X(k+1,i)
๐ฟ๐(๐ + 1)
106. Luc_Faucheux_2020
The BDT mean reversion VI
ยจ Setting the drift of the overall tree to 0, ๐? ๐ + 1 = ๐? ๐
ยจ Note that we can always add a drift later constant for all nodes, we are trying to isolate the
effect of the changing spacing between two time slices
ยจ ๐ ๐, ๐ = ๐? ๐ + ๐ โ
1
"
. ๐ฟ๐(๐)
ยจ ๐ ๐ + 1, ๐ = ๐? ๐ + 1 + ๐ โ
12!
"
. ๐ฟ๐(๐ + 1)
ยจ ๐ ๐ + 1, ๐ + 1 = ๐? ๐ + 1 + ๐ + 1 โ
12!
"
. ๐ฟ๐(๐ + 1)
ยจ ๐ฟ๐ ๐ + 1 = ๐ฟ๐ ๐ +
;89 #
;#
. ๐ฟ๐ก + ๐ช(๐ฟ๐ก")
ยจ < โ๐ > =
!
"
. ๐ ๐ + 1, ๐ + 1 + ๐ ๐ + 1, ๐
106
108. Luc_Faucheux_2020
The BDT mean reversion VIII
ยจ Locally there is a drift term equal to ๐ โ
1
"
.
;89 #
;#
. ๐ฟ๐ก
ยจ In the middle where ๐ =
1
"
, this drift term is nul
ยจ The farther we get away from the center, the greater this drift term (not equal for all nodes)
ยจ The greater the derivative of the spacing with respect to time
;89 #
;#
the greater the drift
ยจ < ๐ > = ๐(๐, ๐) + ๐ โ
1
"
.
;89 #
;#
. ๐ฟ๐ก
ยจ < โ๐ > = ๐ โ
1
"
.
;89 #
;#
. ๐ฟ๐ก
ยจ ๐ ๐, ๐ = ๐? ๐ + ๐ โ
1
"
. ๐ฟ๐(๐)
ยจ So we have < โ๐ > = (
9 1,) -9E(1)
89 #
).
;89 #
;#
. ๐ฟ๐ก
108
109. Luc_Faucheux_2020
The BDT mean reversion IX
ยจ < โ๐ > =
9 1,) -9E 1
89 #
.
;89 #
;#
. ๐ฟ๐ก = ๐ ๐, ๐ โ ๐? ๐ .
!
89 #
.
;89 #
;#
. ๐ฟ๐ก
ยจ For convenience sake, either we set ๐? ๐ = 0, or we define ๐ ๐, ๐ = ๐ ๐, ๐ โ ๐? ๐
and work in the tree in ๐.
ยจ If we set ๐? ๐ = 0
ยจ < โ๐ > =
9 1,)
89 #
.
;89 #
;#
. ๐ฟ๐ก = ๐ ๐, ๐ .
!
89 #
.
;89 #
;#
. ๐ฟ๐ก
ยจ So when writing ๐๐ = ๐. ๐๐ก + ๐. ๐๐ we would have
ยจ ๐ = ๐.
!
89 #
.
;89 #
;#
ยจ We had previously (๐". ๐ฟ๐ก) =
89+
:
, so looks like ๐ = ๐.
!
=
.
;=
;#
, where ๐ = ๐(๐ก)
ยจ So looks like ๐๐ = ๐.
=@
=
. ๐๐ก + ๐. ๐๐
109
110. Luc_Faucheux_2020
The BDT mean reversion X
ยจ We still need to check that the ๐ term in front of the Brownian driver is still the correct one
that we obtain in the case of constant ๐
ยจ To do that we need to estimate:
ยจ < โ๐"> =
!
"
. (๐ ๐ + 1, ๐ + 1 โ < ๐ >)^(2) + (๐ ๐ + 1, ๐ โ < ๐ >)^(2)
ยจ Where < ๐ > is the mid point between ๐ ๐ + 1, ๐ + 1 and ๐ ๐ + 1, ๐
ยจ < ๐ > =
!
"
. ๐ ๐ + 1, ๐ + 1 + ๐ ๐ + 1, ๐
ยจ And so < โ๐"> =
!
:
. {(๐ ๐ + 1, ๐ + 1 โ ๐ ๐ + 1, ๐ }"=
!
:
. {(๐ฟ๐ ๐ + 1 }"
ยจ This is the same as before (the intuition is that the drift does not pollute the volatility,
because the drift is of order 1 in time, and so any drift when computing the second moment
will appear as a term of order 2 in time, which will be neglected when compared to the
stochastic term, which is only of order 1 in time
110
111. Luc_Faucheux_2020
The BDT mean reversion XI
ยจ The numerical implementation of the BDT tree, by equally spacing k nodes at time k, and
then forcing those nodes to connect in a recombining binomial manner, โartificiallyโ creates
a mean reversion drift
ยจ The BDT dynamics is ๐๐ = ๐.
=@
=
. ๐๐ก + ๐. ๐๐
ยจ At constant volatility, the drift term disappear
ยจ I can bet some large amount of money that if we had started from the actual dynamics and
being asked to build a tree that follows it we would have struggled quite a lot
ยจ We went through this derivation to illustrate the potential pitfalls of going in between
numerical tree implementation and continuous dynamics
ยจ Note that usually BDT are built with a short term rate in lognormal space, ๐ = ln(๐)
ยจ The dynamics then become ๐(ln ๐ ) = ln(๐).
=@
=
. ๐๐ก + ๐. ๐๐
ยจ Note that the meaning of ๐ is now different, it is now the lognormal volatility
111
112. Luc_Faucheux_2020
The BDT mean reversion XII
ยจ Note that as usual following the Ito convention (Ito lemma) in Ito calculus
ยจ ๐ ln(๐) = ( โ๐๐ ๐) โ ( โ๐" 2). ๐๐ก
ยจ Letโs go back to ๐๐ = ๐.
=@
=
. ๐๐ก + ๐. ๐๐
ยจ Also normal models are much more in favor now that rates have proven that they can go
negative.
ยจ The associated PDE for the PDF is given by
ยจ
;< (9,#)
;#
= โ
;
;9
๐. ฮ ๐, ๐ก โ
;
;9
=+
"
. ฮ ๐, ๐ก
ยจ
;< (9,#)
;#
= โ
;
;9
๐.
=@
=
. ฮ ๐, ๐ก โ
;
;9
=+
"
. ฮ ๐, ๐ก
ยจ Note that ๐ is a function of the time t and not the stochastic variable, so we are safe from
any Ito versus Stratonovitch controversy for now
112
113. Luc_Faucheux_2020
The BDT mean reversion XIII
ยจ In the most general case with added drift (the multiplicative factors K that we used in the
Excel implementation of the BDT)
ยจ ๐๐ = {๐พ ๐ก + ๐.
=F #
= #
}. ๐๐ก + ๐(๐ก). ๐๐
ยจ We can also split the drift term in order to make obvious the reversion to the mean ๐A(๐ก)
ยจ ๐๐ = {๐พ ๐ก + (๐ โ ๐A ๐ก ).
=F #
= #
}. ๐๐ก + ๐(๐ก). ๐๐
ยจ Or going into Lognormal space
ยจ ๐(ln ๐ ) = {๐พ ๐ก + (ln(๐) โ ln(๐A ๐ก )).
=F #
= #
}. ๐๐ก + ๐(๐ก). ๐๐
ยจ The usual textbook description of the BDT dynamics just goes with
ยจ ๐ ln ๐ = {๐ ๐ก + ln(๐).
=F
=
}. ๐๐ก + ๐. ๐๐
ยจ With the drift ๐ ๐ก taking care of the arbitrage free constraint to recover the discounts
113
114. Luc_Faucheux_2020
The BDT mean reversion XIV
ยจ Always be careful when dealing with numerical implementation of SDE
ยจ In the example above, when having constant volatility, the dynamics is the one sometimes
called the Ho-Lee:
ยจ ๐๐ = ๐พ ๐ก . ๐๐ก + ๐. ๐๐
ยจ If ๐ is the short-rate, we have ๐พ ๐ก =
;3(%,#)
;#
+ ๐". ๐ก
ยจ Where ๐(0, ๐ก) is the initial forward rate curve
ยจ When ๐ becomes a function of time ๐(๐ก), we would be tempted to keep the tree that we
built for Ho-Lee and just change the spacing at each time step in order to fit the volatility.
ยจ What we showed is that doing this โblindlyโ introduces mean reversion and changes the
dynamics (SDE) to:
ยจ ๐๐ = {๐พ ๐ก + ๐.
=F #
= #
}. ๐๐ก + ๐(๐ก). ๐๐
114
116. Luc_Faucheux_2020
A quick aside on probabilities
ยจ Probability to go up ๐B, probability to go down ๐C, with ๐B + ๐C = 1
ยจ If both probability are equal to 1/2
ยจ < โ๐ > =
!
"
. ๐ +
89
"
+ ๐ โ ๐ฟ๐/2 โ ๐ = 0
ยจ < โ๐"> =
!
"
. (
89
"
)^(2) + (
89
"
)^(2) = (
89+
:
)
116
X
X + ๐ฟ๐/2
X - ๐ฟ๐/2
๐ฟ๐/2
๐ฟ๐/2
๐!
๐"
๐ฟ๐ก
117. Luc_Faucheux_2020
A quick aside on probabilities II
ยจ < โ๐ > = 0
ยจ < โ๐"> = (
89+
:
)
ยจ We match the process ๐๐ = 0. ๐๐ก + ๐. ๐๐
ยจ ๐". ๐ฟ๐ก = (
89+
:
)
ยจ ๐ฟ๐ = 2๐. ๐ฟ๐ก
117
118. Luc_Faucheux_2020
Adding drift the easy way (?)
ยจ We keep the probabilities equal to (1/2)
ยจ The only difference is the addition of the drift term
118
X
๐!
๐"
๐ฟ๐ก
๐ โ
#$
%
+ ๐. ๐ฟ๐ก
๐ +
#$
%
+ ๐. ๐ฟ๐ก
119. Luc_Faucheux_2020
Adding drift the easy way (?) II
ยจ < โ๐ > =
!
"
. ๐ +
89
"
+ ๐. ๐ฟ๐ก + ๐ โ
89
"
+ ๐. ๐ฟ๐ก โ ๐ = ๐. ๐ฟ๐ก
ยจ < โ๐"> =
!
"
. (
89
"
+ ๐. ๐ฟ๐ก)^(2) + (โ
89
"
+ ๐. ๐ฟ๐ก)^(2)
ยจ < โ๐"> = (๐. ๐ฟ๐ก)"+(
89+
:
)
ยจ We only keep the terms in order 1 in ๐ฟ๐ก (small time steps limit)
ยจ < โ๐"> = (
89+
:
)
ยจ Note that locally, < โ๐"> =
!
"
. (
89
"
)^(2) + (
89
"
)^(2) = (
89+
:
) exactly
ยจ We match the process ๐๐ = ๐. ๐๐ก + ๐. ๐๐
119
120. Luc_Faucheux_2020
Changing the drift by changing the probabilities I
ยจ We do not change the values in the space axis (the values for X have been picked already)
ยจ We change the probabilities ๐B and ๐C
ยจ This is quite common when building trees, as the node spacing has already been calibrated.
ยจ This actually is a little more tricky to deal with (in particular when you change the
probabilities, do you still recover a Gaussian for example? This is linked to the Girsanov
theorem, just to tell you that this is not as simple as it seems)
120
X
X + ๐ฟ๐/2
X - ๐ฟ๐/2
๐ฟ๐/2
๐ฟ๐/2
๐!
๐"
๐ฟ๐ก
121. Luc_Faucheux_2020
Changing the drift by changing the probabilities II
ยจ We define the probabilities ๐B =
!
"
+ ๐ and ๐C =
!
"
โ ๐
ยจ < โ๐ > =
!
"
+ ๐ . ๐ +
89
"
} +
!
"
โ ๐ . {๐ โ
89
"
โ ๐ = ๐. ๐ฟ๐
ยจ Now, ๐ฟ๐ scales as ๐ฟ๐ก!/", so we know that right off the bat, in order for the drift term to be
linear in time (in order to model ๐๐ = ๐. ๐๐ก + ๐. ๐๐), we are going to need to have that
number ๐ to scale something like {๐. (๐ฟ๐ก)!/"}
ยจ < โ๐"> =
!
"
+ ๐ .
89
"
"
+
!
"
โ ๐ .
89
"
"
ยจ < โ๐"> =
!
"
+ ๐ .
89
"
"
+
!
"
โ ๐ .
89
"
"
ยจ < โ๐"> =
89+
:
(1 + 2. ๐")
121
122. Luc_Faucheux_2020
Changing the drift by changing the probabilities III
ยจ < โ๐ > = ๐. ๐ฟ๐ = ๐. ๐ฟ๐ก
ยจ < โ๐"> =
89+
:
1 + 2. ๐" = ๐". ๐ฟ๐ก
ยจ So ๐ =
E.8#
89
and ๐ฟ๐ = 2๐. ๐ฟ๐ก!/" so we can also write ๐ =
E
"=
๐ฟ๐ก!/"
ยจ So changing the probability does not affect the variance in the limit of small time steps
(continuous limit).
ยจ Not as straightforward as shifting the values in space and keeping the probabilities equal to
(1/2)
ยจ Changing the probabilities to affect the drift is NOT trivial (in particular we have to convince
ourselves that we did not change the shape of the distribution, just the first moment)
ยจ Girsanov theorem, Radon-Nikodym derivative if you want to use big words
122
123. Luc_Faucheux_2020
Changing the drift by changing the probabilities IV
ยจ So we match the process: ๐๐ = ๐. ๐๐ก + ๐. ๐๐
ยจ ๐ฟ๐ = 2๐. ๐ฟ๐ก!/"
ยจ ๐ =
E
"=
๐ฟ๐ก!/"
ยจ WAIT A MINUTE you should say, ๐ is only a number, not a complicated formula:
ยจ ๐ =
E
"=
๐ฟ๐ก!/"
ยจ ๐ is a drift and so scales as [
9
#
]
ยจ ๐ is a volatility and so scales as [
9
#!/+], or easier ๐". [๐ก]scales as [๐"]
ยจ SO.. ๐ scales as [
9
#
].
#
!
+
9
. [๐ก!/"] which is dimensionless and a number indeed !!
123
125. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree
ยจ Market practice is to do the following:
โ Build the tree (if needed to save memory, build also some โghost nodesโ)
โ Start with a given spacing in rates
โ Adjust the multiplication factor to match the discount curve
โ Adjust the spacing in order to match at-the-money caplet prices (this take into account the
numerical noise aspect, and also the bias in the BDT discounting, which needs to be taken into
account by adjusting the vol)
โ Recalibrate the multiplication factors to match the discount curve
โ Iterate a couple of times if needed
โ NOW comes the kicker: you will NOT recover the price of at-the-money European swaptions,
NOR will you recover the price of callable options (Formosa), there are a lot of reasons why
โ The most used โtrickโ is to add another mean reversion in the BDT tree on top of the โnaturalโ
mean reversion : {
.%
.
}
125
126. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree-b
ยจ This is in practice a very important point:
ยจ Models do get calibrated to a finite subset of instruments.
ยจ For reasons that we went over in the Structured Powerpoint, a simple model will NEVER be
able to capture the right price (and as a result risk and hedges) for caps and callables, or
European swaptions
ยจ A true model that should capture the callable prices should be able to incorporate the
correlation between the curve steepness as stochastic driver, and the first factor in the
volatility surface
ยจ Such a model is quite a task to build (no one in the market currently has one)
ยจ But as we also showed in the Skew Powerpoint, it is quite legit to use a simpler model, run it
through a hedging scenario and capture the residual as the difference in pricing
ยจ So you could say, why even bother with mean reversion? Take your model as is, and then
run it through your scenario hedging
126
127. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree-c
ยจ The answer to that is, yes you could do that, and that would be fine
ยจ Introducing mean reversion to the current model brings it closer to the market price.
ยจ So it might not be the actual dynamics, but at least you are starting closer to where you
want to end, so any Taylor expansion / approximation will be smaller and more justified
ยจ Also, even though we are a big proponent of the Scenario hedging, this is a class after all, so
playing with the mean reversion is a nice way to introduce some of the concepts around tree
pricing
127
128. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree II
ยจ Letโs go through the derivation of that โtrickโ (not the only one but a rather popular one)
ยจ More to illustrate the tree dynamics, and how a change in the algorithm affects the
underlying dynamics, and how one needs to be careful about the small details
ยจ In textbooks, sometimes you read that you need a trinomial tree in order to have an extra
degree of freedom in order to accommodate mean reversion.
ยจ I have never fully understood why that is the case, and what a trinomial tree has that a two-
step binomial tree cannot exhibit
ยจ We will also present a trinomial tree implementation as it is a neat example of something
crucial when dealing with trees (or sometimes trees on a grid) : stability analysis and
constraints on the discrete parameters
128
129. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree III
ยจ ๐ ๐, ๐ = ๐? ๐ + ๐ โ
1
"
. ๐ฟ๐(๐)
ยจ ๐ ๐,
1
"
= ๐?(๐)
ยจ Once the volatility structure ๐ฟ๐(๐) is given, there is no choice on the mean reversion
parameter that is given by {
=F
=
}
ยจ ฮ ๐(๐ + 1, ๐) =
!
"
ฮ ๐(๐, ๐ โ 1) + ฮ ๐(๐, ๐)
129
X(k,i)
X(k+1,i+1)
X(k+1,i)
๐ฟ๐/2
๐ฟ๐/2
130. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree IV
ยจ ฮ ๐(๐, ๐) follows the binomial distribution, in the continuous limit we recover the Gaussian
distribution and the diffusion equation.
ยจ ฮ ๐(๐ + 1, ๐) =
!
"
ฮ ๐(๐, ๐ โ 1) + ฮ ๐(๐, ๐)
ยจ ฮ ๐(๐, ๐) = 2-1. )
1 =
!
"& .
1!
)! 1-) !
ยจ ฮ ๐(๐, ๐ โ 1) = 2-1. )-!
1 =
!
"& .
1!
()-!)! 1-)2! !
ยจ We have : )-!
1 + )
1 = )
12!
ยจ So by recurrence we also have ฮ ๐(๐ + 1, ๐) = 2-12!. )
12! =
!
"&H! .
(12!)!
)! 12!-) !
130
131. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree V
ยจ One introduces mean reversion in an algorithmic fashion in the following way:
ยจ Usual tree:
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐C = 1/2
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ + 1 with probability ๐B = 1/2
ยจ We introduce ๐ (note that a time dependent ๐(๐ก) is completely analogous, but for sake of
simplicity we will drop the time dependence for now
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐C =
!
"
. (1 โ ๐)
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ + 1 with probability ๐B =
!
"
. (1 โ ๐)
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐ 1,) โ(12!,*) = ๐. ฮ ๐(๐ + 1, ๐)
131
132. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VI
ยจ The functional ๐ 1,) โ(12!,*) = ๐. ฮ ๐(๐ + 1, ๐) is chosen so that the probabilities on the
tree are intact
ยจ We do not change the variance, nor the shape of the distribution for a given time section in
the BDT tree
ยจ We only change the probability of jumping from one node back to another across time
sections
ยจ This will work either when jumping forward in time in the BDT tree (when computing things
like Asian options that are path dependent, or for example the Arrow-Debreu prices of
securities), but also when jumping backward in the BDT tree, when discounting back
American options or pricing callable options.
132
133. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VI-a
ยจ Note that we do not lose any probability density
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐C =
!
"
. (1 โ ๐)
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ + 1 with probability ๐B =
!
"
. (1 โ ๐)
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐ 1,) โ(12!,*) = ๐. ฮ ๐(๐ + 1, ๐)
ยจ So out of the node ๐ ๐, ๐ we will transfer to the next time slice ๐ + 1 a total:
ยจ ๐ =
!
"
. 1 โ ๐ +
!
"
. 1 โ ๐ + ๐. โ*$%
*$12!
ฮ ๐ ๐ + 1, ๐
ยจ And since โ*$%
*$12!
ฮ ๐ ๐ + 1, ๐ = 1 we have ๐ = 1 = 100%
ยจ So 100% of the probability density in the node ๐ ๐, ๐ gets transferred to the next time slice,
we are not losing any probability density (note that we assumed that the sum of the next
tree level probabilities add up to one, so a little self consistent)
133
134. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VII
ยจ The old master equation was: ฮ ๐(๐ + 1, ๐) =
!
"
ฮ ๐(๐, ๐ โ 1) + ฮ ๐(๐, ๐)
ยจ The new master equation is a little more complicated at first:
ยจ So just to be rigorous, we will note ฮ โฒ ๐(๐ + 1, ๐) the new probability distribution
ยจ ฮ ๐(๐ + 1, ๐) is the baseline or the ๐ = 0 solution
ยจ ฮ ๐(๐ + 1, ๐) is the usual binomial distribution
ยจ ฮ ๐(๐ + 1, ๐) = 2-12!. )
12! =
!
"&H! .
(12!)!
)! 12!-) !
134
136. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VII-c
ยจ We now go from ๐ โ (๐ + 1)
ยจ We assume that ฮ @ ๐ ๐, ๐ = ฮ ๐(๐, ๐)
ยจ The master equation is
ยจ ฮ โฒ ๐(๐ + 1, ๐) =
!-I
"
ฮ โฒ ๐ ๐, ๐ โ 1 + ฮ โฒ ๐(๐, ๐) + ๐ โ* ฮ โฒ ๐ ๐, ๐ ฮ ๐(๐ + 1, ๐)
ยจ ฮ โฒ ๐(๐ + 1, ๐) =
!-I
"
ฮ ๐ ๐, ๐ โ 1 + ฮ ๐(๐, ๐) + ๐ โ* ฮ ๐ ๐, ๐ ฮ ๐(๐ + 1, ๐)
ยจ Since โ* ฮ ๐(๐, ๐) = 1
ยจ ฮ @ ๐ ๐ + 1, ๐ =
!-I
"
. ฮ ๐ ๐, ๐ โ 1 + ฮ ๐ ๐, ๐ + ๐. ฮ ๐(๐ + 1, ๐)
136
137. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VII-d
ยจ ฮ @ ๐ ๐ + 1, ๐ =
!-I
"
. ฮ ๐ ๐, ๐ โ 1 + ฮ ๐ ๐, ๐ + ๐. ฮ ๐(๐ + 1, ๐)
ยจ Now note that if ฮ @ ๐ ๐ + 1, ๐ = ฮ ๐(๐ + 1, ๐)
ยจ The Master Equation now would become
ยจ Or: ฮ โฒ ๐ ๐ + 1, ๐ . (1 โ ๐) =
!
"
1 โ ๐ . ฮ ๐(๐, ๐ โ 1) + ฮ ๐(๐, ๐)
ยจ Dividing both sides by the 1 โ ๐ term we get:
ยจ ฮ @ ๐ ๐ + 1, ๐ =
!
"
ฮ ๐ ๐, ๐ โ 1 + ฮ ๐ ๐, ๐ = ฮ ๐(๐ + 1, ๐)
ยจ This is the same master equation, so probabilities are conserved, and the distribution is also
conserved !! In particular, we also have : โ*$%
*$12!
ฮ ๐ ๐ + 1, ๐ = 1
137
138. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VII-e
ยจ Without guessing so much:
ยจ ฮ @ ๐ ๐ + 1, ๐ =
!-I
"
. ฮ ๐ ๐, ๐ โ 1 + ฮ ๐ ๐, ๐ + ๐. ฮ ๐(๐ + 1, ๐)
ยจ And the binomial Master Equation ensures that
ยจ
!-I
"
. ฮ ๐ ๐, ๐ โ 1 + ฮ ๐ ๐, ๐ = 1 โ ๐ . ฮ ๐(๐ + 1, ๐)
ยจ And so :
ยจ ฮ @ ๐ ๐ + 1, ๐ = 1 โ ๐ . ฮ ๐(๐ + 1, ๐) + ๐. ฮ ๐(๐ + 1, ๐) = ฮ ๐(๐ + 1, ๐)
ยจ Sounds pretty obvious, but our little trick did not change the probability distribution, and so
it will not affect the price of caplets, and swaps, or any derivatives that can be discounted
without any path dependency
ยจ Swaptions and callables will change in pricing as it will have to be discounted back along the
tree (say it another way, some of the State Prices will be affected)
138
139. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree VIII
ยจ So numerically we can observe that this will change the price of callable and swaptions
ยจ Will it affect the price of caplets?
ยจ Can we write down the new dynamics for the BDT with this new parameter?
ยจ Can we even write an equation for the continuous process (SDE) ?
ยจ Letโs do the same exercise we did in order to get the new dynamics (if we can)
139
140. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree IX
ยจ For k large enough the tree is centered around ๐ ๐,
1
"
= ๐?(๐) for middle
ยจ For each node ๐ ๐, ๐ = ๐? ๐ + ๐ โ
1
"
. ๐ฟ๐(๐)
ยจ ๐ ๐ + 1, ๐ = ๐? ๐ + 1 + ๐ โ
12!
"
. ๐ฟ๐(๐ + 1)
ยจ ๐ ๐ + 1, ๐ + 1 = ๐? ๐ + 1 + ๐ + 1 โ
12!
"
. ๐ฟ๐(๐ + 1)
140
X(k,i)
X(k+1,i+1)
X(k+1,i)
๐ฟ๐(๐ + 1)
141. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree X
ยจ The big difference is that NOW the probabilities have changed to :
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐C =
!
"
. (1 โ ๐)
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ + 1 with probability ๐B =
!
"
. (1 โ ๐)
ยจ ๐ ๐, ๐ โ ๐ ๐ + 1, ๐ with probability ๐ 1,) โ(12!,*) = ๐. ฮ ๐(๐ + 1, ๐)
ยจ Where before we had :
ยจ < ๐ > =< ๐12!|๐(๐, ๐) > =
!
"
. ๐ ๐ + 1, ๐ + 1 + ๐ ๐ + 1, ๐
ยจ We now have to sum over all the possible nodes in the tree at time (๐ + 1)
ยจ < ๐12!|๐(๐, ๐) > = โ*$%
*$12!
๐ ๐ + 1, ๐ . ๐ 1,) โ(12!,*)
141
142. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree XI
ยจ We can make things easier for us and work in the limit of (๐ โ 0)
ยจ We know that when (๐ = 0) we have:
ยจ < โ๐(๐ = 0) > =
9 1,) -9E 1
89 #
.
;89 #
;#
. ๐ฟ๐ก = ๐ ๐, ๐ โ ๐? ๐ .
!
89 #
.
;89 #
;#
. ๐ฟ๐ก
ยจ For convenience sake, either we set ๐? ๐ = 0, or we define ๐ ๐, ๐ = ๐ ๐, ๐ โ ๐? ๐
and work in the tree in ๐.
ยจ If we set ๐? ๐ = 0 (we can always add a constant tree drift after)
ยจ < โ๐(๐ = 0) > =
9 1,)
89 #
.
;89 #
;#
. ๐ฟ๐ก = ๐ ๐, ๐ .
!
89 #
.
;89 #
;#
. ๐ฟ๐ก
142
144. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree XIII
ยจ We now have:
ยจ < โ๐ > = < โ๐ ๐ = 0 >. 1 โ ๐ + ๐. ๐ฟ < โ๐ >
ยจ ๐ฟ < โ๐ > = [โ*$%
*$12!
๐ ๐ + 1, ๐ . ฮ ๐ ๐ + 1, ๐ โ ๐ ๐, ๐ ]
ยจ ๐ฟ < โ๐ > = [๐?(๐ + 1) โ ๐ ๐, ๐ ]
ยจ Remember that:
ยจ ๐? ๐ + 1 = โ*$%
*$12!
๐ ๐ + 1, ๐ . ฮ ๐ ๐ + 1, ๐
ยจ In the limit of a dense tree ๐? ๐ = ๐(๐,
1
"
)
ยจ And for each node ๐ ๐, ๐ = ๐? ๐ + ๐ โ
1
"
. ๐ฟ๐(๐)
144
145. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree XIV
ยจ < โ๐ > = < โ๐ ๐ = 0 >. 1 โ ๐ + ๐. [๐?(๐ + 1) โ ๐ ๐, ๐ ]
ยจ Again we take the liberty of setting ๐? ๐ + 1 = ๐? ๐ = 0
ยจ (as we can always impose a constant drift later)
ยจ And so : < โ๐ > = ๐ ๐, ๐ .
!
89 #
.
;89 #
;#
. ๐ฟ๐ก. 1 โ ๐ โ ๐. ๐ ๐, ๐
ยจ This looks almost like what we are after
ยจ We need to check that the units are correct and consistent between the two terms, in
particular we look to be missing a ๐ฟ๐ก factor in the second term
ยจ Also we worked in the limit (๐ โ 0) but we know that the BDT construction is algorithmic in
nature, so we are missing the cross-terms and higher order terms, we will need to be
conscious of that
ยจ On the other hand we are trying to get the SDE, which is continuous limit, and not that
helpful, because we are using BDT anyways, and not looking for closed form solutions
145
146. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree XV
ยจ < โ๐ > = ๐ ๐, ๐ .
!
89 #
.
;89 #
;#
. ๐ฟ๐ก. 1 โ ๐ โ ๐. ๐ ๐, ๐
ยจ We have (๐". ๐ฟ๐ก) =
89+
:
, so
!
89 #
.
;89 #
;#
=
!
=
.
;=
;#
=
=@
=
ยจ For ๐ = 0 , the BDT dynamics is ๐๐ = ๐.
=@
=
. ๐๐ก + ๐. ๐๐
ยจ In the continuous limit the binomial distribution ฮ ๐(๐, ๐) = 2-1. )
1 =
!
"& .
1!
)! 1-) !
converges to the Gaussian โ ๐, ๐ก =
!
"J=+#
. exp(
-9+
"=+#
)
146
147. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree XVI
ยจ We still need to calculate the standard deviation
ยจ We could say the following: our trick did not change the probability distribution and it did
not change the spacing.
ยจ And so the variance of the distribution for a given โsliceโ (all nodes at the same time) has
not changed
ยจ This is not completely correct
ยจ Because for the dynamics what we care about is the LOCAL variance (for the process)
ยจ This is quite an important and sometimes concept in trees implementation , where people
sometimes get confused between local and average concept
ยจ For example a BDT tree respects the arbitrage free constraints ON AVERAGE (averaging over
a slice)
ยจ But the BDT tree will NOT respect the arbitrage free constraints locally (as a matter of fact
the very existence of mean reversion in the SDE proves it)
147
148. Luc_Faucheux_2020
Adding some more mean reversion to the BDT tree XVII
ยจ Why is the binomial distribution converging to a Gaussian
ยจ Taylor expansion of the Master equation (Bachelier thesis)
ยจ Stirling approximation (Bachelier thesis once again)
148
150. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint I
ยจ Again, not quite sure why that is so different from a two-step binomial, by cutting the time
step by half (remember that ๐ฟ๐ = 2๐. ๐ฟ๐ก)
150
X(k,i)
X(k+1,i+1)
X(k+1,i-1)
๐ฟ๐/2
๐ฟ๐/2
X(k+1,i)
X(k,i)
X(k+2,i+1)
X(k+2,i-1)
๐ฟ๐/2
X(k+2,i)
๐ฟ๐/2
151. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint II
ยจ We saw in the binomial that in order to match the process ๐๐ = 0. ๐๐ก + ๐. ๐๐
ยจ ๐". ๐ฟ๐ก = (
89+
:
)
ยจ ๐ฟ๐ = 2๐. ๐ฟ๐ก
ยจ So we just have to be a little careful, if we divide the time steps in half, we should only adjust
the space step (vertical distance or spacing between nodes) by the square root of it.
ยจ And now adding mean reversion in that binomial tree is also a little tricky
ยจ But again, barring the fact that trinomial trees are maybe easier to use (and also easier to
put on a grid from the usual PDE numerical methods like Explicit / Implicit / Crank-
Nicholson), I am still not convinced that trinomial trees present a true qualitative difference
from binomial trees.
ยจ But again I have been known to be wrong before, and would love to be challenged on that
issue
151
152. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint III
ยจ We are going to model the process ๐๐ = ๐ผ. ๐๐ก + ๐. ๐๐
ยจ We will then extend to something like ๐ผ = ๐ผ ๐, ๐ก = ๐ ๐ก โ ๐ ๐ก . ๐ with mean reversion
ยจ The trinomial trees usually are โon a gridโ, meaning that the spacing is kept constant and the
probabilities are adjusted to reflect the drift, the mean reversion if any, and the volatility
ยจ This is useful as the same grid can be used for the PDE solving (implicit and explicit, Crank-
Nicholson,..) for the diffusion equation
152
X(k,i)
X(k+1,i+1)
X(k+1,i-1)
๐ฟ๐/2
๐ฟ๐/2
X(k+1,i)
๐&
๐'
๐(
๐ฟ๐ก
153. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint IV
ยจ We have the 3 unknowns ๐K, ๐A, ๐L
ยจ We have the 3 equations :
ยจ ๐K + ๐A + ๐L = 1
ยจ < โ๐ > = ๐K. โ
89
"
+ ๐A. 0 + ๐L. (
89
"
) = ๐ผ. ๐ฟ๐ก
ยจ < โ๐"> = ๐K.
89
"
"
+ ๐A. 0 + ๐L.
89
"
"
= (๐ผ. ๐ฟ๐ก)"+๐". ๐ฟ๐ก
ยจ We have 3 equations, we have 3 unknowns, we have a fighting chance
153
155. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint VI
ยจ The solution is then:
ยจ ๐A = 1 โ {(๐ผ. ๐ฟ๐ก)"+๐". ๐ฟ๐ก}.
89
"
-"
ยจ ๐L =
!
"
. [
"M.8#
89
+ {(๐ผ. ๐ฟ๐ก)"+๐". ๐ฟ๐ก}.
89
"
-"
]
ยจ ๐K =
!
"
. [โ
"M.8#
89
+ {(๐ผ. ๐ฟ๐ก)"+๐". ๐ฟ๐ก}.
89
"
-"
]
ยจ Note that it would seem sensible that all probabilities should be in [0,1]
ยจ A negative probability in the tree is not necessarily a sign that something is wrong, but it is a
constraint that we would like to enforce (related to stability analysis)
155
156. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint VII
ยจ In the simple case where ๐ผ = 0
ยจ ๐A = 1 โ ๐". ๐ฟ๐ก.
89
"
-"
ยจ ๐L =
!
"
. ๐". ๐ฟ๐ก.
89
"
-"
= ๐K
ยจ ๐K =
!
"
. ๐". ๐ฟ๐ก.
89
"
-"
= ๐L
ยจ And we have: ๐A > 0 implies 1 โ ๐". ๐ฟ๐ก.
89
"
-"
> 0 or ๐ฟ๐ > 2๐ ๐ฟ๐ก
ยจ So if we chose a spacing in ๐ฟ๐ smaller than (2๐ ๐ฟ๐ก) we will create a negative probability for
the middle jump ๐A (meaning the phase spacing is too small, and so the probabilities will
push for more on the wings and will deplete the center in order to still verify the variance or
second moment
156
157. Luc_Faucheux_2020
Trinomial trees โ an example of stability constraint VIII
ยจ Note that this does not mean that the probability density at the node ๐(๐ + 1, ๐) will be
negative, but it will be depleted relative to the wings ๐(๐ + 1, ๐ + 1) and ๐(๐ + 1, ๐ โ 1)
ยจ If the spacing is really too small we can run into
ยจ ๐L =
!
"
. ๐". ๐ฟ๐ก.
89
"
-"
= ๐K > 1 when ๐ฟ๐ < ๐ 2๐ฟ๐ก
ยจ Again, mathematically there is nothing wrong there yet, it is just a little weird to have
negative jump probabilities. Also a little hard to see what happens with more than one level
ยจ But one can see how that effect will propagate along the tree and create a situation where
only the 2 nodes on the wings have infinite positive probability and every other nodes in
between will have negative infinite probability. This will also violate the added constraint
that the probability distribution has to follow the heat equation and converges to a
Gaussian.
ยจ This is essentially what stability analysis is all about : the propagation of small errors, does
that grow exponentially and diverges or is it โunder controlโ ?
157