An easy-to-use black-scholes option calculator. Made for JS, built in Rust.
You may configure an option calculation instance like so:
```js // Import opcalc as a webassembly module
const option = opcalc .createoption() .withassetprice(100) .withstrike(105) .withvolatility(0.2) .withinterest(0.005) .withcurrenttime(1606780800) // timestamp in seconds: 2020/12/01 00:00:00 .withmaturitytime(1610668800) // timestamp in seconds: 2021/01/15 00:00:00 .finalize(); ```
After the option has been created, you may access its prices (call and put), greeks (delta, gamma, and more) like so:
js
const call = option.call_value();
const delta = option.call_delta();
// ...
There are multiple examples for using this library in the /examples
folder.
Using the library in Rust is similar to the experience in JavaScript.
```rust use opcalc::option::builder::BSOptionBuilder;
let option = BSOptionBuilder::new() .withassetprice(100.0) .withstrike(105.0) .withinterest(0.008) .withvolatility(0.23) .withcurrenttime(1606780800) // timestamp in seconds: 2020/12/01 00:00:00 .withmaturitytime(1610668_800) // timestamp in seconds: 2021/01/15 00:00:00 .finalize() .unwrap(); // safely unwrap here because all required builder steps are taken
// then, use this option to obtain calculation results let gamma = option.call_gamma(); ```
Want to contribute? See our guide to contributing.