quantitative finance on SimianQuant
https://www.simianquant.com/categories/quantitative-finance/
Recent content in quantitative finance 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.Strata Benchmarks #1 - Elementary Functions
https://www.simianquant.com/blog/stratabenchelementary/
Thu, 16 May 2019 00:00:00 +0000https://www.simianquant.com/blog/stratabenchelementary/Elementary functions are those that implement basic mathematical operations like exponentiation and logarithms. Swapping out numerically equivalent elementary operations is a cheap and easy way of improving runtime performance. This article presents benchmarks for three important elementary functions.
These benchmarks are useful for anyone deciding whether to import a library with the complexity of Strata into their project, or use something simpler, better documented and better understood like Apache Commons Math (ACM).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.Graph Compression Applied to Quantitative Finance
https://www.simianquant.com/blog/graphcompressionquantitativefinance/
Tue, 19 Mar 2019 00:00:00 +0000https://www.simianquant.com/blog/graphcompressionquantitativefinance/The sequence of operations that convert input to output can be visualized as a graph. Graph compression is the family name for a suite of SimianQuant algorithms that rewrite the computational graph to reduce the time and/or memory required.
At a conceptual level, they are similar to Common Subexpression Elimination. However, since this is not your grandfather’s compiler, the compression is semantic, i.e. based on the algebraic properties of the graph.