QUANT.OPTION.IMPLIEDVOL OpenBI
The volatility at which a European option's Black–Scholes value equals the price paid for it.
Group: Quantitative finance. OpenBI’s own: DAX has no function of this name.
Syntax
QUANT.OPTION.IMPLIEDVOL ( <optionType>, <price>, <spot>, <strike>, <valuationDate>, <expiry>, <riskFreeRate> [, <dividendYield>] )
| Parameter | Type | Description |
|---|---|---|
optionType | Text | "call" or "put". |
price | Number | The option's price, as quoted. |
spot | Number | The price of what the option is on, today. |
strike | Number | The price at which the option lets its holder buy (a call) or sell (a put). |
valuationDate | Date | The day the option is valued. |
expiry | Date | The day the option expires; it must come after the valuation date. |
riskFreeRate | Number | The risk-free rate as a decimal, continuously compounded. |
dividendYield | Number optional | A continuous dividend yield (or, for a commodity or a currency, its carry) as a decimal; 0 when left out. |
Returns
Number. The implied volatility, a yearly figure as a decimal: 0.213 for 21.3 %.
Remarks
- It undoes
QUANT.OPTION.PRICEfor a European option: the price at the volatility it returns is the price given. - The volatility is searched for between 0.0001 % and 500 %. A price no volatility can reach, such as one below what the option is worth at once, is an error.
- There is no style: the price is read as a European option's.
- Time runs from the valuation date to the expiry in days over 365. The rate, the dividend yield and the volatility are flat over that time.
Compared with DAX
An OpenBI function: DAX has none like it, so a measure or query that uses it works in OpenBI only, not in Power BI or Analysis Services.
Examples
Back to 20 %
The call and the put of QUANT.OPTION.PRICE's first example, priced at 20 % volatility, give 20 % back.
EVALUATE
VAR Today = DATE ( 2026, 1, 1 )
VAR Expiry = DATE ( 2027, 1, 1 )
VAR Call = QUANT.OPTION.PRICE ( "call", 100, 100, Today, Expiry, 0.2, 0.05 )
VAR Put = QUANT.OPTION.PRICE ( "put", 100, 100, Today, Expiry, 0.2, 0.05 )
RETURN
ROW (
"From the call", ROUND ( QUANT.OPTION.IMPLIEDVOL ( "call", Call, 100, 100, Today, Expiry, 0.05 ), 10 ),
"From the put", ROUND ( QUANT.OPTION.IMPLIEDVOL ( "put", Put, 100, 100, Today, Expiry, 0.05 ), 10 )
)
| From the call | From the put |
|---|---|
| 0.2 | 0.2 |
A cheap call far out of the money
A call at a strike of 150 that costs 0.50 implies a volatility of about 21 %.
EVALUATE
ROW (
"Implied volatility",
QUANT.OPTION.IMPLIEDVOL ( "call", 0.5, 100, 150, DATE ( 2026, 1, 1 ), DATE ( 2027, 1, 1 ), 0.05 )
)
| Implied volatility |
|---|
| 0.213027446414694 |