- Course project is due on 11.15 (Friday) night.
- Computing Moments from Laplace Transform: Aiyu CAO, Rong CHEN
- Exact Simulation of the Ornstein-Uhlenbeck Driven Stochastic Volatility Model: Lu Jinlei, Minghui CAO
- Exact simulation of the 3/2 model: Li Gong, Lei Wang
- (Conditional) Monte-Carlo simulation of GARCH-diffusions: Yao Li, Erik Nielsen, Hao Li
- Zhang Shiqi
- Exact simulation of diffusions: Zhang Zijie, Zhong Lin
- Simple and efficient simulation of the Heston stochastic volatility model: Liu Sheng, Jinchao Du
- Exact Simulation of Heston Model: Zhibin GUO, Yunxia SHI
- GARCH-diffusion model: Xiangrong LI, Mingcong LI
- Exact Simulation of SABR Model: Xinlei Chang, Jian Zhou
- Create new project wiht title, short description, and team.
- Among the topics and HWs covered in the class, choose an in-depth research on one topic. You are also welcome to do the project on your own original idea. Otherwise, pick one from my suggestions which are basically understanding and implementing literatures. Topics includes
- BSM (lognormal) vs Bachelier (normal) model
- Spread/Basket/Asian option pricing
- SABR model and other stochastic volatility models
- Core implementation (.py): python class and functions
- Make sure to comment in detail. Example: bsm.py
- Integrate into the
pyfe
folder. Do not mix with testing/manual notebook files.
- Documentation/Test (.ipynb): one Jupyter notebook file briefly describing the method (base theory, equations, SDE, strength/weakness, etc), the function prototype and arguments (manual style) and the usage examples
- The best examples are from numpy documentation: example
- Also include examples and tests of your class (e.g., test against reference parameters)
- Put into the
test
folder. The file name should be Test_YOURPROJECT.ipynb
- Make sure to show the contribution via github desktop commits (not online upload).
- The project doesn't have to be complete by the presentation. If you need more time, show your plan, understanding, progress so far, e.g. function prototypes & arguments, etc and the tests to put on.
- Heston Model
- Broadie, M., Kaya, Ö., 2006. Exact Simulation of Stochastic Volatility and Other Affine Jump Diffusion Processes. Operations Research 54, 217–231. https://doi.org/10.1287/opre.1050.0247 | Glasserman, P., Kim, K.-K., 2011. Gamma expansion of the Heston stochastic volatility model. Finance Stoch 15, 267–296. https://doi.org/10.1007/s00780-009-0115-y
- Kahl, C., Jäckel, P., 2006. Fast strong approximation Monte Carlo schemes for stochastic volatility models. Quantitative Finance 6, 513–536. https://doi.org/10.1080/14697680600841108
- Andersen, L., 2008. Simple and efficient simulation of the Heston stochastic volatility model. The Journal of Computational Finance 11, 1–42. https://doi.org/10.21314/JCF.2008.189
- Lord, R., Koekkoek, R., Dijk, D.V., 2010. A comparison of biased simulation schemes for stochastic volatility models. Quantitative Finance 10, 177–194. https://doi.org/10.1080/14697680802392496
- Barone-Adesi, G., Rasmussen, H., Ravanelli, C., 2005. An option pricing formula for the GARCH diffusion model. Computational Statistics & Data Analysis, 2nd CSDA Special Issue on Computational Econometrics 49, 287–310. https://doi.org/10.1016/j.csda.2004.05.014
- PhD Thesis of Ravanelli, C., University of Lugano, Switzerland, https://doc.rero.ch/record/4229/files/1_2003ECO001.pdf
- Papadopoulos, Y.A., Lewis, A.L., 2018. A First Option Calibration of the GARCH Diffusion Model by a PDE Method. arXiv:1801.06141 [q-fin].
- General SDE: Beskos, A., Roberts, G.O., 2005. Exact simulation of diffusions. Ann. Appl. Probab. 15, 2422–2444. https://doi.org/10.1214/105051605000000485
- OU SV Model: Li, C., Wu, L., 2019. Exact simulation of the Ornstein–Uhlenbeck driven stochastic volatility model. European Journal of Operational Research 275, 768–779. https://doi.org/10.1016/j.ejor.2018.11.057
- Heston Model: Broadie, M., Kaya, Ö., 2006. Exact Simulation of Stochastic Volatility and Other Affine Jump Diffusion Processes. Operations Research 54, 217–231. https://doi.org/10.1287/opre.1050.0247 | Glasserman, P., Kim, K.-K., 2011. Gamma expansion of the Heston stochastic volatility model. Finance Stoch 15, 267–296. https://doi.org/10.1007/s00780-009-0115-y
- 3/2 SV Model: Baldeaux, J., 2012. Exact simulation of the 3/2 model. Int. J. Theor. Appl. Finan. 15, 1250032. https://doi.org/10.1142/S021902491250032X
- SABR Model: Cai, N., Song, Y., Chen, N., 2017. Exact Simulation of the SABR Model. Operations Research 65, 931–951. https://doi.org/10.1287/opre.2017.1617
- Computing Moments from Laplace Transform: Choudhury, G.L., Lucantoni, D.M., 1996. Numerical Computation of the Moments of a Probability Distribution from its Transform. Operations Research 44, 368–381. https://doi.org/10.1287/opre.44.2.368
- McCrickerd, R., Pakkanen, M.S., 2018. Turbocharging Monte Carlo pricing for the rough Bergomi model. Quantitative Finance 18, 1877–1886. https://doi.org/10.1080/14697688.2018.1459812
- Bennedsen, M., Lunde, A., Pakkanen, M.S., 2017. Hybrid scheme for Brownian semistationary processes. Finance Stoch 21, 931–965. https://doi.org/10.1007/s00780-017-0335-5
- J. Gatheral's python code
- [BSM Implied Volatility] Analytic approximation of BSM implied volatility (Jackel 2016): implement the method, include it to BSM class and write a thorough test code. In python notebook, summarize the method, write a quick help and report strength and weakness.
[Normal Implied Volatility]Analytic approximation of normal implied volatility (Choi et al 2007): (Contact me if you want to take this project) implement the method, include it to Normal class and write a thorough test code. In python notebook, summarize the method, write a quick help and report strength and weakness.[Normal Implied Volatility]Analytic approximation of normal implied volatility (Le Floc'h 2016, some discussion): implement the method, include it to Normal class and write a thorough test code. In python notebook, summarize the method, write a quick help and report strength and weakness.[Spread option]Very accurate analytic approximation for spread options by Li et al, 2006. Also implement Kirk's approximation covered in class and (Bjersund, Stensland 2014). Implement each method in a new class. In python notebook, summarize the method, write a quick help and report strength and weakness. Compare the three methods.[Basket+Asian option]Pick one method in the following 3 methods in survey of basket option pricing (Krekel at al, 2004, Wilmott magazine, July, 82-89): Implement the method in a new class. In python notebook, summarize the method, write a quick help and report strength and weakness.- a) Beisser's conditional expectation
- c) Levy's log-normal moment matching
- d) Ju's Taylor expansion
[Basket/Spread/Asian Option]A unified numerical method for both spread and basket options: Choi (2017): Contact me[CEV Model]Option pricing under Constant Elasticity of Variance (CEV) model (formula available many on-line sources): implement the method, include it to Normal class and write a thorough test code. In python notebook, summarize the method, write a quick help and report strength and weakness.[SABR Option Pricing]Arbitrage-free pricing method by Kennedy et al, 2011 (Download): simpler approach introduced in class is enough. Implement the method, create a new class ModelKennedy in sabr.py, and write a thorough test code. In python notebook, summarize the method, write a quick help and report strength and weakness.[SABR Calibration]Efficient first guess for SABR calibrations to 3 option prices by Le Floc’h and Kennedy, 2014 (see also here): Implement the method, add to sabr.py, and write a code comparing the efficient against the dumb initial guess. In python notebook, summarize the method, write a quick help and report strength and weakness.[Vanna-Volga method]a smile interpolation method (Wiki, BSM, Normal)[SABR Simulation]Efficient SABR simulation by Leitao et al[SABR approximations]Various improvement to Hagan's original paper: Paulot, Obloj, Balland , etc. Contact me for more information.[SABR Simulation/Interpolation]SABR simulation by stochastic collocation Monte Carlo method ( paper 1, paper 2 )