Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions polygon/rest/models/futures.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,21 @@ class FuturesSnapshotMinute:
last_updated: Optional[int] = None
low: Optional[float] = None
open: Optional[float] = None
timeframe: Optional[str] = None
volume: Optional[float] = None

@staticmethod
def from_dict(d):
return FuturesSnapshotMinute(
close=d.get("close"),
high=d.get("high"),
last_updated=d.get("last_updated"),
low=d.get("low"),
open=d.get("open"),
timeframe=d.get("timeframe"),
volume=d.get("volume"),
)


@modelclass
class FuturesSnapshotQuote:
Expand All @@ -277,13 +290,37 @@ class FuturesSnapshotQuote:
bid_size: Optional[int] = None
bid_timestamp: Optional[int] = None
last_updated: Optional[int] = None
timeframe: Optional[str] = None

@staticmethod
def from_dict(d):
return FuturesSnapshotQuote(
ask=d.get("ask"),
ask_size=d.get("ask_size"),
ask_timestamp=d.get("ask_timestamp"),
bid=d.get("bid"),
bid_size=d.get("bid_size"),
bid_timestamp=d.get("bid_timestamp"),
last_updated=d.get("last_updated"),
timeframe=d.get("timeframe"),
)


@modelclass
class FuturesSnapshotTrade:
last_updated: Optional[int] = None
price: Optional[float] = None
size: Optional[int] = None
timeframe: Optional[str] = None

@staticmethod
def from_dict(d):
return FuturesSnapshotTrade(
last_updated=d.get("last_updated"),
price=d.get("price"),
size=d.get("size"),
timeframe=d.get("timeframe"),
)


@modelclass
Expand All @@ -298,6 +335,20 @@ class FuturesSnapshotSession:
settlement_price: Optional[float] = None
volume: Optional[float] = None

@staticmethod
def from_dict(d):
return FuturesSnapshotSession(
change=d.get("change"),
change_percent=d.get("change_percent"),
close=d.get("close"),
high=d.get("high"),
low=d.get("low"),
open=d.get("open"),
previous_settlement=d.get("previous_settlement"),
settlement_price=d.get("settlement_price"),
volume=d.get("volume"),
)


@modelclass
class FuturesSnapshot:
Expand Down