Skip to content

Commit 421778c

Browse files
committed
Added get_events and tests to client library.
RV1: - added get_events function to client library - added tests. RV2: - changed get_ticker_events to get_ticker_history
1 parent 24764cd commit 421778c

File tree

4 files changed

+84
-0
lines changed

4 files changed

+84
-0
lines changed

polygon/rest/models/tickers.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,3 +185,23 @@ class TickerTypes:
185185
@staticmethod
186186
def from_dict(d):
187187
return TickerTypes(**d)
188+
189+
190+
@modelclass
191+
class TickerChangeEvent:
192+
ticker: str
193+
194+
@staticmethod
195+
def from_dict(d):
196+
return TickerChangeEvent(**d)
197+
198+
199+
@modelclass
200+
class TickerChangeResults:
201+
event_type: str = "ticker_change"
202+
date: Optional[str] = None
203+
ticker_change: Optional[TickerChangeEvent] = None
204+
205+
@staticmethod
206+
def from_dict(d):
207+
return TickerChangeResults(**d)

polygon/rest/reference.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
MarketHoliday,
55
MarketStatus,
66
Ticker,
7+
TickerChangeResults,
78
TickerDetails,
89
TickerNews,
910
TickerTypes,
@@ -143,6 +144,30 @@ def get_ticker_details(
143144
result_key="results",
144145
)
145146

147+
def get_ticker_history(
148+
self,
149+
ticker: Optional[str] = None,
150+
params: Optional[Dict[str, Any]] = None,
151+
raw: bool = False,
152+
) -> Union[TickerChangeResults, HTTPResponse]:
153+
154+
"""
155+
Get event history of ticker given particular point in time.
156+
:param ticker: The ticker symbol of the asset.
157+
:param params: Additional query parameters
158+
:param raw: Return raw object instead of results object.
159+
:return: Ticker Event History V3
160+
"""
161+
url = f"/v3/reference/tickers/{ticker}/history"
162+
163+
return self._get(
164+
path=url,
165+
params=params,
166+
deserializer=TickerChangeResults.from_dict,
167+
result_key="results",
168+
raw=raw,
169+
)
170+
146171
def list_ticker_news(
147172
self,
148173
ticker: Optional[str] = None,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"results": [
3+
{
4+
"event_type": "ticker_change",
5+
"date": "2022-06-11",
6+
"ticker_change": {
7+
"ticker": "META"
8+
}
9+
},
10+
{
11+
"event_type": "ticker_change",
12+
"date": "2012-05-18",
13+
"ticker_change": {
14+
"ticker": "FB"
15+
}
16+
}
17+
],
18+
"status": "OK",
19+
"request_id": "8c911ff1-5ca8-41e8-9bbf-e625141caacc"
20+
}

test_rest/test_tickers.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
TickerDetails,
44
TickerNews,
55
TickerTypes,
6+
TickerChangeResults,
67
Publisher,
78
Branding,
89
CompanyAddress,
@@ -230,3 +231,21 @@ def test_get_ticker_types(self):
230231
]
231232

232233
self.assertEqual(types, expected)
234+
235+
def test_get_ticker_history_ticker_change(self):
236+
history = self.c.get_ticker_history("META")
237+
238+
expected = [
239+
TickerChangeResults(
240+
event_type="ticker_change",
241+
date="2022-06-11",
242+
ticker_change={"ticker": "META"},
243+
),
244+
TickerChangeResults(
245+
event_type="ticker_change",
246+
date="2012-05-18",
247+
ticker_change={"ticker": "FB"},
248+
),
249+
]
250+
251+
self.assertEqual(expected, history)

0 commit comments

Comments
 (0)