jumps {derivmkts} R Documentation

## Option pricing with jumps

### Description

The functions cashjump, assetjump, and mertonjump return call and put prices, as vectors named "Call" and "Put", or "Call1", "Call2", etc. in case inputs are vectors. The pricing model is the Merton jump model, in which jumps are lognormally distributed.

### Usage

assetjump(s, k, v, r, tt, d, lambda, alphaj, vj, complete)
cashjump(s, k, v, r, tt, d, lambda, alphaj, vj, complete)
mertonjump(s, k, v, r, tt, d, lambda, alphaj, vj, complete)


### Arguments

 s Stock price k Strike price of the option v Volatility of the stock, defined as the annualized standard deviation of the continuously-compounded return r Annual continuously-compounded risk-free interest rate tt Time to maturity in years d Dividend yield, annualized, continuously-compounded lambda Poisson intensity: expected number of jumps per year alphaj Mean change in log price conditional on a jump vj Standard deviation of change in log price conditional on a jump complete Return inputs along with prices, all in a data frame

### Details

Returns a scalar or vector of option prices, depending on the inputs

### Value

A vector of call and put prices computed using the Merton lognormal jump formula.

McDonald, Robert L., Derivatives Markets, 3rd Edition (2013) Chapter 24

bscall bsput

### Examples

s <- 40; k <- 40; v <- 0.30; r <- 0.08; tt <- 2; d <- 0;
lambda <- 0.75; alphaj <- -0.05; vj <- .35;
bscall(s, k, v, r, tt, d)
bsput(s, k, v, r, tt, d)
mertonjump(s, k, v, r, tt, d, 0, 0, 0)
mertonjump(s, k, v, r, tt, d, lambda, alphaj, vj)

## following returns the same price as previous
c(1, -1)*(assetjump(s, k, v, r, tt, d, lambda, alphaj, vj) -
k*cashjump(s, k, v, r, tt, d, lambda, alphaj, vj))

## return call prices for different strikes
kseq <- 35:45
cp <- mertonjump(s, kseq, v, r, tt, d, lambda, alphaj,
vj)\$Call

## Implied volatilities: Compute Black-Scholes implied volatilities
## for options priced using the Merton jump model
vimp <- sapply(1:length(kseq), function(i) bscallimpvol(s, kseq[i],
r, tt, d, cp[i]))
plot(kseq, vimp, main='Implied volatilities', xlab='Strike',
ylab='Implied volatility', ylim=c(0.30, 0.50))


[Package derivmkts version 0.2.5 Index]