options / wire operation
Price an option (Black–Scholes–Merton)
totalfinance.option.price
Price a European option with the Black–Scholes–Merton model. Supply time as timeToExpiryYears (years) or as expiry + asOf (dates). Returns the price plus the assumptions (day count, compounding, units, resolved timeToExpiryYears) and diagnostics that produced it.
| Pack / profiles | options / default, full, options, strategies |
|---|---|
| Default discovery | Included |
| Required capabilities | None |
| Effects / authorization | none / none |
| Cost / cancellation | small / Do not assume inline interruption |
| Handle-eligible inputs | None |
| Idempotency | not-applicable |
Input schema
{
"type": "object",
"properties": {
"spot": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Spot price of the underlying"
},
"strike": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Strike price"
},
"timeToExpiryYears": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Time to expiry in years"
},
"riskFreeRate": {
"type": "number",
"description": "Continuously-compounded risk-free rate (decimal)"
},
"volatility": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Volatility (decimal)"
},
"dividendYield": {
"type": "number",
"description": "Continuous dividend yield (decimal, default 0)"
},
"expiry": {
"type": "string",
"description": "Option expiry — YYYY-MM-DD (→ the US close: 16:00 ET, 13:00 ET on early-close days) or a zoned ISO datetime. Supply with asOf instead of timeToExpiryYears."
},
"asOf": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Valuation instant — epoch ms or a zoned ISO datetime such as \"2026-07-20T10:30:00-04:00\". A bare YYYY-MM-DD is refused: a same-day option's value depends on the time of day. For an end-of-day mark use the 16:00 ET close (13:00 ET on early-close days)."
},
"type": {
"type": "string",
"enum": [
"call",
"put"
],
"description": "Option type"
}
},
"additionalProperties": false,
"required": [
"spot",
"strike",
"riskFreeRate",
"volatility",
"type"
]
}Output schema
{
"type": "object",
"properties": {
"value": {
"type": "number"
},
"assumptions": {
"type": "object",
"description": "Applied conventions"
},
"diagnostics": {
"type": "object",
"description": "Engine, method, warnings"
}
},
"required": [
"value"
]
}