- Joined
- 6/25/13
- Messages
- 26
- Points
- 11
Hi everybody.
So i'm working on implementing HN model.
I was working on "Options pricing and volatility" where i can find VBA code, but in fact the estimate parameters are too dependent of starting value ... so i decided to us foptions package for R :
http://cran.r-project.org/web/packages/fOptions/fOptions.pdf
it's the first time that i use R so it was a little hard but i thinks that i get parameters for the assymetric GARCH :
now i would like to get your help to find option price.
the code given by foption's manual is :
(1) Are we agree that here i have to put estimated parameters and not starting value ?
(4) Which risk rate would you put here ? i think that 5% is too high ?
A problem is that i can't find market price, for exemple if bloomberg price is 225 i find 290 ... any ideas ?
Thanks for help
So i'm working on implementing HN model.
I was working on "Options pricing and volatility" where i can find VBA code, but in fact the estimate parameters are too dependent of starting value ... so i decided to us foptions package for R :
http://cran.r-project.org/web/packages/fOptions/fOptions.pdf
it's the first time that i use R so it was a little hard but i thinks that i get parameters for the assymetric GARCH :
Coefficients: lambda, omega, alpha, beta, gamma
lambda omega alpha beta gamma
-3.137e-01 1.642e-286 9.845e-06 7.247e-01 1.546e+02
now i would like to get your help to find option price.
the code given by foption's manual is :
Code:
## model -
(1) # Define the Model Parameters for a Heston-Nandi Option:
model = list(lambda = -0.5, omega = 2.3e-6, alpha = 2.9e-6,
beta = 0.85, gamma = 184.25)
S = X = 100
(3) Time.inDays = 252
(4)r.daily = 0.05/Time.inDays
sigma.daily = sqrt((model$omega + model$alpha) /
(1 - model$beta - model$alpha * model$gamma^2))
data.frame(S, X, r.daily, sigma.daily)
## HNGOption -
# Compute HNG Call-Put and compare with GBS Call-Put:
HNG = GBS = Diff = NULL
for (TypeFlag in c("c", "p")) {
HNG = c(HNG, HNGOption(TypeFlag, model = model, S = S, X = X,
Time.inDays = Time.inDays, r.daily = r.daily)$price )
GBS = c(GBS, GBSOption(TypeFlag, S = S, X = X, Time = Time.inDays,
r = r.daily, b = r.daily, sigma = sigma.daily)@price) }
Options = cbind(HNG, GBS, Diff = round(100*(HNG-GBS)/GBS, digits=2))
row.names(Options) <- c("Call", "Put")
data.frame(Options)
(1) Are we agree that here i have to put estimated parameters and not starting value ?
(4) Which risk rate would you put here ? i think that 5% is too high ?
A problem is that i can't find market price, for exemple if bloomberg price is 225 i find 290 ... any ideas ?
Thanks for help