investfly.models.marketdata.OptionChain

@dataclass
class OptionChain:

Option chain snapshot for a single underlying + expiration date.

Calls and puts are stored separately so consumers can iterate one side without filtering. The underlyingPrice/asOfTimestamp pair is preserved for IV/Greeks recomputation when those are not vendor-provided.

OptionChain( underlyingSymbol: str, expiry: investfly.models.marketdata.OptionExpiry, underlyingPrice: float | None = None, asOfTimestamp: str | None = None, calls: List[investfly.models.marketdata.OptionQuote] = <factory>, puts: List[investfly.models.marketdata.OptionQuote] = <factory>)
underlyingSymbol: str
underlyingPrice: float | None = None
asOfTimestamp: str | None = None
def all(self) -> List[investfly.models.marketdata.OptionQuote]:
@staticmethod
def fromDict( jsonDict: Dict[str, Any]) -> OptionChain:
def toDict(self) -> Dict[str, Any]: