get.point.estimate {RND}R Documentation

Point Estimation of the Density

Description

get.point.estimate estimates the risk neutral density by center differentiation.

Usage

get.point.estimate(market.calls, call.strikes, r, te)

Arguments

market.calls

market calls (most expensive to cheapest)

call.strikes

strikes for the calls (smallest to largest)

r

risk free rate

te

time to expiration

Details

This is a non-parametric estimate of the risk neutral density. Due to center differentiation, the density values are not estimated at the highest and lowest strikes.

Value

point.estimates

values of the estimated density at each strike

Author(s)

Kam Hamidieh

References

J. Hull (2011) Options, Futures, and Other Derivatives and DerivaGem Package Prentice Hall, Englewood Cliffs, New Jersey, 8th Edition

Examples


###
### Recover the lognormal density based on BSM
###

r     = 0.05
te    = 60/365
s0    = 1000
k     = seq(from = 500, to = 1500, by = 1)
sigma = 0.25
y     = 0.01


bsm.calls = price.bsm.option(r =r, te = te, s0 = s0, k = k, sigma = sigma, y = y)$call
density.est = get.point.estimate(market.calls = bsm.calls, 
              call.strikes = k, r = r , te = te)

len = length(k)-1
### Note, estimates at two data points (smallest and largest strikes) are lost
plot(density.est ~ k[2:len], type = "l")  


[Package RND version 1.2 Index]