Coding towards CFA (30) – Calculating CVA (Credit Valuation Adjustment)

Coding towards CFA (30) – Calculating CVA (Credit Valuation Adjustment)

Credit Valuation Adjustment (CVA) is the present value of the potential credit risk associated with an investment that carries counterparty risk. The CFA curriculum, Fixed Income, Module 4, Section 2, presents the detailed steps for calculating CVA. In this blog post, I will replicate these steps using Python. Below is a diagram I created to … Continue reading Coding towards CFA (30) – Calculating CVA (Credit Valuation Adjustment)

Coding towards CFA (29) – Pricing Credit Default Swap with QuantLib

Coding towards CFA (29) – Pricing Credit Default Swap with QuantLib

In the previous blog, I manually crafted the Python code for pricing CDS without relying on third-party quant libraries. While this approach was useful for understanding the underlying algorithm, in practice, it's preferable to use a mature, validated library for standardisation when available. In this blog post, I will revisit the CDS pricing exercise using … Continue reading Coding towards CFA (29) – Pricing Credit Default Swap with QuantLib

Coding towards CFA (28) – Pricing Credit Default Swaps

Coding towards CFA (28) – Pricing Credit Default Swaps

Some Basics of Credit Default Swap (CDS) A Credit Default Swap is a credit derivative instrument that functions as a form of insurance, where one party pays a series of premiums to another party in exchange for protection against the risk of default by the issuer of the underlying debt. Parties Involved: Protection Buyer - Owns … Continue reading Coding towards CFA (28) – Pricing Credit Default Swaps

Coding towards CFA (27) – Pricing Capped and Floored Floating-Rate Bonds with QuantLib

Coding towards CFA (27) – Pricing Capped and Floored Floating-Rate Bonds with QuantLib

The concept of "capped and floored floating-rate bonds" is covered in Section 9, Module 3 of the CFA Fixed Income curriculum. Compared to fixed-rate bonds, floating-rate bonds have distinct features that make their valuation and pricing more complex. In this blog post, I will begin by discussing the key features of floating-rate bonds and then … Continue reading Coding towards CFA (27) – Pricing Capped and Floored Floating-Rate Bonds with QuantLib

Coding towards CFA (26) – Effect of Interest Rate and Volatility

Coding towards CFA (26) – Effect of Interest Rate and Volatility

In CFA Fixed Income curriculum, module 3, section 3, "Effect of Interest Rate Volatility", the impact of interest rate volatility on the value of callable and putable bonds is explored. In this blog post, I will replicate the examples from the CFA curriculum using Python code, leveraging the QuantLib library for bond valuations, including: Effect … Continue reading Coding towards CFA (26) – Effect of Interest Rate and Volatility

Coding towards CFA (25) – Pricing Callable and Putable Bonds with QuantLib

Coding towards CFA (25) – Pricing Callable and Putable Bonds with QuantLib

The valuation and analysis of bonds with embedded options is the most focused topic discussed in the CFA Level 2 Fixed Income curriculum. These types of bonds, such as callable and puttable bonds, introduce an additional layer of complexity due to the optionality features embedded within the instrument. In this blog post, I will discuss … Continue reading Coding towards CFA (25) – Pricing Callable and Putable Bonds with QuantLib

Coding towards CFA (24) – Calculate Key Rate Duration

Coding towards CFA (24) – Calculate Key Rate Duration

The concept of Key Rate Duration is discussed in the CFA, Fixed Income, module 1, section 8, "The Maturity Structure of Yield Curve Volatilities" and module 3, section 7, "One-Sided and Key Duration". In the real world, the yield curve does not always shift in parallel. Instead, different maturities may experience varying changes in interest … Continue reading Coding towards CFA (24) – Calculate Key Rate Duration

Coding towards CFA (23) – Parallel Monte Carlo Simulations with DolphinDB

Coding towards CFA (23) – Parallel Monte Carlo Simulations with DolphinDB

The Monte Carlo simulation method for pricing fixed-income instruments is introduced in CFA Level 2, Fixed Income, Module 2, Section 7. In this blog post, I will walk through the coding of the steps outlined in the CFA curriculum. The Monte Carlo approach can be computationally intensive, especially due to the need for simulating a … Continue reading Coding towards CFA (23) – Parallel Monte Carlo Simulations with DolphinDB

Coding towards CFA (22) – Simulating Future Interest Rates Path

Coding towards CFA (22) – Simulating Future Interest Rates Path

The interest rate term structure models are discussed in the CFA curriculum, Fixed Income, Module 2, Section 8. This section focuses on understanding how interest rates evolve over time, with models used to explain and predict the term structure of interest rates. Modeling the future path of interest rates is critical for a wide range … Continue reading Coding towards CFA (22) – Simulating Future Interest Rates Path

Coding towards CFA (21) – Calculate Z-Spread with QuantLib

Coding towards CFA (21) – Calculate Z-Spread with QuantLib

The Z-spread is an important metric for analysing the yield premium on a bond. It measures the constant spread over the benchmark yield curve, typically a risk-free curve, representing the additional credit or liquidity risks associated with the bond. Key features of Z-spread Risk-free benchmark - the Z-spread is measured with a risk-free curve as … Continue reading Coding towards CFA (21) – Calculate Z-Spread with QuantLib