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,175 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 74ef0fe52962
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class StockLastQuoteResponseResultsTypedDict(TypedDict):
|
|
13
|
+
r"""Last NBBO quote object"""
|
|
14
|
+
|
|
15
|
+
ask_exchange: NotRequired[int]
|
|
16
|
+
r"""Ask exchange ID"""
|
|
17
|
+
ask_price: NotRequired[float]
|
|
18
|
+
r"""Ask price"""
|
|
19
|
+
ask_size: NotRequired[int]
|
|
20
|
+
r"""Ask size"""
|
|
21
|
+
bid_exchange: NotRequired[int]
|
|
22
|
+
r"""Bid exchange ID"""
|
|
23
|
+
bid_price: NotRequired[float]
|
|
24
|
+
r"""Bid price"""
|
|
25
|
+
bid_size: NotRequired[int]
|
|
26
|
+
r"""Bid size"""
|
|
27
|
+
conditions: NotRequired[List[int]]
|
|
28
|
+
r"""Quote conditions"""
|
|
29
|
+
indicators: NotRequired[List[int]]
|
|
30
|
+
r"""Quote indicators"""
|
|
31
|
+
participant_timestamp: NotRequired[int]
|
|
32
|
+
r"""Participant timestamp"""
|
|
33
|
+
sequence_number: NotRequired[int]
|
|
34
|
+
r"""Sequence number"""
|
|
35
|
+
sip_timestamp: NotRequired[int]
|
|
36
|
+
r"""SIP timestamp"""
|
|
37
|
+
tape: NotRequired[int]
|
|
38
|
+
r"""Tape"""
|
|
39
|
+
ticker: NotRequired[str]
|
|
40
|
+
r"""Ticker symbol"""
|
|
41
|
+
trf_timestamp: NotRequired[int]
|
|
42
|
+
r"""TRF timestamp"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class StockLastQuoteResponseResults(BaseModel):
|
|
46
|
+
r"""Last NBBO quote object"""
|
|
47
|
+
|
|
48
|
+
ask_exchange: Annotated[Optional[int], pydantic.Field(alias="askExchange")] = None
|
|
49
|
+
r"""Ask exchange ID"""
|
|
50
|
+
|
|
51
|
+
ask_price: Annotated[Optional[float], pydantic.Field(alias="askPrice")] = None
|
|
52
|
+
r"""Ask price"""
|
|
53
|
+
|
|
54
|
+
ask_size: Annotated[Optional[int], pydantic.Field(alias="askSize")] = None
|
|
55
|
+
r"""Ask size"""
|
|
56
|
+
|
|
57
|
+
bid_exchange: Annotated[Optional[int], pydantic.Field(alias="bidExchange")] = None
|
|
58
|
+
r"""Bid exchange ID"""
|
|
59
|
+
|
|
60
|
+
bid_price: Annotated[Optional[float], pydantic.Field(alias="bidPrice")] = None
|
|
61
|
+
r"""Bid price"""
|
|
62
|
+
|
|
63
|
+
bid_size: Annotated[Optional[int], pydantic.Field(alias="bidSize")] = None
|
|
64
|
+
r"""Bid size"""
|
|
65
|
+
|
|
66
|
+
conditions: Optional[List[int]] = None
|
|
67
|
+
r"""Quote conditions"""
|
|
68
|
+
|
|
69
|
+
indicators: Optional[List[int]] = None
|
|
70
|
+
r"""Quote indicators"""
|
|
71
|
+
|
|
72
|
+
participant_timestamp: Annotated[
|
|
73
|
+
Optional[int], pydantic.Field(alias="participantTimestamp")
|
|
74
|
+
] = None
|
|
75
|
+
r"""Participant timestamp"""
|
|
76
|
+
|
|
77
|
+
sequence_number: Annotated[
|
|
78
|
+
Optional[int], pydantic.Field(alias="sequenceNumber")
|
|
79
|
+
] = None
|
|
80
|
+
r"""Sequence number"""
|
|
81
|
+
|
|
82
|
+
sip_timestamp: Annotated[Optional[int], pydantic.Field(alias="sipTimestamp")] = None
|
|
83
|
+
r"""SIP timestamp"""
|
|
84
|
+
|
|
85
|
+
tape: Optional[int] = None
|
|
86
|
+
r"""Tape"""
|
|
87
|
+
|
|
88
|
+
ticker: Optional[str] = None
|
|
89
|
+
r"""Ticker symbol"""
|
|
90
|
+
|
|
91
|
+
trf_timestamp: Annotated[Optional[int], pydantic.Field(alias="trfTimestamp")] = None
|
|
92
|
+
r"""TRF timestamp"""
|
|
93
|
+
|
|
94
|
+
@model_serializer(mode="wrap")
|
|
95
|
+
def serialize_model(self, handler):
|
|
96
|
+
optional_fields = set(
|
|
97
|
+
[
|
|
98
|
+
"askExchange",
|
|
99
|
+
"askPrice",
|
|
100
|
+
"askSize",
|
|
101
|
+
"bidExchange",
|
|
102
|
+
"bidPrice",
|
|
103
|
+
"bidSize",
|
|
104
|
+
"conditions",
|
|
105
|
+
"indicators",
|
|
106
|
+
"participantTimestamp",
|
|
107
|
+
"sequenceNumber",
|
|
108
|
+
"sipTimestamp",
|
|
109
|
+
"tape",
|
|
110
|
+
"ticker",
|
|
111
|
+
"trfTimestamp",
|
|
112
|
+
]
|
|
113
|
+
)
|
|
114
|
+
serialized = handler(self)
|
|
115
|
+
m = {}
|
|
116
|
+
|
|
117
|
+
for n, f in type(self).model_fields.items():
|
|
118
|
+
k = f.alias or n
|
|
119
|
+
val = serialized.get(k, serialized.get(n))
|
|
120
|
+
|
|
121
|
+
if val != UNSET_SENTINEL:
|
|
122
|
+
if val is not None or k not in optional_fields:
|
|
123
|
+
m[k] = val
|
|
124
|
+
|
|
125
|
+
return m
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class StockLastQuoteResponseTypedDict(TypedDict):
|
|
129
|
+
r"""Most recent NBBO quote for a stock ticker."""
|
|
130
|
+
|
|
131
|
+
request_id: NotRequired[str]
|
|
132
|
+
r"""Unique request ID"""
|
|
133
|
+
results: NotRequired[StockLastQuoteResponseResultsTypedDict]
|
|
134
|
+
r"""Last NBBO quote object"""
|
|
135
|
+
status: NotRequired[str]
|
|
136
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class StockLastQuoteResponse(BaseModel):
|
|
140
|
+
r"""Most recent NBBO quote for a stock ticker."""
|
|
141
|
+
|
|
142
|
+
request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
|
|
143
|
+
r"""Unique request ID"""
|
|
144
|
+
|
|
145
|
+
results: Optional[StockLastQuoteResponseResults] = None
|
|
146
|
+
r"""Last NBBO quote object"""
|
|
147
|
+
|
|
148
|
+
status: Optional[str] = None
|
|
149
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
150
|
+
|
|
151
|
+
@model_serializer(mode="wrap")
|
|
152
|
+
def serialize_model(self, handler):
|
|
153
|
+
optional_fields = set(["requestId", "results", "status"])
|
|
154
|
+
serialized = handler(self)
|
|
155
|
+
m = {}
|
|
156
|
+
|
|
157
|
+
for n, f in type(self).model_fields.items():
|
|
158
|
+
k = f.alias or n
|
|
159
|
+
val = serialized.get(k, serialized.get(n))
|
|
160
|
+
|
|
161
|
+
if val != UNSET_SENTINEL:
|
|
162
|
+
if val is not None or k not in optional_fields:
|
|
163
|
+
m[k] = val
|
|
164
|
+
|
|
165
|
+
return m
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
try:
|
|
169
|
+
StockLastQuoteResponseResults.model_rebuild()
|
|
170
|
+
except NameError:
|
|
171
|
+
pass
|
|
172
|
+
try:
|
|
173
|
+
StockLastQuoteResponse.model_rebuild()
|
|
174
|
+
except NameError:
|
|
175
|
+
pass
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c63a830a5896
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class StockLastTradeResponseResultsTypedDict(TypedDict):
|
|
13
|
+
r"""Last trade object"""
|
|
14
|
+
|
|
15
|
+
conditions: NotRequired[List[int]]
|
|
16
|
+
r"""Trade conditions"""
|
|
17
|
+
correction: NotRequired[int]
|
|
18
|
+
r"""Correction indicator"""
|
|
19
|
+
exchange: NotRequired[int]
|
|
20
|
+
r"""Numeric exchange identifier supplied by the market data provider."""
|
|
21
|
+
id: NotRequired[str]
|
|
22
|
+
r"""Trade ID"""
|
|
23
|
+
participant_timestamp: NotRequired[int]
|
|
24
|
+
r"""Participant timestamp"""
|
|
25
|
+
price: NotRequired[float]
|
|
26
|
+
r"""Trade price"""
|
|
27
|
+
sequence_number: NotRequired[int]
|
|
28
|
+
r"""Sequence number"""
|
|
29
|
+
sip_timestamp: NotRequired[int]
|
|
30
|
+
r"""SIP timestamp"""
|
|
31
|
+
size: NotRequired[float]
|
|
32
|
+
r"""Trade size (shares)"""
|
|
33
|
+
tape: NotRequired[int]
|
|
34
|
+
r"""Tape"""
|
|
35
|
+
ticker: NotRequired[str]
|
|
36
|
+
r"""Ticker symbol"""
|
|
37
|
+
trf_id: NotRequired[int]
|
|
38
|
+
r"""TRF ID"""
|
|
39
|
+
trf_timestamp: NotRequired[int]
|
|
40
|
+
r"""TRF timestamp"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class StockLastTradeResponseResults(BaseModel):
|
|
44
|
+
r"""Last trade object"""
|
|
45
|
+
|
|
46
|
+
conditions: Optional[List[int]] = None
|
|
47
|
+
r"""Trade conditions"""
|
|
48
|
+
|
|
49
|
+
correction: Optional[int] = None
|
|
50
|
+
r"""Correction indicator"""
|
|
51
|
+
|
|
52
|
+
exchange: Optional[int] = None
|
|
53
|
+
r"""Numeric exchange identifier supplied by the market data provider."""
|
|
54
|
+
|
|
55
|
+
id: Optional[str] = None
|
|
56
|
+
r"""Trade ID"""
|
|
57
|
+
|
|
58
|
+
participant_timestamp: Annotated[
|
|
59
|
+
Optional[int], pydantic.Field(alias="participantTimestamp")
|
|
60
|
+
] = None
|
|
61
|
+
r"""Participant timestamp"""
|
|
62
|
+
|
|
63
|
+
price: Optional[float] = None
|
|
64
|
+
r"""Trade price"""
|
|
65
|
+
|
|
66
|
+
sequence_number: Annotated[
|
|
67
|
+
Optional[int], pydantic.Field(alias="sequenceNumber")
|
|
68
|
+
] = None
|
|
69
|
+
r"""Sequence number"""
|
|
70
|
+
|
|
71
|
+
sip_timestamp: Annotated[Optional[int], pydantic.Field(alias="sipTimestamp")] = None
|
|
72
|
+
r"""SIP timestamp"""
|
|
73
|
+
|
|
74
|
+
size: Optional[float] = None
|
|
75
|
+
r"""Trade size (shares)"""
|
|
76
|
+
|
|
77
|
+
tape: Optional[int] = None
|
|
78
|
+
r"""Tape"""
|
|
79
|
+
|
|
80
|
+
ticker: Optional[str] = None
|
|
81
|
+
r"""Ticker symbol"""
|
|
82
|
+
|
|
83
|
+
trf_id: Annotated[Optional[int], pydantic.Field(alias="trfId")] = None
|
|
84
|
+
r"""TRF ID"""
|
|
85
|
+
|
|
86
|
+
trf_timestamp: Annotated[Optional[int], pydantic.Field(alias="trfTimestamp")] = None
|
|
87
|
+
r"""TRF timestamp"""
|
|
88
|
+
|
|
89
|
+
@model_serializer(mode="wrap")
|
|
90
|
+
def serialize_model(self, handler):
|
|
91
|
+
optional_fields = set(
|
|
92
|
+
[
|
|
93
|
+
"conditions",
|
|
94
|
+
"correction",
|
|
95
|
+
"exchange",
|
|
96
|
+
"id",
|
|
97
|
+
"participantTimestamp",
|
|
98
|
+
"price",
|
|
99
|
+
"sequenceNumber",
|
|
100
|
+
"sipTimestamp",
|
|
101
|
+
"size",
|
|
102
|
+
"tape",
|
|
103
|
+
"ticker",
|
|
104
|
+
"trfId",
|
|
105
|
+
"trfTimestamp",
|
|
106
|
+
]
|
|
107
|
+
)
|
|
108
|
+
serialized = handler(self)
|
|
109
|
+
m = {}
|
|
110
|
+
|
|
111
|
+
for n, f in type(self).model_fields.items():
|
|
112
|
+
k = f.alias or n
|
|
113
|
+
val = serialized.get(k, serialized.get(n))
|
|
114
|
+
|
|
115
|
+
if val != UNSET_SENTINEL:
|
|
116
|
+
if val is not None or k not in optional_fields:
|
|
117
|
+
m[k] = val
|
|
118
|
+
|
|
119
|
+
return m
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class StockLastTradeResponseTypedDict(TypedDict):
|
|
123
|
+
r"""Most recent trade for a stock ticker."""
|
|
124
|
+
|
|
125
|
+
request_id: NotRequired[str]
|
|
126
|
+
r"""Unique request ID"""
|
|
127
|
+
results: NotRequired[StockLastTradeResponseResultsTypedDict]
|
|
128
|
+
r"""Last trade object"""
|
|
129
|
+
status: NotRequired[str]
|
|
130
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class StockLastTradeResponse(BaseModel):
|
|
134
|
+
r"""Most recent trade for a stock ticker."""
|
|
135
|
+
|
|
136
|
+
request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
|
|
137
|
+
r"""Unique request ID"""
|
|
138
|
+
|
|
139
|
+
results: Optional[StockLastTradeResponseResults] = None
|
|
140
|
+
r"""Last trade object"""
|
|
141
|
+
|
|
142
|
+
status: Optional[str] = None
|
|
143
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
144
|
+
|
|
145
|
+
@model_serializer(mode="wrap")
|
|
146
|
+
def serialize_model(self, handler):
|
|
147
|
+
optional_fields = set(["requestId", "results", "status"])
|
|
148
|
+
serialized = handler(self)
|
|
149
|
+
m = {}
|
|
150
|
+
|
|
151
|
+
for n, f in type(self).model_fields.items():
|
|
152
|
+
k = f.alias or n
|
|
153
|
+
val = serialized.get(k, serialized.get(n))
|
|
154
|
+
|
|
155
|
+
if val != UNSET_SENTINEL:
|
|
156
|
+
if val is not None or k not in optional_fields:
|
|
157
|
+
m[k] = val
|
|
158
|
+
|
|
159
|
+
return m
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
try:
|
|
163
|
+
StockLastTradeResponseResults.model_rebuild()
|
|
164
|
+
except NameError:
|
|
165
|
+
pass
|
|
166
|
+
try:
|
|
167
|
+
StockLastTradeResponse.model_rebuild()
|
|
168
|
+
except NameError:
|
|
169
|
+
pass
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 4dfa3143cbd3
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class StockOhlcBarTypedDict(TypedDict):
|
|
13
|
+
r"""OHLCV bar for stock price history. Use values at each bar to render candles or historical price charts."""
|
|
14
|
+
|
|
15
|
+
ticker_symbol: NotRequired[str]
|
|
16
|
+
r"""Ticker symbol (optional, e.g. for grouped/prev)"""
|
|
17
|
+
c: NotRequired[float]
|
|
18
|
+
r"""Close price for the bar interval. Use it as the final price in a candle."""
|
|
19
|
+
h: NotRequired[float]
|
|
20
|
+
r"""Highest traded price during the bar interval. Use it for the candle's upper wick."""
|
|
21
|
+
l: NotRequired[float]
|
|
22
|
+
r"""Lowest traded price during the bar interval. Use it for the candle's lower wick."""
|
|
23
|
+
n: NotRequired[int]
|
|
24
|
+
r"""Number of trades included in the bar. Use it as an activity indicator when available."""
|
|
25
|
+
o: NotRequired[float]
|
|
26
|
+
r"""Opening price for the bar interval. Use it as the first price in a candle."""
|
|
27
|
+
t: NotRequired[int]
|
|
28
|
+
r"""Bar timestamp in Unix milliseconds. Use it as the x-axis time value."""
|
|
29
|
+
v: NotRequired[float]
|
|
30
|
+
r"""Shares or contracts traded during the bar interval. Use it for volume charts."""
|
|
31
|
+
vw: NotRequired[float]
|
|
32
|
+
r"""Volume weighted average price"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class StockOhlcBar(BaseModel):
|
|
36
|
+
r"""OHLCV bar for stock price history. Use values at each bar to render candles or historical price charts."""
|
|
37
|
+
|
|
38
|
+
ticker_symbol: Annotated[Optional[str], pydantic.Field(alias="T")] = None
|
|
39
|
+
r"""Ticker symbol (optional, e.g. for grouped/prev)"""
|
|
40
|
+
|
|
41
|
+
c: Optional[float] = None
|
|
42
|
+
r"""Close price for the bar interval. Use it as the final price in a candle."""
|
|
43
|
+
|
|
44
|
+
h: Optional[float] = None
|
|
45
|
+
r"""Highest traded price during the bar interval. Use it for the candle's upper wick."""
|
|
46
|
+
|
|
47
|
+
l: Optional[float] = None
|
|
48
|
+
r"""Lowest traded price during the bar interval. Use it for the candle's lower wick."""
|
|
49
|
+
|
|
50
|
+
n: Optional[int] = None
|
|
51
|
+
r"""Number of trades included in the bar. Use it as an activity indicator when available."""
|
|
52
|
+
|
|
53
|
+
o: Optional[float] = None
|
|
54
|
+
r"""Opening price for the bar interval. Use it as the first price in a candle."""
|
|
55
|
+
|
|
56
|
+
t: Optional[int] = None
|
|
57
|
+
r"""Bar timestamp in Unix milliseconds. Use it as the x-axis time value."""
|
|
58
|
+
|
|
59
|
+
v: Optional[float] = None
|
|
60
|
+
r"""Shares or contracts traded during the bar interval. Use it for volume charts."""
|
|
61
|
+
|
|
62
|
+
vw: Optional[float] = None
|
|
63
|
+
r"""Volume weighted average price"""
|
|
64
|
+
|
|
65
|
+
@model_serializer(mode="wrap")
|
|
66
|
+
def serialize_model(self, handler):
|
|
67
|
+
optional_fields = set(["TickerSymbol", "c", "h", "l", "n", "o", "t", "v", "vw"])
|
|
68
|
+
serialized = handler(self)
|
|
69
|
+
m = {}
|
|
70
|
+
|
|
71
|
+
for n, f in type(self).model_fields.items():
|
|
72
|
+
k = f.alias or n
|
|
73
|
+
val = serialized.get(k, serialized.get(n))
|
|
74
|
+
|
|
75
|
+
if val != UNSET_SENTINEL:
|
|
76
|
+
if val is not None or k not in optional_fields:
|
|
77
|
+
m[k] = val
|
|
78
|
+
|
|
79
|
+
return m
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
try:
|
|
83
|
+
StockOhlcBar.model_rebuild()
|
|
84
|
+
except NameError:
|
|
85
|
+
pass
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 56db4f689fb1
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class StockOpenCloseResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Open, high, low, close, volume and extended-hours prices for a stock on a given date, as returned by the upstream data provider."""
|
|
14
|
+
|
|
15
|
+
after_hours: NotRequired[float]
|
|
16
|
+
r"""After hours price"""
|
|
17
|
+
close: NotRequired[float]
|
|
18
|
+
r"""Closing price"""
|
|
19
|
+
from_: NotRequired[str]
|
|
20
|
+
r"""Date in YYYY-MM-DD format. Enter the specific calendar date you want to query."""
|
|
21
|
+
high: NotRequired[float]
|
|
22
|
+
r"""High price"""
|
|
23
|
+
low: NotRequired[float]
|
|
24
|
+
r"""Low price"""
|
|
25
|
+
open: NotRequired[float]
|
|
26
|
+
r"""Opening price"""
|
|
27
|
+
otc: NotRequired[bool]
|
|
28
|
+
r"""Whether the security is OTC"""
|
|
29
|
+
pre_market: NotRequired[float]
|
|
30
|
+
r"""Pre-market price"""
|
|
31
|
+
status: NotRequired[str]
|
|
32
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
33
|
+
symbol: NotRequired[str]
|
|
34
|
+
r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
|
|
35
|
+
volume: NotRequired[float]
|
|
36
|
+
r"""Trading volume"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class StockOpenCloseResponse(BaseModel):
|
|
40
|
+
r"""Open, high, low, close, volume and extended-hours prices for a stock on a given date, as returned by the upstream data provider."""
|
|
41
|
+
|
|
42
|
+
after_hours: Annotated[Optional[float], pydantic.Field(alias="afterHours")] = None
|
|
43
|
+
r"""After hours price"""
|
|
44
|
+
|
|
45
|
+
close: Optional[float] = None
|
|
46
|
+
r"""Closing price"""
|
|
47
|
+
|
|
48
|
+
from_: Annotated[Optional[str], pydantic.Field(alias="from")] = None
|
|
49
|
+
r"""Date in YYYY-MM-DD format. Enter the specific calendar date you want to query."""
|
|
50
|
+
|
|
51
|
+
high: Optional[float] = None
|
|
52
|
+
r"""High price"""
|
|
53
|
+
|
|
54
|
+
low: Optional[float] = None
|
|
55
|
+
r"""Low price"""
|
|
56
|
+
|
|
57
|
+
open: Optional[float] = None
|
|
58
|
+
r"""Opening price"""
|
|
59
|
+
|
|
60
|
+
otc: Optional[bool] = None
|
|
61
|
+
r"""Whether the security is OTC"""
|
|
62
|
+
|
|
63
|
+
pre_market: Annotated[Optional[float], pydantic.Field(alias="preMarket")] = None
|
|
64
|
+
r"""Pre-market price"""
|
|
65
|
+
|
|
66
|
+
status: Optional[str] = None
|
|
67
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
68
|
+
|
|
69
|
+
symbol: Optional[str] = None
|
|
70
|
+
r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
|
|
71
|
+
|
|
72
|
+
volume: Optional[float] = None
|
|
73
|
+
r"""Trading volume"""
|
|
74
|
+
|
|
75
|
+
@model_serializer(mode="wrap")
|
|
76
|
+
def serialize_model(self, handler):
|
|
77
|
+
optional_fields = set(
|
|
78
|
+
[
|
|
79
|
+
"afterHours",
|
|
80
|
+
"close",
|
|
81
|
+
"from",
|
|
82
|
+
"high",
|
|
83
|
+
"low",
|
|
84
|
+
"open",
|
|
85
|
+
"otc",
|
|
86
|
+
"preMarket",
|
|
87
|
+
"status",
|
|
88
|
+
"symbol",
|
|
89
|
+
"volume",
|
|
90
|
+
]
|
|
91
|
+
)
|
|
92
|
+
serialized = handler(self)
|
|
93
|
+
m = {}
|
|
94
|
+
|
|
95
|
+
for n, f in type(self).model_fields.items():
|
|
96
|
+
k = f.alias or n
|
|
97
|
+
val = serialized.get(k, serialized.get(n))
|
|
98
|
+
|
|
99
|
+
if val != UNSET_SENTINEL:
|
|
100
|
+
if val is not None or k not in optional_fields:
|
|
101
|
+
m[k] = val
|
|
102
|
+
|
|
103
|
+
return m
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
try:
|
|
107
|
+
StockOpenCloseResponse.model_rebuild()
|
|
108
|
+
except NameError:
|
|
109
|
+
pass
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 4fd1640f450e
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .stockohlcbar import StockOhlcBar, StockOhlcBarTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
import pydantic
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class StockPreviousDayResponseTypedDict(TypedDict):
|
|
14
|
+
r"""Previous trading day's aggregate bar for a stock ticker, from the Polygon aggregates data."""
|
|
15
|
+
|
|
16
|
+
adjusted: NotRequired[bool]
|
|
17
|
+
r"""Whether or not the results are adjusted for splits"""
|
|
18
|
+
query_count: NotRequired[int]
|
|
19
|
+
r"""Number of results returned"""
|
|
20
|
+
request_id: NotRequired[str]
|
|
21
|
+
r"""Unique request ID"""
|
|
22
|
+
results: NotRequired[List[StockOhlcBarTypedDict]]
|
|
23
|
+
r"""Array containing previous day bar"""
|
|
24
|
+
results_count: NotRequired[int]
|
|
25
|
+
r"""Total number of results"""
|
|
26
|
+
status: NotRequired[str]
|
|
27
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
28
|
+
ticker: NotRequired[str]
|
|
29
|
+
r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class StockPreviousDayResponse(BaseModel):
|
|
33
|
+
r"""Previous trading day's aggregate bar for a stock ticker, from the Polygon aggregates data."""
|
|
34
|
+
|
|
35
|
+
adjusted: Optional[bool] = None
|
|
36
|
+
r"""Whether or not the results are adjusted for splits"""
|
|
37
|
+
|
|
38
|
+
query_count: Annotated[Optional[int], pydantic.Field(alias="queryCount")] = None
|
|
39
|
+
r"""Number of results returned"""
|
|
40
|
+
|
|
41
|
+
request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
|
|
42
|
+
r"""Unique request ID"""
|
|
43
|
+
|
|
44
|
+
results: Optional[List[StockOhlcBar]] = None
|
|
45
|
+
r"""Array containing previous day bar"""
|
|
46
|
+
|
|
47
|
+
results_count: Annotated[Optional[int], pydantic.Field(alias="resultsCount")] = None
|
|
48
|
+
r"""Total number of results"""
|
|
49
|
+
|
|
50
|
+
status: Optional[str] = None
|
|
51
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
52
|
+
|
|
53
|
+
ticker: Optional[str] = None
|
|
54
|
+
r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
|
|
55
|
+
|
|
56
|
+
@model_serializer(mode="wrap")
|
|
57
|
+
def serialize_model(self, handler):
|
|
58
|
+
optional_fields = set(
|
|
59
|
+
[
|
|
60
|
+
"adjusted",
|
|
61
|
+
"queryCount",
|
|
62
|
+
"requestId",
|
|
63
|
+
"results",
|
|
64
|
+
"resultsCount",
|
|
65
|
+
"status",
|
|
66
|
+
"ticker",
|
|
67
|
+
]
|
|
68
|
+
)
|
|
69
|
+
serialized = handler(self)
|
|
70
|
+
m = {}
|
|
71
|
+
|
|
72
|
+
for n, f in type(self).model_fields.items():
|
|
73
|
+
k = f.alias or n
|
|
74
|
+
val = serialized.get(k, serialized.get(n))
|
|
75
|
+
|
|
76
|
+
if val != UNSET_SENTINEL:
|
|
77
|
+
if val is not None or k not in optional_fields:
|
|
78
|
+
m[k] = val
|
|
79
|
+
|
|
80
|
+
return m
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
try:
|
|
84
|
+
StockPreviousDayResponse.model_rebuild()
|
|
85
|
+
except NameError:
|
|
86
|
+
pass
|