Serving the Quantitative Finance Community

 
AthosBrogi
Topic Author
Posts: 3
Joined: August 18th, 2019, 5:51 pm

Performance of my option pricing model

August 31st, 2019, 8:39 am

Dear Sirs.

I share with you the (first?) results on the performance of my model in terms of pricing.

1) Sample

Trades of S&P500 calls of Tuesday 15/1/2019 (a randomly chosen day, because it is provided by iVolatility.com free of charge as a data example) for a total of 5498 trades after having applied 2 filters, i.e. 0.9 <= St0/K <= 1.1 and expiration < 6 months (18/1, 15/2, 15/3, 18/4, 21/6).

2) Limitations

Dividend yield not included and r = 0.01 for all expiration dates for greater ease.

3) Calibration

I calibrated my model, which has (only!) 2 parameters to be calibrated, i.e. sigmat0 and alpha. I also calibrated Black-Scholes (BS), which has unique parameter sigma to be calibrated.

The calibration for each model was done by searching the values of above parameters that minimize the MSE between the market price and the model price by means of the fminsearch Matlab function, which uses the Nelder-Mead method.

The number of steps of my model (tree) was set to 100.

4) Results

BS: sigma = 0.1513, MSE = 13.85, running time = few seconds.
My tree: sigmat0 = 0.1558, alpha = 0.0423, MSE = 4.15, running time = about 9 minutes.

The sample mean market price is 34.37.

Matlab R2009b was used on my (few years old) PC with Intel Core i5 processor.

5) Comments

Another study, i.e. Master thesis of 2 inidividuals, with other data of another index, Swedish OMX30, reports BS MSE of 15.83 and Heston MSE of 3.30 with a lower sample mean market price of 24.09. So, I think that my model's performance is about as good as Heston's, if not better, in spite of only 2 parameters against Heston's 5! I also had a look at other similar studies, and, more or less, the performance of my model seems to be similar or better than performances of much more complex models with much more parameters.

Perhaps, as a next step, I will use the values of above calibrated parameters to calculate MSE of the following day trades and of the day a week later, in order to see if out-of-sample performance remains good.

What is your opinion regarding these results and possible further analyses? Comments? Thanks!

Finally, I enclose .pdf file of my paper on my model (Please let me know if you wish to have Matlab calibration code files and Excel data files, because I don't seem to be able to attach Matlab files).

Thanks for your attention and speak to you soon!

PS. Since the above, I also calibrated BS and my model to S&P500 calls trades of 2 other days:

16/1/2019
BS: sigma = 0.1471, MSE = 9.39.
My tree: sigmat0 = 0.1514, alpha = 0.0408, MSE = 1.9107.
The sample mean market price is 30.19.

23/1/2019 (expiration < 9 months)
BS: sigma = 0.1626, MSE = 22.28.
My tree: sigmat0 = 0.1694, alpha = 0.0446, MSE = 3.3646.
The sample mean market price is 47.40.
Attachments
MPRA_paper_74962.pdf
Description of my option pricing model
(703.87 KiB) Downloaded 301 times
 
User avatar
bearish
Posts: 5187
Joined: February 3rd, 2011, 2:19 pm

Re: Performance of my option pricing model

August 31st, 2019, 8:49 pm

There is definitely something interesting there. It was easy enough to copy and paste the Matlab pricing code, and it passes the basic smell test. I'm impressed by your ability to make the lattice recombine -- that is not an obvious behavior. The problem, as I think you are aware, is that you are not discretizing some well defined continuous time process, but rather that the model is fundamentally defined in discrete time with some (seemingly arbitrary) step length. Since the usual justification for the binomial model is that it converges to a geometric Brownian motion as the step length goes to zero, you are on slightly shakier ground here. On the other hand, if you have a model that has some empirical foundation and that parsimoniously and reasonably efficiently calibrates to market prices, I certainly wouldn't disregard it out of hand. In particular, it might be worth examining how it compares with alternative models in terms of its prescribed delta hedges.
 
 
AthosBrogi
Topic Author
Posts: 3
Joined: August 18th, 2019, 5:51 pm

Re: Performance of my option pricing model

September 8th, 2019, 11:10 am

Hi bearish.
Thank you for your comments. Yes, seeing how it compares with alternative models in terms of hedging is an important issue. As regards the lattice recombining, I wrote it down on a piece of paper and then, by chance, I saw that it recombines. So luck there. Then it took me a few years to realize that it can be impelemented easily without Monte Carlo, but simply by constructing the whole tree, like for example the Cox Ross Rubinstein tree.
On the other hand, I'm not worried that it doesn't converge to a well defined continuous time process. Instead, it explodes. Indeed, that is probably a more realistic feature, although, as you say, trees normally converge to geometric Brownian motion, which, I think, is not satisfactory.
 
User avatar
Alan
Posts: 2958
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Re: Performance of my option pricing model

September 8th, 2019, 2:27 pm

I'll bite. Why is volatility exploding "a more realistic feature"?
 
AthosBrogi
Topic Author
Posts: 3
Joined: August 18th, 2019, 5:51 pm

Re: Performance of my option pricing model

September 8th, 2019, 4:07 pm

Just a hunch I have. Nothing more. It should allow you to have fatter tails, but not so fat as to make it explode.
 
User avatar
Alan
Posts: 2958
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Re: Performance of my option pricing model

September 8th, 2019, 5:45 pm

Just thinking out loud, if you *don't* want the vol to explode maybe there are some modifications that don't completely wreck the nice properties. Either truncating the lattice or keeping the full lattice but somehow truncating just the volatility. Or, a rectangular grid version of your model with explicit stock-price (absorbing) boundaries might be another way to regulate the unwanted behavior. (Absorbing to prevent the intro of arb opportunities into the model).