Options & volatility
Price options, inspect Greeks, solve implied volatility, and explore volatility surfaces.
Price an optionTHE TYPESCRIPT FINANCE TOOLKIT
From an option price to a portfolio.
Build with financial calculations that speak TypeScript, run locally, and show their assumptions.
Open source. Apache-2.0. Browser & Node.js.
import { blackScholes } from '@insiderfinance/totalfinance/options';
const input = {
"type": "call",
"spot": 100,
"strike": 105,
"timeToExpiryYears": 0.25,
"volatility": 0.2,
"riskFreeRate": 0.04,
"dividendYield": 0
} as const;
const result = blackScholes.price(input);
console.log(result);
European call · Black–Scholes–Merton
Hypothetical inputs. No market data required.
A CONNECTED TOOLKIT
Start with one calculation. Keep the same language as your questions grow.
Price options, inspect Greeks, solve implied volatility, and explore volatility surfaces.
Price an optionModel payoffs, compare scenarios, and reconcile portfolio profit and loss.
Explore a strategyBacktest a hypothesis with explicit costs, then examine performance and drawdowns.
Run a backtestWork with company cash flows, fixed income, market structure, and technical indicators.
Value a companyFOLLOW THE CALCULATION
A price only means something alongside its inputs and model. Explore the same sample across underlying prices, then inspect the full assumptions, diagnostics, and Greeks in the playground.
Open the interactive exampleIllustrative model prices, not market quotes or a forecast.
European callOption price · USD / share
| Series | Underlying price · USD | Option price · USD / share |
|---|---|---|
| European call | 70 | 0.00007436772427411604 |
| European call | 71 | 0.00013834634551955754 |
| European call | 72 | 0.0002506011453697714 |
| European call | 73 | 0.00044248041148476497 |
| European call | 74 | 0.0007623304942515619 |
| European call | 75 | 0.0012827848346888895 |
| European call | 76 | 0.0021102324290399183 |
| European call | 77 | 0.003396723103711738 |
| European call | 77.99999999999999 | 0.005354446682725472 |
| European call | 78.99999999999999 | 0.008272745172492157 |
| European call | 80 | 0.012537384939741547 |
| European call | 81 | 0.01865154134933955 |
| European call | 82 | 0.027257651892743873 |
| European call | 83 | 0.039159003403250514 |
| European call | 84 | 0.0553396674468003 |
| European call | 85 | 0.07698121964691174 |
| European call | 86 | 0.10547460472891901 |
| European call | 87 | 0.14242556307595544 |
| European call | 87.99999999999999 | 0.18965222876583088 |
| European call | 88.99999999999999 | 0.24917384152762256 |
| European call | 89.99999999999999 | 0.3231899689659805 |
| European call | 90.99999999999999 | 0.4140501799354084 |
| European call | 92 | 0.5242147031873543 |
| European call | 93 | 0.6562071986657614 |
| European call | 94 | 0.812561311835502 |
| European call | 95 | 0.9957631277694219 |
| European call | 96 | 1.2081919536772041 |
| European call | 97 | 1.4520620108674542 |
| European call | 98 | 1.729367599188528 |
| European call | 99 | 2.041834113337103 |
| European call | 100 | 2.3908769595711306 |
| European call | 101 | 2.777569973233703 |
| European call | 102 | 3.2026244098542804 |
| European call | 103 | 3.6663790170210575 |
| European call | 104 | 4.1688011320720335 |
| European call | 104.99999999999999 | 4.7094982294731835 |
| European call | 106 | 5.287738892448992 |
| European call | 106.99999999999999 | 5.902481828412654 |
| European call | 108 | 6.552411300078745 |
| European call | 108.99999999999999 | 7.235977207678516 |
| European call | 110.00000000000001 | 7.951438027980856 |
| European call | 110.99999999999999 | 8.696904881597817 |
| European call | 111.99999999999999 | 9.470385145137655 |
| European call | 112.99999999999999 | 10.269824229996104 |
| European call | 113.99999999999999 | 11.093144394734864 |
| European call | 114.99999999999999 | 11.938279723415604 |
| European call | 115.99999999999999 | 12.803206670189681 |
| European call | 117 | 13.685969825923578 |
| European call | 118 | 14.58470279405789 |
| European call | 119 | 15.497644262149834 |
| European call | 120 | 16.423149517923576 |
| European call | 121 | 17.359697782473887 |
| European call | 122 | 18.305895819404213 |
| European call | 123 | 19.260478329963732 |
| European call | 124 | 20.222305664894137 |
| European call | 125 | 21.190359378740183 |
| European call | 126 | 22.163736127194838 |
| European call | 127 | 23.141640367952405 |
| European call | 127.99999999999999 | 24.123376275479032 |
| European call | 129 | 25.108339224460252 |
| European call | 129.99999999999997 | 26.096007139132027 |
MEET YOUR NEXT QUESTION
Use named imports in your application, explore a calculation in the browser, or connect an agent through the optional MCP server. The library supplies the calculations; you supply the data.
Pre-1.0 software. See versions & stability for this build's release status and MCP availability.
START WITH A QUESTION