Learn R Programming

RND (version 1.2)

ew.objective: Edgeworth Exapnsion Objective Function

Description

ew.objective is the objective function to be minimized in ew.extraction.

Usage

ew.objective(theta, r, y, te, s0, market.calls, call.strikes, call.weights = 1, lambda = 1)

Arguments

theta
initial values for the optimization
r
risk free rate
y
dividend yield
te
time to expiration
s0
current asset value
market.calls
market calls (most expensive to cheapest)
call.strikes
strikes for the calls (smallest to largest)
call.weights
weights to be used for calls
lambda
Penalty parameter to enforce the martingale condition

Value

Details

This function evaluates the weighted squared differences between the market option values and values predicted by Edgworth based expansion of the risk neutral density.

References

E. Jondeau and S. Poon and M. Rockinger (2007): Financial Modeling Under Non-Gaussian Distributions Springer-Verlag, London

R. Jarrow and A. Rudd (1982) Approximate valuation for arbitrary stochastic processes. Journal of Finanical Economics, 10, 347-369

C.J. Corrado and T. Su (1996) S&P 500 index option tests of Jarrow and Rudd's approximate option valuation formula. Journal of Futures Markets, 6, 611-629

Examples

Run this code

r       = 0.05
y       = 0.03
s0      = 1000
sigma   = 0.25
te      = 100/365
k       = seq(from=800, to = 1200, by = 50)
v       = sqrt(exp(sigma^2 * te) - 1)
ln.skew = 3 * v + v^3
ln.kurt = 16 * v^2 + 15 * v^4 + 6 * v^6 + v^8

#
# The objective function should be close to zero.  
# Also the weights are automatically set to 1.
#

market.calls.bsm = price.bsm.option(r = r, te = te, s0 = s0, k=k, 
                   sigma=sigma, y=y)$call
ew.objective(theta = c(sigma, ln.skew, ln.kurt), r = r, y = y, te = te, s0=s0, 
             market.calls = market.calls.bsm, call.strikes = k, lambda = 1)


Run the code above in your browser using DataLab