Implied Volatility
workflow.run_implied_volatilitySolves for the volatility that makes Black-Scholes reproduce an observed option price (Newton-Raphson with a bisection fallback for cases where vega is too flat to converge, e.g. deep ITM/OTM or very short-dated). Checks the price against its no-arbitrage bounds first and refuses to solve (converged: false + error) rather than return a garbage number when the price is impossible for the given spot/strike/rate. Edge cases: spot, strike, daysToExpiry and targetPriceUsd above zero; riskFreeRatePct 0 to 100; the search range is 0.01 to 1000 volatility points; a price outside the no-arbitrage bounds returns converged false with an error, not a number. Not covered: American exercise (a stock option price may imply a different volatility), dividends, a volatility smile, bid-ask spreads (one price in), coin-settled prices (convert to USD first). Use when user asks "what IV does this option price imply?" or gives a market price and wants the volatility, not the reverse. Returns: impliedVolatilityPct, iterations, method (newton-raphson/bisection), converged, identifiable, warning, priceAtSolution. identifiable is false when many volatilities reproduce the price (deep ITM, far OTM): warning then says the returned volatility is one of them. When converged is false, identifiable is false and error explains.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"optionType": "<optionType>",
"spot": "<spot>",
"strike": "<strike>",
"daysToExpiry": "<daysToExpiry>",
"targetPriceUsd": "<targetPriceUsd>"
},
"name": "workflow.run_implied_volatility"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Underlying spot price, USD | |
| strike | Yes | Strike price, USD | |
| optionType | Yes | Option type: "call" or "put" | |
| daysToExpiry | Yes | Calendar days until expiry (can be fractional) | |
| targetPriceUsd | Yes | The observed option price, USD, to solve the implied volatility from | |
| riskFreeRatePct | No | Risk-free rate in percentage points. Default 0: standard crypto-options convention. |