All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.45 - 2024-02-04
- moved references to separate .md file
- Merge pull request #181 from maacl/patch-1
- moved stochastic process models to
models
module.
0.0.44 - 2024-02-01
- Implied Volatility implementation (Let's Be Rational - Peter Jaeckel)
- Merge remote-tracking branch 'refs/remotes/origin/main'
0.0.43 - 2024-01-31
- improve fft fbm generator
- fix naming THRESHOLD
- fix Gaussian cdf test, values as sympy and mpmath fix
- missing docs
- build error
- resolve timedependent issues
- Slight re-factor of IV module.
- Merge pull request #174 from lukaskiss222/feature/implied_volatility
- separators
- remove neg before comparator + new test case
- solve most clippy issues
- errorfunctions erfc for cdf
- small fixes
- must use
- apply clippy
- remove dbg
- Add middle box test
- documentation fix
- documentation
- extreme case precision 1e-13
- ITM + extreme case price ~ 1e-19
- OTM passed
- sync merton jump
- Merge pull request #171 from lukaskiss222/fix-inverse-gaussian-cdf
- Merge pull request #146 from dancixx/main
- Merge remote-tracking branch 'upstream'
0.0.42 - 2023-12-21
- update barrier pricing
0.0.41 - 2023-12-16
- implemented get quote for yahoo finance api
0.0.40 - 2023-12-13
- Merge branch 'main' into interpolation
0.0.39 - 2023-11-26
- denmark calender: general prayer day is no longer a public holiday from 2024
- Merge pull request #159 from robertchristensen/docs/fix-warnings
- #142 - tests for denmark calendar
- #142 - tests for calendars & update Hong Kong calendar
- #142 - tests for calendars
0.0.38 - 2023-11-14
- #142 - Add more calendars (Czech Rep., Denmark, Finland, France, Germany, Hong Kong)
- Fix some clippy lints.
- Add ISO code implementations (ISO-4217, ISO-3166, ISO-10383)
- #142 - Add calendar boilerplate
- #142 - Add calendars (Argentina, Botswana, Brazil, Chile, China)
0.0.37 - 2023-11-12
- (avhz#150) Fix gitignore problem.
- (avhz#150) Re-added correct logo.
- (avhz#150) Added
Release-plz
workflow. - (avhz#150) Added
Release-plz
workflow.
- @avhz: Added Constant Elasticity of Variance (CEV) model process generator.
- @kinrezC: Added Merton Jump Diffusion and Brownian Bridge process generators.
- @autoparallel: Added
TimeDependent
parameters for all stochastic processes.
- @dancixx: Fractional Ornstein-Uhlenbeck process generator.
- @aatmunbaxi: KNN classifier.
- @avhz: Added 5% padding to the y-axis in the
plot_vector
macro. - @avhz: Updated the
curves
module. - @avhz: Included a yield curve interpolation example here with a plot output here
- @avhz: Added
curves
module for rate curves (work in progress).- Currently only supports linear interpolation, but will add more interpolation methods soon.
- @avhz: Added basic
Portfolio
interface. Work in progress. - @avhz: Added power option contract pricer.
- @avhz: More Greeks for BSM model: theta, rho, phi, zeta, strike-delta, strike-gamma.
- @avhz: More Greeks for BSM model: vega, vomma, ultima, vega bleed (adding more soon).
- @avhz: Greeks for BSM model: delta, vanna, charm, lambda, gamma, zomma, speed, colour (adding more soon).
- @avhz: Clean up year fraction computation for some options.
- Generalised Black-Scholes-Merton option pricer by @avhz.
- Bachelier and Modified Bachelier option pricers by @avhz.
- Added
Result
wrapping forstatistics
module.
- Re-licensing from GPL3 to dual Apache2/MIT licenses.
plotting
mod deprecated,plot_vector
is now a macro.Statistic
trait for computing statistics onVec<f64>
objects.- Remove
utilities
module (macros and plotting are in root module now).
Cashflow
s can now be added, subtracted, multiplied, and divided.Leg
s are now available, which are collections ofCashflow
s.
- 150+ currencies added (definitions according to ISO 4217).
- Basic arithmetic operations (addition, subtraction, multiplication, division) on
Money
objects. - Fractional Brownian Motion generator.
- Compute returns (simple, arithmetic, absolute) on Yahoo! Finance timeseries downloaded into Polars
DataFrame
s.
- Moved
options
andbonds
modules to the parent moduleinstruments
. - Moved
cashflows
,quotes
andcurrencies
modules to the parent modulemoney
.
- Updated regression to use QR or SVD decomposition.
- Simple linear regression using
nalgebra
.
- Gradient descent optimizer for functions
$f: \mathbb{R}^n \rightarrow \mathbb{R}$ .
- Additional stochastic process generators
- Ho-Lee model
- Hull-White model
- Black-Derman-Toy model
- Download time series data from Yahoo! Finance.
- Read (write) from (to)
.csv
,.json
, and.parquet
files, using PolarsDataFrames
.
- Arithmetic Brownian Motion generator.
- Gamma, exponential, and chi-squared distributions.
- Forward start option pricer (Rubinstein 1990 formula).
- Gap option and cash-or-nothing option pricers (currently adding more binary options).
- Asian option pricer (closed-form solution for continuous geometric average).
- Heston Model option pricer (uses the tanh-sinh quadrature numerical integrator).
- Tanh-sinh (double exponential) quadrature for evaluating integrals.
- Plus other basic numerical integrators (midpoint, trapezoid, Simpson's 3/8).
- Characteristic functions and density functions for common distributions:
- Gaussian, Bernoulli, Binomial, Poisson, Uniform, Chi-Squared, Gamma, and Exponential.