|
22 | 22 | SIP,
|
23 | 23 | Exchange,
|
24 | 24 | OptionsContract,
|
| 25 | + ShortInterest, |
| 26 | + ShortVolume, |
| 27 | + TreasuryYield, |
25 | 28 | )
|
26 | 29 | from urllib3 import HTTPResponse
|
27 | 30 | from datetime import date
|
@@ -567,3 +570,170 @@ def list_options_contracts(
|
567 | 570 | deserializer=OptionsContract.from_dict,
|
568 | 571 | options=options,
|
569 | 572 | )
|
| 573 | + |
| 574 | + def list_short_interest( |
| 575 | + self, |
| 576 | + ticker: Optional[str] = None, |
| 577 | + days_to_cover: Optional[str] = None, |
| 578 | + days_to_cover_lt: Optional[str] = None, |
| 579 | + days_to_cover_lte: Optional[str] = None, |
| 580 | + days_to_cover_gt: Optional[str] = None, |
| 581 | + days_to_cover_gte: Optional[str] = None, |
| 582 | + settlement_date: Optional[str] = None, |
| 583 | + settlement_date_lt: Optional[str] = None, |
| 584 | + settlement_date_lte: Optional[str] = None, |
| 585 | + settlement_date_gt: Optional[str] = None, |
| 586 | + settlement_date_gte: Optional[str] = None, |
| 587 | + avg_daily_volume: Optional[str] = None, |
| 588 | + avg_daily_volume_lt: Optional[str] = None, |
| 589 | + avg_daily_volume_lte: Optional[str] = None, |
| 590 | + avg_daily_volume_gt: Optional[str] = None, |
| 591 | + avg_daily_volume_gte: Optional[str] = None, |
| 592 | + limit: Optional[int] = None, |
| 593 | + sort: Optional[Union[str, Sort]] = None, |
| 594 | + order: Optional[Union[str, Order]] = None, |
| 595 | + params: Optional[Dict[str, Any]] = None, |
| 596 | + raw: bool = False, |
| 597 | + options: Optional[RequestOptionBuilder] = None, |
| 598 | + ) -> Union[List[ShortInterest], HTTPResponse]: |
| 599 | + """ |
| 600 | + Retrieve short interest data for stocks. |
| 601 | +
|
| 602 | + :param ticker: Filter by the primary ticker symbol. |
| 603 | + :param days_to_cover: Filter by the days to cover value. |
| 604 | + :param days_to_cover_lt: Filter for days to cover dates less than the provided date. |
| 605 | + :param days_to_cover_lte: Filter for days to cover dates less than or equal to the provided date. |
| 606 | + :param days_to_cover_gt: Filter for days to cover dates greater than the provided date. |
| 607 | + :param days_to_cover_gte: Filter for days to cover dates greater than or equal to the provided date. |
| 608 | + :param settlement_date: Filter by settlement date (YYYY-MM-DD). |
| 609 | + :param settlement_date_lt: Filter for settlement dates less than the provided date. |
| 610 | + :param settlement_date_lte: Filter for settlement dates less than or equal to the provided date. |
| 611 | + :param settlement_date_gt: Filter for settlement dates greater than the provided date. |
| 612 | + :param settlement_date_gte: Filter for settlement dates greater than or equal to the provided date. |
| 613 | + :param avg_daily_volume: Filter by average daily volume. |
| 614 | + :param avg_daily_volume_lt: Filter for average daily volume dates less than the provided date. |
| 615 | + :param avg_daily_volume_lte: Filter for average daily volume dates less than or equal to the provided date. |
| 616 | + :param avg_daily_volume_gt: Filter for average daily volume dates greater than the provided date. |
| 617 | + :param avg_daily_volume_gte: Filter for average daily volume dates greater than or equal to the provided date. |
| 618 | + :param limit: Limit the number of results returned. Default 10, max 50000. |
| 619 | + :param sort: Field to sort by (e.g., "ticker"). |
| 620 | + :param order: Order results based on the sort field ("asc" or "desc"). Default "desc". |
| 621 | + :param params: Additional query parameters. |
| 622 | + :param raw: Return raw HTTPResponse object if True, else return List[ShortInterest]. |
| 623 | + :param options: RequestOptionBuilder for additional headers or params. |
| 624 | + :return: A list of ShortInterest objects or HTTPResponse if raw=True. |
| 625 | + """ |
| 626 | + url = "/stocks/v1/short-interest" |
| 627 | + |
| 628 | + return self._paginate( |
| 629 | + path=url, |
| 630 | + params=self._get_params(self.list_short_interest, locals()), |
| 631 | + deserializer=ShortInterest.from_dict, |
| 632 | + raw=raw, |
| 633 | + result_key="results", |
| 634 | + options=options, |
| 635 | + ) |
| 636 | + |
| 637 | + def list_short_volume( |
| 638 | + self, |
| 639 | + ticker: Optional[str] = None, |
| 640 | + date: Optional[str] = None, |
| 641 | + date_lt: Optional[str] = None, |
| 642 | + date_lte: Optional[str] = None, |
| 643 | + date_gt: Optional[str] = None, |
| 644 | + date_gte: Optional[str] = None, |
| 645 | + short_volume_ratio: Optional[str] = None, |
| 646 | + short_volume_ratio_lt: Optional[str] = None, |
| 647 | + short_volume_ratio_lte: Optional[str] = None, |
| 648 | + short_volume_ratio_gt: Optional[str] = None, |
| 649 | + short_volume_ratio_gte: Optional[str] = None, |
| 650 | + total_volume: Optional[str] = None, |
| 651 | + total_volume_lt: Optional[str] = None, |
| 652 | + total_volume_lte: Optional[str] = None, |
| 653 | + total_volume_gt: Optional[str] = None, |
| 654 | + total_volume_gte: Optional[str] = None, |
| 655 | + limit: Optional[int] = None, |
| 656 | + sort: Optional[Union[str, Sort]] = None, |
| 657 | + order: Optional[Union[str, Order]] = None, |
| 658 | + params: Optional[Dict[str, Any]] = None, |
| 659 | + raw: bool = False, |
| 660 | + options: Optional[RequestOptionBuilder] = None, |
| 661 | + ) -> Union[List[ShortVolume], HTTPResponse]: |
| 662 | + """ |
| 663 | + Retrieve short volume data for stocks. |
10000
| 664 | +
|
| 665 | + :param ticker: Filter by the primary ticker symbol. |
| 666 | + :param date: Filter by the date of trade activity (YYYY-MM-DD). |
| 667 | + :param date_lt: Filter for dates less than the provided date. |
| 668 | + :param date_lte: Filter for dates less than or equal to the provided date. |
| 669 | + :param date_gt: Filter for dates greater than the provided date. |
| 670 | + :param date_gte: Filter for dates greater than or equal to the provided date. |
| 671 | + :param short_volume_ratio: Filter by short volume ratio. |
| 672 | + :param short_volume_ratio_lt: Filter for short volume ratio less than the provided date. |
| 673 | + :param short_volume_ratio_lte: Filter for short volume ratio less than or equal to the provided date. |
| 674 | + :param short_volume_ratio_gt: Filter for short volume ratio greater than the provided date. |
| 675 | + :param short_volume_ratio_gte: Filter for short volume ratio greater than or equal to the provided date. |
| 676 | + :param total_volume: Filter by total volume. |
| 677 | + :param total_volume_lt: Filter for total volume less than the provided date. |
| 678 | + :param total_volume_lte: Filter for total volume less than or equal to the provided date. |
| 679 | + :param total_volume_gt: Filter for total volume greater than the provided date. |
| 680 | + :param total_volume_gte: Filter for total volume greater than or equal to the provided date. |
| 681 | + :param limit: Limit the number of results returned. Default 10, max 50000. |
| 682 | + :param sort: Field to sort by (e.g., "ticker"). |
| 683 | + :param order: Order results based on the sort field ("asc" or "desc"). Default "desc". |
| 684 | + :param params: Additional query parameters. |
| 685 | + :param raw: Return raw HTTPResponse object if True, else return List[ShortVolume]. |
| 686 | + :param options: RequestOptionBuilder for additional headers or params. |
| 687 | + :return: A list of ShortVolume objects or HTTPResponse if raw=True. |
| 688 | + """ |
| 689 | + url = "/stocks/v1/short-volume" |
| 690 | + |
| 691 | + return self._paginate( |
| 692 | + path=url, |
| 693 | + params=self._get_params(self.list_short_volume, locals()), |
| 694 | + deserializer=ShortVolume.from_dict, |
| 695 | + raw=raw, |
| 696 | + result_key="results", |
| 697 | + options=options, |
| 698 | + ) |
| 699 | + |
| 700 | + def list_treasury_yields( |
| 701 | + self, |
| 702 | + date: Optional[str] = None, |
| 703 | + date_gt: Optional[str] = None, |
| 704 | + date_gte: Optional[str] = None, |
| 705 | + date_lt: Optional[str] = None, |
| 706 | + date_lte: Optional[str] = None, |
| 707 | + limit: Optional[int] = None, |
| 708 | + sort: Optional[Union[str, Sort]] = None, |
| 709 | + order: Optional[Union[str, Order]] = None, |
| 710 | + params: Optional[Dict[str, Any]] = None, |
| 711 | + raw: bool = False, |
| 712 | + options: Optional[RequestOptionBuilder] = None, |
| 713 | + ) -> Union[List[TreasuryYield], HTTPResponse]: |
| 714 | + """ |
| 715 | + Retrieve treasury yield data. |
| 716 | +
|
| 717 | + :param date: Calendar date of the yield observation (YYYY-MM-DD). |
| 718 | + :param date_gt: Filter for dates greater than the provided date. |
| 719 | + :param date_gte: Filter for dates greater than or equal to the provided date. |
| 720 | + :param date_lt: Filter for dates less than the provided date. |
| 721 | + :param date_lte: Filter for dates less than or equal to the provided date. |
| 722 | + :param
B41A
limit: Limit the number of results returned. Default 100, max 50000. |
| 723 | + :param sort: Field to sort by (e.g., "date"). Default "date". |
| 724 | + :param order: Order results based on the sort field ("asc" or "desc"). Default "desc". |
| 725 | + :param params: Additional query parameters. |
| 726 | + :param raw: Return raw HTTPResponse object if True, else return List[TreasuryYield]. |
| 727 | + :param options: RequestOptionBuilder for additional headers or params. |
| 728 | + :return: A list of TreasuryYield objects or HTTPResponse if raw=True. |
| 729 | + """ |
| 730 | + url = "/fed/v1/treasury-yields" |
| 731 | + |
| 732 | + return self._paginate( |
| 733 | + path=url, |
| 734 | + params=self._get_params(self.list_treasury_yields, locals()), |
| 735 | + deserializer=TreasuryYield.from_dict, |
| 736 | + raw=raw, |
| 737 | + result_key="results", |
| 738 | + options=options, |
| 739 | + ) |
0 commit comments