investfly.models.marketdata.OptionQuote

@dataclass
class OptionQuote:

Snapshot of an option contract quote with optional Greeks.

Greeks may be vendor-provided (Tradier/TastyTrade) or computed locally via the synthetic Black-Scholes pricer. Consumers should treat None as "not available" rather than zero.

OptionQuote( symbol: str, underlyingSymbol: str, expiry: investfly.models.marketdata.OptionExpiry, strikePrice: float, optionType: investfly.models.marketdata.OptionType, date: datetime.datetime | None = None, bid: float | None = None, ask: float | None = None, last: float | None = None, mid: float | None = None, volume: float | None = None, openInterest: int | None = None, impliedVolatility: float | None = None, delta: float | None = None, gamma: float | None = None, theta: float | None = None, vega: float | None = None, rho: float | None = None, inTheMoney: bool | None = None)
symbol: str
underlyingSymbol: str
strikePrice: float
date: datetime.datetime | None = None
bid: float | None = None
ask: float | None = None
last: float | None = None
mid: float | None = None
volume: float | None = None
openInterest: int | None = None
impliedVolatility: float | None = None
delta: float | None = None
gamma: float | None = None
theta: float | None = None
vega: float | None = None
rho: float | None = None
inTheMoney: bool | None = None
@staticmethod
def fromDict( jsonDict: Dict[str, Any]) -> OptionQuote:
def toDict(self) -> Dict[str, Any]:
def midPrice(self) -> float | None: