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.
Files changed (486) hide show
  1. finance_dev/__init__.py +18 -0
  2. finance_dev/_hooks/__init__.py +7 -0
  3. finance_dev/_hooks/clientcredentials.py +319 -0
  4. finance_dev/_hooks/oauth2scopes.py +50 -0
  5. finance_dev/_hooks/registration.py +13 -0
  6. finance_dev/_hooks/sdkhooks.py +82 -0
  7. finance_dev/_hooks/types.py +125 -0
  8. finance_dev/_version.py +16 -0
  9. finance_dev/accounts.py +797 -0
  10. finance_dev/alternativedata.py +4830 -0
  11. finance_dev/analytics.py +3757 -0
  12. finance_dev/basesdk.py +393 -0
  13. finance_dev/calendar.py +1523 -0
  14. finance_dev/chart.py +1881 -0
  15. finance_dev/company.py +1105 -0
  16. finance_dev/corporateactions.py +1795 -0
  17. finance_dev/economy.py +1153 -0
  18. finance_dev/errors/__init__.py +94 -0
  19. finance_dev/errors/apierror.py +41 -0
  20. finance_dev/errors/authenticationerrorenvelope.py +43 -0
  21. finance_dev/errors/badrequest.py +34 -0
  22. finance_dev/errors/errorenvelope.py +42 -0
  23. finance_dev/errors/errorresponse.py +45 -0
  24. finance_dev/errors/financedevapierror.py +31 -0
  25. finance_dev/errors/forbidden.py +34 -0
  26. finance_dev/errors/internalservererror.py +35 -0
  27. finance_dev/errors/no_response_error.py +18 -0
  28. finance_dev/errors/notfound.py +34 -0
  29. finance_dev/errors/orderhistorybadrequest.py +35 -0
  30. finance_dev/errors/predorderserrorenvelope.py +42 -0
  31. finance_dev/errors/responsevalidationerror.py +28 -0
  32. finance_dev/errors/unauthorized.py +34 -0
  33. finance_dev/estimates.py +1906 -0
  34. finance_dev/etf.py +1108 -0
  35. finance_dev/filings.py +586 -0
  36. finance_dev/financials.py +4079 -0
  37. finance_dev/history.py +477 -0
  38. finance_dev/httpclient.py +126 -0
  39. finance_dev/indices.py +2308 -0
  40. finance_dev/logos.py +692 -0
  41. finance_dev/market.py +1825 -0
  42. finance_dev/markets.py +952 -0
  43. finance_dev/models/__init__.py +4568 -0
  44. finance_dev/models/accountbalancev2.py +340 -0
  45. finance_dev/models/accountitem.py +78 -0
  46. finance_dev/models/accountposition.py +147 -0
  47. finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
  48. finance_dev/models/analystinsightitem.py +161 -0
  49. finance_dev/models/analystinsightsresponse.py +39 -0
  50. finance_dev/models/apperror.py +123 -0
  51. finance_dev/models/authenticationerrordetail.py +58 -0
  52. finance_dev/models/bankbranchesresponse.py +96 -0
  53. finance_dev/models/basicfinancials.py +243 -0
  54. finance_dev/models/bullbearanalysisresponse.py +150 -0
  55. finance_dev/models/cancelorderop.py +40 -0
  56. finance_dev/models/cancelordrequest_union.py +287 -0
  57. finance_dev/models/cancelordresponse.py +115 -0
  58. finance_dev/models/cashflowstatement.py +290 -0
  59. finance_dev/models/cashflowstatementsresponse.py +61 -0
  60. finance_dev/models/chartbars.py +111 -0
  61. finance_dev/models/chartconfig.py +81 -0
  62. finance_dev/models/chartresolution.py +46 -0
  63. finance_dev/models/companyesgresponse.py +408 -0
  64. finance_dev/models/companyexecutive.py +70 -0
  65. finance_dev/models/companyexecutiveresponse.py +39 -0
  66. finance_dev/models/companypeersresponse.py +38 -0
  67. finance_dev/models/companypresentationresponse.py +96 -0
  68. finance_dev/models/companyprofile.py +255 -0
  69. finance_dev/models/conferencecallsresponse.py +169 -0
  70. finance_dev/models/congressionaltradingresponse.py +138 -0
  71. finance_dev/models/covid19uscasesresponse.py +79 -0
  72. finance_dev/models/createconfigwatchlistop.py +40 -0
  73. finance_dev/models/createwatchlistrequest.py +43 -0
  74. finance_dev/models/dailymarketsummaryresponse.py +73 -0
  75. finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
  76. finance_dev/models/dividenditem.py +125 -0
  77. finance_dev/models/dividendsresponse.py +61 -0
  78. finance_dev/models/earningrelease.py +291 -0
  79. finance_dev/models/earningscallliveresponse.py +103 -0
  80. finance_dev/models/earningsqualityscoreresponse.py +140 -0
  81. finance_dev/models/earningssurprisesresponse.py +125 -0
  82. finance_dev/models/ebitdaestimatesresponse.py +176 -0
  83. finance_dev/models/ebitestimatesresponse.py +176 -0
  84. finance_dev/models/economicscalendarevent.py +160 -0
  85. finance_dev/models/economicsindicator.py +87 -0
  86. finance_dev/models/epsestimatesresponse.py +176 -0
  87. finance_dev/models/equitydetailsdto.py +569 -0
  88. finance_dev/models/errorcode.py +48 -0
  89. finance_dev/models/etblistresponse.py +43 -0
  90. finance_dev/models/etbsearchrequest.py +21 -0
  91. finance_dev/models/etbsearchresponse.py +43 -0
  92. finance_dev/models/etfcountryallocationresponse.py +113 -0
  93. finance_dev/models/etfholdingsresponse.py +163 -0
  94. finance_dev/models/etfprofileresponse.py +234 -0
  95. finance_dev/models/etfsectorallocationresponse.py +113 -0
  96. finance_dev/models/exchangecode.py +90 -0
  97. finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
  98. finance_dev/models/filingsimilarityrecord.py +115 -0
  99. finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
  100. finance_dev/models/filingssimilarityindexresponse.py +42 -0
  101. finance_dev/models/financialratiosresponse.py +252 -0
  102. finance_dev/models/financialsreporteddatawrapper.py +49 -0
  103. finance_dev/models/financialsreportedresponse.py +42 -0
  104. finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
  105. finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
  106. finance_dev/models/financialsstatementsdatawrapper.py +44 -0
  107. finance_dev/models/financialsstatementsresponse.py +42 -0
  108. finance_dev/models/financialstatement.py +171 -0
  109. finance_dev/models/financialstatementtype.py +14 -0
  110. finance_dev/models/getaccountbalanceop.py +53 -0
  111. finance_dev/models/getaccountpositionsop.py +53 -0
  112. finance_dev/models/getaccountsresponse.py +22 -0
  113. finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
  114. finance_dev/models/getanalystinsightsop.py +164 -0
  115. finance_dev/models/getbankbranchesop.py +53 -0
  116. finance_dev/models/getbaseeventop.py +87 -0
  117. finance_dev/models/getbullbearanalysisop.py +91 -0
  118. finance_dev/models/getcashflowstatementsop.py +564 -0
  119. finance_dev/models/getchartconfigop.py +40 -0
  120. finance_dev/models/getcharthistoryop.py +122 -0
  121. finance_dev/models/getcharttimeop.py +39 -0
  122. finance_dev/models/getcompanyesgop.py +53 -0
  123. finance_dev/models/getcompanyexecutivesop.py +56 -0
  124. finance_dev/models/getcompanymetricsop.py +68 -0
  125. finance_dev/models/getcompanypeersop.py +53 -0
  126. finance_dev/models/getcompanypresentationop.py +56 -0
  127. finance_dev/models/getcompanyprofileop.py +86 -0
  128. finance_dev/models/getconferencecallsop.py +111 -0
  129. finance_dev/models/getconfigwatchlistbyidop.py +53 -0
  130. finance_dev/models/getconfigwatchlistsop.py +40 -0
  131. finance_dev/models/getcongressionaltradingop.py +73 -0
  132. finance_dev/models/getcovid19uscasesop.py +43 -0
  133. finance_dev/models/getdailymarketsummaryop.py +92 -0
  134. finance_dev/models/getdividendsop.py +294 -0
  135. finance_dev/models/getearningscalendarop.py +87 -0
  136. finance_dev/models/getearningscallliveop.py +91 -0
  137. finance_dev/models/getearningsqualityscoreop.py +81 -0
  138. finance_dev/models/getearningssurprisesop.py +80 -0
  139. finance_dev/models/getebitdaestimatesop.py +91 -0
  140. finance_dev/models/getebitestimatesop.py +88 -0
  141. finance_dev/models/geteconomicscalendarop.py +92 -0
  142. finance_dev/models/geteconomicscalendarresponse.py +56 -0
  143. finance_dev/models/getepsestimatesop.py +88 -0
  144. finance_dev/models/getequitydetailsop.py +56 -0
  145. finance_dev/models/getequitydetailsresponse.py +45 -0
  146. finance_dev/models/getetblistop.py +40 -0
  147. finance_dev/models/getetfcountryallocationop.py +80 -0
  148. finance_dev/models/getetfholdingsop.py +96 -0
  149. finance_dev/models/getetfprofileop.py +77 -0
  150. finance_dev/models/getetfsectorallocationop.py +80 -0
  151. finance_dev/models/geteventcontractsop.py +87 -0
  152. finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
  153. finance_dev/models/getfilingssimilarityindexop.py +102 -0
  154. finance_dev/models/getfinancialratiosop.py +612 -0
  155. finance_dev/models/getfinancialstatementsop.py +117 -0
  156. finance_dev/models/getfundownershipop.py +77 -0
  157. finance_dev/models/gethistoricaldataop.py +61 -0
  158. finance_dev/models/gethistoricalesgop.py +53 -0
  159. finance_dev/models/gethistorybatchop.py +74 -0
  160. finance_dev/models/gethistoryop.py +123 -0
  161. finance_dev/models/getincomestatementsop.py +564 -0
  162. finance_dev/models/getindexbarop.py +140 -0
  163. finance_dev/models/getindexbarsop.py +149 -0
  164. finance_dev/models/getindexchartbarsop.py +178 -0
  165. finance_dev/models/getindexrealtimevaluesop.py +94 -0
  166. finance_dev/models/getinflationexpectationsop.py +157 -0
  167. finance_dev/models/getinflationop.py +154 -0
  168. finance_dev/models/getinsidertransactionsop.py +90 -0
  169. finance_dev/models/getinstitutionalownershipop.py +99 -0
  170. finance_dev/models/getinstitutionalportfolioop.py +75 -0
  171. finance_dev/models/getinvestmentthemeop.py +68 -0
  172. finance_dev/models/getipocalendarop.py +63 -0
  173. finance_dev/models/getlobbyingop.py +70 -0
  174. finance_dev/models/getmarketbreadthop.py +40 -0
  175. finance_dev/models/getmarketholidaysop.py +65 -0
  176. finance_dev/models/getmarketstatusop.py +65 -0
  177. finance_dev/models/getmergersandacquisitionsop.py +113 -0
  178. finance_dev/models/getnetinflowop.py +40 -0
  179. finance_dev/models/getnewsbyidop.py +73 -0
  180. finance_dev/models/getnewsop.py +98 -0
  181. finance_dev/models/getnewssentimentop.py +53 -0
  182. finance_dev/models/getoptionchainsnapshotop.py +244 -0
  183. finance_dev/models/getoptioncontractsnapshotop.py +69 -0
  184. finance_dev/models/getoptiondetailsop.py +56 -0
  185. finance_dev/models/getoptiondetailsresponse.py +45 -0
  186. finance_dev/models/getoptionlasttradeop.py +56 -0
  187. finance_dev/models/getoptionopencloseop.py +66 -0
  188. finance_dev/models/getoptionpreviousdayop.py +56 -0
  189. finance_dev/models/getoptionquotesop.py +177 -0
  190. finance_dev/models/getoptionsactivityop.py +111 -0
  191. finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
  192. finance_dev/models/getoptionsstockstopgainersop.py +70 -0
  193. finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
  194. finance_dev/models/getoptionsunusualactivityop.py +100 -0
  195. finance_dev/models/getoptiontradesop.py +177 -0
  196. finance_dev/models/getordersv2response.py +66 -0
  197. finance_dev/models/getownershipdataop.py +77 -0
  198. finance_dev/models/getpositionsresponse.py +39 -0
  199. finance_dev/models/getpredictionorderop.py +88 -0
  200. finance_dev/models/getpricetargetop.py +53 -0
  201. finance_dev/models/getquotesop.py +53 -0
  202. finance_dev/models/getratingsop.py +164 -0
  203. finance_dev/models/getratingsresponse.py +39 -0
  204. finance_dev/models/getreportedfinancialsop.py +127 -0
  205. finance_dev/models/getrevenuebreakdownop.py +85 -0
  206. finance_dev/models/getrevenueestimatesop.py +91 -0
  207. finance_dev/models/getsecfilingsop.py +113 -0
  208. finance_dev/models/getsectortickersop.py +124 -0
  209. finance_dev/models/getsectorwisechangeop.py +84 -0
  210. finance_dev/models/getshortinterestop.py +334 -0
  211. finance_dev/models/getshortvolumeop.py +333 -0
  212. finance_dev/models/getsocialsentimentop.py +90 -0
  213. finance_dev/models/getspinoffsop.py +112 -0
  214. finance_dev/models/getstockaggregatesop.py +174 -0
  215. finance_dev/models/getstocklastquoteop.py +56 -0
  216. finance_dev/models/getstocklasttradeop.py +56 -0
  217. finance_dev/models/getstockopencloseop.py +90 -0
  218. finance_dev/models/getstockpreviousdayop.py +80 -0
  219. finance_dev/models/getstockquotesop.py +177 -0
  220. finance_dev/models/getstocksnapshotsop.py +82 -0
  221. finance_dev/models/getstocksplitsop.py +243 -0
  222. finance_dev/models/getstocktradesop.py +177 -0
  223. finance_dev/models/getsupplychainop.py +53 -0
  224. finance_dev/models/getsupportresistancelevelsop.py +90 -0
  225. finance_dev/models/getsymbolinfoop.py +53 -0
  226. finance_dev/models/gettechnicalindicatorop.py +172 -0
  227. finance_dev/models/gettechnicalpatternsop.py +88 -0
  228. finance_dev/models/gettenderoffersop.py +112 -0
  229. finance_dev/models/gettickhistoryop.py +104 -0
  230. finance_dev/models/gettopgainersop.py +78 -0
  231. finance_dev/models/gettoplosersop.py +78 -0
  232. finance_dev/models/gettopmostactiveop.py +78 -0
  233. finance_dev/models/gettranscriptop.py +53 -0
  234. finance_dev/models/gettreasuryyieldsop.py +157 -0
  235. finance_dev/models/getunifiedsnapshotop.py +223 -0
  236. finance_dev/models/getupgradesdowngradesop.py +91 -0
  237. finance_dev/models/getusaspendingop.py +70 -0
  238. finance_dev/models/getuseraccountsop.py +40 -0
  239. finance_dev/models/getusptopatentsop.py +70 -0
  240. finance_dev/models/getvisaapplicationsop.py +73 -0
  241. finance_dev/models/historicalesgresponse.py +439 -0
  242. finance_dev/models/httpmetadata.py +24 -0
  243. finance_dev/models/incomestatement.py +296 -0
  244. finance_dev/models/incomestatementsresponse.py +61 -0
  245. finance_dev/models/indexbarresponse.py +194 -0
  246. finance_dev/models/indexbarsresponse.py +123 -0
  247. finance_dev/models/indexchartbarsresponse.py +213 -0
  248. finance_dev/models/indexgroupsresponse.py +78 -0
  249. finance_dev/models/indexlistresponse.py +95 -0
  250. finance_dev/models/indexsearchresponse.py +93 -0
  251. finance_dev/models/indicesbygroupresponse.py +93 -0
  252. finance_dev/models/indicesidentifiertype.py +28 -0
  253. finance_dev/models/indicesrealtimeindexinfo.py +67 -0
  254. finance_dev/models/indicesrealtimeindexvalue.py +157 -0
  255. finance_dev/models/indicesrealtimevaluesitem.py +80 -0
  256. finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
  257. finance_dev/models/inflationexpectationsresponse.py +140 -0
  258. finance_dev/models/inflationresponse.py +132 -0
  259. finance_dev/models/insidertransaction.py +97 -0
  260. finance_dev/models/insidertransactionsresponse.py +39 -0
  261. finance_dev/models/institutionalholding.py +77 -0
  262. finance_dev/models/institutionalownershipresponse.py +39 -0
  263. finance_dev/models/institutionalportfolioresponse.py +39 -0
  264. finance_dev/models/investmentthemeid.py +35 -0
  265. finance_dev/models/investmentthemeresponse.py +80 -0
  266. finance_dev/models/ipocalendarresponse.py +39 -0
  267. finance_dev/models/ipoitem.py +93 -0
  268. finance_dev/models/listactiveordersop.py +87 -0
  269. finance_dev/models/listcategoriesop.py +79 -0
  270. finance_dev/models/listindexgroupsop.py +40 -0
  271. finance_dev/models/listindicesbygroupop.py +58 -0
  272. finance_dev/models/listindicesop.py +91 -0
  273. finance_dev/models/listoptioncontractsop.py +66 -0
  274. finance_dev/models/listoptionexpirydatesop.py +56 -0
  275. finance_dev/models/listorderhistoryop.py +139 -0
  276. finance_dev/models/listpredictionordersop.py +134 -0
  277. finance_dev/models/listtranscriptsop.py +53 -0
  278. finance_dev/models/lobbyingresponse.py +166 -0
  279. finance_dev/models/logosearchresponse.py +152 -0
  280. finance_dev/models/logosyncresponse.py +277 -0
  281. finance_dev/models/marketbreadth.py +97 -0
  282. finance_dev/models/marketbreadthresponse.py +44 -0
  283. finance_dev/models/marketholiday.py +56 -0
  284. finance_dev/models/marketholidayresponse.py +39 -0
  285. finance_dev/models/marketstatus.py +67 -0
  286. finance_dev/models/mergersandacquisitionsresponse.py +186 -0
  287. finance_dev/models/metricseriespoint.py +43 -0
  288. finance_dev/models/netinflow.py +81 -0
  289. finance_dev/models/netinflowresponse.py +44 -0
  290. finance_dev/models/newsitem.py +102 -0
  291. finance_dev/models/newslistresponse.py +128 -0
  292. finance_dev/models/newssentimentresponse.py +176 -0
  293. finance_dev/models/newstypeenum.py +16 -0
  294. finance_dev/models/optionchainsnapshotresponse.py +64 -0
  295. finance_dev/models/optioncontractsnapshotresponse.py +64 -0
  296. finance_dev/models/optioncontractsnapshotrow.py +164 -0
  297. finance_dev/models/optioncontractsresponse.py +131 -0
  298. finance_dev/models/optiondetailsdto.py +72 -0
  299. finance_dev/models/optionexpirydatesresponse.py +53 -0
  300. finance_dev/models/optionlasttraderesponse.py +169 -0
  301. finance_dev/models/optionopencloseresponse.py +97 -0
  302. finance_dev/models/optionpreviousdayresponse.py +89 -0
  303. finance_dev/models/optionquotesresponse.py +138 -0
  304. finance_dev/models/optionsactivityresponse.py +265 -0
  305. finance_dev/models/optionsnapshotcontractdetails.py +85 -0
  306. finance_dev/models/optionsnapshotdaybar.py +107 -0
  307. finance_dev/models/optionsnapshotgreeks.py +67 -0
  308. finance_dev/models/optionsnapshotlastquote.py +116 -0
  309. finance_dev/models/optionsnapshotlasttrade.py +102 -0
  310. finance_dev/models/optionsnapshotunderlying.py +86 -0
  311. finance_dev/models/optionsscreeneritem.py +151 -0
  312. finance_dev/models/optionsunusualactivityresponse.py +62 -0
  313. finance_dev/models/optionsunusualactivitytrade.py +103 -0
  314. finance_dev/models/optiontradesresponse.py +132 -0
  315. finance_dev/models/orderrequesttimeinforceenum.py +29 -0
  316. finance_dev/models/ordersideenum.py +20 -0
  317. finance_dev/models/ordertypeenum.py +20 -0
  318. finance_dev/models/ordleg.py +162 -0
  319. finance_dev/models/ordresponse.py +202 -0
  320. finance_dev/models/ownershipdataresponse.py +39 -0
  321. finance_dev/models/ownershiprecord.py +74 -0
  322. finance_dev/models/placeorderop.py +40 -0
  323. finance_dev/models/placeordrequest_union.py +335 -0
  324. finance_dev/models/placepredictionorderop.py +114 -0
  325. finance_dev/models/predmdbaseevent.py +62 -0
  326. finance_dev/models/predmdbaseeventhit.py +53 -0
  327. finance_dev/models/predmdbaseeventsearchresult.py +46 -0
  328. finance_dev/models/predmdbaseeventwithevents.py +32 -0
  329. finance_dev/models/predmdbatchhistoryrequest.py +16 -0
  330. finance_dev/models/predmdbatchhistoryresponse.py +16 -0
  331. finance_dev/models/predmdcategory.py +48 -0
  332. finance_dev/models/predmdcontract.py +177 -0
  333. finance_dev/models/predmdcontracthit.py +157 -0
  334. finance_dev/models/predmdcontractsearchresult.py +46 -0
  335. finance_dev/models/predmdevent.py +136 -0
  336. finance_dev/models/predmdeventhit.py +73 -0
  337. finance_dev/models/predmdeventsearchresult.py +46 -0
  338. finance_dev/models/predmdeventwithcontracts.py +22 -0
  339. finance_dev/models/predmdhistoryrequest.py +59 -0
  340. finance_dev/models/predmdhistoryresponse.py +53 -0
  341. finance_dev/models/predmdtick.py +53 -0
  342. finance_dev/models/predordersapperror.py +78 -0
  343. finance_dev/models/predordersorder.py +267 -0
  344. finance_dev/models/predordersorderdetail.py +26 -0
  345. finance_dev/models/predordersorderpage.py +45 -0
  346. finance_dev/models/predordersorderreport.py +88 -0
  347. finance_dev/models/predordersplaceorderrequest.py +159 -0
  348. finance_dev/models/previeworderop.py +40 -0
  349. finance_dev/models/previeworderresponse.py +127 -0
  350. finance_dev/models/pricetargetresponse.py +89 -0
  351. finance_dev/models/quotedata.py +49 -0
  352. finance_dev/models/quotesresponse.py +62 -0
  353. finance_dev/models/quotevalues.py +114 -0
  354. finance_dev/models/rating.py +193 -0
  355. finance_dev/models/ratingsaccuracy.py +242 -0
  356. finance_dev/models/replaceconfigwatchlistsop.py +40 -0
  357. finance_dev/models/replaceorderop.py +40 -0
  358. finance_dev/models/replaceordrequest_union.py +367 -0
  359. finance_dev/models/replaceordresponse.py +144 -0
  360. finance_dev/models/reportedbsitem.py +53 -0
  361. finance_dev/models/reportedfiling.py +110 -0
  362. finance_dev/models/reportedreport.py +39 -0
  363. finance_dev/models/reportingfrequency.py +16 -0
  364. finance_dev/models/revenuebreakdownaxis.py +52 -0
  365. finance_dev/models/revenuebreakdowndatapoint.py +58 -0
  366. finance_dev/models/revenuebreakdownentry.py +51 -0
  367. finance_dev/models/revenuebreakdowninner.py +75 -0
  368. finance_dev/models/revenueestimatesresponse.py +176 -0
  369. finance_dev/models/screenclause.py +70 -0
  370. finance_dev/models/screengroup.py +75 -0
  371. finance_dev/models/searchetbsymbolsop.py +40 -0
  372. finance_dev/models/searchindicesop.py +55 -0
  373. finance_dev/models/searchlogosop.py +158 -0
  374. finance_dev/models/searchmarketsymbolsop.py +80 -0
  375. finance_dev/models/searchop.py +232 -0
  376. finance_dev/models/searchsymbolitem.py +76 -0
  377. finance_dev/models/searchsymbolresponseitem.py +71 -0
  378. finance_dev/models/searchsymbolsop.py +77 -0
  379. finance_dev/models/secfiling.py +91 -0
  380. finance_dev/models/secfilingsresponse.py +39 -0
  381. finance_dev/models/sectoravgchange.py +50 -0
  382. finance_dev/models/security.py +59 -0
  383. finance_dev/models/securitytypeenum.py +16 -0
  384. finance_dev/models/shortinterestresponse.py +126 -0
  385. finance_dev/models/shortvolumeresponse.py +198 -0
  386. finance_dev/models/socialsentimentresponse.py +124 -0
  387. finance_dev/models/sortorderenum.py +13 -0
  388. finance_dev/models/spinoffsresponse.py +136 -0
  389. finance_dev/models/stockaggregatesresponse.py +92 -0
  390. finance_dev/models/stocklastquoteresponse.py +175 -0
  391. finance_dev/models/stocklasttraderesponse.py +169 -0
  392. finance_dev/models/stockohlcbar.py +85 -0
  393. finance_dev/models/stockopencloseresponse.py +109 -0
  394. finance_dev/models/stockpreviousdayresponse.py +86 -0
  395. finance_dev/models/stockquotesresponse.py +170 -0
  396. finance_dev/models/stockscreenerop.py +144 -0
  397. finance_dev/models/stockscreenerrequest.py +131 -0
  398. finance_dev/models/stockscreenerresponse.py +197 -0
  399. finance_dev/models/stocksnapshotsresponse.py +454 -0
  400. finance_dev/models/stocksplitsresponse.py +144 -0
  401. finance_dev/models/stocktradesresponse.py +164 -0
  402. finance_dev/models/supplychainresponse.py +158 -0
  403. finance_dev/models/supportresistancelevelsresponse.py +68 -0
  404. finance_dev/models/symboldetails.py +119 -0
  405. finance_dev/models/symbolerror.py +43 -0
  406. finance_dev/models/symbolinfo.py +183 -0
  407. finance_dev/models/synclogosop.py +146 -0
  408. finance_dev/models/technicalindicatorresponse.py +43 -0
  409. finance_dev/models/technicalindicatortype.py +21 -0
  410. finance_dev/models/technicalpatternsresponse.py +249 -0
  411. finance_dev/models/tenderofferidentifiertype.py +26 -0
  412. finance_dev/models/tenderoffersresponse.py +548 -0
  413. finance_dev/models/tickchartbars.py +104 -0
  414. finance_dev/models/tickresolution.py +20 -0
  415. finance_dev/models/timeinforceenum.py +26 -0
  416. finance_dev/models/tradeorderlegv2.py +164 -0
  417. finance_dev/models/tradeorderv2.py +434 -0
  418. finance_dev/models/transcriptresponse.py +162 -0
  419. finance_dev/models/transcriptsresponse.py +89 -0
  420. finance_dev/models/treasuryyieldsresponse.py +160 -0
  421. finance_dev/models/unifiedsnapshotresponse.py +308 -0
  422. finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
  423. finance_dev/models/updatewatchlistrequest_union.py +134 -0
  424. finance_dev/models/upgradesdowngradesresponse.py +98 -0
  425. finance_dev/models/usaspendingresponse.py +222 -0
  426. finance_dev/models/usptopatentsresponse.py +134 -0
  427. finance_dev/models/visaapplicationsresponse.py +228 -0
  428. finance_dev/models/watchlist.py +68 -0
  429. finance_dev/models/watchlistrequest.py +43 -0
  430. finance_dev/models/watchlistresponse.py +44 -0
  431. finance_dev/news_sdk.py +829 -0
  432. finance_dev/options.py +3443 -0
  433. finance_dev/orders.py +1907 -0
  434. finance_dev/ownership.py +1386 -0
  435. finance_dev/predictions.py +29 -0
  436. finance_dev/predictions_orders.py +852 -0
  437. finance_dev/py.typed +1 -0
  438. finance_dev/sdk.py +347 -0
  439. finance_dev/sdkconfiguration.py +50 -0
  440. finance_dev/signals.py +338 -0
  441. finance_dev/stocks.py +3131 -0
  442. finance_dev/technicalanalysis_sdk.py +1137 -0
  443. finance_dev/types/__init__.py +25 -0
  444. finance_dev/types/base64fileinput.py +44 -0
  445. finance_dev/types/basemodel.py +78 -0
  446. finance_dev/utils/__init__.py +181 -0
  447. finance_dev/utils/annotations.py +80 -0
  448. finance_dev/utils/datetimes.py +42 -0
  449. finance_dev/utils/dynamic_imports.py +55 -0
  450. finance_dev/utils/enums.py +135 -0
  451. finance_dev/utils/eventstreaming.py +327 -0
  452. finance_dev/utils/forms.py +240 -0
  453. finance_dev/utils/headers.py +137 -0
  454. finance_dev/utils/logger.py +23 -0
  455. finance_dev/utils/metadata.py +120 -0
  456. finance_dev/utils/queryparams.py +218 -0
  457. finance_dev/utils/requestbodies.py +68 -0
  458. finance_dev/utils/retries.py +373 -0
  459. finance_dev/utils/security.py +199 -0
  460. finance_dev/utils/serializers.py +327 -0
  461. finance_dev/utils/unmarshal_json_response.py +39 -0
  462. finance_dev/utils/url.py +155 -0
  463. finance_dev/utils/values.py +143 -0
  464. finance_dev/watchlist_sdk.py +1583 -0
  465. finance_dev/websocket/__init__.py +57 -0
  466. finance_dev/websocket/account.py +5 -0
  467. finance_dev/websocket/auth.py +124 -0
  468. finance_dev/websocket/chart.py +5 -0
  469. finance_dev/websocket/codec.py +66 -0
  470. finance_dev/websocket/config.py +52 -0
  471. finance_dev/websocket/errors.py +54 -0
  472. finance_dev/websocket/market.py +5 -0
  473. finance_dev/websocket/models/__init__.py +52 -0
  474. finance_dev/websocket/models/account.py +60 -0
  475. finance_dev/websocket/models/chart.py +44 -0
  476. finance_dev/websocket/models/common.py +85 -0
  477. finance_dev/websocket/models/market.py +113 -0
  478. finance_dev/websocket/resources.py +327 -0
  479. finance_dev/websocket/sdk.py +13 -0
  480. finance_dev/websocket/transport/async_connection.py +493 -0
  481. finance_dev/websocket/transport/base.py +78 -0
  482. finance_dev/websocket/transport/sync_connection.py +470 -0
  483. finance_dev-0.9.0.dist-info/METADATA +913 -0
  484. finance_dev-0.9.0.dist-info/RECORD +486 -0
  485. finance_dev-0.9.0.dist-info/WHEEL +5 -0
  486. finance_dev-0.9.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,132 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: f4c301dbf4db
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class OptionTradesResponseResultTypedDict(TypedDict):
13
+ conditions: NotRequired[List[int]]
14
+ r"""Trade conditions"""
15
+ correction: NotRequired[int]
16
+ r"""Correction indicator"""
17
+ exchange: NotRequired[int]
18
+ r"""Numeric exchange identifier supplied by the market data provider."""
19
+ participant_timestamp: NotRequired[int]
20
+ r"""Participant timestamp (nanoseconds)"""
21
+ price: NotRequired[float]
22
+ r"""Trade price"""
23
+ sip_timestamp: NotRequired[int]
24
+ r"""SIP timestamp (nanoseconds)"""
25
+ size: NotRequired[float]
26
+ r"""Trade size (contracts)"""
27
+
28
+
29
+ class OptionTradesResponseResult(BaseModel):
30
+ conditions: Optional[List[int]] = None
31
+ r"""Trade conditions"""
32
+
33
+ correction: Optional[int] = None
34
+ r"""Correction indicator"""
35
+
36
+ exchange: Optional[int] = None
37
+ r"""Numeric exchange identifier supplied by the market data provider."""
38
+
39
+ participant_timestamp: Annotated[
40
+ Optional[int], pydantic.Field(alias="participantTimestamp")
41
+ ] = None
42
+ r"""Participant timestamp (nanoseconds)"""
43
+
44
+ price: Optional[float] = None
45
+ r"""Trade price"""
46
+
47
+ sip_timestamp: Annotated[Optional[int], pydantic.Field(alias="sipTimestamp")] = None
48
+ r"""SIP timestamp (nanoseconds)"""
49
+
50
+ size: Optional[float] = None
51
+ r"""Trade size (contracts)"""
52
+
53
+ @model_serializer(mode="wrap")
54
+ def serialize_model(self, handler):
55
+ optional_fields = set(
56
+ [
57
+ "conditions",
58
+ "correction",
59
+ "exchange",
60
+ "participantTimestamp",
61
+ "price",
62
+ "sipTimestamp",
63
+ "size",
64
+ ]
65
+ )
66
+ serialized = handler(self)
67
+ m = {}
68
+
69
+ for n, f in type(self).model_fields.items():
70
+ k = f.alias or n
71
+ val = serialized.get(k, serialized.get(n))
72
+
73
+ if val != UNSET_SENTINEL:
74
+ if val is not None or k not in optional_fields:
75
+ m[k] = val
76
+
77
+ return m
78
+
79
+
80
+ class OptionTradesResponseTypedDict(TypedDict):
81
+ r"""Paginated list of historical tick-level trades for an options contract."""
82
+
83
+ next_url: NotRequired[str]
84
+ r"""URL for next page of results"""
85
+ request_id: NotRequired[str]
86
+ r"""Unique request ID"""
87
+ results: NotRequired[List[OptionTradesResponseResultTypedDict]]
88
+ r"""Array of options trade objects"""
89
+ status: NotRequired[str]
90
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
91
+
92
+
93
+ class OptionTradesResponse(BaseModel):
94
+ r"""Paginated list of historical tick-level trades for an options contract."""
95
+
96
+ next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
97
+ r"""URL for next page of results"""
98
+
99
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
100
+ r"""Unique request ID"""
101
+
102
+ results: Optional[List[OptionTradesResponseResult]] = None
103
+ r"""Array of options trade objects"""
104
+
105
+ status: Optional[str] = None
106
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
107
+
108
+ @model_serializer(mode="wrap")
109
+ def serialize_model(self, handler):
110
+ optional_fields = set(["nextUrl", "requestId", "results", "status"])
111
+ serialized = handler(self)
112
+ m = {}
113
+
114
+ for n, f in type(self).model_fields.items():
115
+ k = f.alias or n
116
+ val = serialized.get(k, serialized.get(n))
117
+
118
+ if val != UNSET_SENTINEL:
119
+ if val is not None or k not in optional_fields:
120
+ m[k] = val
121
+
122
+ return m
123
+
124
+
125
+ try:
126
+ OptionTradesResponseResult.model_rebuild()
127
+ except NameError:
128
+ pass
129
+ try:
130
+ OptionTradesResponse.model_rebuild()
131
+ except NameError:
132
+ pass
@@ -0,0 +1,29 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: bd06a8335409
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class OrderRequestTimeInForceEnum(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""How long the order should stay alive before automatically cancelling. Pick one:
11
+ - `DAY` — Active until the end of today's regular trading session, then cancelled if not filled. The default choice for most orders.
12
+ - `GTC` — Good 'Til Cancelled. Stays open across multiple trading days until you cancel it (the broker may cap at 60–90 days).
13
+ - `IOC` — Immediate Or Cancel. Fill whatever you can right now; cancel the rest immediately. Useful when you want partial fills but no resting order.
14
+ - `FOK` — Fill Or Kill. Fill the entire order immediately, or cancel it entirely. No partial fills allowed.
15
+ - `EXTENDED_HOURS` — Active during pre-market and after-hours trading sessions in addition to regular hours.
16
+ - `AT_THE_OPENING` — Execute at the official market open price; if it can't fill at open, it's cancelled.
17
+ - `AT_THE_CLOSE` — Execute at the official market close price; if it can't fill at close, it's cancelled.
18
+ """
19
+
20
+ DAY = "DAY"
21
+ GTC = "GTC"
22
+ IOC = "IOC"
23
+ FOK = "FOK"
24
+ EXTENDED_HOURS = "EXTENDED_HOURS"
25
+ AT_THE_OPENING = "AT_THE_OPENING"
26
+ AT_THE_CLOSE = "AT_THE_CLOSE"
27
+ ATO = "ATO"
28
+ ATC = "ATC"
29
+ EXT = "EXT"
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 5a18309858ca
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class OrderSideEnum(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""Which direction to trade in. Pick one:
11
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
12
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
13
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
14
+ - `BUY_TO_COVER` — buying shares to close an open short position.
15
+ """
16
+
17
+ BUY = "BUY"
18
+ SELL = "SELL"
19
+ SELL_SHORT = "SELL_SHORT"
20
+ BUY_TO_COVER = "BUY_TO_COVER"
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 92afaf43c525
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class OrderTypeEnum(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""How the order is priced. Pick one:
11
+ - `MARKET` — Execute immediately at the best available price. Fast and guaranteed to fill, but no price guarantee — the actual fill price can move during execution.
12
+ - `LIMIT` — Execute only at the limit `price` or better (lower for buys, higher for sells). Gives you price control, no execution guarantee. Requires the `price` field.
13
+ - `STOP` — Sits inactive until the market hits `stopPrice`, then converts to a market order. Common for stop-loss exits. Requires the `stopPrice` field.
14
+ - `STOP_LIMIT` — Sits inactive until the market hits `stopPrice`, then converts to a limit order at `price`. More control than `STOP`, but the limit may not fill. Requires both `stopPrice` and `price`.
15
+ """
16
+
17
+ MARKET = "MARKET"
18
+ LIMIT = "LIMIT"
19
+ STOP = "STOP"
20
+ STOP_LIMIT = "STOP_LIMIT"
@@ -0,0 +1,162 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: e736ea529ce7
3
+
4
+ from __future__ import annotations
5
+ from .securitytypeenum import SecurityTypeEnum
6
+ from datetime import date
7
+ from enum import Enum
8
+ from finance_dev import models, utils
9
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
10
+ import pydantic
11
+ from pydantic import field_serializer, model_serializer
12
+ from typing import Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class OrdLegPositionEffect(str, Enum, metaclass=utils.OpenEnumMeta):
17
+ r"""Whether this leg opens or closes a position. Use `OPEN` for a new position and `CLOSE` when closing an existing position."""
18
+
19
+ O = "O"
20
+ C = "C"
21
+ OPEN = "OPEN"
22
+ CLOSE = "CLOSE"
23
+
24
+
25
+ class OrdLegPutCall(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ r"""Option contract type. Use `CALL` for call options and `PUT` for put options."""
27
+
28
+ PUT = "PUT"
29
+ CALL = "CALL"
30
+ P = "P"
31
+ C = "C"
32
+
33
+
34
+ class OrdLegSide(str, Enum, metaclass=utils.OpenEnumMeta):
35
+ r"""Direction for this option leg. Use `BUY` when buying the leg and `SELL` when selling the leg."""
36
+
37
+ B = "B"
38
+ S = "S"
39
+ BUY = "BUY"
40
+ SELL = "SELL"
41
+
42
+
43
+ class OrdLegTypedDict(TypedDict):
44
+ r"""One option leg inside a single-leg or multi-leg order. Use this only for option orders; omit `legs` for normal stock orders."""
45
+
46
+ position_effect: OrdLegPositionEffect
47
+ r"""Whether this leg opens or closes a position. Use `OPEN` for a new position and `CLOSE` when closing an existing position."""
48
+ ratio_qty: str
49
+ r"""Leg ratio quantity as a decimal string. Use \"1\" for a standard one-to-one leg; use other ratios for spreads that require uneven leg sizing."""
50
+ security_type: SecurityTypeEnum
51
+ r"""What kind of instrument the order is for. Pick one:
52
+ - `CS` — Common Stock (equity / ETF).
53
+ - `OPT` — Option contract (call or put).
54
+ """
55
+ side: OrdLegSide
56
+ r"""Direction for this option leg. Use `BUY` when buying the leg and `SELL` when selling the leg."""
57
+ cfi_code: NotRequired[str]
58
+ r"""Optional CFI code if your system uses ISO instrument classification. Most integrations can omit this unless their option workflow requires it."""
59
+ maturity: NotRequired[date]
60
+ r"""Option expiration date in YYYY-MM-DD format. Required for option legs when the contract is not fully identified elsewhere."""
61
+ put_call: NotRequired[OrdLegPutCall]
62
+ r"""Option contract type. Use `CALL` for call options and `PUT` for put options."""
63
+ strike_price: NotRequired[str]
64
+ r"""Option strike price as a decimal string. Required for option legs when the contract is not fully identified elsewhere."""
65
+ symbol: NotRequired[str]
66
+ r"""Underlying symbol for this option leg. Omit it when the leg uses the same underlying as the order-level symbol."""
67
+
68
+
69
+ class OrdLeg(BaseModel):
70
+ r"""One option leg inside a single-leg or multi-leg order. Use this only for option orders; omit `legs` for normal stock orders."""
71
+
72
+ position_effect: Annotated[
73
+ OrdLegPositionEffect, pydantic.Field(alias="positionEffect")
74
+ ]
75
+ r"""Whether this leg opens or closes a position. Use `OPEN` for a new position and `CLOSE` when closing an existing position."""
76
+
77
+ ratio_qty: Annotated[str, pydantic.Field(alias="ratioQty")]
78
+ r"""Leg ratio quantity as a decimal string. Use \"1\" for a standard one-to-one leg; use other ratios for spreads that require uneven leg sizing."""
79
+
80
+ security_type: Annotated[SecurityTypeEnum, pydantic.Field(alias="securityType")]
81
+ r"""What kind of instrument the order is for. Pick one:
82
+ - `CS` — Common Stock (equity / ETF).
83
+ - `OPT` — Option contract (call or put).
84
+ """
85
+
86
+ side: OrdLegSide
87
+ r"""Direction for this option leg. Use `BUY` when buying the leg and `SELL` when selling the leg."""
88
+
89
+ cfi_code: Annotated[Optional[str], pydantic.Field(alias="cfiCode")] = None
90
+ r"""Optional CFI code if your system uses ISO instrument classification. Most integrations can omit this unless their option workflow requires it."""
91
+
92
+ maturity: Optional[date] = None
93
+ r"""Option expiration date in YYYY-MM-DD format. Required for option legs when the contract is not fully identified elsewhere."""
94
+
95
+ put_call: Annotated[Optional[OrdLegPutCall], pydantic.Field(alias="putCall")] = None
96
+ r"""Option contract type. Use `CALL` for call options and `PUT` for put options."""
97
+
98
+ strike_price: Annotated[Optional[str], pydantic.Field(alias="strikePrice")] = None
99
+ r"""Option strike price as a decimal string. Required for option legs when the contract is not fully identified elsewhere."""
100
+
101
+ symbol: Optional[str] = None
102
+ r"""Underlying symbol for this option leg. Omit it when the leg uses the same underlying as the order-level symbol."""
103
+
104
+ @field_serializer("position_effect")
105
+ def serialize_position_effect(self, value):
106
+ if isinstance(value, str):
107
+ try:
108
+ return models.OrdLegPositionEffect(value)
109
+ except ValueError:
110
+ return value
111
+ return value
112
+
113
+ @field_serializer("put_call")
114
+ def serialize_put_call(self, value):
115
+ if isinstance(value, str):
116
+ try:
117
+ return models.OrdLegPutCall(value)
118
+ except ValueError:
119
+ return value
120
+ return value
121
+
122
+ @field_serializer("security_type")
123
+ def serialize_security_type(self, value):
124
+ if isinstance(value, str):
125
+ try:
126
+ return models.SecurityTypeEnum(value)
127
+ except ValueError:
128
+ return value
129
+ return value
130
+
131
+ @field_serializer("side")
132
+ def serialize_side(self, value):
133
+ if isinstance(value, str):
134
+ try:
135
+ return models.OrdLegSide(value)
136
+ except ValueError:
137
+ return value
138
+ return value
139
+
140
+ @model_serializer(mode="wrap")
141
+ def serialize_model(self, handler):
142
+ optional_fields = set(
143
+ ["cfiCode", "maturity", "putCall", "strikePrice", "symbol"]
144
+ )
145
+ serialized = handler(self)
146
+ m = {}
147
+
148
+ for n, f in type(self).model_fields.items():
149
+ k = f.alias or n
150
+ val = serialized.get(k, serialized.get(n))
151
+
152
+ if val != UNSET_SENTINEL:
153
+ if val is not None or k not in optional_fields:
154
+ m[k] = val
155
+
156
+ return m
157
+
158
+
159
+ try:
160
+ OrdLeg.model_rebuild()
161
+ except NameError:
162
+ pass
@@ -0,0 +1,202 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c77c5abfae10
3
+
4
+ from __future__ import annotations
5
+ from .ordersideenum import OrderSideEnum
6
+ from datetime import datetime
7
+ from enum import Enum
8
+ from finance_dev import models, utils
9
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
10
+ import pydantic
11
+ from pydantic import field_serializer, model_serializer
12
+ from typing import Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class OrdResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
17
+ r"""Current order lifecycle state, mirroring FIX Tag 39 (OrdStatus). Most common values you'll see:
18
+ - `PENDING_NEW` — broker has not yet acknowledged the order.
19
+ - `NEW` — order is live on the exchange (working, not yet executing).
20
+ - `PARTIALLY_FILLED` — some of `qty` has filled; check `cumQty` and `leavesQty`.
21
+ - `FILLED` — the entire order has executed.
22
+ - `PENDING_CANCEL` / `CANCELED` — cancel request in progress / completed.
23
+ - `PENDING_REPLACE` / `REPLACED` — replace request in progress / completed.
24
+ - `REJECTED` — broker refused the order; see `ordRejReason` and `text`.
25
+ - `EXPIRED` — order reached its time-in-force limit without filling.
26
+ - `STOPPED`, `SUSPENDED`, `DONE_FOR_DAY`, `CALCULATED`, `ACCEPTED_FOR_BID`, `SUPERSEDED` — additional FIX states; rare in normal flows.
27
+ """
28
+
29
+ NEW = "NEW"
30
+ PARTIALLY_FILLED = "PARTIALLY_FILLED"
31
+ FILLED = "FILLED"
32
+ DONE_FOR_DAY = "DONE_FOR_DAY"
33
+ CANCELED = "CANCELED"
34
+ REPLACED = "REPLACED"
35
+ PENDING_CANCEL = "PENDING_CANCEL"
36
+ STOPPED = "STOPPED"
37
+ REJECTED = "REJECTED"
38
+ SUSPENDED = "SUSPENDED"
39
+ PENDING_NEW = "PENDING_NEW"
40
+ CALCULATED = "CALCULATED"
41
+ EXPIRED = "EXPIRED"
42
+ ACCEPTED_FOR_BID = "ACCEPTED_FOR_BID"
43
+ PENDING_REPLACE = "PENDING_REPLACE"
44
+ SUPERSEDED = "SUPERSEDED"
45
+
46
+
47
+ class OrdResponseTypedDict(TypedDict):
48
+ r"""Response returned after submitting an order request. Treat it as acknowledgement and continue monitoring order status until final fill, cancel, or rejection."""
49
+
50
+ avg_price: NotRequired[str]
51
+ r"""Average execution price for filled quantity. This is 0 until fills occur."""
52
+ cl_ord_id: NotRequired[str]
53
+ r"""Client order ID assigned to this order. Store this value to look up, replace, or cancel the order later."""
54
+ cum_qty: NotRequired[str]
55
+ r"""Quantity already filled. Compare this with qty to understand partial fills."""
56
+ leaves_qty: NotRequired[str]
57
+ r"""Quantity still open and eligible to fill. Value becomes 0 when the order is fully filled or no longer active."""
58
+ ord_rej_reason: NotRequired[str]
59
+ r"""Reason the order was rejected, when available. Use this to explain what the user needs to fix."""
60
+ qty: NotRequired[str]
61
+ r"""Original order quantity as a decimal string."""
62
+ side: NotRequired[OrderSideEnum]
63
+ r"""Which direction to trade in. Pick one:
64
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
65
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
66
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
67
+ - `BUY_TO_COVER` — buying shares to close an open short position.
68
+ """
69
+ status: NotRequired[OrdResponseStatus]
70
+ r"""Current order lifecycle state, mirroring FIX Tag 39 (OrdStatus). Most common values you'll see:
71
+ - `PENDING_NEW` — broker has not yet acknowledged the order.
72
+ - `NEW` — order is live on the exchange (working, not yet executing).
73
+ - `PARTIALLY_FILLED` — some of `qty` has filled; check `cumQty` and `leavesQty`.
74
+ - `FILLED` — the entire order has executed.
75
+ - `PENDING_CANCEL` / `CANCELED` — cancel request in progress / completed.
76
+ - `PENDING_REPLACE` / `REPLACED` — replace request in progress / completed.
77
+ - `REJECTED` — broker refused the order; see `ordRejReason` and `text`.
78
+ - `EXPIRED` — order reached its time-in-force limit without filling.
79
+ - `STOPPED`, `SUSPENDED`, `DONE_FOR_DAY`, `CALCULATED`, `ACCEPTED_FOR_BID`, `SUPERSEDED` — additional FIX states; rare in normal flows.
80
+ """
81
+ success: NotRequired[bool]
82
+ r"""Whether the order request was accepted by Aries for processing. This does not guarantee a final fill."""
83
+ symbol: NotRequired[str]
84
+ r"""Symbol submitted on the order."""
85
+ text: NotRequired[str]
86
+ r"""Broker or system message. Show this to users when it explains a status or warning."""
87
+ transact_time: NotRequired[datetime]
88
+ r"""Time Aries or the broker recorded the order transaction."""
89
+
90
+
91
+ class OrdResponse(BaseModel):
92
+ r"""Response returned after submitting an order request. Treat it as acknowledgement and continue monitoring order status until final fill, cancel, or rejection."""
93
+
94
+ avg_price: Annotated[Optional[str], pydantic.Field(alias="avgPrice")] = None
95
+ r"""Average execution price for filled quantity. This is 0 until fills occur."""
96
+
97
+ cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="clOrdId")] = None
98
+ r"""Client order ID assigned to this order. Store this value to look up, replace, or cancel the order later."""
99
+
100
+ cum_qty: Annotated[Optional[str], pydantic.Field(alias="cumQty")] = None
101
+ r"""Quantity already filled. Compare this with qty to understand partial fills."""
102
+
103
+ leaves_qty: Annotated[Optional[str], pydantic.Field(alias="leavesQty")] = None
104
+ r"""Quantity still open and eligible to fill. Value becomes 0 when the order is fully filled or no longer active."""
105
+
106
+ ord_rej_reason: Annotated[Optional[str], pydantic.Field(alias="ordRejReason")] = (
107
+ None
108
+ )
109
+ r"""Reason the order was rejected, when available. Use this to explain what the user needs to fix."""
110
+
111
+ qty: Optional[str] = None
112
+ r"""Original order quantity as a decimal string."""
113
+
114
+ side: Optional[OrderSideEnum] = None
115
+ r"""Which direction to trade in. Pick one:
116
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
117
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
118
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
119
+ - `BUY_TO_COVER` — buying shares to close an open short position.
120
+ """
121
+
122
+ status: Optional[OrdResponseStatus] = None
123
+ r"""Current order lifecycle state, mirroring FIX Tag 39 (OrdStatus). Most common values you'll see:
124
+ - `PENDING_NEW` — broker has not yet acknowledged the order.
125
+ - `NEW` — order is live on the exchange (working, not yet executing).
126
+ - `PARTIALLY_FILLED` — some of `qty` has filled; check `cumQty` and `leavesQty`.
127
+ - `FILLED` — the entire order has executed.
128
+ - `PENDING_CANCEL` / `CANCELED` — cancel request in progress / completed.
129
+ - `PENDING_REPLACE` / `REPLACED` — replace request in progress / completed.
130
+ - `REJECTED` — broker refused the order; see `ordRejReason` and `text`.
131
+ - `EXPIRED` — order reached its time-in-force limit without filling.
132
+ - `STOPPED`, `SUSPENDED`, `DONE_FOR_DAY`, `CALCULATED`, `ACCEPTED_FOR_BID`, `SUPERSEDED` — additional FIX states; rare in normal flows.
133
+ """
134
+
135
+ success: Optional[bool] = None
136
+ r"""Whether the order request was accepted by Aries for processing. This does not guarantee a final fill."""
137
+
138
+ symbol: Optional[str] = None
139
+ r"""Symbol submitted on the order."""
140
+
141
+ text: Optional[str] = None
142
+ r"""Broker or system message. Show this to users when it explains a status or warning."""
143
+
144
+ transact_time: Annotated[
145
+ Optional[datetime], pydantic.Field(alias="transactTime")
146
+ ] = None
147
+ r"""Time Aries or the broker recorded the order transaction."""
148
+
149
+ @field_serializer("side")
150
+ def serialize_side(self, value):
151
+ if isinstance(value, str):
152
+ try:
153
+ return models.OrderSideEnum(value)
154
+ except ValueError:
155
+ return value
156
+ return value
157
+
158
+ @field_serializer("status")
159
+ def serialize_status(self, value):
160
+ if isinstance(value, str):
161
+ try:
162
+ return models.OrdResponseStatus(value)
163
+ except ValueError:
164
+ return value
165
+ return value
166
+
167
+ @model_serializer(mode="wrap")
168
+ def serialize_model(self, handler):
169
+ optional_fields = set(
170
+ [
171
+ "avgPrice",
172
+ "clOrdId",
173
+ "cumQty",
174
+ "leavesQty",
175
+ "ordRejReason",
176
+ "qty",
177
+ "side",
178
+ "status",
179
+ "success",
180
+ "symbol",
181
+ "text",
182
+ "transactTime",
183
+ ]
184
+ )
185
+ serialized = handler(self)
186
+ m = {}
187
+
188
+ for n, f in type(self).model_fields.items():
189
+ k = f.alias or n
190
+ val = serialized.get(k, serialized.get(n))
191
+
192
+ if val != UNSET_SENTINEL:
193
+ if val is not None or k not in optional_fields:
194
+ m[k] = val
195
+
196
+ return m
197
+
198
+
199
+ try:
200
+ OrdResponse.model_rebuild()
201
+ except NameError:
202
+ pass
@@ -0,0 +1,39 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 8b68203d0e8e
3
+
4
+ from __future__ import annotations
5
+ from .ownershiprecord import OwnershipRecord, OwnershipRecordTypedDict
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import NotRequired, TypedDict
10
+
11
+
12
+ class OwnershipDataResponseTypedDict(TypedDict):
13
+ r"""Response containing institutional ownership records."""
14
+
15
+ data: NotRequired[List[OwnershipRecordTypedDict]]
16
+ r"""List of institutional ownership records"""
17
+
18
+
19
+ class OwnershipDataResponse(BaseModel):
20
+ r"""Response containing institutional ownership records."""
21
+
22
+ data: Optional[List[OwnershipRecord]] = None
23
+ r"""List of institutional ownership records"""
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["data"])
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