quantre 0.2.0

Quant wheels reinvented in Rust.
Documentation
  • Coverage
  • 76%
    19 out of 25 items documented1 out of 4 items with examples
  • Size
  • Source code size: 17.58 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 431.72 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 4s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • ghasimi/quantre
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ghasimi

quantre

crates.io | docs.rs | github | home

Quant wheels reinvented in Rust.

Installation

cargo add quantre

Examples

Distributions

// main.rs
use quantre::random;
use quantre::normal;

fn main() {
    // A random number from [0, 1)
    println!("{}", random::rand1());

    // Five random integers from -2 to 7
    println!("{:?}", random::randi(5, -2, 7));

    // Three random numbers from N(0, 1)
    println!("{:?}", random::randn(3, 0., 1.));

    // P(X <= 1.96), X ∈ N(0, 1)
    println!("{}", normal::cdf(1.96, 0., 1.));
}

Option Pricing

// main.rs
use quantre::instrument::Option;
use quantre::price;

fn main() {

	let option = Option {
		underlying: 100.,
		strike: 95.,
		ttm: 1. / 12., 		// 1-month to maturity
		vol: 0.35,			// volatility
		quote_rate: 0.02, 	// risk free rate
		base_rate: 0.03 	// dividend yield
	};	

    // Black-Scholes-Merton (BSM)
    let (call, put) = price::bsm(option);

	// Black 76 - Options on Futures
	// let (call, put) = price::black(option);

	// Garman-Kohlhagen - FX options
	// let (call, put) = price::fx(option);

    println!("{:.4} {:.4} ", call, put);
}

Documentation

docs.rs/quantre