self.get_greeks#

lumibot.strategies.strategy.Strategy.get_greeks(self, asset, asset_price=None, underlying_price=None, risk_free_rate=None, query_greeks=False)#

Returns the greeks for the option asset at the current bar.

Will return all the greeks available. API Querying for prices and rates are expensive, so they should be passed in as arguments most of the time.

Parameters:
  • asset (Asset) – Option asset only for with greeks are desired.

  • asset_price (float, optional) – The price of the option asset, by default None

  • underlying_price (float, optional) – The price of the underlying asset, by default None

  • risk_free_rate (float, optional) – The risk-free rate used in interest calculations, by default None

  • query_greeks (bool, optional) – Whether to query the greeks from the broker. By default, the greeks are calculated locally, but if the broker supports it, they can be queried instead which could theoretically be more precise.

Returns:

  • Returns a dictionary with greeks as keys and greek values as

  • values.

  • implied_volatility (float) – The implied volatility.

  • delta (float) – The option delta value.

  • option_price (float) – The option price.

  • pv_dividend (float) – The present value of dividends expected on the option’s underlying.

  • gamma (float) – The option gamma value.

  • vega (float) – The option vega value.

  • theta (float) – The option theta value.

  • underlying_price – The price of the underlying.

Example

>>> # Will return the greeks for SPY
>>> opt_asset = Asset("SPY", expiration=date(2021, 1, 1), strike=100, option_type="call"
>>> greeks = self.get_greeks(opt_asset)
>>> implied_volatility = greeks["implied_volatility"]
>>> delta = greeks["delta"]
>>> gamma = greeks["gamma"]
>>> vega = greeks["vega"]
>>> theta = greeks["theta"]