vectorization on SimianQuant
https://www.simianquant.com/categories/vectorization/
Recent content in vectorization on SimianQuantHugo -- gohugo.ioenMon, 08 Jul 2019 00:00:00 +0000Strata Benchmarks #3 - SABR Volatility
https://www.simianquant.com/blog/stratabenchsabr/
Mon, 08 Jul 2019 00:00:00 +0000https://www.simianquant.com/blog/stratabenchsabr/The Stochastic Alpha, Beta, Rho (SABR) volatility model is a popular approach to model the volatility smile. This article presents benchmarks of implementations of the asymptotic solution of the model for the volatility and volatility adjoint of a vanilla European option.
Two cases for the parameter $\beta$ are considered:
$\beta = 1$, which is commonly used in foreign exchange markets $\beta = 0.5$, which is commonly used in interest rate markets In each case, the time taken to evaluate the relevant formula provided by Strata’s formula repository was compared with that taken by a numerically equivalent implementation generated using the SimianQuant library.Strata Benchmarks #2 - Black Scholes
https://www.simianquant.com/blog/stratabenchblack/
Wed, 12 Jun 2019 00:00:00 +0000https://www.simianquant.com/blog/stratabenchblack/The Black formula is arguably the most important function in quantitative finance, and is either used directly (for pricing) or indirectly (for quotation), in most pricing calls. This article presents benchmarks for evaluating the formula.
Four cases of evaluating the formula for the price of a vanilla option:
The Spot Price, i.e. the discounted price The Spot Price and Greeks, i.e. the discounted price and all first order sensitivities The Forward Price, i.Vectorizing Black Scholes - CPU vs. GPU
https://www.simianquant.com/blog/vectorizingblackscholes/
Mon, 29 Apr 2019 00:00:00 +0000https://www.simianquant.com/blog/vectorizingblackscholes/A data parallel operation is one in which the same function is applied to different inputs. Vectorizing data parallel operations is an important problem with applications in market risk, full portfolio evaluation and numerical schemes. This article compares different approaches for vectorizing the Black Scholes formula for a call option.
Four cases are considered:
Using AVX2 instructions Multi Threading Using AVX2 instructions and multi threading Using GPU computing The four implementations were generated using the SimianQuant library and therefore require equal programmer effort.