• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Implementation Heston-Nandi : I can't find market prices

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 :

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
 
Back
Top