finance_dev 0.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- finance_dev/__init__.py +18 -0
- finance_dev/_hooks/__init__.py +7 -0
- finance_dev/_hooks/clientcredentials.py +319 -0
- finance_dev/_hooks/oauth2scopes.py +50 -0
- finance_dev/_hooks/registration.py +13 -0
- finance_dev/_hooks/sdkhooks.py +82 -0
- finance_dev/_hooks/types.py +125 -0
- finance_dev/_version.py +16 -0
- finance_dev/accounts.py +797 -0
- finance_dev/alternativedata.py +4830 -0
- finance_dev/analytics.py +3757 -0
- finance_dev/basesdk.py +393 -0
- finance_dev/calendar.py +1523 -0
- finance_dev/chart.py +1881 -0
- finance_dev/company.py +1105 -0
- finance_dev/corporateactions.py +1795 -0
- finance_dev/economy.py +1153 -0
- finance_dev/errors/__init__.py +94 -0
- finance_dev/errors/apierror.py +41 -0
- finance_dev/errors/authenticationerrorenvelope.py +43 -0
- finance_dev/errors/badrequest.py +34 -0
- finance_dev/errors/errorenvelope.py +42 -0
- finance_dev/errors/errorresponse.py +45 -0
- finance_dev/errors/financedevapierror.py +31 -0
- finance_dev/errors/forbidden.py +34 -0
- finance_dev/errors/internalservererror.py +35 -0
- finance_dev/errors/no_response_error.py +18 -0
- finance_dev/errors/notfound.py +34 -0
- finance_dev/errors/orderhistorybadrequest.py +35 -0
- finance_dev/errors/predorderserrorenvelope.py +42 -0
- finance_dev/errors/responsevalidationerror.py +28 -0
- finance_dev/errors/unauthorized.py +34 -0
- finance_dev/estimates.py +1906 -0
- finance_dev/etf.py +1108 -0
- finance_dev/filings.py +586 -0
- finance_dev/financials.py +4079 -0
- finance_dev/history.py +477 -0
- finance_dev/httpclient.py +126 -0
- finance_dev/indices.py +2308 -0
- finance_dev/logos.py +692 -0
- finance_dev/market.py +1825 -0
- finance_dev/markets.py +952 -0
- finance_dev/models/__init__.py +4568 -0
- finance_dev/models/accountbalancev2.py +340 -0
- finance_dev/models/accountitem.py +78 -0
- finance_dev/models/accountposition.py +147 -0
- finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
- finance_dev/models/analystinsightitem.py +161 -0
- finance_dev/models/analystinsightsresponse.py +39 -0
- finance_dev/models/apperror.py +123 -0
- finance_dev/models/authenticationerrordetail.py +58 -0
- finance_dev/models/bankbranchesresponse.py +96 -0
- finance_dev/models/basicfinancials.py +243 -0
- finance_dev/models/bullbearanalysisresponse.py +150 -0
- finance_dev/models/cancelorderop.py +40 -0
- finance_dev/models/cancelordrequest_union.py +287 -0
- finance_dev/models/cancelordresponse.py +115 -0
- finance_dev/models/cashflowstatement.py +290 -0
- finance_dev/models/cashflowstatementsresponse.py +61 -0
- finance_dev/models/chartbars.py +111 -0
- finance_dev/models/chartconfig.py +81 -0
- finance_dev/models/chartresolution.py +46 -0
- finance_dev/models/companyesgresponse.py +408 -0
- finance_dev/models/companyexecutive.py +70 -0
- finance_dev/models/companyexecutiveresponse.py +39 -0
- finance_dev/models/companypeersresponse.py +38 -0
- finance_dev/models/companypresentationresponse.py +96 -0
- finance_dev/models/companyprofile.py +255 -0
- finance_dev/models/conferencecallsresponse.py +169 -0
- finance_dev/models/congressionaltradingresponse.py +138 -0
- finance_dev/models/covid19uscasesresponse.py +79 -0
- finance_dev/models/createconfigwatchlistop.py +40 -0
- finance_dev/models/createwatchlistrequest.py +43 -0
- finance_dev/models/dailymarketsummaryresponse.py +73 -0
- finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
- finance_dev/models/dividenditem.py +125 -0
- finance_dev/models/dividendsresponse.py +61 -0
- finance_dev/models/earningrelease.py +291 -0
- finance_dev/models/earningscallliveresponse.py +103 -0
- finance_dev/models/earningsqualityscoreresponse.py +140 -0
- finance_dev/models/earningssurprisesresponse.py +125 -0
- finance_dev/models/ebitdaestimatesresponse.py +176 -0
- finance_dev/models/ebitestimatesresponse.py +176 -0
- finance_dev/models/economicscalendarevent.py +160 -0
- finance_dev/models/economicsindicator.py +87 -0
- finance_dev/models/epsestimatesresponse.py +176 -0
- finance_dev/models/equitydetailsdto.py +569 -0
- finance_dev/models/errorcode.py +48 -0
- finance_dev/models/etblistresponse.py +43 -0
- finance_dev/models/etbsearchrequest.py +21 -0
- finance_dev/models/etbsearchresponse.py +43 -0
- finance_dev/models/etfcountryallocationresponse.py +113 -0
- finance_dev/models/etfholdingsresponse.py +163 -0
- finance_dev/models/etfprofileresponse.py +234 -0
- finance_dev/models/etfsectorallocationresponse.py +113 -0
- finance_dev/models/exchangecode.py +90 -0
- finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
- finance_dev/models/filingsimilarityrecord.py +115 -0
- finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
- finance_dev/models/filingssimilarityindexresponse.py +42 -0
- finance_dev/models/financialratiosresponse.py +252 -0
- finance_dev/models/financialsreporteddatawrapper.py +49 -0
- finance_dev/models/financialsreportedresponse.py +42 -0
- finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
- finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
- finance_dev/models/financialsstatementsdatawrapper.py +44 -0
- finance_dev/models/financialsstatementsresponse.py +42 -0
- finance_dev/models/financialstatement.py +171 -0
- finance_dev/models/financialstatementtype.py +14 -0
- finance_dev/models/getaccountbalanceop.py +53 -0
- finance_dev/models/getaccountpositionsop.py +53 -0
- finance_dev/models/getaccountsresponse.py +22 -0
- finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
- finance_dev/models/getanalystinsightsop.py +164 -0
- finance_dev/models/getbankbranchesop.py +53 -0
- finance_dev/models/getbaseeventop.py +87 -0
- finance_dev/models/getbullbearanalysisop.py +91 -0
- finance_dev/models/getcashflowstatementsop.py +564 -0
- finance_dev/models/getchartconfigop.py +40 -0
- finance_dev/models/getcharthistoryop.py +122 -0
- finance_dev/models/getcharttimeop.py +39 -0
- finance_dev/models/getcompanyesgop.py +53 -0
- finance_dev/models/getcompanyexecutivesop.py +56 -0
- finance_dev/models/getcompanymetricsop.py +68 -0
- finance_dev/models/getcompanypeersop.py +53 -0
- finance_dev/models/getcompanypresentationop.py +56 -0
- finance_dev/models/getcompanyprofileop.py +86 -0
- finance_dev/models/getconferencecallsop.py +111 -0
- finance_dev/models/getconfigwatchlistbyidop.py +53 -0
- finance_dev/models/getconfigwatchlistsop.py +40 -0
- finance_dev/models/getcongressionaltradingop.py +73 -0
- finance_dev/models/getcovid19uscasesop.py +43 -0
- finance_dev/models/getdailymarketsummaryop.py +92 -0
- finance_dev/models/getdividendsop.py +294 -0
- finance_dev/models/getearningscalendarop.py +87 -0
- finance_dev/models/getearningscallliveop.py +91 -0
- finance_dev/models/getearningsqualityscoreop.py +81 -0
- finance_dev/models/getearningssurprisesop.py +80 -0
- finance_dev/models/getebitdaestimatesop.py +91 -0
- finance_dev/models/getebitestimatesop.py +88 -0
- finance_dev/models/geteconomicscalendarop.py +92 -0
- finance_dev/models/geteconomicscalendarresponse.py +56 -0
- finance_dev/models/getepsestimatesop.py +88 -0
- finance_dev/models/getequitydetailsop.py +56 -0
- finance_dev/models/getequitydetailsresponse.py +45 -0
- finance_dev/models/getetblistop.py +40 -0
- finance_dev/models/getetfcountryallocationop.py +80 -0
- finance_dev/models/getetfholdingsop.py +96 -0
- finance_dev/models/getetfprofileop.py +77 -0
- finance_dev/models/getetfsectorallocationop.py +80 -0
- finance_dev/models/geteventcontractsop.py +87 -0
- finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
- finance_dev/models/getfilingssimilarityindexop.py +102 -0
- finance_dev/models/getfinancialratiosop.py +612 -0
- finance_dev/models/getfinancialstatementsop.py +117 -0
- finance_dev/models/getfundownershipop.py +77 -0
- finance_dev/models/gethistoricaldataop.py +61 -0
- finance_dev/models/gethistoricalesgop.py +53 -0
- finance_dev/models/gethistorybatchop.py +74 -0
- finance_dev/models/gethistoryop.py +123 -0
- finance_dev/models/getincomestatementsop.py +564 -0
- finance_dev/models/getindexbarop.py +140 -0
- finance_dev/models/getindexbarsop.py +149 -0
- finance_dev/models/getindexchartbarsop.py +178 -0
- finance_dev/models/getindexrealtimevaluesop.py +94 -0
- finance_dev/models/getinflationexpectationsop.py +157 -0
- finance_dev/models/getinflationop.py +154 -0
- finance_dev/models/getinsidertransactionsop.py +90 -0
- finance_dev/models/getinstitutionalownershipop.py +99 -0
- finance_dev/models/getinstitutionalportfolioop.py +75 -0
- finance_dev/models/getinvestmentthemeop.py +68 -0
- finance_dev/models/getipocalendarop.py +63 -0
- finance_dev/models/getlobbyingop.py +70 -0
- finance_dev/models/getmarketbreadthop.py +40 -0
- finance_dev/models/getmarketholidaysop.py +65 -0
- finance_dev/models/getmarketstatusop.py +65 -0
- finance_dev/models/getmergersandacquisitionsop.py +113 -0
- finance_dev/models/getnetinflowop.py +40 -0
- finance_dev/models/getnewsbyidop.py +73 -0
- finance_dev/models/getnewsop.py +98 -0
- finance_dev/models/getnewssentimentop.py +53 -0
- finance_dev/models/getoptionchainsnapshotop.py +244 -0
- finance_dev/models/getoptioncontractsnapshotop.py +69 -0
- finance_dev/models/getoptiondetailsop.py +56 -0
- finance_dev/models/getoptiondetailsresponse.py +45 -0
- finance_dev/models/getoptionlasttradeop.py +56 -0
- finance_dev/models/getoptionopencloseop.py +66 -0
- finance_dev/models/getoptionpreviousdayop.py +56 -0
- finance_dev/models/getoptionquotesop.py +177 -0
- finance_dev/models/getoptionsactivityop.py +111 -0
- finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
- finance_dev/models/getoptionsstockstopgainersop.py +70 -0
- finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
- finance_dev/models/getoptionsunusualactivityop.py +100 -0
- finance_dev/models/getoptiontradesop.py +177 -0
- finance_dev/models/getordersv2response.py +66 -0
- finance_dev/models/getownershipdataop.py +77 -0
- finance_dev/models/getpositionsresponse.py +39 -0
- finance_dev/models/getpredictionorderop.py +88 -0
- finance_dev/models/getpricetargetop.py +53 -0
- finance_dev/models/getquotesop.py +53 -0
- finance_dev/models/getratingsop.py +164 -0
- finance_dev/models/getratingsresponse.py +39 -0
- finance_dev/models/getreportedfinancialsop.py +127 -0
- finance_dev/models/getrevenuebreakdownop.py +85 -0
- finance_dev/models/getrevenueestimatesop.py +91 -0
- finance_dev/models/getsecfilingsop.py +113 -0
- finance_dev/models/getsectortickersop.py +124 -0
- finance_dev/models/getsectorwisechangeop.py +84 -0
- finance_dev/models/getshortinterestop.py +334 -0
- finance_dev/models/getshortvolumeop.py +333 -0
- finance_dev/models/getsocialsentimentop.py +90 -0
- finance_dev/models/getspinoffsop.py +112 -0
- finance_dev/models/getstockaggregatesop.py +174 -0
- finance_dev/models/getstocklastquoteop.py +56 -0
- finance_dev/models/getstocklasttradeop.py +56 -0
- finance_dev/models/getstockopencloseop.py +90 -0
- finance_dev/models/getstockpreviousdayop.py +80 -0
- finance_dev/models/getstockquotesop.py +177 -0
- finance_dev/models/getstocksnapshotsop.py +82 -0
- finance_dev/models/getstocksplitsop.py +243 -0
- finance_dev/models/getstocktradesop.py +177 -0
- finance_dev/models/getsupplychainop.py +53 -0
- finance_dev/models/getsupportresistancelevelsop.py +90 -0
- finance_dev/models/getsymbolinfoop.py +53 -0
- finance_dev/models/gettechnicalindicatorop.py +172 -0
- finance_dev/models/gettechnicalpatternsop.py +88 -0
- finance_dev/models/gettenderoffersop.py +112 -0
- finance_dev/models/gettickhistoryop.py +104 -0
- finance_dev/models/gettopgainersop.py +78 -0
- finance_dev/models/gettoplosersop.py +78 -0
- finance_dev/models/gettopmostactiveop.py +78 -0
- finance_dev/models/gettranscriptop.py +53 -0
- finance_dev/models/gettreasuryyieldsop.py +157 -0
- finance_dev/models/getunifiedsnapshotop.py +223 -0
- finance_dev/models/getupgradesdowngradesop.py +91 -0
- finance_dev/models/getusaspendingop.py +70 -0
- finance_dev/models/getuseraccountsop.py +40 -0
- finance_dev/models/getusptopatentsop.py +70 -0
- finance_dev/models/getvisaapplicationsop.py +73 -0
- finance_dev/models/historicalesgresponse.py +439 -0
- finance_dev/models/httpmetadata.py +24 -0
- finance_dev/models/incomestatement.py +296 -0
- finance_dev/models/incomestatementsresponse.py +61 -0
- finance_dev/models/indexbarresponse.py +194 -0
- finance_dev/models/indexbarsresponse.py +123 -0
- finance_dev/models/indexchartbarsresponse.py +213 -0
- finance_dev/models/indexgroupsresponse.py +78 -0
- finance_dev/models/indexlistresponse.py +95 -0
- finance_dev/models/indexsearchresponse.py +93 -0
- finance_dev/models/indicesbygroupresponse.py +93 -0
- finance_dev/models/indicesidentifiertype.py +28 -0
- finance_dev/models/indicesrealtimeindexinfo.py +67 -0
- finance_dev/models/indicesrealtimeindexvalue.py +157 -0
- finance_dev/models/indicesrealtimevaluesitem.py +80 -0
- finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
- finance_dev/models/inflationexpectationsresponse.py +140 -0
- finance_dev/models/inflationresponse.py +132 -0
- finance_dev/models/insidertransaction.py +97 -0
- finance_dev/models/insidertransactionsresponse.py +39 -0
- finance_dev/models/institutionalholding.py +77 -0
- finance_dev/models/institutionalownershipresponse.py +39 -0
- finance_dev/models/institutionalportfolioresponse.py +39 -0
- finance_dev/models/investmentthemeid.py +35 -0
- finance_dev/models/investmentthemeresponse.py +80 -0
- finance_dev/models/ipocalendarresponse.py +39 -0
- finance_dev/models/ipoitem.py +93 -0
- finance_dev/models/listactiveordersop.py +87 -0
- finance_dev/models/listcategoriesop.py +79 -0
- finance_dev/models/listindexgroupsop.py +40 -0
- finance_dev/models/listindicesbygroupop.py +58 -0
- finance_dev/models/listindicesop.py +91 -0
- finance_dev/models/listoptioncontractsop.py +66 -0
- finance_dev/models/listoptionexpirydatesop.py +56 -0
- finance_dev/models/listorderhistoryop.py +139 -0
- finance_dev/models/listpredictionordersop.py +134 -0
- finance_dev/models/listtranscriptsop.py +53 -0
- finance_dev/models/lobbyingresponse.py +166 -0
- finance_dev/models/logosearchresponse.py +152 -0
- finance_dev/models/logosyncresponse.py +277 -0
- finance_dev/models/marketbreadth.py +97 -0
- finance_dev/models/marketbreadthresponse.py +44 -0
- finance_dev/models/marketholiday.py +56 -0
- finance_dev/models/marketholidayresponse.py +39 -0
- finance_dev/models/marketstatus.py +67 -0
- finance_dev/models/mergersandacquisitionsresponse.py +186 -0
- finance_dev/models/metricseriespoint.py +43 -0
- finance_dev/models/netinflow.py +81 -0
- finance_dev/models/netinflowresponse.py +44 -0
- finance_dev/models/newsitem.py +102 -0
- finance_dev/models/newslistresponse.py +128 -0
- finance_dev/models/newssentimentresponse.py +176 -0
- finance_dev/models/newstypeenum.py +16 -0
- finance_dev/models/optionchainsnapshotresponse.py +64 -0
- finance_dev/models/optioncontractsnapshotresponse.py +64 -0
- finance_dev/models/optioncontractsnapshotrow.py +164 -0
- finance_dev/models/optioncontractsresponse.py +131 -0
- finance_dev/models/optiondetailsdto.py +72 -0
- finance_dev/models/optionexpirydatesresponse.py +53 -0
- finance_dev/models/optionlasttraderesponse.py +169 -0
- finance_dev/models/optionopencloseresponse.py +97 -0
- finance_dev/models/optionpreviousdayresponse.py +89 -0
- finance_dev/models/optionquotesresponse.py +138 -0
- finance_dev/models/optionsactivityresponse.py +265 -0
- finance_dev/models/optionsnapshotcontractdetails.py +85 -0
- finance_dev/models/optionsnapshotdaybar.py +107 -0
- finance_dev/models/optionsnapshotgreeks.py +67 -0
- finance_dev/models/optionsnapshotlastquote.py +116 -0
- finance_dev/models/optionsnapshotlasttrade.py +102 -0
- finance_dev/models/optionsnapshotunderlying.py +86 -0
- finance_dev/models/optionsscreeneritem.py +151 -0
- finance_dev/models/optionsunusualactivityresponse.py +62 -0
- finance_dev/models/optionsunusualactivitytrade.py +103 -0
- finance_dev/models/optiontradesresponse.py +132 -0
- finance_dev/models/orderrequesttimeinforceenum.py +29 -0
- finance_dev/models/ordersideenum.py +20 -0
- finance_dev/models/ordertypeenum.py +20 -0
- finance_dev/models/ordleg.py +162 -0
- finance_dev/models/ordresponse.py +202 -0
- finance_dev/models/ownershipdataresponse.py +39 -0
- finance_dev/models/ownershiprecord.py +74 -0
- finance_dev/models/placeorderop.py +40 -0
- finance_dev/models/placeordrequest_union.py +335 -0
- finance_dev/models/placepredictionorderop.py +114 -0
- finance_dev/models/predmdbaseevent.py +62 -0
- finance_dev/models/predmdbaseeventhit.py +53 -0
- finance_dev/models/predmdbaseeventsearchresult.py +46 -0
- finance_dev/models/predmdbaseeventwithevents.py +32 -0
- finance_dev/models/predmdbatchhistoryrequest.py +16 -0
- finance_dev/models/predmdbatchhistoryresponse.py +16 -0
- finance_dev/models/predmdcategory.py +48 -0
- finance_dev/models/predmdcontract.py +177 -0
- finance_dev/models/predmdcontracthit.py +157 -0
- finance_dev/models/predmdcontractsearchresult.py +46 -0
- finance_dev/models/predmdevent.py +136 -0
- finance_dev/models/predmdeventhit.py +73 -0
- finance_dev/models/predmdeventsearchresult.py +46 -0
- finance_dev/models/predmdeventwithcontracts.py +22 -0
- finance_dev/models/predmdhistoryrequest.py +59 -0
- finance_dev/models/predmdhistoryresponse.py +53 -0
- finance_dev/models/predmdtick.py +53 -0
- finance_dev/models/predordersapperror.py +78 -0
- finance_dev/models/predordersorder.py +267 -0
- finance_dev/models/predordersorderdetail.py +26 -0
- finance_dev/models/predordersorderpage.py +45 -0
- finance_dev/models/predordersorderreport.py +88 -0
- finance_dev/models/predordersplaceorderrequest.py +159 -0
- finance_dev/models/previeworderop.py +40 -0
- finance_dev/models/previeworderresponse.py +127 -0
- finance_dev/models/pricetargetresponse.py +89 -0
- finance_dev/models/quotedata.py +49 -0
- finance_dev/models/quotesresponse.py +62 -0
- finance_dev/models/quotevalues.py +114 -0
- finance_dev/models/rating.py +193 -0
- finance_dev/models/ratingsaccuracy.py +242 -0
- finance_dev/models/replaceconfigwatchlistsop.py +40 -0
- finance_dev/models/replaceorderop.py +40 -0
- finance_dev/models/replaceordrequest_union.py +367 -0
- finance_dev/models/replaceordresponse.py +144 -0
- finance_dev/models/reportedbsitem.py +53 -0
- finance_dev/models/reportedfiling.py +110 -0
- finance_dev/models/reportedreport.py +39 -0
- finance_dev/models/reportingfrequency.py +16 -0
- finance_dev/models/revenuebreakdownaxis.py +52 -0
- finance_dev/models/revenuebreakdowndatapoint.py +58 -0
- finance_dev/models/revenuebreakdownentry.py +51 -0
- finance_dev/models/revenuebreakdowninner.py +75 -0
- finance_dev/models/revenueestimatesresponse.py +176 -0
- finance_dev/models/screenclause.py +70 -0
- finance_dev/models/screengroup.py +75 -0
- finance_dev/models/searchetbsymbolsop.py +40 -0
- finance_dev/models/searchindicesop.py +55 -0
- finance_dev/models/searchlogosop.py +158 -0
- finance_dev/models/searchmarketsymbolsop.py +80 -0
- finance_dev/models/searchop.py +232 -0
- finance_dev/models/searchsymbolitem.py +76 -0
- finance_dev/models/searchsymbolresponseitem.py +71 -0
- finance_dev/models/searchsymbolsop.py +77 -0
- finance_dev/models/secfiling.py +91 -0
- finance_dev/models/secfilingsresponse.py +39 -0
- finance_dev/models/sectoravgchange.py +50 -0
- finance_dev/models/security.py +59 -0
- finance_dev/models/securitytypeenum.py +16 -0
- finance_dev/models/shortinterestresponse.py +126 -0
- finance_dev/models/shortvolumeresponse.py +198 -0
- finance_dev/models/socialsentimentresponse.py +124 -0
- finance_dev/models/sortorderenum.py +13 -0
- finance_dev/models/spinoffsresponse.py +136 -0
- finance_dev/models/stockaggregatesresponse.py +92 -0
- finance_dev/models/stocklastquoteresponse.py +175 -0
- finance_dev/models/stocklasttraderesponse.py +169 -0
- finance_dev/models/stockohlcbar.py +85 -0
- finance_dev/models/stockopencloseresponse.py +109 -0
- finance_dev/models/stockpreviousdayresponse.py +86 -0
- finance_dev/models/stockquotesresponse.py +170 -0
- finance_dev/models/stockscreenerop.py +144 -0
- finance_dev/models/stockscreenerrequest.py +131 -0
- finance_dev/models/stockscreenerresponse.py +197 -0
- finance_dev/models/stocksnapshotsresponse.py +454 -0
- finance_dev/models/stocksplitsresponse.py +144 -0
- finance_dev/models/stocktradesresponse.py +164 -0
- finance_dev/models/supplychainresponse.py +158 -0
- finance_dev/models/supportresistancelevelsresponse.py +68 -0
- finance_dev/models/symboldetails.py +119 -0
- finance_dev/models/symbolerror.py +43 -0
- finance_dev/models/symbolinfo.py +183 -0
- finance_dev/models/synclogosop.py +146 -0
- finance_dev/models/technicalindicatorresponse.py +43 -0
- finance_dev/models/technicalindicatortype.py +21 -0
- finance_dev/models/technicalpatternsresponse.py +249 -0
- finance_dev/models/tenderofferidentifiertype.py +26 -0
- finance_dev/models/tenderoffersresponse.py +548 -0
- finance_dev/models/tickchartbars.py +104 -0
- finance_dev/models/tickresolution.py +20 -0
- finance_dev/models/timeinforceenum.py +26 -0
- finance_dev/models/tradeorderlegv2.py +164 -0
- finance_dev/models/tradeorderv2.py +434 -0
- finance_dev/models/transcriptresponse.py +162 -0
- finance_dev/models/transcriptsresponse.py +89 -0
- finance_dev/models/treasuryyieldsresponse.py +160 -0
- finance_dev/models/unifiedsnapshotresponse.py +308 -0
- finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
- finance_dev/models/updatewatchlistrequest_union.py +134 -0
- finance_dev/models/upgradesdowngradesresponse.py +98 -0
- finance_dev/models/usaspendingresponse.py +222 -0
- finance_dev/models/usptopatentsresponse.py +134 -0
- finance_dev/models/visaapplicationsresponse.py +228 -0
- finance_dev/models/watchlist.py +68 -0
- finance_dev/models/watchlistrequest.py +43 -0
- finance_dev/models/watchlistresponse.py +44 -0
- finance_dev/news_sdk.py +829 -0
- finance_dev/options.py +3443 -0
- finance_dev/orders.py +1907 -0
- finance_dev/ownership.py +1386 -0
- finance_dev/predictions.py +29 -0
- finance_dev/predictions_orders.py +852 -0
- finance_dev/py.typed +1 -0
- finance_dev/sdk.py +347 -0
- finance_dev/sdkconfiguration.py +50 -0
- finance_dev/signals.py +338 -0
- finance_dev/stocks.py +3131 -0
- finance_dev/technicalanalysis_sdk.py +1137 -0
- finance_dev/types/__init__.py +25 -0
- finance_dev/types/base64fileinput.py +44 -0
- finance_dev/types/basemodel.py +78 -0
- finance_dev/utils/__init__.py +181 -0
- finance_dev/utils/annotations.py +80 -0
- finance_dev/utils/datetimes.py +42 -0
- finance_dev/utils/dynamic_imports.py +55 -0
- finance_dev/utils/enums.py +135 -0
- finance_dev/utils/eventstreaming.py +327 -0
- finance_dev/utils/forms.py +240 -0
- finance_dev/utils/headers.py +137 -0
- finance_dev/utils/logger.py +23 -0
- finance_dev/utils/metadata.py +120 -0
- finance_dev/utils/queryparams.py +218 -0
- finance_dev/utils/requestbodies.py +68 -0
- finance_dev/utils/retries.py +373 -0
- finance_dev/utils/security.py +199 -0
- finance_dev/utils/serializers.py +327 -0
- finance_dev/utils/unmarshal_json_response.py +39 -0
- finance_dev/utils/url.py +155 -0
- finance_dev/utils/values.py +143 -0
- finance_dev/watchlist_sdk.py +1583 -0
- finance_dev/websocket/__init__.py +57 -0
- finance_dev/websocket/account.py +5 -0
- finance_dev/websocket/auth.py +124 -0
- finance_dev/websocket/chart.py +5 -0
- finance_dev/websocket/codec.py +66 -0
- finance_dev/websocket/config.py +52 -0
- finance_dev/websocket/errors.py +54 -0
- finance_dev/websocket/market.py +5 -0
- finance_dev/websocket/models/__init__.py +52 -0
- finance_dev/websocket/models/account.py +60 -0
- finance_dev/websocket/models/chart.py +44 -0
- finance_dev/websocket/models/common.py +85 -0
- finance_dev/websocket/models/market.py +113 -0
- finance_dev/websocket/resources.py +327 -0
- finance_dev/websocket/sdk.py +13 -0
- finance_dev/websocket/transport/async_connection.py +493 -0
- finance_dev/websocket/transport/base.py +78 -0
- finance_dev/websocket/transport/sync_connection.py +470 -0
- finance_dev-0.9.0.dist-info/METADATA +913 -0
- finance_dev-0.9.0.dist-info/RECORD +486 -0
- finance_dev-0.9.0.dist-info/WHEEL +5 -0
- finance_dev-0.9.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 030d27e2567d
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .financialratiosresponse import (
|
|
6
|
+
FinancialRatiosResponse,
|
|
7
|
+
FinancialRatiosResponseTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing import Callable, Optional
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class GetFinancialRatiosRequestTypedDict(TypedDict):
|
|
19
|
+
ticker: NotRequired[str]
|
|
20
|
+
r"""Single ticker symbol filter. Enter one ticker such as AAPL to narrow results to one company."""
|
|
21
|
+
tickers_any_of: NotRequired[str]
|
|
22
|
+
r"""Comma-separated list of ticker symbols."""
|
|
23
|
+
ticker_after: NotRequired[str]
|
|
24
|
+
r"""Ticker pagination lower bound. Returns symbols alphabetically after this ticker, excluding the ticker itself."""
|
|
25
|
+
ticker_from: NotRequired[str]
|
|
26
|
+
r"""Ticker greater than or equal (inclusive)"""
|
|
27
|
+
ticker_before: NotRequired[str]
|
|
28
|
+
r"""Ticker pagination upper bound. Returns symbols alphabetically before this ticker, excluding the ticker itself."""
|
|
29
|
+
ticker_to: NotRequired[str]
|
|
30
|
+
r"""Ticker less than or equal (inclusive)"""
|
|
31
|
+
cik: NotRequired[str]
|
|
32
|
+
r"""CIK company identifier from the SEC. Use this when filtering by SEC registrant instead of ticker."""
|
|
33
|
+
ciks: NotRequired[str]
|
|
34
|
+
r"""Comma-separated SEC CIK identifiers. Use this to filter several registrants in one request."""
|
|
35
|
+
cik_after: NotRequired[str]
|
|
36
|
+
r"""CIK pagination lower bound. Returns records with CIK values greater than this value, excluding the value itself."""
|
|
37
|
+
cik_from: NotRequired[str]
|
|
38
|
+
r"""CIK greater than or equal (inclusive)"""
|
|
39
|
+
cik_before: NotRequired[str]
|
|
40
|
+
r"""CIK pagination upper bound. Returns records with CIK values less than this value, excluding the value itself."""
|
|
41
|
+
cik_to: NotRequired[str]
|
|
42
|
+
r"""CIK upper-bound filter. Returns records with CIK values less than or equal to this value."""
|
|
43
|
+
price: NotRequired[float]
|
|
44
|
+
r"""Exact price filter. Use it when you need records matching one specific price value."""
|
|
45
|
+
price_above: NotRequired[float]
|
|
46
|
+
r"""Price lower-bound filter. Returns records above this value, excluding the value itself."""
|
|
47
|
+
price_min: NotRequired[float]
|
|
48
|
+
r"""Price greater than or equal (inclusive)"""
|
|
49
|
+
price_below: NotRequired[float]
|
|
50
|
+
r"""Price upper-bound filter. Returns records below this value, excluding the value itself."""
|
|
51
|
+
price_max: NotRequired[float]
|
|
52
|
+
r"""Price less than or equal (inclusive)"""
|
|
53
|
+
average_volume: NotRequired[float]
|
|
54
|
+
r"""Exact average-volume filter. Use it when screening for one specific average volume value."""
|
|
55
|
+
average_volume_above: NotRequired[float]
|
|
56
|
+
r"""Average volume greater than (exclusive)"""
|
|
57
|
+
average_volume_min: NotRequired[float]
|
|
58
|
+
r"""Average volume greater than or equal (inclusive)"""
|
|
59
|
+
average_volume_below: NotRequired[float]
|
|
60
|
+
r"""Average volume less than (exclusive)"""
|
|
61
|
+
average_volume_max: NotRequired[float]
|
|
62
|
+
r"""Average volume less than or equal (inclusive)"""
|
|
63
|
+
market_cap: NotRequired[float]
|
|
64
|
+
r"""Exact market-cap filter. Use it when screening for one specific company size value."""
|
|
65
|
+
market_cap_above: NotRequired[float]
|
|
66
|
+
r"""Market cap greater than (exclusive)"""
|
|
67
|
+
market_cap_min: NotRequired[float]
|
|
68
|
+
r"""Market cap greater than or equal (inclusive)"""
|
|
69
|
+
market_cap_below: NotRequired[float]
|
|
70
|
+
r"""Market-cap upper-bound filter. Returns companies below this value, excluding the value itself."""
|
|
71
|
+
market_cap_max: NotRequired[float]
|
|
72
|
+
r"""Market cap less than or equal (inclusive)"""
|
|
73
|
+
eps: NotRequired[float]
|
|
74
|
+
r"""Exact earnings-per-share filter. Use it when screening for one EPS value."""
|
|
75
|
+
eps_above: NotRequired[float]
|
|
76
|
+
r"""EPS lower-bound filter. Returns companies with EPS above this value, excluding the value itself."""
|
|
77
|
+
eps_min: NotRequired[float]
|
|
78
|
+
r"""EPS greater than or equal (inclusive)"""
|
|
79
|
+
eps_below: NotRequired[float]
|
|
80
|
+
r"""EPS upper-bound filter. Returns companies with EPS below this value, excluding the value itself."""
|
|
81
|
+
eps_max: NotRequired[float]
|
|
82
|
+
r"""EPS upper-bound filter. Returns companies with EPS less than or equal to this value."""
|
|
83
|
+
pe_ratio: NotRequired[float]
|
|
84
|
+
r"""Exact price-to-earnings ratio filter. Use it when screening for one valuation value."""
|
|
85
|
+
pe_ratio_above: NotRequired[float]
|
|
86
|
+
r"""P/E ratio lower-bound filter. Returns companies above this valuation, excluding the value itself."""
|
|
87
|
+
pe_ratio_min: NotRequired[float]
|
|
88
|
+
r"""P/E ratio greater than or equal (inclusive)"""
|
|
89
|
+
pe_ratio_below: NotRequired[float]
|
|
90
|
+
r"""P/E ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
91
|
+
pe_ratio_max: NotRequired[float]
|
|
92
|
+
r"""P/E ratio less than or equal (inclusive)"""
|
|
93
|
+
pb_ratio: NotRequired[float]
|
|
94
|
+
r"""Exact price-to-book ratio filter. Use it when screening for one valuation value."""
|
|
95
|
+
pb_ratio_above: NotRequired[float]
|
|
96
|
+
r"""P/B ratio lower-bound filter. Returns companies above this valuation, excluding the value itself."""
|
|
97
|
+
pb_ratio_min: NotRequired[float]
|
|
98
|
+
r"""P/B ratio greater than or equal (inclusive)"""
|
|
99
|
+
pb_ratio_below: NotRequired[float]
|
|
100
|
+
r"""P/B ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
101
|
+
pb_ratio_max: NotRequired[float]
|
|
102
|
+
r"""P/B ratio less than or equal (inclusive)"""
|
|
103
|
+
ps_ratio: NotRequired[float]
|
|
104
|
+
r"""Exact price-to-sales ratio filter. Use it when screening for one valuation value."""
|
|
105
|
+
ps_ratio_above: NotRequired[float]
|
|
106
|
+
r"""P/S ratio lower-bound filter. Returns companies above this valuation, excluding the value itself."""
|
|
107
|
+
ps_ratio_min: NotRequired[float]
|
|
108
|
+
r"""P/S ratio greater than or equal (inclusive)"""
|
|
109
|
+
ps_ratio_below: NotRequired[float]
|
|
110
|
+
r"""P/S ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
111
|
+
ps_ratio_max: NotRequired[float]
|
|
112
|
+
r"""P/S ratio less than or equal (inclusive)"""
|
|
113
|
+
pcf_ratio: NotRequired[float]
|
|
114
|
+
r"""Exact price-to-cash-flow ratio filter. Use it when screening for one valuation value."""
|
|
115
|
+
pcf_ratio_above: NotRequired[float]
|
|
116
|
+
r"""P/CF ratio greater than (exclusive)"""
|
|
117
|
+
pcf_ratio_min: NotRequired[float]
|
|
118
|
+
r"""P/CF ratio greater than or equal (inclusive)"""
|
|
119
|
+
pcf_ratio_below: NotRequired[float]
|
|
120
|
+
r"""P/CF ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
121
|
+
pcf_ratio_max: NotRequired[float]
|
|
122
|
+
r"""P/CF ratio less than or equal (inclusive)"""
|
|
123
|
+
limit: NotRequired[int]
|
|
124
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
125
|
+
sort: NotRequired[str]
|
|
126
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `ticker.asc` when not specified."""
|
|
127
|
+
next: NotRequired[str]
|
|
128
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class GetFinancialRatiosRequest(BaseModel):
|
|
132
|
+
ticker: Annotated[
|
|
133
|
+
Optional[str],
|
|
134
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
135
|
+
] = None
|
|
136
|
+
r"""Single ticker symbol filter. Enter one ticker such as AAPL to narrow results to one company."""
|
|
137
|
+
|
|
138
|
+
tickers_any_of: Annotated[
|
|
139
|
+
Optional[str],
|
|
140
|
+
pydantic.Field(alias="tickersAnyOf"),
|
|
141
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
142
|
+
] = None
|
|
143
|
+
r"""Comma-separated list of ticker symbols."""
|
|
144
|
+
|
|
145
|
+
ticker_after: Annotated[
|
|
146
|
+
Optional[str],
|
|
147
|
+
pydantic.Field(alias="tickerAfter"),
|
|
148
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
149
|
+
] = None
|
|
150
|
+
r"""Ticker pagination lower bound. Returns symbols alphabetically after this ticker, excluding the ticker itself."""
|
|
151
|
+
|
|
152
|
+
ticker_from: Annotated[
|
|
153
|
+
Optional[str],
|
|
154
|
+
pydantic.Field(alias="tickerFrom"),
|
|
155
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
156
|
+
] = None
|
|
157
|
+
r"""Ticker greater than or equal (inclusive)"""
|
|
158
|
+
|
|
159
|
+
ticker_before: Annotated[
|
|
160
|
+
Optional[str],
|
|
161
|
+
pydantic.Field(alias="tickerBefore"),
|
|
162
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
163
|
+
] = None
|
|
164
|
+
r"""Ticker pagination upper bound. Returns symbols alphabetically before this ticker, excluding the ticker itself."""
|
|
165
|
+
|
|
166
|
+
ticker_to: Annotated[
|
|
167
|
+
Optional[str],
|
|
168
|
+
pydantic.Field(alias="tickerTo"),
|
|
169
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
170
|
+
] = None
|
|
171
|
+
r"""Ticker less than or equal (inclusive)"""
|
|
172
|
+
|
|
173
|
+
cik: Annotated[
|
|
174
|
+
Optional[str],
|
|
175
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
176
|
+
] = None
|
|
177
|
+
r"""CIK company identifier from the SEC. Use this when filtering by SEC registrant instead of ticker."""
|
|
178
|
+
|
|
179
|
+
ciks: Annotated[
|
|
180
|
+
Optional[str],
|
|
181
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
182
|
+
] = None
|
|
183
|
+
r"""Comma-separated SEC CIK identifiers. Use this to filter several registrants in one request."""
|
|
184
|
+
|
|
185
|
+
cik_after: Annotated[
|
|
186
|
+
Optional[str],
|
|
187
|
+
pydantic.Field(alias="cikAfter"),
|
|
188
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
189
|
+
] = None
|
|
190
|
+
r"""CIK pagination lower bound. Returns records with CIK values greater than this value, excluding the value itself."""
|
|
191
|
+
|
|
192
|
+
cik_from: Annotated[
|
|
193
|
+
Optional[str],
|
|
194
|
+
pydantic.Field(alias="cikFrom"),
|
|
195
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
196
|
+
] = None
|
|
197
|
+
r"""CIK greater than or equal (inclusive)"""
|
|
198
|
+
|
|
199
|
+
cik_before: Annotated[
|
|
200
|
+
Optional[str],
|
|
201
|
+
pydantic.Field(alias="cikBefore"),
|
|
202
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
203
|
+
] = None
|
|
204
|
+
r"""CIK pagination upper bound. Returns records with CIK values less than this value, excluding the value itself."""
|
|
205
|
+
|
|
206
|
+
cik_to: Annotated[
|
|
207
|
+
Optional[str],
|
|
208
|
+
pydantic.Field(alias="cikTo"),
|
|
209
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
210
|
+
] = None
|
|
211
|
+
r"""CIK upper-bound filter. Returns records with CIK values less than or equal to this value."""
|
|
212
|
+
|
|
213
|
+
price: Annotated[
|
|
214
|
+
Optional[float],
|
|
215
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
216
|
+
] = None
|
|
217
|
+
r"""Exact price filter. Use it when you need records matching one specific price value."""
|
|
218
|
+
|
|
219
|
+
price_above: Annotated[
|
|
220
|
+
Optional[float],
|
|
221
|
+
pydantic.Field(alias="priceAbove"),
|
|
222
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
223
|
+
] = None
|
|
224
|
+
r"""Price lower-bound filter. Returns records above this value, excluding the value itself."""
|
|
225
|
+
|
|
226
|
+
price_min: Annotated[
|
|
227
|
+
Optional[float],
|
|
228
|
+
pydantic.Field(alias="priceMin"),
|
|
229
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
230
|
+
] = None
|
|
231
|
+
r"""Price greater than or equal (inclusive)"""
|
|
232
|
+
|
|
233
|
+
price_below: Annotated[
|
|
234
|
+
Optional[float],
|
|
235
|
+
pydantic.Field(alias="priceBelow"),
|
|
236
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
237
|
+
] = None
|
|
238
|
+
r"""Price upper-bound filter. Returns records below this value, excluding the value itself."""
|
|
239
|
+
|
|
240
|
+
price_max: Annotated[
|
|
241
|
+
Optional[float],
|
|
242
|
+
pydantic.Field(alias="priceMax"),
|
|
243
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
244
|
+
] = None
|
|
245
|
+
r"""Price less than or equal (inclusive)"""
|
|
246
|
+
|
|
247
|
+
average_volume: Annotated[
|
|
248
|
+
Optional[float],
|
|
249
|
+
pydantic.Field(alias="averageVolume"),
|
|
250
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
251
|
+
] = None
|
|
252
|
+
r"""Exact average-volume filter. Use it when screening for one specific average volume value."""
|
|
253
|
+
|
|
254
|
+
average_volume_above: Annotated[
|
|
255
|
+
Optional[float],
|
|
256
|
+
pydantic.Field(alias="averageVolumeAbove"),
|
|
257
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
258
|
+
] = None
|
|
259
|
+
r"""Average volume greater than (exclusive)"""
|
|
260
|
+
|
|
261
|
+
average_volume_min: Annotated[
|
|
262
|
+
Optional[float],
|
|
263
|
+
pydantic.Field(alias="averageVolumeMin"),
|
|
264
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
265
|
+
] = None
|
|
266
|
+
r"""Average volume greater than or equal (inclusive)"""
|
|
267
|
+
|
|
268
|
+
average_volume_below: Annotated[
|
|
269
|
+
Optional[float],
|
|
270
|
+
pydantic.Field(alias="averageVolumeBelow"),
|
|
271
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
272
|
+
] = None
|
|
273
|
+
r"""Average volume less than (exclusive)"""
|
|
274
|
+
|
|
275
|
+
average_volume_max: Annotated[
|
|
276
|
+
Optional[float],
|
|
277
|
+
pydantic.Field(alias="averageVolumeMax"),
|
|
278
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
279
|
+
] = None
|
|
280
|
+
r"""Average volume less than or equal (inclusive)"""
|
|
281
|
+
|
|
282
|
+
market_cap: Annotated[
|
|
283
|
+
Optional[float],
|
|
284
|
+
pydantic.Field(alias="marketCap"),
|
|
285
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
286
|
+
] = None
|
|
287
|
+
r"""Exact market-cap filter. Use it when screening for one specific company size value."""
|
|
288
|
+
|
|
289
|
+
market_cap_above: Annotated[
|
|
290
|
+
Optional[float],
|
|
291
|
+
pydantic.Field(alias="marketCapAbove"),
|
|
292
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
293
|
+
] = None
|
|
294
|
+
r"""Market cap greater than (exclusive)"""
|
|
295
|
+
|
|
296
|
+
market_cap_min: Annotated[
|
|
297
|
+
Optional[float],
|
|
298
|
+
pydantic.Field(alias="marketCapMin"),
|
|
299
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
300
|
+
] = None
|
|
301
|
+
r"""Market cap greater than or equal (inclusive)"""
|
|
302
|
+
|
|
303
|
+
market_cap_below: Annotated[
|
|
304
|
+
Optional[float],
|
|
305
|
+
pydantic.Field(alias="marketCapBelow"),
|
|
306
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
307
|
+
] = None
|
|
308
|
+
r"""Market-cap upper-bound filter. Returns companies below this value, excluding the value itself."""
|
|
309
|
+
|
|
310
|
+
market_cap_max: Annotated[
|
|
311
|
+
Optional[float],
|
|
312
|
+
pydantic.Field(alias="marketCapMax"),
|
|
313
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
314
|
+
] = None
|
|
315
|
+
r"""Market cap less than or equal (inclusive)"""
|
|
316
|
+
|
|
317
|
+
eps: Annotated[
|
|
318
|
+
Optional[float],
|
|
319
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
320
|
+
] = None
|
|
321
|
+
r"""Exact earnings-per-share filter. Use it when screening for one EPS value."""
|
|
322
|
+
|
|
323
|
+
eps_above: Annotated[
|
|
324
|
+
Optional[float],
|
|
325
|
+
pydantic.Field(alias="epsAbove"),
|
|
326
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
327
|
+
] = None
|
|
328
|
+
r"""EPS lower-bound filter. Returns companies with EPS above this value, excluding the value itself."""
|
|
329
|
+
|
|
330
|
+
eps_min: Annotated[
|
|
331
|
+
Optional[float],
|
|
332
|
+
pydantic.Field(alias="epsMin"),
|
|
333
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
334
|
+
] = None
|
|
335
|
+
r"""EPS greater than or equal (inclusive)"""
|
|
336
|
+
|
|
337
|
+
eps_below: Annotated[
|
|
338
|
+
Optional[float],
|
|
339
|
+
pydantic.Field(alias="epsBelow"),
|
|
340
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
341
|
+
] = None
|
|
342
|
+
r"""EPS upper-bound filter. Returns companies with EPS below this value, excluding the value itself."""
|
|
343
|
+
|
|
344
|
+
eps_max: Annotated[
|
|
345
|
+
Optional[float],
|
|
346
|
+
pydantic.Field(alias="epsMax"),
|
|
347
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
348
|
+
] = None
|
|
349
|
+
r"""EPS upper-bound filter. Returns companies with EPS less than or equal to this value."""
|
|
350
|
+
|
|
351
|
+
pe_ratio: Annotated[
|
|
352
|
+
Optional[float],
|
|
353
|
+
pydantic.Field(alias="peRatio"),
|
|
354
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
355
|
+
] = None
|
|
356
|
+
r"""Exact price-to-earnings ratio filter. Use it when screening for one valuation value."""
|
|
357
|
+
|
|
358
|
+
pe_ratio_above: Annotated[
|
|
359
|
+
Optional[float],
|
|
360
|
+
pydantic.Field(alias="peRatioAbove"),
|
|
361
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
362
|
+
] = None
|
|
363
|
+
r"""P/E ratio lower-bound filter. Returns companies above this valuation, excluding the value itself."""
|
|
364
|
+
|
|
365
|
+
pe_ratio_min: Annotated[
|
|
366
|
+
Optional[float],
|
|
367
|
+
pydantic.Field(alias="peRatioMin"),
|
|
368
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
369
|
+
] = None
|
|
370
|
+
r"""P/E ratio greater than or equal (inclusive)"""
|
|
371
|
+
|
|
372
|
+
pe_ratio_below: Annotated[
|
|
373
|
+
Optional[float],
|
|
374
|
+
pydantic.Field(alias="peRatioBelow"),
|
|
375
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
376
|
+
] = None
|
|
377
|
+
r"""P/E ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
378
|
+
|
|
379
|
+
pe_ratio_max: Annotated[
|
|
380
|
+
Optional[float],
|
|
381
|
+
pydantic.Field(alias="peRatioMax"),
|
|
382
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
383
|
+
] = None
|
|
384
|
+
r"""P/E ratio less than or equal (inclusive)"""
|
|
385
|
+
|
|
386
|
+
pb_ratio: Annotated[
|
|
387
|
+
Optional[float],
|
|
388
|
+
pydantic.Field(alias="pbRatio"),
|
|
389
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
390
|
+
] = None
|
|
391
|
+
r"""Exact price-to-book ratio filter. Use it when screening for one valuation value."""
|
|
392
|
+
|
|
393
|
+
pb_ratio_above: Annotated[
|
|
394
|
+
Optional[float],
|
|
395
|
+
pydantic.Field(alias="pbRatioAbove"),
|
|
396
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
397
|
+
] = None
|
|
398
|
+
r"""P/B ratio lower-bound filter. Returns companies above this valuation, excluding the value itself."""
|
|
399
|
+
|
|
400
|
+
pb_ratio_min: Annotated[
|
|
401
|
+
Optional[float],
|
|
402
|
+
pydantic.Field(alias="pbRatioMin"),
|
|
403
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
404
|
+
] = None
|
|
405
|
+
r"""P/B ratio greater than or equal (inclusive)"""
|
|
406
|
+
|
|
407
|
+
pb_ratio_below: Annotated[
|
|
408
|
+
Optional[float],
|
|
409
|
+
pydantic.Field(alias="pbRatioBelow"),
|
|
410
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
411
|
+
] = None
|
|
412
|
+
r"""P/B ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
413
|
+
|
|
414
|
+
pb_ratio_max: Annotated[
|
|
415
|
+
Optional[float],
|
|
416
|
+
pydantic.Field(alias="pbRatioMax"),
|
|
417
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
418
|
+
] = None
|
|
419
|
+
r"""P/B ratio less than or equal (inclusive)"""
|
|
420
|
+
|
|
421
|
+
ps_ratio: Annotated[
|
|
422
|
+
Optional[float],
|
|
423
|
+
pydantic.Field(alias="psRatio"),
|
|
424
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
425
|
+
] = None
|
|
426
|
+
r"""Exact price-to-sales ratio filter. Use it when screening for one valuation value."""
|
|
427
|
+
|
|
428
|
+
ps_ratio_above: Annotated[
|
|
429
|
+
Optional[float],
|
|
430
|
+
pydantic.Field(alias="psRatioAbove"),
|
|
431
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
432
|
+
] = None
|
|
433
|
+
r"""P/S ratio lower-bound filter. Returns companies above this valuation, excluding the value itself."""
|
|
434
|
+
|
|
435
|
+
ps_ratio_min: Annotated[
|
|
436
|
+
Optional[float],
|
|
437
|
+
pydantic.Field(alias="psRatioMin"),
|
|
438
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
439
|
+
] = None
|
|
440
|
+
r"""P/S ratio greater than or equal (inclusive)"""
|
|
441
|
+
|
|
442
|
+
ps_ratio_below: Annotated[
|
|
443
|
+
Optional[float],
|
|
444
|
+
pydantic.Field(alias="psRatioBelow"),
|
|
445
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
446
|
+
] = None
|
|
447
|
+
r"""P/S ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
448
|
+
|
|
449
|
+
ps_ratio_max: Annotated[
|
|
450
|
+
Optional[float],
|
|
451
|
+
pydantic.Field(alias="psRatioMax"),
|
|
452
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
453
|
+
] = None
|
|
454
|
+
r"""P/S ratio less than or equal (inclusive)"""
|
|
455
|
+
|
|
456
|
+
pcf_ratio: Annotated[
|
|
457
|
+
Optional[float],
|
|
458
|
+
pydantic.Field(alias="pcfRatio"),
|
|
459
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
460
|
+
] = None
|
|
461
|
+
r"""Exact price-to-cash-flow ratio filter. Use it when screening for one valuation value."""
|
|
462
|
+
|
|
463
|
+
pcf_ratio_above: Annotated[
|
|
464
|
+
Optional[float],
|
|
465
|
+
pydantic.Field(alias="pcfRatioAbove"),
|
|
466
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
467
|
+
] = None
|
|
468
|
+
r"""P/CF ratio greater than (exclusive)"""
|
|
469
|
+
|
|
470
|
+
pcf_ratio_min: Annotated[
|
|
471
|
+
Optional[float],
|
|
472
|
+
pydantic.Field(alias="pcfRatioMin"),
|
|
473
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
474
|
+
] = None
|
|
475
|
+
r"""P/CF ratio greater than or equal (inclusive)"""
|
|
476
|
+
|
|
477
|
+
pcf_ratio_below: Annotated[
|
|
478
|
+
Optional[float],
|
|
479
|
+
pydantic.Field(alias="pcfRatioBelow"),
|
|
480
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
481
|
+
] = None
|
|
482
|
+
r"""P/CF ratio upper-bound filter. Returns companies below this valuation, excluding the value itself."""
|
|
483
|
+
|
|
484
|
+
pcf_ratio_max: Annotated[
|
|
485
|
+
Optional[float],
|
|
486
|
+
pydantic.Field(alias="pcfRatioMax"),
|
|
487
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
488
|
+
] = None
|
|
489
|
+
r"""P/CF ratio less than or equal (inclusive)"""
|
|
490
|
+
|
|
491
|
+
limit: Annotated[
|
|
492
|
+
Optional[int],
|
|
493
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
494
|
+
] = None
|
|
495
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
496
|
+
|
|
497
|
+
sort: Annotated[
|
|
498
|
+
Optional[str],
|
|
499
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
500
|
+
] = None
|
|
501
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `ticker.asc` when not specified."""
|
|
502
|
+
|
|
503
|
+
next: Annotated[
|
|
504
|
+
Optional[str],
|
|
505
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
506
|
+
] = None
|
|
507
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
508
|
+
|
|
509
|
+
@model_serializer(mode="wrap")
|
|
510
|
+
def serialize_model(self, handler):
|
|
511
|
+
optional_fields = set(
|
|
512
|
+
[
|
|
513
|
+
"ticker",
|
|
514
|
+
"tickersAnyOf",
|
|
515
|
+
"tickerAfter",
|
|
516
|
+
"tickerFrom",
|
|
517
|
+
"tickerBefore",
|
|
518
|
+
"tickerTo",
|
|
519
|
+
"cik",
|
|
520
|
+
"ciks",
|
|
521
|
+
"cikAfter",
|
|
522
|
+
"cikFrom",
|
|
523
|
+
"cikBefore",
|
|
524
|
+
"cikTo",
|
|
525
|
+
"price",
|
|
526
|
+
"priceAbove",
|
|
527
|
+
"priceMin",
|
|
528
|
+
"priceBelow",
|
|
529
|
+
"priceMax",
|
|
530
|
+
"averageVolume",
|
|
531
|
+
"averageVolumeAbove",
|
|
532
|
+
"averageVolumeMin",
|
|
533
|
+
"averageVolumeBelow",
|
|
534
|
+
"averageVolumeMax",
|
|
535
|
+
"marketCap",
|
|
536
|
+
"marketCapAbove",
|
|
537
|
+
"marketCapMin",
|
|
538
|
+
"marketCapBelow",
|
|
539
|
+
"marketCapMax",
|
|
540
|
+
"eps",
|
|
541
|
+
"epsAbove",
|
|
542
|
+
"epsMin",
|
|
543
|
+
"epsBelow",
|
|
544
|
+
"epsMax",
|
|
545
|
+
"peRatio",
|
|
546
|
+
"peRatioAbove",
|
|
547
|
+
"peRatioMin",
|
|
548
|
+
"peRatioBelow",
|
|
549
|
+
"peRatioMax",
|
|
550
|
+
"pbRatio",
|
|
551
|
+
"pbRatioAbove",
|
|
552
|
+
"pbRatioMin",
|
|
553
|
+
"pbRatioBelow",
|
|
554
|
+
"pbRatioMax",
|
|
555
|
+
"psRatio",
|
|
556
|
+
"psRatioAbove",
|
|
557
|
+
"psRatioMin",
|
|
558
|
+
"psRatioBelow",
|
|
559
|
+
"psRatioMax",
|
|
560
|
+
"pcfRatio",
|
|
561
|
+
"pcfRatioAbove",
|
|
562
|
+
"pcfRatioMin",
|
|
563
|
+
"pcfRatioBelow",
|
|
564
|
+
"pcfRatioMax",
|
|
565
|
+
"limit",
|
|
566
|
+
"sort",
|
|
567
|
+
"next",
|
|
568
|
+
]
|
|
569
|
+
)
|
|
570
|
+
serialized = handler(self)
|
|
571
|
+
m = {}
|
|
572
|
+
|
|
573
|
+
for n, f in type(self).model_fields.items():
|
|
574
|
+
k = f.alias or n
|
|
575
|
+
val = serialized.get(k, serialized.get(n))
|
|
576
|
+
|
|
577
|
+
if val != UNSET_SENTINEL:
|
|
578
|
+
if val is not None or k not in optional_fields:
|
|
579
|
+
m[k] = val
|
|
580
|
+
|
|
581
|
+
return m
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
class GetFinancialRatiosResponseTypedDict(TypedDict):
|
|
585
|
+
http_meta: HTTPMetadataTypedDict
|
|
586
|
+
financial_ratios_response: NotRequired[FinancialRatiosResponseTypedDict]
|
|
587
|
+
r"""Successful response"""
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
class GetFinancialRatiosResponse(BaseModel):
|
|
591
|
+
next: Callable[[], Optional[GetFinancialRatiosResponse]]
|
|
592
|
+
|
|
593
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
594
|
+
|
|
595
|
+
financial_ratios_response: Optional[FinancialRatiosResponse] = None
|
|
596
|
+
r"""Successful response"""
|
|
597
|
+
|
|
598
|
+
@model_serializer(mode="wrap")
|
|
599
|
+
def serialize_model(self, handler):
|
|
600
|
+
optional_fields = set(["FinancialRatiosResponse"])
|
|
601
|
+
serialized = handler(self)
|
|
602
|
+
m = {}
|
|
603
|
+
|
|
604
|
+
for n, f in type(self).model_fields.items():
|
|
605
|
+
k = f.alias or n
|
|
606
|
+
val = serialized.get(k, serialized.get(n))
|
|
607
|
+
|
|
608
|
+
if val != UNSET_SENTINEL:
|
|
609
|
+
if val is not None or k not in optional_fields:
|
|
610
|
+
m[k] = val
|
|
611
|
+
|
|
612
|
+
return m
|