Implied Move
Calculate the move the options market expects up to every expiry, from the price of the at-the-money straddle (buying the call and the put at the strike closest to the current price):
\[\text{Implied Move} = (\text{Call Price} + \text{Put Price}) / \text{Stock Price}\] \[\text{Expected Range} = \text{Stock Price}\; \text{±} \;\text{Straddle Price}\]The straddle pays the absolute move, so its price is the market’s expected size of the move, regardless of direction. With around_earnings=True the first expiry after the next earnings date is used, which gives the move the market prices for the earnings announcement (an expiry on the announcement day itself settles at that day’s close, before the usual after-the-close announcement).
Also known as: expected move, straddle move, earnings move, implied earnings move.
Implied Move in Python
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_implied_move as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "NVDA"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.options.get_implied_move(around_earnings=True)
Which returns:
| Earnings Date | Days to Expiration | Straddle Strike | Straddle Price | Implied Move | Lower Price | Upper Price | |
|---|---|---|---|---|---|---|---|
| (‘AAPL’, ‘2026-11-06’) | 2026-11-02 | 13 | 350 | 16.85 | 0.0485 | 330.88 | 364.58 |
| (‘NVDA’, ‘2026-11-20’) | 2026-11-18 | 27 | 210 | 20.5 | 0.0972 | 190.46 | 231.46 |
Parameters
get_implied_move accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
expiration_dates | list[str] | None | The expiries to use. Defaults to None, the nearest number_of_expirations expiries. | ["2027-12-17", "2028-01-21"] |
number_of_expirations | int | The number of nearest expiries to use when no dates are given. Defaults to 4. | 4 |
around_earnings | bool | Whether to use the first expiry after the next earnings date instead. Defaults to False. | False |
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the Toolkit’s rounding. | 2 |