Introduction

These study notes are based on the Exam 9 syllabus reading CAT Bond and Other Risk-Linked Securities: State of Market and Recent Developments by J. D. Cummins. This reading explains various approaches to securitization of catastrophe risk, and discusses reasons for growth in the market. This reading corresponds to learning objective C5 on the syllabus.

easypackages::packages("dplyr", "ggplot2")

Products

CAT Bonds

  • Structure: The sponsor forms a single purpose reinsurer who issues bonds to investors. Proceeds are invested in safe short-term securities; the fixed return is swapped for a floating rate based on LIBOR to immunize against interest rate risk. If a specified catastrophic event occurs, the SPR releases funds to the sponsor to pay claims arising from the event. If the event does not occur, the principal is returned to investors.

  • Risk Premium: The bond pays LIBOR plus a risk premium. Margins tend to be lower than reinsurance, because they are uncorrelated with financial risk and are attractive to investors.

  • Triggers:
    • Indemnity trigger: payouts based on the sponsor’s actual losses. Minimizes basis risk for insurers, which is the risk that the loss payout of the bond will differ from actual losses. Generally requires disclosure of confidential information about the insurer’s portfolio to the investor. Are generally considered to be reinsurance by regulators.
    • Index trigger: payouts based on an index not directly tied to actual losses. Minimizes risk of moral hazard for the investors, e.g. the insurer may overpay on catastrophe losses. Generally faster to measure and results in faster payouts. May not be considerd as reinsurance by regulators.
      • Industry loss index: payoff when industry-wide losses from an event exceed a threshold.
      • Modelled loss index: index calculated based on a model provided by a cat modelling firm; the actual event’s parameters are used in the simulation. Reduces basis risk but introduces model risk.
      • Parametric index: trigger based on physical measures of the event, e.g. wind speed and location of a hurricane. Highest basis risk.
    • Hybrid triggers: blend the above into a single bond
  • Tenor: Can lock in multi-year protection; the typical tenor is three years. Tend to be shorter than 5 years because market participants want to reprice the risk periodically.

  • Transaction costs: Cost of issuing can be spread over multiple years if it is a multi-year bond. Use of an SPR provides access to the tax and accounting benefits of traditional reinsurance.

  • Credit Risk: CAT bonds are fully collateralized, so there is no credit risk.

  • Principal Risk: Generally, principal is fully at risk. As a result, bond ratings are determined by the risk of the triggering event, not the risk of default. A bond may have a principal protected tranche in which the return of principal is guaranteed; the triggering event affects the interest and timing of repayment. (Example: the cat bond becomes a 10-year zero coupon bond.)

Sidecars

  • Structure: in a sidecar, investors are offered an opportunity to invest in a reinsurer’s treaties.
    • A special purpose vehicle is formed to accept retrocessions from the reinsurer for specific types of reinsurance, e.g. property catastrophe or excess of loss.
    • Can complement a CAT bond in a manner analogous to a quota share treaty in a traditional reinsurance program.
    • Reinsurer receives override commissions for premiums ceded to sidecars
    • Provides greater capacity to write reinsurance
    • Is formed off-balance sheet, improving leverage
  • Triggers: The sidecar is liable to pay claims on the ceded reinsurance contracts when they occur

  • Tenor: Tend to be short-lived

  • Transaction costs: Can be formed quickly with minimal documentation and costs

Cat-E-Puts

  • Structure: a catastrophe equity put is an option to issue preferred stock at a pre-agreed price after a catastrophe, when the stock price is likely depressed. This will likely further dilute the value of the firm’s existing shares after a catastrohpe.

  • Risk Premium: insurer pays a premimum to the writer of the option.

  • Transaction costs: lower than CAT bonds because there is no need to set up a SPR

  • Credit Risk: not collateralized, so the insurer is exposed to counterparty credit risk

  • Principal Risk: no principal is provided

Catastrophe Risk Swaps

  • Structure: swaps are executed betwene two firms with exposure to different types of catastrophic risk, e.g. swapping California earthquake risk for Japanese earthquake risk. May use a reinsurer as an intermediary, or directly between the two swap partners.

  • Risk Premium: no exchange of money at the outset of the contract; only on the occurrence of one of the triggering events

  • Triggers: need to be carefully defined so that the expected losses under the two sides of the risk are equivalent; introduces model risk. Typically a parametric trigger with a specified payment amount is used; this amount may be on a sliding scale depending on the severity of the event.

  • Tenor: annual or multi-year

  • Transaction costs: low because no money changes hands until the occurrence of a triggering event

  • Credit Risk: both participants are exposed to counterparty credit risk. Could be mitigated by involving an investment bank or reinsurer, but this would increase transaction costs.

  • Principal Risk: not pre-funded

As an example, suppose we are considering a swap of earthquake risk for hurricane risk based on a parametric trigger. The insurers base the swap on 1000 simulations of two catastrophe models, with only 10 of each corresponding to catastrophic losses. Suppose the results of the simulation are as follows:

eq.simulation = data.frame(magnitude = c(8, 7, 7, 7, 6, 6, 6, 6, 6, 6), eq_cost = c(1000, 600, 500, 400, 450, 400, 300, 250, 200, 200))
eq.simulation
##    magnitude eq_cost
## 1          8    1000
## 2          7     600
## 3          7     500
## 4          7     400
## 5          6     450
## 6          6     400
## 7          6     300
## 8          6     250
## 9          6     200
## 10         6     200
hurricane.simulation = data.frame(category = c(5, 5, 4, 4, 4, 4, 3, 3, 3, 3), hurricane_cost = c(600, 550, 400, 350, 350, 300, 200, 200, 150, 150))
hurricane.simulation
##    category hurricane_cost
## 1         5            600
## 2         5            550
## 3         4            400
## 4         4            350
## 5         4            350
## 6         4            300
## 7         3            200
## 8         3            200
## 9         3            150
## 10        3            150

Suppose that the parametric trigger for earthquake is magnitude 7 or greater, and we want to determine a trigger for hurricane that produces the closest possible expected loss, and determine the balance that should be paid from one party to the other. The expected loss on the earthquake side of the swap is:

eq.simulation = eq.simulation %>% mutate(swap_triggered = magnitude >= 7)
eq.expected.swap = sum(eq.simulation$swap_triggered * eq.simulation$eq_cost) / 1000
print(paste0("The expected amount of earthquake cost transferred is ", eq.expected.swap))
## [1] "The expected amount of earthquake cost transferred is 2.5"

Determine the expected hurricane loss transferred at each of the possible parametric thresholds:

hurr.expected.swap = function(trigger_level) {
  swap_triggered = hurricane.simulation$category >= trigger_level
  return(sum(hurricane.simulation$hurricane_cost * swap_triggered) / 1000)
}
hurr.transferred = data.frame(trigger_level = 3:5)
hurr.transferred$hurr_expected_swap = apply(hurr.transferred, 1, function(y) hurr.expected.swap(y['trigger_level']))
hurr.transferred
##   trigger_level hurr_expected_swap
## 1             3               3.25
## 2             4               2.55
## 3             5               1.15

A category 4 trigger for the hurricane transfer provides the closest expected transfer to the expected transfer of earthquake risk. In order to fully equalize the swap, the hurricane insurer should also pay 0.05 to the earthquake insurer.

Industry Loss Warranties

  • Structure: similar to CAT bonds, but are dual-trigger. Based on both the insurer’s losses and industry losses, so it provides protection in scenarios where the reinsurance market is likely to harden. They are treated as reinsurance for regulatory purposes.

  • Triggers: The retention trigger is based on the incurred losses of the sponsor. The warranty trigger is based on an industry-wide loss index. Both triggers must be hit in order for the sponsor to receive a payoff. Under a binary trigger, when both triggers are hit the full amount of the contract pays off. Under a pro rata trigger, the payoff amount depends on how much the loss exceeds the warranty.

  • Tenor: typically one year

Summary

Instrument Advantages Disadvantages
CAT Bond Fully collateralized Moral hazard / basis risk (depending on trigger); higher costs than other securities
Sidecars Formed quickly with minimal costs
Cat-E-Puts Lower transaction costs Dilutes stock price after a catastrophe; credit risk
Catastrophe Risk Swaps Provides a new source of diversification Exposure to model risk and credit risk
Industry Loss Warranties Avoid regulatory concerns about non-indemnity bonds

Comparison of Triggers on Simulated Data

Using simulated data for industry and insurer losses, the different trigger types can be compared. In these examples, assume that the insurer sets capital for catastropic risk at the 0.99 Tail Value At Risk (CTE). The triggers will be compared by assessing their impact on this capital requirement.

set.seed(123)
simulated.losses = data.frame(simulation = 1:1000)
simulated.losses = simulated.losses %>% mutate(industry_losses = exp(rnorm(nrow(simulated.losses), mean = 4, sd = 3)), insurer_losses = 0.25 * runif(nrow(simulated.losses)) * industry_losses) %>% arrange(-industry_losses)
head(simulated.losses, 10)
##    simulation industry_losses insurer_losses
## 1         164       911748.81     160437.476
## 2         747       175455.72       3411.381
## 3         842       171884.32      17442.319
## 4         911       123790.92      21508.937
## 5         360       122317.38      12916.296
## 6         866       115737.31      22215.032
## 7         929        95224.60      15809.371
## 8         696        87045.08      21677.817
## 9         549        80071.88       9139.932
## 10        371        76904.53      16893.908

Absent any catastrophe protection, the capital requirement is the average of the ten largest losses for the insurer.

cte.baseline.data = simulated.losses %>% arrange(-insurer_losses) %>% mutate(loss_rank = rank(insurer_losses), cte_contribution = loss_rank >= 991)
head(cte.baseline.data, 15)
##    simulation industry_losses insurer_losses loss_rank cte_contribution
## 1         164       911748.81     160437.476      1000             TRUE
## 2         866       115737.31      22215.032       999             TRUE
## 3         696        87045.08      21677.817       998             TRUE
## 4         911       123790.92      21508.937       997             TRUE
## 5         842       171884.32      17442.319       996             TRUE
## 6         371        76904.53      16893.908       995             TRUE
## 7         929        95224.60      15809.371       994             TRUE
## 8         360       122317.38      12916.296       993             TRUE
## 9         855        57675.09      11560.067       992             TRUE
## 10        981        55005.36      10708.976       991             TRUE
## 11         97        38638.29       9274.080       990            FALSE
## 12        549        80071.88       9139.932       989            FALSE
## 13        265        53063.09       9024.645       988            FALSE
## 14        201        39991.85       8199.974       987            FALSE
## 15        808        35747.93       8129.647       986            FALSE
baseline.CTE = sum((cte.baseline.data$insurer_losses * cte.baseline.data$cte_contribution)) / sum(cte.baseline.data$cte_contribution)
print(paste0("The baseline capital requirement is ", baseline.CTE))
## [1] "The baseline capital requirement is 31117.0200114945"

Suppose that the insurer is comparing CAT Bonds, with a payoff of 10,000 and three possible triggers:

  1. An indemnity trigger at 10,000

  2. An industry index trigger at 100,000

  3. A binary trigger based on the two triggers above

Identify when each trigger would be met:

simulated.losses = simulated.losses %>% mutate(warranty_trigger_met = industry_losses >= 100000, retention_trigger_met = insurer_losses >= 10000, both_trigers_met = warranty_trigger_met & retention_trigger_met)
head(simulated.losses, 10)
##    simulation industry_losses insurer_losses warranty_trigger_met
## 1         164       911748.81     160437.476                 TRUE
## 2         747       175455.72       3411.381                 TRUE
## 3         842       171884.32      17442.319                 TRUE
## 4         911       123790.92      21508.937                 TRUE
## 5         360       122317.38      12916.296                 TRUE
## 6         866       115737.31      22215.032                 TRUE
## 7         929        95224.60      15809.371                FALSE
## 8         696        87045.08      21677.817                FALSE
## 9         549        80071.88       9139.932                FALSE
## 10        371        76904.53      16893.908                FALSE
##    retention_trigger_met both_trigers_met
## 1                   TRUE             TRUE
## 2                  FALSE            FALSE
## 3                   TRUE             TRUE
## 4                   TRUE             TRUE
## 5                   TRUE             TRUE
## 6                   TRUE             TRUE
## 7                   TRUE            FALSE
## 8                   TRUE            FALSE
## 9                  FALSE            FALSE
## 10                  TRUE            FALSE

Under each of the three triggers, re-calculate the losses:

simulated.losses = simulated.losses %>% mutate(warranty_losses = insurer_losses - 10000 * warranty_trigger_met, retention_losses = insurer_losses - 10000 * retention_trigger_met, binary_losses = insurer_losses - 10000 * both_trigers_met)
head(simulated.losses, 10)
##    simulation industry_losses insurer_losses warranty_trigger_met
## 1         164       911748.81     160437.476                 TRUE
## 2         747       175455.72       3411.381                 TRUE
## 3         842       171884.32      17442.319                 TRUE
## 4         911       123790.92      21508.937                 TRUE
## 5         360       122317.38      12916.296                 TRUE
## 6         866       115737.31      22215.032                 TRUE
## 7         929        95224.60      15809.371                FALSE
## 8         696        87045.08      21677.817                FALSE
## 9         549        80071.88       9139.932                FALSE
## 10        371        76904.53      16893.908                FALSE
##    retention_trigger_met both_trigers_met warranty_losses retention_losses
## 1                   TRUE             TRUE      150437.476       150437.476
## 2                  FALSE            FALSE       -6588.619         3411.381
## 3                   TRUE             TRUE        7442.319         7442.319
## 4                   TRUE             TRUE       11508.937        11508.937
## 5                   TRUE             TRUE        2916.296         2916.296
## 6                   TRUE             TRUE       12215.032        12215.032
## 7                   TRUE            FALSE       15809.371         5809.371
## 8                   TRUE            FALSE       21677.817        11677.817
## 9                  FALSE            FALSE        9139.932         9139.932
## 10                  TRUE            FALSE       16893.908         6893.908
##    binary_losses
## 1     150437.476
## 2       3411.381
## 3       7442.319
## 4      11508.937
## 5       2916.296
## 6      12215.032
## 7      15809.371
## 8      21677.817
## 9       9139.932
## 10     16893.908

Now, calculate the CTE for each of the three triggers, noting that the “top ten” simulations are different in each case.

cte.indemnity.data = simulated.losses %>% mutate(loss_rank = rank(retention_losses), cte_contribution = loss_rank >= 991)
indemnity.CTE = sum((cte.indemnity.data$retention_losses * cte.indemnity.data$cte_contribution)) / sum(cte.indemnity.data$cte_contribution)
print(paste0("The indemnity trigger capital requirement is ", indemnity.CTE, ", an improvement of ", baseline.CTE - indemnity.CTE, " over the baseline."))
## [1] "The indemnity trigger capital requirement is 23704.9860239407, an improvement of 7412.03398755372 over the baseline."
cte.warranty.data = simulated.losses %>% mutate(loss_rank = rank(warranty_losses), cte_contribution = loss_rank >= 991)
warranty.CTE = sum((cte.warranty.data$warranty_losses * cte.warranty.data$cte_contribution)) / sum(cte.warranty.data$cte_contribution)
print(paste0("The industry index trigger capital requirement is ", warranty.CTE, ", an improvement of ", baseline.CTE - warranty.CTE, " over the baseline."))
## [1] "The industry index trigger capital requirement is 26922.5597095798, an improvement of 4194.46030191464 over the baseline."
cte.binary.data = simulated.losses %>% mutate(loss_rank = rank(binary_losses), cte_contribution = loss_rank >= 991)
binary.CTE = sum((cte.binary.data$binary_losses * cte.binary.data$cte_contribution)) / sum(cte.binary.data$cte_contribution)
print(paste0("The binary trigger capital requirement is ", binary.CTE, ", an improvement of ", baseline.CTE - warranty.CTE, " over the baseline."))
## [1] "The binary trigger capital requirement is 26922.5597095798, an improvement of 4194.46030191464 over the baseline."

The last two two produce the same result in this simulation, but this is a coincidece caused by the fact that the simulations on which the two triggers differ don’t contribute to the CTE. They do have an impact on the overall expected result:

print(paste0("Under a binary trigger, the expected loss is ", mean(simulated.losses$binary_losses)))
## [1] "Under a binary trigger, the expected loss is 449.405869262025"
print(paste0("Under an industry index trigger, the expected loss is ", mean(simulated.losses$warranty_losses)))
## [1] "Under an industry index trigger, the expected loss is 439.405869262025"

Market for Catastrophe Securitization

Advantages Relative to Traditional Reinsurance

  • CAT bonds are generally issued to cover the highest layers of reinsurance protection; this is the layer where reinsurer credit is of greatest concern, and the reinsurance margins are highest.

  • Reinsurance typically only provides one year of protection, but CAT bonds can have longer tenors. As a result, they shelter the bond sponsor from cyclical price fluctuations in the reinsurance market.

  • Investors are interested in CAT bonds because they are a “pure play” in catastrophic risk; the use of an SPR isolates them from the general business and insolvency risks of the sponsor.

  • CAT bonds are attractive to investors because catastrophic events have low correlation with securities markets and provide diversification.

  • The securities market is significantly larger than the reinsurance market, and can more easily absorb extreme losses.

  • Securities markets are more efficient than insurance markets in determining prices.

  • Can be used by governments to pre-fund disaster relief efforts.

  • Transaction costs are generally lower for CAT Bonds than for traditional reinsurance.

  • CAT Bonds are particularly well-suited to high coverage layers and the retrocession market.

Price Comparisons

A key factor in the expansion of the CAT Bond market is that prices are competitive with comparable reinsurance.

  • The price metric for a CAT Bond is the spread, which is the ratio of risk premium to expected loss (as a percentage of principal).

  • For reinsurance, the rate on line (ROL) is the ratio of reinsurance premium to policy limit.

  • The loss on line (LOL) is the ratio of expected losses to the policy limit.

  • The analogous price metric for reinsurance is the ROL-to-LOL ratio, which is the ratio of premium to expected loss. This is generally low for contracts with higher LOL because low-LOL contracts are likely covering the riskier upper tails.

Considerations when making comparisons between CAT Bonds and reinsurance include:

  • Reinsurance contracts for national primary insurers are a fairer comparison point than regional primary insurers. This is because large national and international firms are the most likely issuers of CAT Bonds, and national insurers tend to have higher ROL-to-LOL ratios than regional insurers.

  • The LOL of the reinsurance contracts should be comparable to the expected losses (as a percentage of principal) for the CAT Bond.

Factors Impeding Growth of the Market

Regulatory

  • For regulatory reasons, CAT Bonds are typically issued offshore; onshore issuance might decrease transaction costs.

  • Reinsurer credit risk is ignored by regulators until there is a recoverable. Grading regulatory capital charges for reinsurance by reinsurer credit quality would boost the catastrophe securities market by recognizing the full collateralization provided by CAT Bonds.

  • Regulators could give primary insurers credit for locking in multi-year pricing by issuing catastrophe securities, compared to the annual renewal of reinsurance.

Accounting

  • Nonindemnity CAT Bonds may not be treated as reinsurance for accounting purposes due to regulatory concern over basis risk and potential use of CAT Bonds as speculative investments.

Taxation

  • Offshore issuance generally avoids taxation concerns; the SPRs have been held to be not taxable for U.S. federal income tax purposes.

  • The tax status of bond premia is ambiguous, and is not addressed by the Tax Code or the IRS. They are generally being treated as dividends rather than interest.

  • The sponsors deduct premium payments on bonds for income tax purposes, e.g. treating bond interest the same way as reinsurance premiums.

Rating Issues

  • CAT Bonds are not publicly traded, and securities regulations discourage the dissemination of information on CAT Bonds, limiting the ability of potential sponsors to conduct research.

  • Data on large catastrophe events is required in order to provide information on potential losses and facilitate the development of CAT loss index products.