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,267 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ff04981da167
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from finance_dev import models, utils
|
|
8
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import field_serializer, model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Certainty(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
r"""How sure order entry is of `state`. Anything other than `certain` means the order's state could not be confirmed; `certaintyReason` says why."""
|
|
17
|
+
|
|
18
|
+
CERTAIN = "certain"
|
|
19
|
+
UNKNOWN_UNACKED = "unknown_unacked"
|
|
20
|
+
UNKNOWN_GAP = "unknown_gap"
|
|
21
|
+
UNKNOWN_STORE_LOST = "unknown_store_lost"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class PredOrdersOrderOutcome(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
25
|
+
YES = "YES"
|
|
26
|
+
NO = "NO"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class PendingAction(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
|
+
NONE = "none"
|
|
31
|
+
REPLACE = "replace"
|
|
32
|
+
CANCEL = "cancel"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class State(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
36
|
+
r"""Order lifecycle state. `unknown` means order entry lost track of the order and says so rather than guessing; see `certainty`."""
|
|
37
|
+
|
|
38
|
+
PENDING_NEW = "pending_new"
|
|
39
|
+
NEW = "new"
|
|
40
|
+
PARTIALLY_FILLED = "partially_filled"
|
|
41
|
+
FILLED = "filled"
|
|
42
|
+
CANCELED = "canceled"
|
|
43
|
+
REJECTED = "rejected"
|
|
44
|
+
EXPIRED = "expired"
|
|
45
|
+
DONE_FOR_DAY = "done_for_day"
|
|
46
|
+
UNKNOWN = "unknown"
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class PredOrdersOrderTypedDict(TypedDict):
|
|
50
|
+
r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
|
|
51
|
+
|
|
52
|
+
account_id: str
|
|
53
|
+
avg_px: str
|
|
54
|
+
r"""Average fill price. Exact decimal as a string."""
|
|
55
|
+
created_at: datetime
|
|
56
|
+
cum_qty: str
|
|
57
|
+
r"""Quantity filled so far. Exact decimal as a string."""
|
|
58
|
+
leaves_qty: str
|
|
59
|
+
r"""Quantity still working. Exact decimal as a string."""
|
|
60
|
+
order_id: str
|
|
61
|
+
order_type: str
|
|
62
|
+
outcome: PredOrdersOrderOutcome
|
|
63
|
+
quantity: str
|
|
64
|
+
r"""Exact decimal as a string."""
|
|
65
|
+
side: str
|
|
66
|
+
state: State
|
|
67
|
+
r"""Order lifecycle state. `unknown` means order entry lost track of the order and says so rather than guessing; see `certainty`."""
|
|
68
|
+
symbol: str
|
|
69
|
+
time_in_force: str
|
|
70
|
+
updated_at: datetime
|
|
71
|
+
working_quantity: str
|
|
72
|
+
r"""Exact decimal as a string."""
|
|
73
|
+
certainty: NotRequired[Certainty]
|
|
74
|
+
r"""How sure order entry is of `state`. Anything other than `certain` means the order's state could not be confirmed; `certaintyReason` says why."""
|
|
75
|
+
certainty_reason: NotRequired[str]
|
|
76
|
+
cl_ord_id: NotRequired[str]
|
|
77
|
+
r"""Client order ID sent to the venue."""
|
|
78
|
+
client_order_ref: NotRequired[str]
|
|
79
|
+
closed_at: NotRequired[datetime]
|
|
80
|
+
expire_time: NotRequired[datetime]
|
|
81
|
+
first_ack_at: NotRequired[datetime]
|
|
82
|
+
r"""When the venue first acknowledged the order."""
|
|
83
|
+
pending_action: NotRequired[PendingAction]
|
|
84
|
+
price: NotRequired[str]
|
|
85
|
+
r"""Exact decimal as a string."""
|
|
86
|
+
reject_reason: NotRequired[str]
|
|
87
|
+
reject_text: NotRequired[str]
|
|
88
|
+
r"""The venue's own rejection text. Most rejections carry their useful detail only here."""
|
|
89
|
+
sent_at: NotRequired[datetime]
|
|
90
|
+
stop_px: NotRequired[str]
|
|
91
|
+
r"""Exact decimal as a string."""
|
|
92
|
+
venue_order_id: NotRequired[str]
|
|
93
|
+
r"""Assigned by the venue on acknowledgement."""
|
|
94
|
+
working_order_type: NotRequired[str]
|
|
95
|
+
working_price: NotRequired[str]
|
|
96
|
+
r"""Exact decimal as a string."""
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class PredOrdersOrder(BaseModel):
|
|
100
|
+
r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
|
|
101
|
+
|
|
102
|
+
account_id: Annotated[str, pydantic.Field(alias="accountId")]
|
|
103
|
+
|
|
104
|
+
avg_px: Annotated[str, pydantic.Field(alias="avgPx")]
|
|
105
|
+
r"""Average fill price. Exact decimal as a string."""
|
|
106
|
+
|
|
107
|
+
created_at: Annotated[datetime, pydantic.Field(alias="createdAt")]
|
|
108
|
+
|
|
109
|
+
cum_qty: Annotated[str, pydantic.Field(alias="cumQty")]
|
|
110
|
+
r"""Quantity filled so far. Exact decimal as a string."""
|
|
111
|
+
|
|
112
|
+
leaves_qty: Annotated[str, pydantic.Field(alias="leavesQty")]
|
|
113
|
+
r"""Quantity still working. Exact decimal as a string."""
|
|
114
|
+
|
|
115
|
+
order_id: Annotated[str, pydantic.Field(alias="orderId")]
|
|
116
|
+
|
|
117
|
+
order_type: Annotated[str, pydantic.Field(alias="orderType")]
|
|
118
|
+
|
|
119
|
+
outcome: PredOrdersOrderOutcome
|
|
120
|
+
|
|
121
|
+
quantity: str
|
|
122
|
+
r"""Exact decimal as a string."""
|
|
123
|
+
|
|
124
|
+
side: str
|
|
125
|
+
|
|
126
|
+
state: State
|
|
127
|
+
r"""Order lifecycle state. `unknown` means order entry lost track of the order and says so rather than guessing; see `certainty`."""
|
|
128
|
+
|
|
129
|
+
symbol: str
|
|
130
|
+
|
|
131
|
+
time_in_force: Annotated[str, pydantic.Field(alias="timeInForce")]
|
|
132
|
+
|
|
133
|
+
updated_at: Annotated[datetime, pydantic.Field(alias="updatedAt")]
|
|
134
|
+
|
|
135
|
+
working_quantity: Annotated[str, pydantic.Field(alias="workingQuantity")]
|
|
136
|
+
r"""Exact decimal as a string."""
|
|
137
|
+
|
|
138
|
+
certainty: Optional[Certainty] = None
|
|
139
|
+
r"""How sure order entry is of `state`. Anything other than `certain` means the order's state could not be confirmed; `certaintyReason` says why."""
|
|
140
|
+
|
|
141
|
+
certainty_reason: Annotated[
|
|
142
|
+
Optional[str], pydantic.Field(alias="certaintyReason")
|
|
143
|
+
] = None
|
|
144
|
+
|
|
145
|
+
cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="clOrdId")] = None
|
|
146
|
+
r"""Client order ID sent to the venue."""
|
|
147
|
+
|
|
148
|
+
client_order_ref: Annotated[
|
|
149
|
+
Optional[str], pydantic.Field(alias="clientOrderRef")
|
|
150
|
+
] = None
|
|
151
|
+
|
|
152
|
+
closed_at: Annotated[Optional[datetime], pydantic.Field(alias="closedAt")] = None
|
|
153
|
+
|
|
154
|
+
expire_time: Annotated[Optional[datetime], pydantic.Field(alias="expireTime")] = (
|
|
155
|
+
None
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
first_ack_at: Annotated[Optional[datetime], pydantic.Field(alias="firstAckAt")] = (
|
|
159
|
+
None
|
|
160
|
+
)
|
|
161
|
+
r"""When the venue first acknowledged the order."""
|
|
162
|
+
|
|
163
|
+
pending_action: Annotated[
|
|
164
|
+
Optional[PendingAction], pydantic.Field(alias="pendingAction")
|
|
165
|
+
] = None
|
|
166
|
+
|
|
167
|
+
price: Optional[str] = None
|
|
168
|
+
r"""Exact decimal as a string."""
|
|
169
|
+
|
|
170
|
+
reject_reason: Annotated[Optional[str], pydantic.Field(alias="rejectReason")] = None
|
|
171
|
+
|
|
172
|
+
reject_text: Annotated[Optional[str], pydantic.Field(alias="rejectText")] = None
|
|
173
|
+
r"""The venue's own rejection text. Most rejections carry their useful detail only here."""
|
|
174
|
+
|
|
175
|
+
sent_at: Annotated[Optional[datetime], pydantic.Field(alias="sentAt")] = None
|
|
176
|
+
|
|
177
|
+
stop_px: Annotated[Optional[str], pydantic.Field(alias="stopPx")] = None
|
|
178
|
+
r"""Exact decimal as a string."""
|
|
179
|
+
|
|
180
|
+
venue_order_id: Annotated[Optional[str], pydantic.Field(alias="venueOrderId")] = (
|
|
181
|
+
None
|
|
182
|
+
)
|
|
183
|
+
r"""Assigned by the venue on acknowledgement."""
|
|
184
|
+
|
|
185
|
+
working_order_type: Annotated[
|
|
186
|
+
Optional[str], pydantic.Field(alias="workingOrderType")
|
|
187
|
+
] = None
|
|
188
|
+
|
|
189
|
+
working_price: Annotated[Optional[str], pydantic.Field(alias="workingPrice")] = None
|
|
190
|
+
r"""Exact decimal as a string."""
|
|
191
|
+
|
|
192
|
+
@field_serializer("certainty")
|
|
193
|
+
def serialize_certainty(self, value):
|
|
194
|
+
if isinstance(value, str):
|
|
195
|
+
try:
|
|
196
|
+
return models.Certainty(value)
|
|
197
|
+
except ValueError:
|
|
198
|
+
return value
|
|
199
|
+
return value
|
|
200
|
+
|
|
201
|
+
@field_serializer("outcome")
|
|
202
|
+
def serialize_outcome(self, value):
|
|
203
|
+
if isinstance(value, str):
|
|
204
|
+
try:
|
|
205
|
+
return models.PredOrdersOrderOutcome(value)
|
|
206
|
+
except ValueError:
|
|
207
|
+
return value
|
|
208
|
+
return value
|
|
209
|
+
|
|
210
|
+
@field_serializer("pending_action")
|
|
211
|
+
def serialize_pending_action(self, value):
|
|
212
|
+
if isinstance(value, str):
|
|
213
|
+
try:
|
|
214
|
+
return models.PendingAction(value)
|
|
215
|
+
except ValueError:
|
|
216
|
+
return value
|
|
217
|
+
return value
|
|
218
|
+
|
|
219
|
+
@field_serializer("state")
|
|
220
|
+
def serialize_state(self, value):
|
|
221
|
+
if isinstance(value, str):
|
|
222
|
+
try:
|
|
223
|
+
return models.State(value)
|
|
224
|
+
except ValueError:
|
|
225
|
+
return value
|
|
226
|
+
return value
|
|
227
|
+
|
|
228
|
+
@model_serializer(mode="wrap")
|
|
229
|
+
def serialize_model(self, handler):
|
|
230
|
+
optional_fields = set(
|
|
231
|
+
[
|
|
232
|
+
"certainty",
|
|
233
|
+
"certaintyReason",
|
|
234
|
+
"clOrdId",
|
|
235
|
+
"clientOrderRef",
|
|
236
|
+
"closedAt",
|
|
237
|
+
"expireTime",
|
|
238
|
+
"firstAckAt",
|
|
239
|
+
"pendingAction",
|
|
240
|
+
"price",
|
|
241
|
+
"rejectReason",
|
|
242
|
+
"rejectText",
|
|
243
|
+
"sentAt",
|
|
244
|
+
"stopPx",
|
|
245
|
+
"venueOrderId",
|
|
246
|
+
"workingOrderType",
|
|
247
|
+
"workingPrice",
|
|
248
|
+
]
|
|
249
|
+
)
|
|
250
|
+
serialized = handler(self)
|
|
251
|
+
m = {}
|
|
252
|
+
|
|
253
|
+
for n, f in type(self).model_fields.items():
|
|
254
|
+
k = f.alias or n
|
|
255
|
+
val = serialized.get(k, serialized.get(n))
|
|
256
|
+
|
|
257
|
+
if val != UNSET_SENTINEL:
|
|
258
|
+
if val is not None or k not in optional_fields:
|
|
259
|
+
m[k] = val
|
|
260
|
+
|
|
261
|
+
return m
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
try:
|
|
265
|
+
PredOrdersOrder.model_rebuild()
|
|
266
|
+
except NameError:
|
|
267
|
+
pass
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ac314e6c2d0c
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predordersorder import PredOrdersOrder, PredOrdersOrderTypedDict
|
|
6
|
+
from .predordersorderreport import PredOrdersOrderReport, PredOrdersOrderReportTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel
|
|
8
|
+
from typing import List
|
|
9
|
+
from typing_extensions import TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PredOrdersOrderDetailTypedDict(TypedDict):
|
|
13
|
+
r"""An order and every venue report against it, read from one snapshot."""
|
|
14
|
+
|
|
15
|
+
order: PredOrdersOrderTypedDict
|
|
16
|
+
r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
|
|
17
|
+
reports: List[PredOrdersOrderReportTypedDict]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class PredOrdersOrderDetail(BaseModel):
|
|
21
|
+
r"""An order and every venue report against it, read from one snapshot."""
|
|
22
|
+
|
|
23
|
+
order: PredOrdersOrder
|
|
24
|
+
r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
|
|
25
|
+
|
|
26
|
+
reports: List[PredOrdersOrderReport]
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 09dd9c68840e
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predordersorder import PredOrdersOrder, PredOrdersOrderTypedDict
|
|
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 PredOrdersOrderPageTypedDict(TypedDict):
|
|
14
|
+
orders: List[PredOrdersOrderTypedDict]
|
|
15
|
+
next_cursor: NotRequired[str]
|
|
16
|
+
r"""Pass as `cursor` to fetch the next page. Absent on the last page."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class PredOrdersOrderPage(BaseModel):
|
|
20
|
+
orders: List[PredOrdersOrder]
|
|
21
|
+
|
|
22
|
+
next_cursor: Annotated[Optional[str], pydantic.Field(alias="nextCursor")] = None
|
|
23
|
+
r"""Pass as `cursor` to fetch the next page. Absent on the last page."""
|
|
24
|
+
|
|
25
|
+
@model_serializer(mode="wrap")
|
|
26
|
+
def serialize_model(self, handler):
|
|
27
|
+
optional_fields = set(["nextCursor"])
|
|
28
|
+
serialized = handler(self)
|
|
29
|
+
m = {}
|
|
30
|
+
|
|
31
|
+
for n, f in type(self).model_fields.items():
|
|
32
|
+
k = f.alias or n
|
|
33
|
+
val = serialized.get(k, serialized.get(n))
|
|
34
|
+
|
|
35
|
+
if val != UNSET_SENTINEL:
|
|
36
|
+
if val is not None or k not in optional_fields:
|
|
37
|
+
m[k] = val
|
|
38
|
+
|
|
39
|
+
return m
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
PredOrdersOrderPage.model_rebuild()
|
|
44
|
+
except NameError:
|
|
45
|
+
pass
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 8a68437ae16f
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
import pydantic
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from typing import Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PredOrdersOrderReportTypedDict(TypedDict):
|
|
14
|
+
r"""One venue execution report against the order. Quantities and prices are omitted when the venue did not send them for that report type."""
|
|
15
|
+
|
|
16
|
+
exec_id: str
|
|
17
|
+
exec_type: str
|
|
18
|
+
status: str
|
|
19
|
+
transact_time: datetime
|
|
20
|
+
avg_px: NotRequired[str]
|
|
21
|
+
r"""Exact decimal as a string."""
|
|
22
|
+
busted_at: NotRequired[datetime]
|
|
23
|
+
r"""Set when the venue later cancelled this trade."""
|
|
24
|
+
cum_qty: NotRequired[str]
|
|
25
|
+
r"""Exact decimal as a string."""
|
|
26
|
+
last_px: NotRequired[str]
|
|
27
|
+
r"""Exact decimal as a string."""
|
|
28
|
+
last_qty: NotRequired[str]
|
|
29
|
+
r"""Exact decimal as a string."""
|
|
30
|
+
leaves_qty: NotRequired[str]
|
|
31
|
+
r"""Exact decimal as a string."""
|
|
32
|
+
text: NotRequired[str]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class PredOrdersOrderReport(BaseModel):
|
|
36
|
+
r"""One venue execution report against the order. Quantities and prices are omitted when the venue did not send them for that report type."""
|
|
37
|
+
|
|
38
|
+
exec_id: Annotated[str, pydantic.Field(alias="execId")]
|
|
39
|
+
|
|
40
|
+
exec_type: Annotated[str, pydantic.Field(alias="execType")]
|
|
41
|
+
|
|
42
|
+
status: str
|
|
43
|
+
|
|
44
|
+
transact_time: Annotated[datetime, pydantic.Field(alias="transactTime")]
|
|
45
|
+
|
|
46
|
+
avg_px: Annotated[Optional[str], pydantic.Field(alias="avgPx")] = None
|
|
47
|
+
r"""Exact decimal as a string."""
|
|
48
|
+
|
|
49
|
+
busted_at: Annotated[Optional[datetime], pydantic.Field(alias="bustedAt")] = None
|
|
50
|
+
r"""Set when the venue later cancelled this trade."""
|
|
51
|
+
|
|
52
|
+
cum_qty: Annotated[Optional[str], pydantic.Field(alias="cumQty")] = None
|
|
53
|
+
r"""Exact decimal as a string."""
|
|
54
|
+
|
|
55
|
+
last_px: Annotated[Optional[str], pydantic.Field(alias="lastPx")] = None
|
|
56
|
+
r"""Exact decimal as a string."""
|
|
57
|
+
|
|
58
|
+
last_qty: Annotated[Optional[str], pydantic.Field(alias="lastQty")] = None
|
|
59
|
+
r"""Exact decimal as a string."""
|
|
60
|
+
|
|
61
|
+
leaves_qty: Annotated[Optional[str], pydantic.Field(alias="leavesQty")] = None
|
|
62
|
+
r"""Exact decimal as a string."""
|
|
63
|
+
|
|
64
|
+
text: Optional[str] = None
|
|
65
|
+
|
|
66
|
+
@model_serializer(mode="wrap")
|
|
67
|
+
def serialize_model(self, handler):
|
|
68
|
+
optional_fields = set(
|
|
69
|
+
["avgPx", "bustedAt", "cumQty", "lastPx", "lastQty", "leavesQty", "text"]
|
|
70
|
+
)
|
|
71
|
+
serialized = handler(self)
|
|
72
|
+
m = {}
|
|
73
|
+
|
|
74
|
+
for n, f in type(self).model_fields.items():
|
|
75
|
+
k = f.alias or n
|
|
76
|
+
val = serialized.get(k, serialized.get(n))
|
|
77
|
+
|
|
78
|
+
if val != UNSET_SENTINEL:
|
|
79
|
+
if val is not None or k not in optional_fields:
|
|
80
|
+
m[k] = val
|
|
81
|
+
|
|
82
|
+
return m
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
try:
|
|
86
|
+
PredOrdersOrderReport.model_rebuild()
|
|
87
|
+
except NameError:
|
|
88
|
+
pass
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 5fdf0f801821
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from finance_dev import models, utils
|
|
8
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import field_serializer, model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class OrderType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
LIMIT = "limit"
|
|
17
|
+
STOP = "stop"
|
|
18
|
+
STOP_LIMIT = "stop_limit"
|
|
19
|
+
MARKET_TO_LIMIT = "market_to_limit"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PredOrdersPlaceOrderRequestOutcome(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
|
+
r"""The binary outcome the order trades. It is never inferred from `side`."""
|
|
24
|
+
|
|
25
|
+
YES = "YES"
|
|
26
|
+
NO = "NO"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class PredOrdersPlaceOrderRequestSide(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
|
+
BUY = "buy"
|
|
31
|
+
SELL = "sell"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class TimeInForce(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
35
|
+
DAY = "day"
|
|
36
|
+
GTC = "gtc"
|
|
37
|
+
IOC = "ioc"
|
|
38
|
+
FOK = "fok"
|
|
39
|
+
GTD = "gtd"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class PredOrdersPlaceOrderRequestTypedDict(TypedDict):
|
|
43
|
+
r"""Unknown fields are rejected with `400`. The user is always the authenticated caller and cannot be named in the body."""
|
|
44
|
+
|
|
45
|
+
account_id: str
|
|
46
|
+
r"""The account to place the order on."""
|
|
47
|
+
order_type: OrderType
|
|
48
|
+
outcome: PredOrdersPlaceOrderRequestOutcome
|
|
49
|
+
r"""The binary outcome the order trades. It is never inferred from `side`."""
|
|
50
|
+
quantity: str
|
|
51
|
+
r"""Number of contracts as an exact decimal string. Must be greater than zero."""
|
|
52
|
+
side: PredOrdersPlaceOrderRequestSide
|
|
53
|
+
symbol: str
|
|
54
|
+
r"""Prediction-market contract symbol, as returned by search or Get Event Contracts."""
|
|
55
|
+
time_in_force: TimeInForce
|
|
56
|
+
client_order_ref: NotRequired[str]
|
|
57
|
+
r"""Your own reference for the order, unique per account. Reusing one returns `409` `CLIENT_ORDER_REF_IN_USE`; it is not a retry key. To retry safely, use the `Idempotency-Key` header."""
|
|
58
|
+
expire_time: NotRequired[datetime]
|
|
59
|
+
r"""Required when `timeInForce` is `gtd`."""
|
|
60
|
+
price: NotRequired[str]
|
|
61
|
+
r"""Limit price as an exact decimal string. Required for `limit` and `stop_limit`."""
|
|
62
|
+
stop_px: NotRequired[str]
|
|
63
|
+
r"""Stop price as an exact decimal string. Required for `stop` and `stop_limit`."""
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class PredOrdersPlaceOrderRequest(BaseModel):
|
|
67
|
+
r"""Unknown fields are rejected with `400`. The user is always the authenticated caller and cannot be named in the body."""
|
|
68
|
+
|
|
69
|
+
account_id: Annotated[str, pydantic.Field(alias="accountId")]
|
|
70
|
+
r"""The account to place the order on."""
|
|
71
|
+
|
|
72
|
+
order_type: Annotated[OrderType, pydantic.Field(alias="orderType")]
|
|
73
|
+
|
|
74
|
+
outcome: PredOrdersPlaceOrderRequestOutcome
|
|
75
|
+
r"""The binary outcome the order trades. It is never inferred from `side`."""
|
|
76
|
+
|
|
77
|
+
quantity: str
|
|
78
|
+
r"""Number of contracts as an exact decimal string. Must be greater than zero."""
|
|
79
|
+
|
|
80
|
+
side: PredOrdersPlaceOrderRequestSide
|
|
81
|
+
|
|
82
|
+
symbol: str
|
|
83
|
+
r"""Prediction-market contract symbol, as returned by search or Get Event Contracts."""
|
|
84
|
+
|
|
85
|
+
time_in_force: Annotated[TimeInForce, pydantic.Field(alias="timeInForce")]
|
|
86
|
+
|
|
87
|
+
client_order_ref: Annotated[
|
|
88
|
+
Optional[str], pydantic.Field(alias="clientOrderRef")
|
|
89
|
+
] = None
|
|
90
|
+
r"""Your own reference for the order, unique per account. Reusing one returns `409` `CLIENT_ORDER_REF_IN_USE`; it is not a retry key. To retry safely, use the `Idempotency-Key` header."""
|
|
91
|
+
|
|
92
|
+
expire_time: Annotated[Optional[datetime], pydantic.Field(alias="expireTime")] = (
|
|
93
|
+
None
|
|
94
|
+
)
|
|
95
|
+
r"""Required when `timeInForce` is `gtd`."""
|
|
96
|
+
|
|
97
|
+
price: Optional[str] = None
|
|
98
|
+
r"""Limit price as an exact decimal string. Required for `limit` and `stop_limit`."""
|
|
99
|
+
|
|
100
|
+
stop_px: Annotated[Optional[str], pydantic.Field(alias="stopPx")] = None
|
|
101
|
+
r"""Stop price as an exact decimal string. Required for `stop` and `stop_limit`."""
|
|
102
|
+
|
|
103
|
+
@field_serializer("order_type")
|
|
104
|
+
def serialize_order_type(self, value):
|
|
105
|
+
if isinstance(value, str):
|
|
106
|
+
try:
|
|
107
|
+
return models.OrderType(value)
|
|
108
|
+
except ValueError:
|
|
109
|
+
return value
|
|
110
|
+
return value
|
|
111
|
+
|
|
112
|
+
@field_serializer("outcome")
|
|
113
|
+
def serialize_outcome(self, value):
|
|
114
|
+
if isinstance(value, str):
|
|
115
|
+
try:
|
|
116
|
+
return models.PredOrdersPlaceOrderRequestOutcome(value)
|
|
117
|
+
except ValueError:
|
|
118
|
+
return value
|
|
119
|
+
return value
|
|
120
|
+
|
|
121
|
+
@field_serializer("side")
|
|
122
|
+
def serialize_side(self, value):
|
|
123
|
+
if isinstance(value, str):
|
|
124
|
+
try:
|
|
125
|
+
return models.PredOrdersPlaceOrderRequestSide(value)
|
|
126
|
+
except ValueError:
|
|
127
|
+
return value
|
|
128
|
+
return value
|
|
129
|
+
|
|
130
|
+
@field_serializer("time_in_force")
|
|
131
|
+
def serialize_time_in_force(self, value):
|
|
132
|
+
if isinstance(value, str):
|
|
133
|
+
try:
|
|
134
|
+
return models.TimeInForce(value)
|
|
135
|
+
except ValueError:
|
|
136
|
+
return value
|
|
137
|
+
return value
|
|
138
|
+
|
|
139
|
+
@model_serializer(mode="wrap")
|
|
140
|
+
def serialize_model(self, handler):
|
|
141
|
+
optional_fields = set(["clientOrderRef", "expireTime", "price", "stopPx"])
|
|
142
|
+
serialized = handler(self)
|
|
143
|
+
m = {}
|
|
144
|
+
|
|
145
|
+
for n, f in type(self).model_fields.items():
|
|
146
|
+
k = f.alias or n
|
|
147
|
+
val = serialized.get(k, serialized.get(n))
|
|
148
|
+
|
|
149
|
+
if val != UNSET_SENTINEL:
|
|
150
|
+
if val is not None or k not in optional_fields:
|
|
151
|
+
m[k] = val
|
|
152
|
+
|
|
153
|
+
return m
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
try:
|
|
157
|
+
PredOrdersPlaceOrderRequest.model_rebuild()
|
|
158
|
+
except NameError:
|
|
159
|
+
pass
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 1c67bed9b926
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .previeworderresponse import PreviewOrderResponse, PreviewOrderResponseTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from typing import Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class PreviewOrderResponseResponseTypedDict(TypedDict):
|
|
15
|
+
http_meta: HTTPMetadataTypedDict
|
|
16
|
+
preview_order_response: NotRequired[PreviewOrderResponseTypedDict]
|
|
17
|
+
r"""Order preview calculated successfully"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class PreviewOrderResponseResponse(BaseModel):
|
|
21
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
22
|
+
|
|
23
|
+
preview_order_response: Optional[PreviewOrderResponse] = None
|
|
24
|
+
r"""Order preview calculated successfully"""
|
|
25
|
+
|
|
26
|
+
@model_serializer(mode="wrap")
|
|
27
|
+
def serialize_model(self, handler):
|
|
28
|
+
optional_fields = set(["PreviewOrderResponse"])
|
|
29
|
+
serialized = handler(self)
|
|
30
|
+
m = {}
|
|
31
|
+
|
|
32
|
+
for n, f in type(self).model_fields.items():
|
|
33
|
+
k = f.alias or n
|
|
34
|
+
val = serialized.get(k, serialized.get(n))
|
|
35
|
+
|
|
36
|
+
if val != UNSET_SENTINEL:
|
|
37
|
+
if val is not None or k not in optional_fields:
|
|
38
|
+
m[k] = val
|
|
39
|
+
|
|
40
|
+
return m
|