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,287 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 127fcace2615
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .ordersideenum import OrderSideEnum
|
|
6
|
+
from .securitytypeenum import SecurityTypeEnum
|
|
7
|
+
from datetime import date
|
|
8
|
+
from enum import Enum
|
|
9
|
+
from finance_dev import models, utils
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic import field_serializer, model_serializer
|
|
13
|
+
from typing import Optional, Union
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class CancelOrdRequestPutCall2(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
18
|
+
r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
|
|
19
|
+
|
|
20
|
+
PUT = "PUT"
|
|
21
|
+
CALL = "CALL"
|
|
22
|
+
P = "P"
|
|
23
|
+
C = "C"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class CancelOrdRequest2TypedDict(TypedDict):
|
|
27
|
+
orig_cl_ord_id: str
|
|
28
|
+
r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
|
|
29
|
+
side: OrderSideEnum
|
|
30
|
+
r"""Which direction to trade in. Pick one:
|
|
31
|
+
- `BUY` — buying shares or contracts (opens a long position or closes an existing short).
|
|
32
|
+
- `SELL` — selling shares or contracts you already hold (closes a long position).
|
|
33
|
+
- `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
|
|
34
|
+
- `BUY_TO_COVER` — buying shares to close an open short position.
|
|
35
|
+
"""
|
|
36
|
+
symbol: str
|
|
37
|
+
r"""Symbol on the original order. Use the exact symbol from the order record."""
|
|
38
|
+
trading_account_id: str
|
|
39
|
+
r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
|
|
40
|
+
account_id: NotRequired[str]
|
|
41
|
+
r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
|
|
42
|
+
maturity: NotRequired[date]
|
|
43
|
+
r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
|
|
44
|
+
put_call: NotRequired[CancelOrdRequestPutCall2]
|
|
45
|
+
r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
|
|
46
|
+
security_type: NotRequired[SecurityTypeEnum]
|
|
47
|
+
r"""What kind of instrument the order is for. Pick one:
|
|
48
|
+
- `CS` — Common Stock (equity / ETF).
|
|
49
|
+
- `OPT` — Option contract (call or put).
|
|
50
|
+
"""
|
|
51
|
+
strike_price: NotRequired[str]
|
|
52
|
+
r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class CancelOrdRequest2(BaseModel):
|
|
56
|
+
orig_cl_ord_id: Annotated[str, pydantic.Field(alias="origClOrdId")]
|
|
57
|
+
r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
|
|
58
|
+
|
|
59
|
+
side: OrderSideEnum
|
|
60
|
+
r"""Which direction to trade in. Pick one:
|
|
61
|
+
- `BUY` — buying shares or contracts (opens a long position or closes an existing short).
|
|
62
|
+
- `SELL` — selling shares or contracts you already hold (closes a long position).
|
|
63
|
+
- `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
|
|
64
|
+
- `BUY_TO_COVER` — buying shares to close an open short position.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
symbol: str
|
|
68
|
+
r"""Symbol on the original order. Use the exact symbol from the order record."""
|
|
69
|
+
|
|
70
|
+
trading_account_id: Annotated[str, pydantic.Field(alias="tradingAccountId")]
|
|
71
|
+
r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
|
|
72
|
+
|
|
73
|
+
account_id: Annotated[Optional[str], pydantic.Field(alias="accountId")] = None
|
|
74
|
+
r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
|
|
75
|
+
|
|
76
|
+
maturity: Optional[date] = None
|
|
77
|
+
r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
|
|
78
|
+
|
|
79
|
+
put_call: Annotated[
|
|
80
|
+
Optional[CancelOrdRequestPutCall2], pydantic.Field(alias="putCall")
|
|
81
|
+
] = None
|
|
82
|
+
r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
|
|
83
|
+
|
|
84
|
+
security_type: Annotated[
|
|
85
|
+
Optional[SecurityTypeEnum], pydantic.Field(alias="securityType")
|
|
86
|
+
] = None
|
|
87
|
+
r"""What kind of instrument the order is for. Pick one:
|
|
88
|
+
- `CS` — Common Stock (equity / ETF).
|
|
89
|
+
- `OPT` — Option contract (call or put).
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
strike_price: Annotated[Optional[str], pydantic.Field(alias="strikePrice")] = None
|
|
93
|
+
r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
|
|
94
|
+
|
|
95
|
+
@field_serializer("put_call")
|
|
96
|
+
def serialize_put_call(self, value):
|
|
97
|
+
if isinstance(value, str):
|
|
98
|
+
try:
|
|
99
|
+
return models.CancelOrdRequestPutCall2(value)
|
|
100
|
+
except ValueError:
|
|
101
|
+
return value
|
|
102
|
+
return value
|
|
103
|
+
|
|
104
|
+
@field_serializer("security_type")
|
|
105
|
+
def serialize_security_type(self, value):
|
|
106
|
+
if isinstance(value, str):
|
|
107
|
+
try:
|
|
108
|
+
return models.SecurityTypeEnum(value)
|
|
109
|
+
except ValueError:
|
|
110
|
+
return value
|
|
111
|
+
return value
|
|
112
|
+
|
|
113
|
+
@field_serializer("side")
|
|
114
|
+
def serialize_side(self, value):
|
|
115
|
+
if isinstance(value, str):
|
|
116
|
+
try:
|
|
117
|
+
return models.OrderSideEnum(value)
|
|
118
|
+
except ValueError:
|
|
119
|
+
return value
|
|
120
|
+
return value
|
|
121
|
+
|
|
122
|
+
@model_serializer(mode="wrap")
|
|
123
|
+
def serialize_model(self, handler):
|
|
124
|
+
optional_fields = set(
|
|
125
|
+
["accountId", "maturity", "putCall", "securityType", "strikePrice"]
|
|
126
|
+
)
|
|
127
|
+
serialized = handler(self)
|
|
128
|
+
m = {}
|
|
129
|
+
|
|
130
|
+
for n, f in type(self).model_fields.items():
|
|
131
|
+
k = f.alias or n
|
|
132
|
+
val = serialized.get(k, serialized.get(n))
|
|
133
|
+
|
|
134
|
+
if val != UNSET_SENTINEL:
|
|
135
|
+
if val is not None or k not in optional_fields:
|
|
136
|
+
m[k] = val
|
|
137
|
+
|
|
138
|
+
return m
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class CancelOrdRequestPutCall1(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
142
|
+
r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
|
|
143
|
+
|
|
144
|
+
PUT = "PUT"
|
|
145
|
+
CALL = "CALL"
|
|
146
|
+
P = "P"
|
|
147
|
+
C = "C"
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
class CancelOrdRequest1TypedDict(TypedDict):
|
|
151
|
+
account_id: str
|
|
152
|
+
r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
|
|
153
|
+
orig_cl_ord_id: str
|
|
154
|
+
r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
|
|
155
|
+
side: OrderSideEnum
|
|
156
|
+
r"""Which direction to trade in. Pick one:
|
|
157
|
+
- `BUY` — buying shares or contracts (opens a long position or closes an existing short).
|
|
158
|
+
- `SELL` — selling shares or contracts you already hold (closes a long position).
|
|
159
|
+
- `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
|
|
160
|
+
- `BUY_TO_COVER` — buying shares to close an open short position.
|
|
161
|
+
"""
|
|
162
|
+
symbol: str
|
|
163
|
+
r"""Symbol on the original order. Use the exact symbol from the order record."""
|
|
164
|
+
maturity: NotRequired[date]
|
|
165
|
+
r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
|
|
166
|
+
put_call: NotRequired[CancelOrdRequestPutCall1]
|
|
167
|
+
r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
|
|
168
|
+
security_type: NotRequired[SecurityTypeEnum]
|
|
169
|
+
r"""What kind of instrument the order is for. Pick one:
|
|
170
|
+
- `CS` — Common Stock (equity / ETF).
|
|
171
|
+
- `OPT` — Option contract (call or put).
|
|
172
|
+
"""
|
|
173
|
+
strike_price: NotRequired[str]
|
|
174
|
+
r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
|
|
175
|
+
trading_account_id: NotRequired[str]
|
|
176
|
+
r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
class CancelOrdRequest1(BaseModel):
|
|
180
|
+
account_id: Annotated[str, pydantic.Field(alias="accountId")]
|
|
181
|
+
r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
|
|
182
|
+
|
|
183
|
+
orig_cl_ord_id: Annotated[str, pydantic.Field(alias="origClOrdId")]
|
|
184
|
+
r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
|
|
185
|
+
|
|
186
|
+
side: OrderSideEnum
|
|
187
|
+
r"""Which direction to trade in. Pick one:
|
|
188
|
+
- `BUY` — buying shares or contracts (opens a long position or closes an existing short).
|
|
189
|
+
- `SELL` — selling shares or contracts you already hold (closes a long position).
|
|
190
|
+
- `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
|
|
191
|
+
- `BUY_TO_COVER` — buying shares to close an open short position.
|
|
192
|
+
"""
|
|
193
|
+
|
|
194
|
+
symbol: str
|
|
195
|
+
r"""Symbol on the original order. Use the exact symbol from the order record."""
|
|
196
|
+
|
|
197
|
+
maturity: Optional[date] = None
|
|
198
|
+
r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
|
|
199
|
+
|
|
200
|
+
put_call: Annotated[
|
|
201
|
+
Optional[CancelOrdRequestPutCall1], pydantic.Field(alias="putCall")
|
|
202
|
+
] = None
|
|
203
|
+
r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
|
|
204
|
+
|
|
205
|
+
security_type: Annotated[
|
|
206
|
+
Optional[SecurityTypeEnum], pydantic.Field(alias="securityType")
|
|
207
|
+
] = None
|
|
208
|
+
r"""What kind of instrument the order is for. Pick one:
|
|
209
|
+
- `CS` — Common Stock (equity / ETF).
|
|
210
|
+
- `OPT` — Option contract (call or put).
|
|
211
|
+
"""
|
|
212
|
+
|
|
213
|
+
strike_price: Annotated[Optional[str], pydantic.Field(alias="strikePrice")] = None
|
|
214
|
+
r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
|
|
215
|
+
|
|
216
|
+
trading_account_id: Annotated[
|
|
217
|
+
Optional[str], pydantic.Field(alias="tradingAccountId")
|
|
218
|
+
] = None
|
|
219
|
+
r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
|
|
220
|
+
|
|
221
|
+
@field_serializer("put_call")
|
|
222
|
+
def serialize_put_call(self, value):
|
|
223
|
+
if isinstance(value, str):
|
|
224
|
+
try:
|
|
225
|
+
return models.CancelOrdRequestPutCall1(value)
|
|
226
|
+
except ValueError:
|
|
227
|
+
return value
|
|
228
|
+
return value
|
|
229
|
+
|
|
230
|
+
@field_serializer("security_type")
|
|
231
|
+
def serialize_security_type(self, value):
|
|
232
|
+
if isinstance(value, str):
|
|
233
|
+
try:
|
|
234
|
+
return models.SecurityTypeEnum(value)
|
|
235
|
+
except ValueError:
|
|
236
|
+
return value
|
|
237
|
+
return value
|
|
238
|
+
|
|
239
|
+
@field_serializer("side")
|
|
240
|
+
def serialize_side(self, value):
|
|
241
|
+
if isinstance(value, str):
|
|
242
|
+
try:
|
|
243
|
+
return models.OrderSideEnum(value)
|
|
244
|
+
except ValueError:
|
|
245
|
+
return value
|
|
246
|
+
return value
|
|
247
|
+
|
|
248
|
+
@model_serializer(mode="wrap")
|
|
249
|
+
def serialize_model(self, handler):
|
|
250
|
+
optional_fields = set(
|
|
251
|
+
["maturity", "putCall", "securityType", "strikePrice", "tradingAccountId"]
|
|
252
|
+
)
|
|
253
|
+
serialized = handler(self)
|
|
254
|
+
m = {}
|
|
255
|
+
|
|
256
|
+
for n, f in type(self).model_fields.items():
|
|
257
|
+
k = f.alias or n
|
|
258
|
+
val = serialized.get(k, serialized.get(n))
|
|
259
|
+
|
|
260
|
+
if val != UNSET_SENTINEL:
|
|
261
|
+
if val is not None or k not in optional_fields:
|
|
262
|
+
m[k] = val
|
|
263
|
+
|
|
264
|
+
return m
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
CancelOrdRequestUnionTypedDict = TypeAliasType(
|
|
268
|
+
"CancelOrdRequestUnionTypedDict",
|
|
269
|
+
Union[CancelOrdRequest1TypedDict, CancelOrdRequest2TypedDict],
|
|
270
|
+
)
|
|
271
|
+
r"""Request body for canceling an open order through the core trading API. Use this when the user wants to stop an order that has not fully filled."""
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
CancelOrdRequestUnion = TypeAliasType(
|
|
275
|
+
"CancelOrdRequestUnion", Union[CancelOrdRequest1, CancelOrdRequest2]
|
|
276
|
+
)
|
|
277
|
+
r"""Request body for canceling an open order through the core trading API. Use this when the user wants to stop an order that has not fully filled."""
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
try:
|
|
281
|
+
CancelOrdRequest2.model_rebuild()
|
|
282
|
+
except NameError:
|
|
283
|
+
pass
|
|
284
|
+
try:
|
|
285
|
+
CancelOrdRequest1.model_rebuild()
|
|
286
|
+
except NameError:
|
|
287
|
+
pass
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c467684a3239
|
|
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 Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CancelOrdResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
15
|
+
r"""Order status after the cancel request. Typical values after a successful cancel:
|
|
16
|
+
- `PENDING_CANCEL` — cancel request accepted by the broker but not yet final. Keep monitoring; will move to `CANCELED` once confirmed.
|
|
17
|
+
- `CANCELED` — order is fully cancelled; no further fills will occur.
|
|
18
|
+
- `REJECTED` — the cancel was refused (e.g. the order had already fully filled). The original order is unchanged.
|
|
19
|
+
|
|
20
|
+
The full FIX OrdStatus enum is supported — see the Place Order response for the complete list of possible values.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
NEW = "NEW"
|
|
24
|
+
PARTIALLY_FILLED = "PARTIALLY_FILLED"
|
|
25
|
+
FILLED = "FILLED"
|
|
26
|
+
DONE_FOR_DAY = "DONE_FOR_DAY"
|
|
27
|
+
CANCELED = "CANCELED"
|
|
28
|
+
REPLACED = "REPLACED"
|
|
29
|
+
PENDING_CANCEL = "PENDING_CANCEL"
|
|
30
|
+
STOPPED = "STOPPED"
|
|
31
|
+
REJECTED = "REJECTED"
|
|
32
|
+
SUSPENDED = "SUSPENDED"
|
|
33
|
+
PENDING_NEW = "PENDING_NEW"
|
|
34
|
+
CALCULATED = "CALCULATED"
|
|
35
|
+
EXPIRED = "EXPIRED"
|
|
36
|
+
ACCEPTED_FOR_BID = "ACCEPTED_FOR_BID"
|
|
37
|
+
PENDING_REPLACE = "PENDING_REPLACE"
|
|
38
|
+
SUPERSEDED = "SUPERSEDED"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class CancelOrdResponseTypedDict(TypedDict):
|
|
42
|
+
r"""Response returned after requesting an order cancel. Treat it as the cancel result and continue monitoring if the status is pending."""
|
|
43
|
+
|
|
44
|
+
cl_ord_id: NotRequired[str]
|
|
45
|
+
r"""Client order ID associated with the cancel action. Store it for audit and status matching."""
|
|
46
|
+
orig_cl_ord_id: NotRequired[str]
|
|
47
|
+
r"""Client order ID of the original order being canceled. Use it to connect this cancel result to the user's order."""
|
|
48
|
+
status: NotRequired[CancelOrdResponseStatus]
|
|
49
|
+
r"""Order status after the cancel request. Typical values after a successful cancel:
|
|
50
|
+
- `PENDING_CANCEL` — cancel request accepted by the broker but not yet final. Keep monitoring; will move to `CANCELED` once confirmed.
|
|
51
|
+
- `CANCELED` — order is fully cancelled; no further fills will occur.
|
|
52
|
+
- `REJECTED` — the cancel was refused (e.g. the order had already fully filled). The original order is unchanged.
|
|
53
|
+
|
|
54
|
+
The full FIX OrdStatus enum is supported — see the Place Order response for the complete list of possible values.
|
|
55
|
+
"""
|
|
56
|
+
success: NotRequired[bool]
|
|
57
|
+
r"""Whether Aries or the broker accepted the cancel request for processing."""
|
|
58
|
+
text: NotRequired[str]
|
|
59
|
+
r"""Broker or platform message about the cancel result. Show it when the cancel is rejected or needs explanation."""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class CancelOrdResponse(BaseModel):
|
|
63
|
+
r"""Response returned after requesting an order cancel. Treat it as the cancel result and continue monitoring if the status is pending."""
|
|
64
|
+
|
|
65
|
+
cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="clOrdId")] = None
|
|
66
|
+
r"""Client order ID associated with the cancel action. Store it for audit and status matching."""
|
|
67
|
+
|
|
68
|
+
orig_cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="origClOrdId")] = None
|
|
69
|
+
r"""Client order ID of the original order being canceled. Use it to connect this cancel result to the user's order."""
|
|
70
|
+
|
|
71
|
+
status: Optional[CancelOrdResponseStatus] = None
|
|
72
|
+
r"""Order status after the cancel request. Typical values after a successful cancel:
|
|
73
|
+
- `PENDING_CANCEL` — cancel request accepted by the broker but not yet final. Keep monitoring; will move to `CANCELED` once confirmed.
|
|
74
|
+
- `CANCELED` — order is fully cancelled; no further fills will occur.
|
|
75
|
+
- `REJECTED` — the cancel was refused (e.g. the order had already fully filled). The original order is unchanged.
|
|
76
|
+
|
|
77
|
+
The full FIX OrdStatus enum is supported — see the Place Order response for the complete list of possible values.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
success: Optional[bool] = None
|
|
81
|
+
r"""Whether Aries or the broker accepted the cancel request for processing."""
|
|
82
|
+
|
|
83
|
+
text: Optional[str] = None
|
|
84
|
+
r"""Broker or platform message about the cancel result. Show it when the cancel is rejected or needs explanation."""
|
|
85
|
+
|
|
86
|
+
@field_serializer("status")
|
|
87
|
+
def serialize_status(self, value):
|
|
88
|
+
if isinstance(value, str):
|
|
89
|
+
try:
|
|
90
|
+
return models.CancelOrdResponseStatus(value)
|
|
91
|
+
except ValueError:
|
|
92
|
+
return value
|
|
93
|
+
return value
|
|
94
|
+
|
|
95
|
+
@model_serializer(mode="wrap")
|
|
96
|
+
def serialize_model(self, handler):
|
|
97
|
+
optional_fields = set(["clOrdId", "origClOrdId", "status", "success", "text"])
|
|
98
|
+
serialized = handler(self)
|
|
99
|
+
m = {}
|
|
100
|
+
|
|
101
|
+
for n, f in type(self).model_fields.items():
|
|
102
|
+
k = f.alias or n
|
|
103
|
+
val = serialized.get(k, serialized.get(n))
|
|
104
|
+
|
|
105
|
+
if val != UNSET_SENTINEL:
|
|
106
|
+
if val is not None or k not in optional_fields:
|
|
107
|
+
m[k] = val
|
|
108
|
+
|
|
109
|
+
return m
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
try:
|
|
113
|
+
CancelOrdResponse.model_rebuild()
|
|
114
|
+
except NameError:
|
|
115
|
+
pass
|