|
1 | 1 | from .base import BaseClient |
2 | | -from typing import Optional, Any, Dict, Union, Iterator |
3 | | -from .models import StockFinancial, Timeframe, Sort, Order |
| 2 | +from typing import Optional, Any, Dict, List, Union, Iterator |
| 3 | +from .models import StockFinancial, IPOListing, Timeframe, Sort, Order |
4 | 4 | from urllib3 import HTTPResponse |
5 | 5 | from datetime import datetime, date |
6 | 6 |
|
@@ -70,3 +70,44 @@ def list_stock_financials( |
70 | 70 | deserializer=StockFinancial.from_dict, |
71 | 71 | options=options, |
72 | 72 | ) |
| 73 | + |
| 74 | + def list_ipos( |
| 75 | + self, |
| 76 | + ticker: Optional[str] = None, |
| 77 | + us_code: Optional[str] = None, |
| 78 | + isin: Optional[str] = None, |
| 79 | + listing_date: Optional[str] = None, |
| 80 | + ipo_status: Optional[str] = None, |
| 81 | + limit: Optional[int] = None, |
| 82 | + sort: Optional[Union[str, Sort]] = None, |
| 83 | + order: Optional[Union[str, Order]] = None, |
| 84 | + params: Optional[Dict[str, Any]] = None, |
| 85 | + raw: bool = False, |
| 86 | + options: Optional[RequestOptionBuilder] = None, |
| 87 | + ) -> Union[List[IPOListing], HTTPResponse]: |
| 88 | + """ |
| 89 | + Retrieve upcoming or historical IPOs. |
| 90 | +
|
| 91 | + :param ticker: Filter by a case-sensitive ticker symbol. |
| 92 | + :param us_code: Filter by a US code (unique identifier for a North American financial security). |
| 93 | + :param isin: Filter by an International Securities Identification Number (ISIN). |
| 94 | + :param listing_date: Filter by the listing date (YYYY-MM-DD). |
| 95 | + :param ipo_status: Filter by IPO status (e.g. "new", "pending", "history", etc.). |
| 96 | + :param limit: Limit the number of results per page. Default 10, max 1000. |
| 97 | + :param sort: Field to sort by. Default is "listing_date". |
| 98 | + :param order: Order results based on the sort field ("asc" or "desc"). Default "desc". |
| 99 | + :param params: Additional query params. |
| 100 | + :param raw: Return raw HTTPResponse object if True, else return List[IPOListing]. |
| 101 | + :param options: RequestOptionBuilder for additional headers or params. |
| 102 | + :return: A list of IPOListing objects or HTTPResponse if raw=True. |
| 103 | + """ |
| 104 | + url = "/vX/reference/ipos" |
| 105 | + |
| 106 | + return self._paginate( |
| 107 | + path=url, |
| 108 | + params=self._get_params(self.list_ipos, locals()), |
| 109 | + deserializer=IPOListing.from_dict, |
| 110 | + raw=raw, |
| 111 | + result_key="results", |
| 112 | + options=options, |
| 113 | + ) |
0 commit comments