Distance to default package

Similar documents
On the Equivalence of the KMV and Maximum Likelihood Methods for Structural Credit Risk Models

Why Indexing Works. October Abstract

Computational Finance

Asset-based Estimates for Default Probabilities for Commercial Banks

Which GARCH Model for Option Valuation? By Peter Christoffersen and Kris Jacobs

Credit Risk and Underlying Asset Risk *

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Fall 2017 Instructor: Dr. Sateesh Mane.

The Merton Model. A Structural Approach to Default Prediction. Agenda. Idea. Merton Model. The iterative approach. Example: Enron

Bivariate Birnbaum-Saunders Distribution

Chapter 4: Asymptotic Properties of MLE (Part 3)

Probability in Options Pricing

Theoretical Problems in Credit Portfolio Modeling 2

Introduction Credit risk

MLEMVD: A R Package for Maximum Likelihood Estimation of Multivariate Diffusion Models

The Use of Importance Sampling to Speed Up Stochastic Volatility Simulations

Lecture Note 8 of Bus 41202, Spring 2017: Stochastic Diffusion Equation & Option Pricing

Illiquidity, Credit risk and Merton s model

Lecture 3. Sergei Fedotov Introduction to Financial Mathematics. Sergei Fedotov (University of Manchester) / 6

2.4 Industrial implementation: KMV model. Expected default frequency

The Vasicek Distribution

Simulating Continuous Time Rating Transitions

A potentially useful approach to model nonlinearities in time series is to assume different behavior (structural break) in different subsamples

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

Chapter 15: Jump Processes and Incomplete Markets. 1 Jumps as One Explanation of Incomplete Markets

STOCHASTIC CALCULUS AND BLACK-SCHOLES MODEL

Credit Risk Modelling: A Primer. By: A V Vedpuriswar

The Black-Scholes Model

OPTIMAL PORTFOLIO CONTROL WITH TRADING STRATEGIES OF FINITE

Self-Exciting Corporate Defaults: Contagion or Frailty?

Credit Risk : Firm Value Model

Definition 9.1 A point estimate is any function T (X 1,..., X n ) of a random sample. We often write an estimator of the parameter θ as ˆθ.

Likelihood Methods of Inference. Toss coin 6 times and get Heads twice.

NEWCASTLE UNIVERSITY SCHOOL OF MATHEMATICS, STATISTICS & PHYSICS SEMESTER 1 SPECIMEN 2 MAS3904. Stochastic Financial Modelling. Time allowed: 2 hours

Financial Risk Management

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

Results for option pricing

Fast and accurate pricing of discretely monitored barrier options by numerical path integration

Energy Price Processes

Maximum Likelihood Estimation

Term Structure of Credit Spreads of A Firm When Its Underlying Assets are Discontinuous

Walter S.A. Schwaiger. Finance. A{6020 Innsbruck, Universitatsstrae 15. phone: fax:

Stochastic Volatility (Working Draft I)

Market Volatility and Risk Proxies

Stochastic Differential Equations in Finance and Monte Carlo Simulations

The Black-Scholes Model

An application of Ornstein-Uhlenbeck process to commodity pricing in Thailand

Structural Models of Credit Risk and Some Applications

Importance Sampling for Option Pricing. Steven R. Dunbar. Put Options. Monte Carlo Method. Importance. Sampling. Examples.

Two hours. To be supplied by the Examinations Office: Mathematical Formula Tables and Statistical Tables THE UNIVERSITY OF MANCHESTER

Deterministic Income under a Stochastic Interest Rate

Hedging with Life and General Insurance Products

The Black-Scholes Model

Dynamic Portfolio Choice II

Option Pricing Formula for Fuzzy Financial Market

The University of Chicago, Booth School of Business Business 41202, Spring Quarter 2011, Mr. Ruey S. Tsay. Solutions to Final Exam.

Stochastic Processes and Stochastic Calculus - 9 Complete and Incomplete Market Models

THE GARCH STRUCTURAL CREDIT RISK MODEL: SIMULATION ANALYSIS AND APPLICATION TO THE BANK CDS MARKET DURING THE CRISIS

Continuous Processes. Brownian motion Stochastic calculus Ito calculus

Monte Carlo Methods. Prof. Mike Giles. Oxford University Mathematical Institute. Lecture 1 p. 1.

Asset Pricing Models with Underlying Time-varying Lévy Processes

Utility Indifference Pricing and Dynamic Programming Algorithm

Lecture 11: Ito Calculus. Tuesday, October 23, 12

Common Risk Factors in the Cross-Section of Corporate Bond Returns

European call option with inflation-linked strike

1 The Solow Growth Model

Point Estimation. Stat 4570/5570 Material from Devore s book (Ed 8), and Cengage

On Using Shadow Prices in Portfolio optimization with Transaction Costs

Math489/889 Stochastic Processes and Advanced Mathematical Finance Solutions to Practice Problems

Pricing levered warrants with dilution using observable variables

Monitoring Processes with Highly Censored Data

Advanced Topics in Derivative Pricing Models. Topic 4 - Variance products and volatility derivatives

Forecasting Life Expectancy in an International Context

3.1 Itô s Lemma for Continuous Stochastic Variables

Time-changed Brownian motion and option pricing

Lecture 17: More on Markov Decision Processes. Reinforcement learning

[D7] PROBABILITY DISTRIBUTION OF OUTSTANDING LIABILITY FROM INDIVIDUAL PAYMENTS DATA Contributed by T S Wright

arxiv: v2 [q-fin.pr] 23 Nov 2017

King s College London

Heston Model Version 1.0.9

Econ 8602, Fall 2017 Homework 2

Homework Assignments

Modelling the Term Structure of Hong Kong Inter-Bank Offered Rates (HIBOR)

Monte Carlo Simulations

Statistics 431 Spring 2007 P. Shaman. Preliminaries

Module 4: Monte Carlo path simulation

CS 774 Project: Fall 2009 Version: November 27, 2009

Estimating Merton s Model by Maximum Likelihood with Survivorship Consideration

EE641 Digital Image Processing II: Purdue University VISE - October 29,

EE266 Homework 5 Solutions

Near-Expiry Asymptotics of the Implied Volatility in Local and Stochastic Volatility Models

Math 239 Homework 1 solutions

Practical Hedging: From Theory to Practice. OSU Financial Mathematics Seminar May 5, 2008

COMBINING FAIR PRICING AND CAPITAL REQUIREMENTS

Question from Session Two

Chapter 8. Markowitz Portfolio Theory. 8.1 Expected Returns and Covariance

MODELLING VOLATILITY SURFACES WITH GARCH

Back to estimators...

Effectiveness of CPPI Strategies under Discrete Time Trading

CAPITAL BUDGETING IN ARBITRAGE FREE MARKETS

1. 2 marks each True/False: briefly explain (no formal proofs/derivations are required for full mark).

Transcription:

Distance to default package Benjamin Christoffersen September 10, 2018 This package provides fast functions to work with the Merton s distance to default model. We will only briefly cover the model here. See e.g., [5] for a more complete coverage. Denote the observed market values by S t and unobserved asset values by V t. We assume that V t follows a geometric Brownian motion dv t = µv t dt+σv t dw t We observe the asset values over increments of dt in time. Let V k denote the value at t 0 +k dt. Thus, V k+1 = V k exp ((µ 12 ) )dt+σw σ2 t We further let r denote the risk free rate, D t denote debt due at time t + T. Then C(V t,d t,t,σ,r) = V t N(d 1 ) D t exp( rt)n(d 1 σ T) d 1 = log(v t) logd t + ( r + 1 2 σ2) T σ T (1) S t = C(V t,d t,t,σ,r) (2) where C is a European call option price, T is the time to maturity, D t is the debt to due at time T +t, and r is the risk free rate. Common choices tend to be T = 1 year and D t as the short term debt plus half of the long term debt. d 1 in equation (1) is the so-called distance-to-default which is the name of the package. It is a very good predictor of default risk despite it s simplicity [see e.g., 1]. Equation (2) can be computed with the BS_call function. Further, the get_underlying function can be used to invert call option price in equation (2) library(dtd) (S <- BS_call(100, 90, 1,.1,.3)) [1] 22.51 get_underlying(s, 90, 1,.1,.3) [1] 100 1

To illustrate the above then we can simulate the underlying and transform the data into the stock price as follows # assign parameters vol <-.1 mu <-.05 dt <-.05 V_0 <- 100 t. <- (1:50-1) * dt D <- c(rep(80, 27), rep( 70, length(t.) - 27)) r <- c(rep( 0, 13), rep(.02, length(t.) - 13)) # simulate underlying set.seed(seed <- 83992673) V <- V_0 * exp( (mu - vol^2/2) * t. + cumsum(c( 0, rnorm(length(t.) - 1, sd = vol * sqrt(dt))))) # compute stock price S <- BS_call(V, D, T. = 1, r, vol) plot(t., S, type = "l", xlab = "Time", ylab = expression(s[t])) S t 20 30 40 0.0 0.5 1.0 1.5 2.0 2.5 Time Despite that the model assume a constant risk free rate than we let it vary in this example. We end by plotting the stock price. Further, we can confirm that we the same underlying after transforming back all.equal(v, get_underlying(s, D, 1, r, vol)) We could also have used the simulation function in the package 2

set.seed(seed) # use same seed sims <- BS_sim( vol = vol, mu = mu, dt = dt, V_0 = V_0, D = D, r = r, T. = 1) istrue(all.equal(sims$v, V)) istrue(all.equal(sims$s, S)) 1 Drift and volatility estimation There are a few ways to estimate the volatility, σ, and drift, µ. This package only includes the iterative procedure and maximum likelihood method covered in [4, 6, 3, 1]. We denote the former as the iterative method and the latter as the MLE. We have not implemented the method where one solves two simultaneous equation as it will be based on two measurements and may be quite variable [as mentioned in 2]. The iterative methods is as follows. Start with an initial guess of the volatility and denote this ˆσ (0). Then for i = 1,2,... 1. compute the underlying asset values V k = C 1 (S k,ˆσ (i 1) ) where C 1 is the inverse of the call option price in equation (2) and implicitly depend on D t, T, and r. Then compute the log returns x k = logv k logv k 1. 2. compute the maximum likelihood estimate as if we observed the log returns. I.e. compute ˆσ (i) = 1 n n x 2 k dt k ( 1 n n x k dtk ) 2, where we have extended to unequal gaps, dt k. ˆµ (i) = 1 n n x k + ˆσ(i)2 dt k 2 3. Repeat step 1 if (ˆσ (i),ˆµ (i) ) is far from (ˆσ (i 1),ˆµ (i 1) ). Otherwise stop. The parameters can be estimated with the BS_fit function. The iterative method is used in the following call # simulate data set.seed(52722174) sims <- BS_sim( vol =.2, mu =.05, dt = 1/252, V_0 = 100, r =.01, T. = 1, # simulate firm that grows partly by lending D = 70 * (1 +.01 * (0:(252 * 4)) / 252)) 3

# the sims data.frame has a time column. We need to pass this head(sims$time, 6) [1] 0.000000 0.003968 0.007937 0.011905 0.015873 0.019841 # estimate parameters it_est <- BS_fit( S = sims$s, D = sims$d, T. = sims$t, r = sims$r, time = sims$time, method = "iterative") it_est $ests mu vol -0.06848 0.19701 $n_iter [1] 19 $success The volatility is quite close the actual value while the drift is a bit off. This may be due to the fact that the likelihood is flat in the drift. The maximum likelihood estimator is obtained by maximizing the observed log likelihood ( L(µ,σ, S) nlog ( σ 2 dt ) n log C 1 (S k,σ) C 1 (S k 1,σ) ( µ σ 2 /2 ) ) 2 dt k σ 2 dt k (3) n ( 2 logc 1 (S k,σ)+log C ( C 1 (S k,σ),σ ) ) where C 1 is the inverse of the call option price in equation (2) and implicitly depend on D t, T, and r. Notice that we need to use dt k in (3) and the time to maturity, T, in C and C 1. The last term in equation (3) follows from the change of variable X = h 1 (Y) ( f Y (y) = f X h 1 (y) ) (h 1 ) (y) ( = f X h 1 (y) ) 1 h (h 1 (y)) where f denotes a density and the subscript denotes which random variable the density is for. We can estimate the parameters with the MLE method as follows mle_est <- BS_fit( S = sims$s, D = sims$d, T. = sims$t, r = sims$r, time = sims$time, method = "mle") mle_est (4) 4

$ests mu vol -0.07094 0.19762 $n_iter [1] 47 $success The result are usually very similar although they need not to as far as I gather it_est$est - mle_est$est mu vol 0.0024646-0.0006042 The iterative method is faster though library(microbenchmark) with(sims, microbenchmark( iter = BS_fit( S = S, D = D, T. = T, r = r, time = time, method = "iterative"), mle = BS_fit( S = S, D = D, T. = T, r = r, time = time, method = "mle"), times = 5)) Unit: milliseconds expr min lq mean median uq max neval iter 237.0 239.4 239.9 239.7 239.7 243.4 5 mle 552.2 552.4 557.6 560.8 561.0 561.8 5 We can also estimate the parameters when there unequal time gaps in the data set # drop random rows sims <- sims[sort(sample.int(nrow(sims), 100L)), ] # the gap lengths are not equal anymore range(diff(sims$time)) [1] 0.003968 0.174603 # estimate parameters BS_fit( S = sims$s, D = sims$d, T. = sims$t, r = sims$r, time = sims$time, method = "iterative") 5

$ests mu vol -0.05735 0.18699 $n_iter [1] 19 $success References [1] Sreedhar T. Bharath and Tyler Shumway. Forecasting default with the merton distance to default model. The Review of Financial Studies, 21(3):1339 1369, 2008. [2] Peter Crosbie. Modeling default risk. Technical report, Moody, December 2003. [3] Jin-Chuan Duan, Geneviève Gauthier, and Jean-Guy Simonato. On the equivalence of the kmv and maximum likelihood methods for structural credit risk models. 2004. [4] JinChuan Duan. Maximum likelihood estimation using price data of the derivative contract. Mathematical Finance, 4(2):155 167, 1994. [5] David Lando. Credit risk modeling: theory and applications. Princeton University Press, 2009. [6] Maria Vassalou and Yuhang Xing. Default risk in equity returns. The Journal of Finance, 59(2):831 868, 2004. 6