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,569 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: e04aa1f1d90d
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from finance_dev import models, utils
|
|
8
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import field_serializer, model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class EquityDetailsDTOPutCall(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
r"""Option contract type. Empty for non-option instruments. Accepts long or short form:
|
|
17
|
+
- `CALL` or `C` — call option (right to buy at strike).
|
|
18
|
+
- `PUT` or `P` — put option (right to sell at strike).
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
PUT = "PUT"
|
|
22
|
+
CALL = "CALL"
|
|
23
|
+
P = "P"
|
|
24
|
+
C = "C"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class EquityDetailsDTOTypedDict(TypedDict):
|
|
28
|
+
r"""One equity detail object from GET /v1/marketdata/equities/details. Populated from the market-data cache with an automatic fallback. Fields are pointers in the service and omitted from JSON when unset; `hasOptions` and `isETF` are always serialized as booleans. JSON names match the Go tags (e.g. `nyseNetInflow`, `EPSDiluted`, `ytdHighDate`)."""
|
|
29
|
+
|
|
30
|
+
eps3_year_growth_rate: NotRequired[float]
|
|
31
|
+
r"""Three-year earnings-per-share growth rate. Use it to show medium-term earnings growth."""
|
|
32
|
+
eps5_year_growth_rate: NotRequired[float]
|
|
33
|
+
r"""Five-year earnings-per-share growth rate. Use it to show longer-term earnings growth."""
|
|
34
|
+
eps_current_qtr_mean_est: NotRequired[float]
|
|
35
|
+
r"""EPS current quarter mean estimate"""
|
|
36
|
+
eps_current_year_mean_est: NotRequired[float]
|
|
37
|
+
r"""EPS current year mean estimate"""
|
|
38
|
+
eps_diluted: NotRequired[float]
|
|
39
|
+
r"""Diluted earnings per share. Use it for profitability and valuation displays."""
|
|
40
|
+
eps_latest12_month: NotRequired[float]
|
|
41
|
+
r"""Earnings per share over the latest 12 months. Use it for trailing profitability calculations."""
|
|
42
|
+
pe: NotRequired[float]
|
|
43
|
+
r"""Price-to-earnings ratio. Use it as a valuation metric, especially when comparing companies in the same industry."""
|
|
44
|
+
advancers: NotRequired[int]
|
|
45
|
+
r"""Market breadth advancers (if present)"""
|
|
46
|
+
annual_yield: NotRequired[float]
|
|
47
|
+
r"""Annual yield, typically dividend yield when provided. Use it for income-oriented displays."""
|
|
48
|
+
ask_exchange: NotRequired[str]
|
|
49
|
+
r"""Exchange or venue currently showing the best ask. Use it for quote detail or market-structure displays."""
|
|
50
|
+
ask_price: NotRequired[float]
|
|
51
|
+
r"""Lowest current price sellers are asking. Use this as the reference price when the user is buying."""
|
|
52
|
+
ask_size: NotRequired[int]
|
|
53
|
+
r"""Number of shares or contracts available at the current ask price."""
|
|
54
|
+
assets: NotRequired[float]
|
|
55
|
+
r"""Total assets reported for the company. Use it for balance-sheet and financial-strength views."""
|
|
56
|
+
avg_volume4_weeks: NotRequired[int]
|
|
57
|
+
r"""Average trading volume over the last four weeks. Use it to judge liquidity versus today's volume."""
|
|
58
|
+
beta: NotRequired[float]
|
|
59
|
+
r"""Measure of the stock's volatility relative to the broader market. Values above 1 usually move more than the market; below 1 usually move less."""
|
|
60
|
+
bid_exchange: NotRequired[str]
|
|
61
|
+
r"""Exchange or venue currently showing the best bid. Use it for quote detail or market-structure displays."""
|
|
62
|
+
bid_price: NotRequired[float]
|
|
63
|
+
r"""Highest current price buyers are offering. Use this as the reference price when the user is selling."""
|
|
64
|
+
bid_size: NotRequired[int]
|
|
65
|
+
r"""Number of shares or contracts available at the current bid price."""
|
|
66
|
+
change_status: NotRequired[str]
|
|
67
|
+
r"""Feed-provided status describing the latest price movement when available."""
|
|
68
|
+
close_price: NotRequired[float]
|
|
69
|
+
r"""Previous or latest close price from the feed. Use it as the baseline for daily change calculations."""
|
|
70
|
+
decliners: NotRequired[int]
|
|
71
|
+
r"""Number of symbols declining in the related market-breadth snapshot."""
|
|
72
|
+
dividend: NotRequired[float]
|
|
73
|
+
r"""Dividend amount when provided. Use it in income and yield displays."""
|
|
74
|
+
expiration_date: NotRequired[str]
|
|
75
|
+
r"""Option expiration date. Present for option instruments and empty for normal equities."""
|
|
76
|
+
has_options: NotRequired[bool]
|
|
77
|
+
r"""Whether the underlying has listed options"""
|
|
78
|
+
high52_week_date: NotRequired[str]
|
|
79
|
+
r"""Date when the instrument reached its 52-week high. Use it with `high52WeekPrice`."""
|
|
80
|
+
high52_week_price: NotRequired[float]
|
|
81
|
+
r"""Highest price over the last 52 weeks. Use it to show how close the current price is to its yearly high."""
|
|
82
|
+
high_price: NotRequired[float]
|
|
83
|
+
r"""Highest traded price during the current session. Use it for daily range displays."""
|
|
84
|
+
instrument_type: NotRequired[str]
|
|
85
|
+
r"""Instrument category returned by the market data provider, such as Equity or Option. Use it to choose the right UI treatment."""
|
|
86
|
+
is_etf: NotRequired[bool]
|
|
87
|
+
r"""Whether the instrument is an ETF"""
|
|
88
|
+
last_price: NotRequired[float]
|
|
89
|
+
r"""Most recent trade price reported by the feed. Use bid and ask instead when estimating immediate buy or sell execution cost."""
|
|
90
|
+
liabilities: NotRequired[float]
|
|
91
|
+
r"""Total liabilities reported for the company. Use it with assets to evaluate balance-sheet leverage."""
|
|
92
|
+
long_term_debt: NotRequired[float]
|
|
93
|
+
r"""Long-term debt reported for the company. Use it when evaluating leverage and financial risk."""
|
|
94
|
+
low52_week_date: NotRequired[str]
|
|
95
|
+
r"""Date when the instrument reached its 52-week low. Use it with `low52WeekPrice`."""
|
|
96
|
+
low52_week_price: NotRequired[float]
|
|
97
|
+
r"""Lowest price over the last 52 weeks. Use it to show how close the current price is to its yearly low."""
|
|
98
|
+
low_price: NotRequired[float]
|
|
99
|
+
r"""Lowest traded price during the current session. Use it for daily range displays."""
|
|
100
|
+
market_cap: NotRequired[int]
|
|
101
|
+
r"""Company market value. Use it for company size, peer comparison, and screening."""
|
|
102
|
+
mid_price: NotRequired[float]
|
|
103
|
+
r"""Midpoint between bid and ask. Use it as a neutral reference price, not as a guaranteed execution price."""
|
|
104
|
+
name: NotRequired[str]
|
|
105
|
+
r"""Company or instrument name"""
|
|
106
|
+
nasdaq_buy_volume: NotRequired[int]
|
|
107
|
+
r"""Reported Nasdaq buy-side volume. Use it only for advanced market-flow displays."""
|
|
108
|
+
nasdaq_net_in_flow: NotRequired[float]
|
|
109
|
+
r"""Net buy versus sell flow for Nasdaq-listed activity when provided by the feed."""
|
|
110
|
+
nasdaq_sell_volume: NotRequired[int]
|
|
111
|
+
r"""Reported Nasdaq sell-side volume. Use it only for advanced market-flow displays."""
|
|
112
|
+
net_change: NotRequired[float]
|
|
113
|
+
r"""Price change versus the previous close. Use it for daily gain/loss displays."""
|
|
114
|
+
nyse_buy_volume: NotRequired[int]
|
|
115
|
+
r"""Reported NYSE buy-side volume. Use it only for advanced market-flow displays."""
|
|
116
|
+
nyse_net_inflow: NotRequired[float]
|
|
117
|
+
r"""Net buy versus sell flow for NYSE-listed activity when provided by the feed."""
|
|
118
|
+
nyse_sell_volume: NotRequired[int]
|
|
119
|
+
r"""Reported NYSE sell-side volume. Use it only for advanced market-flow displays."""
|
|
120
|
+
open_interest: NotRequired[int]
|
|
121
|
+
r"""Number of outstanding option contracts for this contract. Use it to gauge options liquidity."""
|
|
122
|
+
open_price: NotRequired[float]
|
|
123
|
+
r"""Price at the start of the current trading session. Use it to compare where the stock opened versus where it trades now."""
|
|
124
|
+
pct_held_by_institution: NotRequired[float]
|
|
125
|
+
r"""Percent held by institutions"""
|
|
126
|
+
price: NotRequired[float]
|
|
127
|
+
r"""Primary display price from the market data feed. Use it for summary cards when you do not need bid/ask detail."""
|
|
128
|
+
put_call: NotRequired[EquityDetailsDTOPutCall]
|
|
129
|
+
r"""Option contract type. Empty for non-option instruments. Accepts long or short form:
|
|
130
|
+
- `CALL` or `C` — call option (right to buy at strike).
|
|
131
|
+
- `PUT` or `P` — put option (right to sell at strike).
|
|
132
|
+
"""
|
|
133
|
+
quote_timestamp: NotRequired[datetime]
|
|
134
|
+
r"""RFC 3339 timestamp of the bid/ask quote. Use it to show quote freshness."""
|
|
135
|
+
shares_outstanding: NotRequired[int]
|
|
136
|
+
r"""Total company shares outstanding. Use it in market capitalization and ownership calculations."""
|
|
137
|
+
short_interest: NotRequired[int]
|
|
138
|
+
r"""Shares currently sold short when available. Use it to show bearish positioning or short-interest analysis."""
|
|
139
|
+
short_sale_restricted: NotRequired[int]
|
|
140
|
+
r"""Short sale restricted flag/value"""
|
|
141
|
+
sic_code: NotRequired[int]
|
|
142
|
+
r"""Standard Industrial Classification code for the company. Use it for industry classification or filtering."""
|
|
143
|
+
size: NotRequired[int]
|
|
144
|
+
r"""Number of shares or contracts in the last reported trade."""
|
|
145
|
+
spread: NotRequired[float]
|
|
146
|
+
r"""Difference between ask and bid. Use it to explain immediate trading cost on a market order."""
|
|
147
|
+
strike_price: NotRequired[float]
|
|
148
|
+
r"""Option strike price. Present for option instruments and empty for normal equities."""
|
|
149
|
+
symbol: NotRequired[str]
|
|
150
|
+
r"""Ticker symbol this detail record belongs to. Use it to match the response item back to your requested symbol."""
|
|
151
|
+
tick: NotRequired[int]
|
|
152
|
+
r"""Feed tick direction or tick value when provided. Use it only when your UI needs trade direction indicators."""
|
|
153
|
+
total_symbols: NotRequired[int]
|
|
154
|
+
r"""Total symbols counted in the market-breadth snapshot."""
|
|
155
|
+
total_volume: NotRequired[int]
|
|
156
|
+
r"""Total shares or contracts traded during the current session. Use it to show liquidity and activity."""
|
|
157
|
+
trade_exchange: NotRequired[str]
|
|
158
|
+
r"""Exchange or venue where the last trade was reported. Use it for advanced quote detail displays."""
|
|
159
|
+
trade_seq: NotRequired[int]
|
|
160
|
+
r"""Feed sequence number for the last trade. Use it only for advanced debugging or ordering feed updates."""
|
|
161
|
+
trade_timestamp: NotRequired[datetime]
|
|
162
|
+
r"""RFC 3339 timestamp of the last trade, including its UTC offset. Omitted when the feed timestamp is missing or invalid."""
|
|
163
|
+
type: NotRequired[str]
|
|
164
|
+
r"""Provider-supplied market data type for this snapshot. Treat this as a feed classification string rather than an order type."""
|
|
165
|
+
unchanged: NotRequired[int]
|
|
166
|
+
r"""Number of symbols unchanged in the related market-breadth snapshot."""
|
|
167
|
+
underlying_symbol: NotRequired[str]
|
|
168
|
+
r"""Underlying symbol (options)"""
|
|
169
|
+
year_end_close: NotRequired[float]
|
|
170
|
+
r"""Closing price at the prior year end when available. Use it for year-to-date comparisons."""
|
|
171
|
+
ytd_high: NotRequired[float]
|
|
172
|
+
r"""Highest price since the start of the current calendar year."""
|
|
173
|
+
ytd_high_date: NotRequired[str]
|
|
174
|
+
r"""Date when the instrument reached its year-to-date high."""
|
|
175
|
+
ytd_low: NotRequired[float]
|
|
176
|
+
r"""Lowest price since the start of the current calendar year."""
|
|
177
|
+
ytd_low_date: NotRequired[str]
|
|
178
|
+
r"""Date when the instrument reached its year-to-date low."""
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class EquityDetailsDTO(BaseModel):
|
|
182
|
+
r"""One equity detail object from GET /v1/marketdata/equities/details. Populated from the market-data cache with an automatic fallback. Fields are pointers in the service and omitted from JSON when unset; `hasOptions` and `isETF` are always serialized as booleans. JSON names match the Go tags (e.g. `nyseNetInflow`, `EPSDiluted`, `ytdHighDate`)."""
|
|
183
|
+
|
|
184
|
+
eps3_year_growth_rate: Annotated[
|
|
185
|
+
Optional[float], pydantic.Field(alias="EPS3YearGrowthRate")
|
|
186
|
+
] = None
|
|
187
|
+
r"""Three-year earnings-per-share growth rate. Use it to show medium-term earnings growth."""
|
|
188
|
+
|
|
189
|
+
eps5_year_growth_rate: Annotated[
|
|
190
|
+
Optional[float], pydantic.Field(alias="EPS5YearGrowthRate")
|
|
191
|
+
] = None
|
|
192
|
+
r"""Five-year earnings-per-share growth rate. Use it to show longer-term earnings growth."""
|
|
193
|
+
|
|
194
|
+
eps_current_qtr_mean_est: Annotated[
|
|
195
|
+
Optional[float], pydantic.Field(alias="EPSCurrentQtrMeanEst")
|
|
196
|
+
] = None
|
|
197
|
+
r"""EPS current quarter mean estimate"""
|
|
198
|
+
|
|
199
|
+
eps_current_year_mean_est: Annotated[
|
|
200
|
+
Optional[float], pydantic.Field(alias="EPSCurrentYearMeanEst")
|
|
201
|
+
] = None
|
|
202
|
+
r"""EPS current year mean estimate"""
|
|
203
|
+
|
|
204
|
+
eps_diluted: Annotated[Optional[float], pydantic.Field(alias="EPSDiluted")] = None
|
|
205
|
+
r"""Diluted earnings per share. Use it for profitability and valuation displays."""
|
|
206
|
+
|
|
207
|
+
eps_latest12_month: Annotated[
|
|
208
|
+
Optional[float], pydantic.Field(alias="EPSLatest12Month")
|
|
209
|
+
] = None
|
|
210
|
+
r"""Earnings per share over the latest 12 months. Use it for trailing profitability calculations."""
|
|
211
|
+
|
|
212
|
+
pe: Annotated[Optional[float], pydantic.Field(alias="PE")] = None
|
|
213
|
+
r"""Price-to-earnings ratio. Use it as a valuation metric, especially when comparing companies in the same industry."""
|
|
214
|
+
|
|
215
|
+
advancers: Optional[int] = None
|
|
216
|
+
r"""Market breadth advancers (if present)"""
|
|
217
|
+
|
|
218
|
+
annual_yield: Annotated[Optional[float], pydantic.Field(alias="annualYield")] = None
|
|
219
|
+
r"""Annual yield, typically dividend yield when provided. Use it for income-oriented displays."""
|
|
220
|
+
|
|
221
|
+
ask_exchange: Annotated[Optional[str], pydantic.Field(alias="askExchange")] = None
|
|
222
|
+
r"""Exchange or venue currently showing the best ask. Use it for quote detail or market-structure displays."""
|
|
223
|
+
|
|
224
|
+
ask_price: Annotated[Optional[float], pydantic.Field(alias="askPrice")] = None
|
|
225
|
+
r"""Lowest current price sellers are asking. Use this as the reference price when the user is buying."""
|
|
226
|
+
|
|
227
|
+
ask_size: Annotated[Optional[int], pydantic.Field(alias="askSize")] = None
|
|
228
|
+
r"""Number of shares or contracts available at the current ask price."""
|
|
229
|
+
|
|
230
|
+
assets: Optional[float] = None
|
|
231
|
+
r"""Total assets reported for the company. Use it for balance-sheet and financial-strength views."""
|
|
232
|
+
|
|
233
|
+
avg_volume4_weeks: Annotated[
|
|
234
|
+
Optional[int], pydantic.Field(alias="avgVolume4Weeks")
|
|
235
|
+
] = None
|
|
236
|
+
r"""Average trading volume over the last four weeks. Use it to judge liquidity versus today's volume."""
|
|
237
|
+
|
|
238
|
+
beta: Optional[float] = None
|
|
239
|
+
r"""Measure of the stock's volatility relative to the broader market. Values above 1 usually move more than the market; below 1 usually move less."""
|
|
240
|
+
|
|
241
|
+
bid_exchange: Annotated[Optional[str], pydantic.Field(alias="bidExchange")] = None
|
|
242
|
+
r"""Exchange or venue currently showing the best bid. Use it for quote detail or market-structure displays."""
|
|
243
|
+
|
|
244
|
+
bid_price: Annotated[Optional[float], pydantic.Field(alias="bidPrice")] = None
|
|
245
|
+
r"""Highest current price buyers are offering. Use this as the reference price when the user is selling."""
|
|
246
|
+
|
|
247
|
+
bid_size: Annotated[Optional[int], pydantic.Field(alias="bidSize")] = None
|
|
248
|
+
r"""Number of shares or contracts available at the current bid price."""
|
|
249
|
+
|
|
250
|
+
change_status: Annotated[Optional[str], pydantic.Field(alias="changeStatus")] = None
|
|
251
|
+
r"""Feed-provided status describing the latest price movement when available."""
|
|
252
|
+
|
|
253
|
+
close_price: Annotated[Optional[float], pydantic.Field(alias="closePrice")] = None
|
|
254
|
+
r"""Previous or latest close price from the feed. Use it as the baseline for daily change calculations."""
|
|
255
|
+
|
|
256
|
+
decliners: Optional[int] = None
|
|
257
|
+
r"""Number of symbols declining in the related market-breadth snapshot."""
|
|
258
|
+
|
|
259
|
+
dividend: Optional[float] = None
|
|
260
|
+
r"""Dividend amount when provided. Use it in income and yield displays."""
|
|
261
|
+
|
|
262
|
+
expiration_date: Annotated[
|
|
263
|
+
Optional[str], pydantic.Field(alias="expirationDate")
|
|
264
|
+
] = None
|
|
265
|
+
r"""Option expiration date. Present for option instruments and empty for normal equities."""
|
|
266
|
+
|
|
267
|
+
has_options: Annotated[Optional[bool], pydantic.Field(alias="hasOptions")] = None
|
|
268
|
+
r"""Whether the underlying has listed options"""
|
|
269
|
+
|
|
270
|
+
high52_week_date: Annotated[
|
|
271
|
+
Optional[str], pydantic.Field(alias="high52WeekDate")
|
|
272
|
+
] = None
|
|
273
|
+
r"""Date when the instrument reached its 52-week high. Use it with `high52WeekPrice`."""
|
|
274
|
+
|
|
275
|
+
high52_week_price: Annotated[
|
|
276
|
+
Optional[float], pydantic.Field(alias="high52WeekPrice")
|
|
277
|
+
] = None
|
|
278
|
+
r"""Highest price over the last 52 weeks. Use it to show how close the current price is to its yearly high."""
|
|
279
|
+
|
|
280
|
+
high_price: Annotated[Optional[float], pydantic.Field(alias="highPrice")] = None
|
|
281
|
+
r"""Highest traded price during the current session. Use it for daily range displays."""
|
|
282
|
+
|
|
283
|
+
instrument_type: Annotated[
|
|
284
|
+
Optional[str], pydantic.Field(alias="instrumentType")
|
|
285
|
+
] = None
|
|
286
|
+
r"""Instrument category returned by the market data provider, such as Equity or Option. Use it to choose the right UI treatment."""
|
|
287
|
+
|
|
288
|
+
is_etf: Annotated[Optional[bool], pydantic.Field(alias="isETF")] = None
|
|
289
|
+
r"""Whether the instrument is an ETF"""
|
|
290
|
+
|
|
291
|
+
last_price: Annotated[Optional[float], pydantic.Field(alias="lastPrice")] = None
|
|
292
|
+
r"""Most recent trade price reported by the feed. Use bid and ask instead when estimating immediate buy or sell execution cost."""
|
|
293
|
+
|
|
294
|
+
liabilities: Optional[float] = None
|
|
295
|
+
r"""Total liabilities reported for the company. Use it with assets to evaluate balance-sheet leverage."""
|
|
296
|
+
|
|
297
|
+
long_term_debt: Annotated[Optional[float], pydantic.Field(alias="longTermDebt")] = (
|
|
298
|
+
None
|
|
299
|
+
)
|
|
300
|
+
r"""Long-term debt reported for the company. Use it when evaluating leverage and financial risk."""
|
|
301
|
+
|
|
302
|
+
low52_week_date: Annotated[Optional[str], pydantic.Field(alias="low52WeekDate")] = (
|
|
303
|
+
None
|
|
304
|
+
)
|
|
305
|
+
r"""Date when the instrument reached its 52-week low. Use it with `low52WeekPrice`."""
|
|
306
|
+
|
|
307
|
+
low52_week_price: Annotated[
|
|
308
|
+
Optional[float], pydantic.Field(alias="low52WeekPrice")
|
|
309
|
+
] = None
|
|
310
|
+
r"""Lowest price over the last 52 weeks. Use it to show how close the current price is to its yearly low."""
|
|
311
|
+
|
|
312
|
+
low_price: Annotated[Optional[float], pydantic.Field(alias="lowPrice")] = None
|
|
313
|
+
r"""Lowest traded price during the current session. Use it for daily range displays."""
|
|
314
|
+
|
|
315
|
+
market_cap: Annotated[Optional[int], pydantic.Field(alias="marketCap")] = None
|
|
316
|
+
r"""Company market value. Use it for company size, peer comparison, and screening."""
|
|
317
|
+
|
|
318
|
+
mid_price: Annotated[Optional[float], pydantic.Field(alias="midPrice")] = None
|
|
319
|
+
r"""Midpoint between bid and ask. Use it as a neutral reference price, not as a guaranteed execution price."""
|
|
320
|
+
|
|
321
|
+
name: Optional[str] = None
|
|
322
|
+
r"""Company or instrument name"""
|
|
323
|
+
|
|
324
|
+
nasdaq_buy_volume: Annotated[
|
|
325
|
+
Optional[int], pydantic.Field(alias="nasdaqBuyVolume")
|
|
326
|
+
] = None
|
|
327
|
+
r"""Reported Nasdaq buy-side volume. Use it only for advanced market-flow displays."""
|
|
328
|
+
|
|
329
|
+
nasdaq_net_in_flow: Annotated[
|
|
330
|
+
Optional[float], pydantic.Field(alias="nasdaqNetInFlow")
|
|
331
|
+
] = None
|
|
332
|
+
r"""Net buy versus sell flow for Nasdaq-listed activity when provided by the feed."""
|
|
333
|
+
|
|
334
|
+
nasdaq_sell_volume: Annotated[
|
|
335
|
+
Optional[int], pydantic.Field(alias="nasdaqSellVolume")
|
|
336
|
+
] = None
|
|
337
|
+
r"""Reported Nasdaq sell-side volume. Use it only for advanced market-flow displays."""
|
|
338
|
+
|
|
339
|
+
net_change: Annotated[Optional[float], pydantic.Field(alias="netChange")] = None
|
|
340
|
+
r"""Price change versus the previous close. Use it for daily gain/loss displays."""
|
|
341
|
+
|
|
342
|
+
nyse_buy_volume: Annotated[Optional[int], pydantic.Field(alias="nyseBuyVolume")] = (
|
|
343
|
+
None
|
|
344
|
+
)
|
|
345
|
+
r"""Reported NYSE buy-side volume. Use it only for advanced market-flow displays."""
|
|
346
|
+
|
|
347
|
+
nyse_net_inflow: Annotated[
|
|
348
|
+
Optional[float], pydantic.Field(alias="nyseNetInflow")
|
|
349
|
+
] = None
|
|
350
|
+
r"""Net buy versus sell flow for NYSE-listed activity when provided by the feed."""
|
|
351
|
+
|
|
352
|
+
nyse_sell_volume: Annotated[
|
|
353
|
+
Optional[int], pydantic.Field(alias="nyseSellVolume")
|
|
354
|
+
] = None
|
|
355
|
+
r"""Reported NYSE sell-side volume. Use it only for advanced market-flow displays."""
|
|
356
|
+
|
|
357
|
+
open_interest: Annotated[Optional[int], pydantic.Field(alias="openInterest")] = None
|
|
358
|
+
r"""Number of outstanding option contracts for this contract. Use it to gauge options liquidity."""
|
|
359
|
+
|
|
360
|
+
open_price: Annotated[Optional[float], pydantic.Field(alias="openPrice")] = None
|
|
361
|
+
r"""Price at the start of the current trading session. Use it to compare where the stock opened versus where it trades now."""
|
|
362
|
+
|
|
363
|
+
pct_held_by_institution: Annotated[
|
|
364
|
+
Optional[float], pydantic.Field(alias="pctHeldByInstitution")
|
|
365
|
+
] = None
|
|
366
|
+
r"""Percent held by institutions"""
|
|
367
|
+
|
|
368
|
+
price: Optional[float] = None
|
|
369
|
+
r"""Primary display price from the market data feed. Use it for summary cards when you do not need bid/ask detail."""
|
|
370
|
+
|
|
371
|
+
put_call: Annotated[
|
|
372
|
+
Optional[EquityDetailsDTOPutCall], pydantic.Field(alias="putCall")
|
|
373
|
+
] = None
|
|
374
|
+
r"""Option contract type. Empty for non-option instruments. Accepts long or short form:
|
|
375
|
+
- `CALL` or `C` — call option (right to buy at strike).
|
|
376
|
+
- `PUT` or `P` — put option (right to sell at strike).
|
|
377
|
+
"""
|
|
378
|
+
|
|
379
|
+
quote_timestamp: Annotated[
|
|
380
|
+
Optional[datetime], pydantic.Field(alias="quoteTimestamp")
|
|
381
|
+
] = None
|
|
382
|
+
r"""RFC 3339 timestamp of the bid/ask quote. Use it to show quote freshness."""
|
|
383
|
+
|
|
384
|
+
shares_outstanding: Annotated[
|
|
385
|
+
Optional[int], pydantic.Field(alias="sharesOutstanding")
|
|
386
|
+
] = None
|
|
387
|
+
r"""Total company shares outstanding. Use it in market capitalization and ownership calculations."""
|
|
388
|
+
|
|
389
|
+
short_interest: Annotated[Optional[int], pydantic.Field(alias="shortInterest")] = (
|
|
390
|
+
None
|
|
391
|
+
)
|
|
392
|
+
r"""Shares currently sold short when available. Use it to show bearish positioning or short-interest analysis."""
|
|
393
|
+
|
|
394
|
+
short_sale_restricted: Annotated[
|
|
395
|
+
Optional[int], pydantic.Field(alias="shortSaleRestricted")
|
|
396
|
+
] = None
|
|
397
|
+
r"""Short sale restricted flag/value"""
|
|
398
|
+
|
|
399
|
+
sic_code: Annotated[Optional[int], pydantic.Field(alias="sicCode")] = None
|
|
400
|
+
r"""Standard Industrial Classification code for the company. Use it for industry classification or filtering."""
|
|
401
|
+
|
|
402
|
+
size: Optional[int] = None
|
|
403
|
+
r"""Number of shares or contracts in the last reported trade."""
|
|
404
|
+
|
|
405
|
+
spread: Optional[float] = None
|
|
406
|
+
r"""Difference between ask and bid. Use it to explain immediate trading cost on a market order."""
|
|
407
|
+
|
|
408
|
+
strike_price: Annotated[Optional[float], pydantic.Field(alias="strikePrice")] = None
|
|
409
|
+
r"""Option strike price. Present for option instruments and empty for normal equities."""
|
|
410
|
+
|
|
411
|
+
symbol: Optional[str] = None
|
|
412
|
+
r"""Ticker symbol this detail record belongs to. Use it to match the response item back to your requested symbol."""
|
|
413
|
+
|
|
414
|
+
tick: Optional[int] = None
|
|
415
|
+
r"""Feed tick direction or tick value when provided. Use it only when your UI needs trade direction indicators."""
|
|
416
|
+
|
|
417
|
+
total_symbols: Annotated[Optional[int], pydantic.Field(alias="totalSymbols")] = None
|
|
418
|
+
r"""Total symbols counted in the market-breadth snapshot."""
|
|
419
|
+
|
|
420
|
+
total_volume: Annotated[Optional[int], pydantic.Field(alias="totalVolume")] = None
|
|
421
|
+
r"""Total shares or contracts traded during the current session. Use it to show liquidity and activity."""
|
|
422
|
+
|
|
423
|
+
trade_exchange: Annotated[Optional[str], pydantic.Field(alias="tradeExchange")] = (
|
|
424
|
+
None
|
|
425
|
+
)
|
|
426
|
+
r"""Exchange or venue where the last trade was reported. Use it for advanced quote detail displays."""
|
|
427
|
+
|
|
428
|
+
trade_seq: Annotated[Optional[int], pydantic.Field(alias="tradeSeq")] = None
|
|
429
|
+
r"""Feed sequence number for the last trade. Use it only for advanced debugging or ordering feed updates."""
|
|
430
|
+
|
|
431
|
+
trade_timestamp: Annotated[
|
|
432
|
+
Optional[datetime], pydantic.Field(alias="tradeTimestamp")
|
|
433
|
+
] = None
|
|
434
|
+
r"""RFC 3339 timestamp of the last trade, including its UTC offset. Omitted when the feed timestamp is missing or invalid."""
|
|
435
|
+
|
|
436
|
+
type: Optional[str] = None
|
|
437
|
+
r"""Provider-supplied market data type for this snapshot. Treat this as a feed classification string rather than an order type."""
|
|
438
|
+
|
|
439
|
+
unchanged: Optional[int] = None
|
|
440
|
+
r"""Number of symbols unchanged in the related market-breadth snapshot."""
|
|
441
|
+
|
|
442
|
+
underlying_symbol: Annotated[
|
|
443
|
+
Optional[str], pydantic.Field(alias="underlyingSymbol")
|
|
444
|
+
] = None
|
|
445
|
+
r"""Underlying symbol (options)"""
|
|
446
|
+
|
|
447
|
+
year_end_close: Annotated[Optional[float], pydantic.Field(alias="yearEndClose")] = (
|
|
448
|
+
None
|
|
449
|
+
)
|
|
450
|
+
r"""Closing price at the prior year end when available. Use it for year-to-date comparisons."""
|
|
451
|
+
|
|
452
|
+
ytd_high: Annotated[Optional[float], pydantic.Field(alias="ytdHigh")] = None
|
|
453
|
+
r"""Highest price since the start of the current calendar year."""
|
|
454
|
+
|
|
455
|
+
ytd_high_date: Annotated[Optional[str], pydantic.Field(alias="ytdHighDate")] = None
|
|
456
|
+
r"""Date when the instrument reached its year-to-date high."""
|
|
457
|
+
|
|
458
|
+
ytd_low: Annotated[Optional[float], pydantic.Field(alias="ytdLow")] = None
|
|
459
|
+
r"""Lowest price since the start of the current calendar year."""
|
|
460
|
+
|
|
461
|
+
ytd_low_date: Annotated[Optional[str], pydantic.Field(alias="ytdLowDate")] = None
|
|
462
|
+
r"""Date when the instrument reached its year-to-date low."""
|
|
463
|
+
|
|
464
|
+
@field_serializer("put_call")
|
|
465
|
+
def serialize_put_call(self, value):
|
|
466
|
+
if isinstance(value, str):
|
|
467
|
+
try:
|
|
468
|
+
return models.EquityDetailsDTOPutCall(value)
|
|
469
|
+
except ValueError:
|
|
470
|
+
return value
|
|
471
|
+
return value
|
|
472
|
+
|
|
473
|
+
@model_serializer(mode="wrap")
|
|
474
|
+
def serialize_model(self, handler):
|
|
475
|
+
optional_fields = set(
|
|
476
|
+
[
|
|
477
|
+
"EPS3YearGrowthRate",
|
|
478
|
+
"EPS5YearGrowthRate",
|
|
479
|
+
"EPSCurrentQtrMeanEst",
|
|
480
|
+
"EPSCurrentYearMeanEst",
|
|
481
|
+
"EPSDiluted",
|
|
482
|
+
"EPSLatest12Month",
|
|
483
|
+
"PE",
|
|
484
|
+
"advancers",
|
|
485
|
+
"annualYield",
|
|
486
|
+
"askExchange",
|
|
487
|
+
"askPrice",
|
|
488
|
+
"askSize",
|
|
489
|
+
"assets",
|
|
490
|
+
"avgVolume4Weeks",
|
|
491
|
+
"beta",
|
|
492
|
+
"bidExchange",
|
|
493
|
+
"bidPrice",
|
|
494
|
+
"bidSize",
|
|
495
|
+
"changeStatus",
|
|
496
|
+
"closePrice",
|
|
497
|
+
"decliners",
|
|
498
|
+
"dividend",
|
|
499
|
+
"expirationDate",
|
|
500
|
+
"hasOptions",
|
|
501
|
+
"high52WeekDate",
|
|
502
|
+
"high52WeekPrice",
|
|
503
|
+
"highPrice",
|
|
504
|
+
"instrumentType",
|
|
505
|
+
"isETF",
|
|
506
|
+
"lastPrice",
|
|
507
|
+
"liabilities",
|
|
508
|
+
"longTermDebt",
|
|
509
|
+
"low52WeekDate",
|
|
510
|
+
"low52WeekPrice",
|
|
511
|
+
"lowPrice",
|
|
512
|
+
"marketCap",
|
|
513
|
+
"midPrice",
|
|
514
|
+
"name",
|
|
515
|
+
"nasdaqBuyVolume",
|
|
516
|
+
"nasdaqNetInFlow",
|
|
517
|
+
"nasdaqSellVolume",
|
|
518
|
+
"netChange",
|
|
519
|
+
"nyseBuyVolume",
|
|
520
|
+
"nyseNetInflow",
|
|
521
|
+
"nyseSellVolume",
|
|
522
|
+
"openInterest",
|
|
523
|
+
"openPrice",
|
|
524
|
+
"pctHeldByInstitution",
|
|
525
|
+
"price",
|
|
526
|
+
"putCall",
|
|
527
|
+
"quoteTimestamp",
|
|
528
|
+
"sharesOutstanding",
|
|
529
|
+
"shortInterest",
|
|
530
|
+
"shortSaleRestricted",
|
|
531
|
+
"sicCode",
|
|
532
|
+
"size",
|
|
533
|
+
"spread",
|
|
534
|
+
"strikePrice",
|
|
535
|
+
"symbol",
|
|
536
|
+
"tick",
|
|
537
|
+
"totalSymbols",
|
|
538
|
+
"totalVolume",
|
|
539
|
+
"tradeExchange",
|
|
540
|
+
"tradeSeq",
|
|
541
|
+
"tradeTimestamp",
|
|
542
|
+
"type",
|
|
543
|
+
"unchanged",
|
|
544
|
+
"underlyingSymbol",
|
|
545
|
+
"yearEndClose",
|
|
546
|
+
"ytdHigh",
|
|
547
|
+
"ytdHighDate",
|
|
548
|
+
"ytdLow",
|
|
549
|
+
"ytdLowDate",
|
|
550
|
+
]
|
|
551
|
+
)
|
|
552
|
+
serialized = handler(self)
|
|
553
|
+
m = {}
|
|
554
|
+
|
|
555
|
+
for n, f in type(self).model_fields.items():
|
|
556
|
+
k = f.alias or n
|
|
557
|
+
val = serialized.get(k, serialized.get(n))
|
|
558
|
+
|
|
559
|
+
if val != UNSET_SENTINEL:
|
|
560
|
+
if val is not None or k not in optional_fields:
|
|
561
|
+
m[k] = val
|
|
562
|
+
|
|
563
|
+
return m
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
try:
|
|
567
|
+
EquityDetailsDTO.model_rebuild()
|
|
568
|
+
except NameError:
|
|
569
|
+
pass
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c7c83653d61e
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ErrorCodeTypedDict(TypedDict):
|
|
12
|
+
r"""A single structured error entry identifying a machine-readable code, a human-readable description, and optionally the field that caused it."""
|
|
13
|
+
|
|
14
|
+
code: NotRequired[str]
|
|
15
|
+
r"""Machine-readable error code"""
|
|
16
|
+
description: NotRequired[str]
|
|
17
|
+
r"""Human-readable description of the error"""
|
|
18
|
+
field: NotRequired[str]
|
|
19
|
+
r"""Field name that caused the error"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ErrorCode(BaseModel):
|
|
23
|
+
r"""A single structured error entry identifying a machine-readable code, a human-readable description, and optionally the field that caused it."""
|
|
24
|
+
|
|
25
|
+
code: Optional[str] = None
|
|
26
|
+
r"""Machine-readable error code"""
|
|
27
|
+
|
|
28
|
+
description: Optional[str] = None
|
|
29
|
+
r"""Human-readable description of the error"""
|
|
30
|
+
|
|
31
|
+
field: Optional[str] = None
|
|
32
|
+
r"""Field name that caused the error"""
|
|
33
|
+
|
|
34
|
+
@model_serializer(mode="wrap")
|
|
35
|
+
def serialize_model(self, handler):
|
|
36
|
+
optional_fields = set(["code", "description", "field"])
|
|
37
|
+
serialized = handler(self)
|
|
38
|
+
m = {}
|
|
39
|
+
|
|
40
|
+
for n, f in type(self).model_fields.items():
|
|
41
|
+
k = f.alias or n
|
|
42
|
+
val = serialized.get(k, serialized.get(n))
|
|
43
|
+
|
|
44
|
+
if val != UNSET_SENTINEL:
|
|
45
|
+
if val is not None or k not in optional_fields:
|
|
46
|
+
m[k] = val
|
|
47
|
+
|
|
48
|
+
return m
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 6bc1ae70ec22
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class EtbListResponseTypedDict(TypedDict):
|
|
12
|
+
r"""The complete set of easy-to-borrow symbols in effect for the current trading day. Membership in the list is the whole signal: a symbol on the list can be sold short normally, and a symbol absent from it is hard to borrow. There is no per-symbol status field, quantity, or borrow rate."""
|
|
13
|
+
|
|
14
|
+
count: NotRequired[int]
|
|
15
|
+
r"""Number of entries in `symbols`."""
|
|
16
|
+
symbols: NotRequired[List[str]]
|
|
17
|
+
r"""Every borrowable symbol currently in effect — uppercase, sorted ascending, and free of duplicates. The order is imposed by the service, so two calls on the same day return the same order. Always an array, never null. An empty array means the day's list has not loaded yet, NOT that nothing is borrowable."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class EtbListResponse(BaseModel):
|
|
21
|
+
r"""The complete set of easy-to-borrow symbols in effect for the current trading day. Membership in the list is the whole signal: a symbol on the list can be sold short normally, and a symbol absent from it is hard to borrow. There is no per-symbol status field, quantity, or borrow rate."""
|
|
22
|
+
|
|
23
|
+
count: Optional[int] = None
|
|
24
|
+
r"""Number of entries in `symbols`."""
|
|
25
|
+
|
|
26
|
+
symbols: Optional[List[str]] = None
|
|
27
|
+
r"""Every borrowable symbol currently in effect — uppercase, sorted ascending, and free of duplicates. The order is imposed by the service, so two calls on the same day return the same order. Always an array, never null. An empty array means the day's list has not loaded yet, NOT that nothing is borrowable."""
|
|
28
|
+
|
|
29
|
+
@model_serializer(mode="wrap")
|
|
30
|
+
def serialize_model(self, handler):
|
|
31
|
+
optional_fields = set(["count", "symbols"])
|
|
32
|
+
serialized = handler(self)
|
|
33
|
+
m = {}
|
|
34
|
+
|
|
35
|
+
for n, f in type(self).model_fields.items():
|
|
36
|
+
k = f.alias or n
|
|
37
|
+
val = serialized.get(k, serialized.get(n))
|
|
38
|
+
|
|
39
|
+
if val != UNSET_SENTINEL:
|
|
40
|
+
if val is not None or k not in optional_fields:
|
|
41
|
+
m[k] = val
|
|
42
|
+
|
|
43
|
+
return m
|