UNPKG

black-scholes-model

Version:

Complete plug and play Black-Scholes-Merton model for option pricing with features including implied volatility and Greeks.

45 lines (38 loc) 893 B
export interface IBisection { seekValue: number; lowStartVolatility: number; highStartVolatility: number; tolerance: number; iterations: number; fn(volatility: number): number; } export const bisection = (params: IBisection) => { const { fn, highStartVolatility, iterations, lowStartVolatility, seekValue, tolerance, } = params; let _a = lowStartVolatility; let _b = highStartVolatility; // let iterRun = 0; // if (iterRun > iterations) { // return null; // } for (let i = 0; i < iterations; i++) { // iterRun += 1; const c = (_a + _b) / 2; const y = fn(c); const error = Math.abs(y - seekValue); if (error === 0 || error < tolerance || (_b - _a) / 2 < tolerance) { return c; } if (y > seekValue) { _b = c; } else { _a = c; } } };