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,548 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 9677ecc16732
|
|
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 TenderOffersResponseSecurityTypedDict(TypedDict):
|
|
13
|
+
r"""Security the tender offers relate to"""
|
|
14
|
+
|
|
15
|
+
cik: NotRequired[str]
|
|
16
|
+
r"""SEC Central Index Key (CIK) of the issuer"""
|
|
17
|
+
composite_figi: NotRequired[str]
|
|
18
|
+
r"""Composite FIGI of the security"""
|
|
19
|
+
cusip: NotRequired[str]
|
|
20
|
+
r"""CUSIP of the security"""
|
|
21
|
+
figi: NotRequired[str]
|
|
22
|
+
r"""FIGI of the security"""
|
|
23
|
+
industry: NotRequired[str]
|
|
24
|
+
r"""Industry of the issuer"""
|
|
25
|
+
instrument_class: NotRequired[str]
|
|
26
|
+
r"""Instrument class of the security"""
|
|
27
|
+
isin: NotRequired[str]
|
|
28
|
+
r"""ISIN of the security"""
|
|
29
|
+
market: NotRequired[str]
|
|
30
|
+
r"""Market the security trades on"""
|
|
31
|
+
market_identification_code: NotRequired[str]
|
|
32
|
+
r"""Market Identification Code (MIC) of the security's market"""
|
|
33
|
+
name: NotRequired[str]
|
|
34
|
+
r"""Name of the security"""
|
|
35
|
+
sector: NotRequired[str]
|
|
36
|
+
r"""Sector of the issuer"""
|
|
37
|
+
sedol: NotRequired[str]
|
|
38
|
+
r"""SEDOL of the security"""
|
|
39
|
+
symbol: NotRequired[str]
|
|
40
|
+
r"""Ticker symbol of the security"""
|
|
41
|
+
valoren: NotRequired[str]
|
|
42
|
+
r"""Valoren number of the security"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class TenderOffersResponseSecurity(BaseModel):
|
|
46
|
+
r"""Security the tender offers relate to"""
|
|
47
|
+
|
|
48
|
+
cik: Optional[str] = None
|
|
49
|
+
r"""SEC Central Index Key (CIK) of the issuer"""
|
|
50
|
+
|
|
51
|
+
composite_figi: Annotated[Optional[str], pydantic.Field(alias="compositeFigi")] = (
|
|
52
|
+
None
|
|
53
|
+
)
|
|
54
|
+
r"""Composite FIGI of the security"""
|
|
55
|
+
|
|
56
|
+
cusip: Optional[str] = None
|
|
57
|
+
r"""CUSIP of the security"""
|
|
58
|
+
|
|
59
|
+
figi: Optional[str] = None
|
|
60
|
+
r"""FIGI of the security"""
|
|
61
|
+
|
|
62
|
+
industry: Optional[str] = None
|
|
63
|
+
r"""Industry of the issuer"""
|
|
64
|
+
|
|
65
|
+
instrument_class: Annotated[
|
|
66
|
+
Optional[str], pydantic.Field(alias="instrumentClass")
|
|
67
|
+
] = None
|
|
68
|
+
r"""Instrument class of the security"""
|
|
69
|
+
|
|
70
|
+
isin: Optional[str] = None
|
|
71
|
+
r"""ISIN of the security"""
|
|
72
|
+
|
|
73
|
+
market: Optional[str] = None
|
|
74
|
+
r"""Market the security trades on"""
|
|
75
|
+
|
|
76
|
+
market_identification_code: Annotated[
|
|
77
|
+
Optional[str], pydantic.Field(alias="marketIdentificationCode")
|
|
78
|
+
] = None
|
|
79
|
+
r"""Market Identification Code (MIC) of the security's market"""
|
|
80
|
+
|
|
81
|
+
name: Optional[str] = None
|
|
82
|
+
r"""Name of the security"""
|
|
83
|
+
|
|
84
|
+
sector: Optional[str] = None
|
|
85
|
+
r"""Sector of the issuer"""
|
|
86
|
+
|
|
87
|
+
sedol: Optional[str] = None
|
|
88
|
+
r"""SEDOL of the security"""
|
|
89
|
+
|
|
90
|
+
symbol: Optional[str] = None
|
|
91
|
+
r"""Ticker symbol of the security"""
|
|
92
|
+
|
|
93
|
+
valoren: Optional[str] = None
|
|
94
|
+
r"""Valoren number of the security"""
|
|
95
|
+
|
|
96
|
+
@model_serializer(mode="wrap")
|
|
97
|
+
def serialize_model(self, handler):
|
|
98
|
+
optional_fields = set(
|
|
99
|
+
[
|
|
100
|
+
"cik",
|
|
101
|
+
"compositeFigi",
|
|
102
|
+
"cusip",
|
|
103
|
+
"figi",
|
|
104
|
+
"industry",
|
|
105
|
+
"instrumentClass",
|
|
106
|
+
"isin",
|
|
107
|
+
"market",
|
|
108
|
+
"marketIdentificationCode",
|
|
109
|
+
"name",
|
|
110
|
+
"sector",
|
|
111
|
+
"sedol",
|
|
112
|
+
"symbol",
|
|
113
|
+
"valoren",
|
|
114
|
+
]
|
|
115
|
+
)
|
|
116
|
+
serialized = handler(self)
|
|
117
|
+
m = {}
|
|
118
|
+
|
|
119
|
+
for n, f in type(self).model_fields.items():
|
|
120
|
+
k = f.alias or n
|
|
121
|
+
val = serialized.get(k, serialized.get(n))
|
|
122
|
+
|
|
123
|
+
if val != UNSET_SENTINEL:
|
|
124
|
+
if val is not None or k not in optional_fields:
|
|
125
|
+
m[k] = val
|
|
126
|
+
|
|
127
|
+
return m
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class PaidSecurityTypedDict(TypedDict):
|
|
131
|
+
r"""Security paid to holders who tender"""
|
|
132
|
+
|
|
133
|
+
cik: NotRequired[str]
|
|
134
|
+
r"""SEC Central Index Key (CIK) of the issuer"""
|
|
135
|
+
composite_figi: NotRequired[str]
|
|
136
|
+
r"""Composite FIGI of the security"""
|
|
137
|
+
cusip: NotRequired[str]
|
|
138
|
+
r"""CUSIP of the security"""
|
|
139
|
+
figi: NotRequired[str]
|
|
140
|
+
r"""FIGI of the security"""
|
|
141
|
+
industry: NotRequired[str]
|
|
142
|
+
r"""Industry of the issuer"""
|
|
143
|
+
instrument_class: NotRequired[str]
|
|
144
|
+
r"""Instrument class of the security"""
|
|
145
|
+
isin: NotRequired[str]
|
|
146
|
+
r"""ISIN of the security"""
|
|
147
|
+
market: NotRequired[str]
|
|
148
|
+
r"""Market the security trades on"""
|
|
149
|
+
market_identification_code: NotRequired[str]
|
|
150
|
+
r"""Market Identification Code (MIC) of the security's market"""
|
|
151
|
+
name: NotRequired[str]
|
|
152
|
+
r"""Name of the security"""
|
|
153
|
+
sector: NotRequired[str]
|
|
154
|
+
r"""Sector of the issuer"""
|
|
155
|
+
sedol: NotRequired[str]
|
|
156
|
+
r"""SEDOL of the security"""
|
|
157
|
+
symbol: NotRequired[str]
|
|
158
|
+
r"""Ticker symbol of the security"""
|
|
159
|
+
valoren: NotRequired[str]
|
|
160
|
+
r"""Valoren number of the security"""
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
class PaidSecurity(BaseModel):
|
|
164
|
+
r"""Security paid to holders who tender"""
|
|
165
|
+
|
|
166
|
+
cik: Optional[str] = None
|
|
167
|
+
r"""SEC Central Index Key (CIK) of the issuer"""
|
|
168
|
+
|
|
169
|
+
composite_figi: Annotated[Optional[str], pydantic.Field(alias="compositeFigi")] = (
|
|
170
|
+
None
|
|
171
|
+
)
|
|
172
|
+
r"""Composite FIGI of the security"""
|
|
173
|
+
|
|
174
|
+
cusip: Optional[str] = None
|
|
175
|
+
r"""CUSIP of the security"""
|
|
176
|
+
|
|
177
|
+
figi: Optional[str] = None
|
|
178
|
+
r"""FIGI of the security"""
|
|
179
|
+
|
|
180
|
+
industry: Optional[str] = None
|
|
181
|
+
r"""Industry of the issuer"""
|
|
182
|
+
|
|
183
|
+
instrument_class: Annotated[
|
|
184
|
+
Optional[str], pydantic.Field(alias="instrumentClass")
|
|
185
|
+
] = None
|
|
186
|
+
r"""Instrument class of the security"""
|
|
187
|
+
|
|
188
|
+
isin: Optional[str] = None
|
|
189
|
+
r"""ISIN of the security"""
|
|
190
|
+
|
|
191
|
+
market: Optional[str] = None
|
|
192
|
+
r"""Market the security trades on"""
|
|
193
|
+
|
|
194
|
+
market_identification_code: Annotated[
|
|
195
|
+
Optional[str], pydantic.Field(alias="marketIdentificationCode")
|
|
196
|
+
] = None
|
|
197
|
+
r"""Market Identification Code (MIC) of the security's market"""
|
|
198
|
+
|
|
199
|
+
name: Optional[str] = None
|
|
200
|
+
r"""Name of the security"""
|
|
201
|
+
|
|
202
|
+
sector: Optional[str] = None
|
|
203
|
+
r"""Sector of the issuer"""
|
|
204
|
+
|
|
205
|
+
sedol: Optional[str] = None
|
|
206
|
+
r"""SEDOL of the security"""
|
|
207
|
+
|
|
208
|
+
symbol: Optional[str] = None
|
|
209
|
+
r"""Ticker symbol of the security"""
|
|
210
|
+
|
|
211
|
+
valoren: Optional[str] = None
|
|
212
|
+
r"""Valoren number of the security"""
|
|
213
|
+
|
|
214
|
+
@model_serializer(mode="wrap")
|
|
215
|
+
def serialize_model(self, handler):
|
|
216
|
+
optional_fields = set(
|
|
217
|
+
[
|
|
218
|
+
"cik",
|
|
219
|
+
"compositeFigi",
|
|
220
|
+
"cusip",
|
|
221
|
+
"figi",
|
|
222
|
+
"industry",
|
|
223
|
+
"instrumentClass",
|
|
224
|
+
"isin",
|
|
225
|
+
"market",
|
|
226
|
+
"marketIdentificationCode",
|
|
227
|
+
"name",
|
|
228
|
+
"sector",
|
|
229
|
+
"sedol",
|
|
230
|
+
"symbol",
|
|
231
|
+
"valoren",
|
|
232
|
+
]
|
|
233
|
+
)
|
|
234
|
+
serialized = handler(self)
|
|
235
|
+
m = {}
|
|
236
|
+
|
|
237
|
+
for n, f in type(self).model_fields.items():
|
|
238
|
+
k = f.alias or n
|
|
239
|
+
val = serialized.get(k, serialized.get(n))
|
|
240
|
+
|
|
241
|
+
if val != UNSET_SENTINEL:
|
|
242
|
+
if val is not None or k not in optional_fields:
|
|
243
|
+
m[k] = val
|
|
244
|
+
|
|
245
|
+
return m
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
class TenderOfferTypedDict(TypedDict):
|
|
249
|
+
r"""Tender offer record"""
|
|
250
|
+
|
|
251
|
+
close_date: NotRequired[str]
|
|
252
|
+
r"""Date the tender offer closes, as provided by the upstream data provider"""
|
|
253
|
+
currency: NotRequired[str]
|
|
254
|
+
r"""Currency of the offer amounts"""
|
|
255
|
+
dutch_auction: NotRequired[bool]
|
|
256
|
+
r"""Whether the offer is a Dutch auction"""
|
|
257
|
+
effective_date: NotRequired[str]
|
|
258
|
+
r"""Date the tender offer event takes effect, as provided by the upstream data provider"""
|
|
259
|
+
event_identifier: NotRequired[str]
|
|
260
|
+
r"""Identifier of the tender offer event"""
|
|
261
|
+
event_status: NotRequired[str]
|
|
262
|
+
r"""Status of the tender offer event"""
|
|
263
|
+
is_default_option: NotRequired[bool]
|
|
264
|
+
r"""Whether this is the default option for holders who do not elect"""
|
|
265
|
+
is_hostile: NotRequired[bool]
|
|
266
|
+
r"""Whether the offer is hostile"""
|
|
267
|
+
is_takeover: NotRequired[bool]
|
|
268
|
+
r"""Whether the offer is a takeover"""
|
|
269
|
+
maximum_amount: NotRequired[str]
|
|
270
|
+
r"""Maximum amount that can be tendered"""
|
|
271
|
+
minimum_amount: NotRequired[str]
|
|
272
|
+
r"""Minimum amount that can be tendered"""
|
|
273
|
+
number_of_initial_instruments: NotRequired[str]
|
|
274
|
+
r"""Number of initial instruments in the exchange ratio"""
|
|
275
|
+
number_of_new_instruments: NotRequired[str]
|
|
276
|
+
r"""Number of new instruments in the exchange ratio"""
|
|
277
|
+
offeror_company_identifier: NotRequired[str]
|
|
278
|
+
r"""Identifier of the offeror company"""
|
|
279
|
+
offeror_company_name: NotRequired[str]
|
|
280
|
+
r"""Name of the offeror company"""
|
|
281
|
+
open_date: NotRequired[str]
|
|
282
|
+
r"""Date the tender offer opens, as provided by the upstream data provider"""
|
|
283
|
+
option_election_date: NotRequired[str]
|
|
284
|
+
r"""Date by which holders must elect an option, as provided by the upstream data provider"""
|
|
285
|
+
paid_security: NotRequired[PaidSecurityTypedDict]
|
|
286
|
+
r"""Security paid to holders who tender"""
|
|
287
|
+
pay_date: NotRequired[str]
|
|
288
|
+
r"""Date the tender offer is paid, as provided by the upstream data provider"""
|
|
289
|
+
pay_type: NotRequired[str]
|
|
290
|
+
r"""Type of payment offered"""
|
|
291
|
+
pre_offer_percent: NotRequired[str]
|
|
292
|
+
r"""Percentage of securities the offeror held before the offer"""
|
|
293
|
+
pre_offer_quantity: NotRequired[str]
|
|
294
|
+
r"""Quantity of securities the offeror held before the offer"""
|
|
295
|
+
record_date: NotRequired[str]
|
|
296
|
+
r"""Record date for determining eligible holders, as provided by the upstream data provider"""
|
|
297
|
+
registration_date: NotRequired[str]
|
|
298
|
+
r"""Registration date of the tender offer, as provided by the upstream data provider"""
|
|
299
|
+
target_percent: NotRequired[str]
|
|
300
|
+
r"""Percentage of securities the offeror is seeking"""
|
|
301
|
+
target_quantity: NotRequired[str]
|
|
302
|
+
r"""Quantity of securities the offeror is seeking"""
|
|
303
|
+
unconditional_date: NotRequired[str]
|
|
304
|
+
r"""Date the tender offer becomes unconditional, as provided by the upstream data provider"""
|
|
305
|
+
withdrawal_from_date: NotRequired[str]
|
|
306
|
+
r"""Start of the withdrawal period, as provided by the upstream data provider"""
|
|
307
|
+
withdrawal_rights: NotRequired[str]
|
|
308
|
+
r"""Withdrawal rights granted to holders"""
|
|
309
|
+
withdrawal_to_date: NotRequired[str]
|
|
310
|
+
r"""End of the withdrawal period, as provided by the upstream data provider"""
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
class TenderOffer(BaseModel):
|
|
314
|
+
r"""Tender offer record"""
|
|
315
|
+
|
|
316
|
+
close_date: Annotated[Optional[str], pydantic.Field(alias="closeDate")] = None
|
|
317
|
+
r"""Date the tender offer closes, as provided by the upstream data provider"""
|
|
318
|
+
|
|
319
|
+
currency: Optional[str] = None
|
|
320
|
+
r"""Currency of the offer amounts"""
|
|
321
|
+
|
|
322
|
+
dutch_auction: Annotated[Optional[bool], pydantic.Field(alias="dutchAuction")] = (
|
|
323
|
+
None
|
|
324
|
+
)
|
|
325
|
+
r"""Whether the offer is a Dutch auction"""
|
|
326
|
+
|
|
327
|
+
effective_date: Annotated[Optional[str], pydantic.Field(alias="effectiveDate")] = (
|
|
328
|
+
None
|
|
329
|
+
)
|
|
330
|
+
r"""Date the tender offer event takes effect, as provided by the upstream data provider"""
|
|
331
|
+
|
|
332
|
+
event_identifier: Annotated[
|
|
333
|
+
Optional[str], pydantic.Field(alias="eventIdentifier")
|
|
334
|
+
] = None
|
|
335
|
+
r"""Identifier of the tender offer event"""
|
|
336
|
+
|
|
337
|
+
event_status: Annotated[Optional[str], pydantic.Field(alias="eventStatus")] = None
|
|
338
|
+
r"""Status of the tender offer event"""
|
|
339
|
+
|
|
340
|
+
is_default_option: Annotated[
|
|
341
|
+
Optional[bool], pydantic.Field(alias="isDefaultOption")
|
|
342
|
+
] = None
|
|
343
|
+
r"""Whether this is the default option for holders who do not elect"""
|
|
344
|
+
|
|
345
|
+
is_hostile: Annotated[Optional[bool], pydantic.Field(alias="isHostile")] = None
|
|
346
|
+
r"""Whether the offer is hostile"""
|
|
347
|
+
|
|
348
|
+
is_takeover: Annotated[Optional[bool], pydantic.Field(alias="isTakeover")] = None
|
|
349
|
+
r"""Whether the offer is a takeover"""
|
|
350
|
+
|
|
351
|
+
maximum_amount: Annotated[Optional[str], pydantic.Field(alias="maximumAmount")] = (
|
|
352
|
+
None
|
|
353
|
+
)
|
|
354
|
+
r"""Maximum amount that can be tendered"""
|
|
355
|
+
|
|
356
|
+
minimum_amount: Annotated[Optional[str], pydantic.Field(alias="minimumAmount")] = (
|
|
357
|
+
None
|
|
358
|
+
)
|
|
359
|
+
r"""Minimum amount that can be tendered"""
|
|
360
|
+
|
|
361
|
+
number_of_initial_instruments: Annotated[
|
|
362
|
+
Optional[str], pydantic.Field(alias="numberOfInitialInstruments")
|
|
363
|
+
] = None
|
|
364
|
+
r"""Number of initial instruments in the exchange ratio"""
|
|
365
|
+
|
|
366
|
+
number_of_new_instruments: Annotated[
|
|
367
|
+
Optional[str], pydantic.Field(alias="numberOfNewInstruments")
|
|
368
|
+
] = None
|
|
369
|
+
r"""Number of new instruments in the exchange ratio"""
|
|
370
|
+
|
|
371
|
+
offeror_company_identifier: Annotated[
|
|
372
|
+
Optional[str], pydantic.Field(alias="offerorCompanyIdentifier")
|
|
373
|
+
] = None
|
|
374
|
+
r"""Identifier of the offeror company"""
|
|
375
|
+
|
|
376
|
+
offeror_company_name: Annotated[
|
|
377
|
+
Optional[str], pydantic.Field(alias="offerorCompanyName")
|
|
378
|
+
] = None
|
|
379
|
+
r"""Name of the offeror company"""
|
|
380
|
+
|
|
381
|
+
open_date: Annotated[Optional[str], pydantic.Field(alias="openDate")] = None
|
|
382
|
+
r"""Date the tender offer opens, as provided by the upstream data provider"""
|
|
383
|
+
|
|
384
|
+
option_election_date: Annotated[
|
|
385
|
+
Optional[str], pydantic.Field(alias="optionElectionDate")
|
|
386
|
+
] = None
|
|
387
|
+
r"""Date by which holders must elect an option, as provided by the upstream data provider"""
|
|
388
|
+
|
|
389
|
+
paid_security: Annotated[
|
|
390
|
+
Optional[PaidSecurity], pydantic.Field(alias="paidSecurity")
|
|
391
|
+
] = None
|
|
392
|
+
r"""Security paid to holders who tender"""
|
|
393
|
+
|
|
394
|
+
pay_date: Annotated[Optional[str], pydantic.Field(alias="payDate")] = None
|
|
395
|
+
r"""Date the tender offer is paid, as provided by the upstream data provider"""
|
|
396
|
+
|
|
397
|
+
pay_type: Annotated[Optional[str], pydantic.Field(alias="payType")] = None
|
|
398
|
+
r"""Type of payment offered"""
|
|
399
|
+
|
|
400
|
+
pre_offer_percent: Annotated[
|
|
401
|
+
Optional[str], pydantic.Field(alias="preOfferPercent")
|
|
402
|
+
] = None
|
|
403
|
+
r"""Percentage of securities the offeror held before the offer"""
|
|
404
|
+
|
|
405
|
+
pre_offer_quantity: Annotated[
|
|
406
|
+
Optional[str], pydantic.Field(alias="preOfferQuantity")
|
|
407
|
+
] = None
|
|
408
|
+
r"""Quantity of securities the offeror held before the offer"""
|
|
409
|
+
|
|
410
|
+
record_date: Annotated[Optional[str], pydantic.Field(alias="recordDate")] = None
|
|
411
|
+
r"""Record date for determining eligible holders, as provided by the upstream data provider"""
|
|
412
|
+
|
|
413
|
+
registration_date: Annotated[
|
|
414
|
+
Optional[str], pydantic.Field(alias="registrationDate")
|
|
415
|
+
] = None
|
|
416
|
+
r"""Registration date of the tender offer, as provided by the upstream data provider"""
|
|
417
|
+
|
|
418
|
+
target_percent: Annotated[Optional[str], pydantic.Field(alias="targetPercent")] = (
|
|
419
|
+
None
|
|
420
|
+
)
|
|
421
|
+
r"""Percentage of securities the offeror is seeking"""
|
|
422
|
+
|
|
423
|
+
target_quantity: Annotated[
|
|
424
|
+
Optional[str], pydantic.Field(alias="targetQuantity")
|
|
425
|
+
] = None
|
|
426
|
+
r"""Quantity of securities the offeror is seeking"""
|
|
427
|
+
|
|
428
|
+
unconditional_date: Annotated[
|
|
429
|
+
Optional[str], pydantic.Field(alias="unconditionalDate")
|
|
430
|
+
] = None
|
|
431
|
+
r"""Date the tender offer becomes unconditional, as provided by the upstream data provider"""
|
|
432
|
+
|
|
433
|
+
withdrawal_from_date: Annotated[
|
|
434
|
+
Optional[str], pydantic.Field(alias="withdrawalFromDate")
|
|
435
|
+
] = None
|
|
436
|
+
r"""Start of the withdrawal period, as provided by the upstream data provider"""
|
|
437
|
+
|
|
438
|
+
withdrawal_rights: Annotated[
|
|
439
|
+
Optional[str], pydantic.Field(alias="withdrawalRights")
|
|
440
|
+
] = None
|
|
441
|
+
r"""Withdrawal rights granted to holders"""
|
|
442
|
+
|
|
443
|
+
withdrawal_to_date: Annotated[
|
|
444
|
+
Optional[str], pydantic.Field(alias="withdrawalToDate")
|
|
445
|
+
] = None
|
|
446
|
+
r"""End of the withdrawal period, as provided by the upstream data provider"""
|
|
447
|
+
|
|
448
|
+
@model_serializer(mode="wrap")
|
|
449
|
+
def serialize_model(self, handler):
|
|
450
|
+
optional_fields = set(
|
|
451
|
+
[
|
|
452
|
+
"closeDate",
|
|
453
|
+
"currency",
|
|
454
|
+
"dutchAuction",
|
|
455
|
+
"effectiveDate",
|
|
456
|
+
"eventIdentifier",
|
|
457
|
+
"eventStatus",
|
|
458
|
+
"isDefaultOption",
|
|
459
|
+
"isHostile",
|
|
460
|
+
"isTakeover",
|
|
461
|
+
"maximumAmount",
|
|
462
|
+
"minimumAmount",
|
|
463
|
+
"numberOfInitialInstruments",
|
|
464
|
+
"numberOfNewInstruments",
|
|
465
|
+
"offerorCompanyIdentifier",
|
|
466
|
+
"offerorCompanyName",
|
|
467
|
+
"openDate",
|
|
468
|
+
"optionElectionDate",
|
|
469
|
+
"paidSecurity",
|
|
470
|
+
"payDate",
|
|
471
|
+
"payType",
|
|
472
|
+
"preOfferPercent",
|
|
473
|
+
"preOfferQuantity",
|
|
474
|
+
"recordDate",
|
|
475
|
+
"registrationDate",
|
|
476
|
+
"targetPercent",
|
|
477
|
+
"targetQuantity",
|
|
478
|
+
"unconditionalDate",
|
|
479
|
+
"withdrawalFromDate",
|
|
480
|
+
"withdrawalRights",
|
|
481
|
+
"withdrawalToDate",
|
|
482
|
+
]
|
|
483
|
+
)
|
|
484
|
+
serialized = handler(self)
|
|
485
|
+
m = {}
|
|
486
|
+
|
|
487
|
+
for n, f in type(self).model_fields.items():
|
|
488
|
+
k = f.alias or n
|
|
489
|
+
val = serialized.get(k, serialized.get(n))
|
|
490
|
+
|
|
491
|
+
if val != UNSET_SENTINEL:
|
|
492
|
+
if val is not None or k not in optional_fields:
|
|
493
|
+
m[k] = val
|
|
494
|
+
|
|
495
|
+
return m
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
class TenderOffersResponseTypedDict(TypedDict):
|
|
499
|
+
r"""Tender offers found for the requested security and date window."""
|
|
500
|
+
|
|
501
|
+
tender_offers: List[TenderOfferTypedDict]
|
|
502
|
+
r"""List of tender offer records"""
|
|
503
|
+
security: NotRequired[TenderOffersResponseSecurityTypedDict]
|
|
504
|
+
r"""Security the tender offers relate to"""
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
class TenderOffersResponse(BaseModel):
|
|
508
|
+
r"""Tender offers found for the requested security and date window."""
|
|
509
|
+
|
|
510
|
+
tender_offers: Annotated[List[TenderOffer], pydantic.Field(alias="tenderOffers")]
|
|
511
|
+
r"""List of tender offer records"""
|
|
512
|
+
|
|
513
|
+
security: Optional[TenderOffersResponseSecurity] = None
|
|
514
|
+
r"""Security the tender offers relate to"""
|
|
515
|
+
|
|
516
|
+
@model_serializer(mode="wrap")
|
|
517
|
+
def serialize_model(self, handler):
|
|
518
|
+
optional_fields = set(["security"])
|
|
519
|
+
serialized = handler(self)
|
|
520
|
+
m = {}
|
|
521
|
+
|
|
522
|
+
for n, f in type(self).model_fields.items():
|
|
523
|
+
k = f.alias or n
|
|
524
|
+
val = serialized.get(k, serialized.get(n))
|
|
525
|
+
|
|
526
|
+
if val != UNSET_SENTINEL:
|
|
527
|
+
if val is not None or k not in optional_fields:
|
|
528
|
+
m[k] = val
|
|
529
|
+
|
|
530
|
+
return m
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
try:
|
|
534
|
+
TenderOffersResponseSecurity.model_rebuild()
|
|
535
|
+
except NameError:
|
|
536
|
+
pass
|
|
537
|
+
try:
|
|
538
|
+
PaidSecurity.model_rebuild()
|
|
539
|
+
except NameError:
|
|
540
|
+
pass
|
|
541
|
+
try:
|
|
542
|
+
TenderOffer.model_rebuild()
|
|
543
|
+
except NameError:
|
|
544
|
+
pass
|
|
545
|
+
try:
|
|
546
|
+
TenderOffersResponse.model_rebuild()
|
|
547
|
+
except NameError:
|
|
548
|
+
pass
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: d60d6e378f75
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from finance_dev import models, utils
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer, model_serializer
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TickChartBarsS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
15
|
+
r"""Response status. `ok` means chart arrays are usable; `no_data` means no matching trade activity was found; `error` means read `errmsg`."""
|
|
16
|
+
|
|
17
|
+
OK = "ok"
|
|
18
|
+
NO_DATA = "no_data"
|
|
19
|
+
ERROR = "error"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class TickChartBarsTypedDict(TypedDict):
|
|
23
|
+
r"""Tick-based chart data returned as parallel arrays, plus a pagination cursor for loading older history. Values at the same index belong to the same bar, so `t[0]`, `o[0]`, `h[0]`, `l[0]`, `c[0]`, and `v[0]` describe one candle."""
|
|
24
|
+
|
|
25
|
+
s: TickChartBarsS
|
|
26
|
+
r"""Response status. `ok` means chart arrays are usable; `no_data` means no matching trade activity was found; `error` means read `errmsg`."""
|
|
27
|
+
c: NotRequired[List[float]]
|
|
28
|
+
r"""Close price for each bar. Use the value at the same index as `t` for chart candles and performance calculations."""
|
|
29
|
+
errmsg: NotRequired[str]
|
|
30
|
+
r"""Human-readable error message. Present only when `s` is `error`."""
|
|
31
|
+
h: NotRequired[List[float]]
|
|
32
|
+
r"""Highest traded price during each bar. Use it for candle wicks and intraperiod range."""
|
|
33
|
+
l: NotRequired[List[float]]
|
|
34
|
+
r"""Lowest traded price during each bar. Use it for candle wicks and intraperiod range."""
|
|
35
|
+
next_to: NotRequired[str]
|
|
36
|
+
r"""Opaque pagination token for loading the next OLDER page of bars. Save this value and send it back as the `cursor` query parameter when the user scrolls the chart further into the past. Not present when there is no older history left to load — stop requesting further pages when this field is absent."""
|
|
37
|
+
o: NotRequired[List[float]]
|
|
38
|
+
r"""Open price for each bar. Use the value at the same index as `t` for candle bodies."""
|
|
39
|
+
t: NotRequired[List[int]]
|
|
40
|
+
r"""Bar timestamps in Unix MILLISECONDS (not seconds, unlike `/v1/chart/history`). Each timestamp is strictly greater than the one before it, even when many trades happen within the same second. Each timestamp index lines up with open, high, low, close, and volume arrays."""
|
|
41
|
+
v: NotRequired[List[int]]
|
|
42
|
+
r"""Total traded volume for each bar. Use the value at the same index as `t` for volume charts."""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class TickChartBars(BaseModel):
|
|
46
|
+
r"""Tick-based chart data returned as parallel arrays, plus a pagination cursor for loading older history. Values at the same index belong to the same bar, so `t[0]`, `o[0]`, `h[0]`, `l[0]`, `c[0]`, and `v[0]` describe one candle."""
|
|
47
|
+
|
|
48
|
+
s: TickChartBarsS
|
|
49
|
+
r"""Response status. `ok` means chart arrays are usable; `no_data` means no matching trade activity was found; `error` means read `errmsg`."""
|
|
50
|
+
|
|
51
|
+
c: Optional[List[float]] = None
|
|
52
|
+
r"""Close price for each bar. Use the value at the same index as `t` for chart candles and performance calculations."""
|
|
53
|
+
|
|
54
|
+
errmsg: Optional[str] = None
|
|
55
|
+
r"""Human-readable error message. Present only when `s` is `error`."""
|
|
56
|
+
|
|
57
|
+
h: Optional[List[float]] = None
|
|
58
|
+
r"""Highest traded price during each bar. Use it for candle wicks and intraperiod range."""
|
|
59
|
+
|
|
60
|
+
l: Optional[List[float]] = None
|
|
61
|
+
r"""Lowest traded price during each bar. Use it for candle wicks and intraperiod range."""
|
|
62
|
+
|
|
63
|
+
next_to: Annotated[Optional[str], pydantic.Field(alias="nextTo")] = None
|
|
64
|
+
r"""Opaque pagination token for loading the next OLDER page of bars. Save this value and send it back as the `cursor` query parameter when the user scrolls the chart further into the past. Not present when there is no older history left to load — stop requesting further pages when this field is absent."""
|
|
65
|
+
|
|
66
|
+
o: Optional[List[float]] = None
|
|
67
|
+
r"""Open price for each bar. Use the value at the same index as `t` for candle bodies."""
|
|
68
|
+
|
|
69
|
+
t: Optional[List[int]] = None
|
|
70
|
+
r"""Bar timestamps in Unix MILLISECONDS (not seconds, unlike `/v1/chart/history`). Each timestamp is strictly greater than the one before it, even when many trades happen within the same second. Each timestamp index lines up with open, high, low, close, and volume arrays."""
|
|
71
|
+
|
|
72
|
+
v: Optional[List[int]] = None
|
|
73
|
+
r"""Total traded volume for each bar. Use the value at the same index as `t` for volume charts."""
|
|
74
|
+
|
|
75
|
+
@field_serializer("s")
|
|
76
|
+
def serialize_s(self, value):
|
|
77
|
+
if isinstance(value, str):
|
|
78
|
+
try:
|
|
79
|
+
return models.TickChartBarsS(value)
|
|
80
|
+
except ValueError:
|
|
81
|
+
return value
|
|
82
|
+
return value
|
|
83
|
+
|
|
84
|
+
@model_serializer(mode="wrap")
|
|
85
|
+
def serialize_model(self, handler):
|
|
86
|
+
optional_fields = set(["c", "errmsg", "h", "l", "nextTo", "o", "t", "v"])
|
|
87
|
+
serialized = handler(self)
|
|
88
|
+
m = {}
|
|
89
|
+
|
|
90
|
+
for n, f in type(self).model_fields.items():
|
|
91
|
+
k = f.alias or n
|
|
92
|
+
val = serialized.get(k, serialized.get(n))
|
|
93
|
+
|
|
94
|
+
if val != UNSET_SENTINEL:
|
|
95
|
+
if val is not None or k not in optional_fields:
|
|
96
|
+
m[k] = val
|
|
97
|
+
|
|
98
|
+
return m
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
try:
|
|
102
|
+
TickChartBars.model_rebuild()
|
|
103
|
+
except NameError:
|
|
104
|
+
pass
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 6e7a448d1916
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from finance_dev import utils
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TickResolution(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
10
|
+
r"""Tick bar size: the number of trades that make up one bar. For example, `100T` closes a new bar every 100 trades, regardless of how much time that takes. Larger values (e.g. `1000T`) smooth out noise and are better suited to a wider chart view; smaller values (e.g. `1T`, one trade per bar) show every individual trade and suit a zoomed-in view."""
|
|
11
|
+
|
|
12
|
+
ONE_T = "1T"
|
|
13
|
+
FIVE_T = "5T"
|
|
14
|
+
TEN_T = "10T"
|
|
15
|
+
TWENTY_FIVE_T = "25T"
|
|
16
|
+
FIFTY_T = "50T"
|
|
17
|
+
ONE_HUNDRED_T = "100T"
|
|
18
|
+
TWO_HUNDRED_AND_FIFTY_T = "250T"
|
|
19
|
+
FIVE_HUNDRED_T = "500T"
|
|
20
|
+
ONE_THOUSAND_T = "1000T"
|