@@ -557,6 +557,7 @@ def _data_get(self,
557557 resp_grouped_by_symbol : Optional [bool ] = None ,
558558 page_limit : int = DATA_V2_MAX_LIMIT ,
559559 feed : Optional [str ] = None ,
560+ asof : Optional [str ] = None ,
560561 ** kwargs ):
561562 page_token = None
562563 total_items = 0
@@ -577,6 +578,8 @@ def _data_get(self,
577578 path += f'/{ symbol_or_symbols } '
578579 else :
579580 data ['symbols' ] = ',' .join (symbol_or_symbols )
581+ if asof :
582+ data ['asof' ] = asof
580583 if endpoint :
581584 path += f'/{ endpoint } '
582585 resp = self .data_get (path , data = data , feed = feed ,
@@ -603,9 +606,15 @@ def get_trades_iter(self,
603606 end : Optional [str ] = None ,
604607 limit : int = None ,
605608 feed : Optional [str ] = None ,
609+ asof : Optional [str ] = None ,
606610 raw = False ) -> TradeIterator :
607611 trades = self ._data_get ('trades' , symbol ,
608- start = start , end = end , limit = limit , feed = feed )
612+ start = start ,
613+ end = end ,
614+ limit = limit ,
615+ feed = feed ,
616+ asof = asof ,
617+ )
609618 for trade in trades :
610619 if raw :
611620 yield trade
@@ -618,9 +627,15 @@ def get_trades(self,
618627 end : Optional [str ] = None ,
619628 limit : int = None ,
620629 feed : Optional [str ] = None ,
630+ asof : Optional [str ] = None ,
621631 ) -> TradesV2 :
622632 trades = list (self .get_trades_iter (symbol ,
623- start , end , limit , feed , raw = True ))
633+ start = start ,
634+ end = end ,
635+ limit = limit ,
636+ feed = feed ,
637+ asof = asof ,
638+ raw = True ))
624639 return TradesV2 (trades )
625640
626641 def get_quotes_iter (self ,
@@ -629,9 +644,15 @@ def get_quotes_iter(self,
629644 end : Optional [str ] = None ,
630645 limit : int = None ,
631646 feed : Optional [str ] = None ,
647+ asof : Optional [str ] = None ,
632648 raw = False ) -> QuoteIterator :
633649 quotes = self ._data_get ('quotes' , symbol ,
634- start = start , end = end , limit = limit , feed = feed )
650+ start = start ,
651+ end = end ,
652+ limit = limit ,
653+ feed = feed ,
654+ asof = asof ,
655+ )
635656 for quote in quotes :
636657 if raw :
637658 yield quote
@@ -644,13 +665,16 @@ def get_quotes(self,
644665 end : Optional [str ] = None ,
645666 limit : int = None ,
646667 feed : Optional [str ] = None ,
668+ asof : Optional [str ] = None ,
647669 ) -> QuotesV2 :
648670 quotes = list (self .get_quotes_iter (symbol = symbol ,
649671 start = start ,
650672 end = end ,
651673 limit = limit ,
652674 feed = feed ,
653- raw = True ))
675+ raw = True ,
676+ asof = asof ,
677+ ))
654678 return QuotesV2 (quotes )
655679
656680 def get_bars_iter (self ,
@@ -661,11 +685,16 @@ def get_bars_iter(self,
661685 adjustment : str = 'raw' ,
662686 limit : int = None ,
663687 feed : Optional [str ] = None ,
688+ asof : Optional [str ] = None ,
664689 raw = False ) -> BarIterator :
665690 bars = self ._data_get ('bars' , symbol ,
666691 timeframe = timeframe ,
667692 adjustment = adjustment ,
668- start = start , end = end , limit = limit , feed = feed )
693+ start = start ,
694+ end = end ,
695+ limit = limit ,
696+ feed = feed ,
697+ asof = asof )
669698 for bar in bars :
670699 if raw :
671700 yield bar
@@ -680,6 +709,7 @@ def get_bars(self,
680709 adjustment : str = 'raw' ,
681710 limit : int = None ,
682711 feed : Optional [str ] = None ,
712+ asof : Optional [str ] = None ,
683713 ) -> BarsV2 :
684714 bars = list (self .get_bars_iter (symbol ,
685715 timeframe ,
@@ -688,6 +718,7 @@ def get_bars(self,
688718 adjustment ,
689719 limit ,
690720 feed = feed ,
721+ asof = asof ,
691722 raw = True ))
692723 return BarsV2 (bars )
693724
0 commit comments