mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-28 13:01:38 +00:00
* change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit3736c311cb. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit8a30a44555. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commitbd2170e2ad. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer <me@tehcoderer.com> * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt> * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commitfb82ff7bd9. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> Co-authored-by: Diogo Sousa <montezdesousa@gmail.com> * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek <jmaslek11@gmail.com> * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer <me@tehcoderer.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek <jmaslek11@gmail.com> * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com> * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek <jmaslek11@gmail.com> * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> Co-authored-by: Sandip Saha <sandipsmoto@gmail.com> Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil <fadil.parves@gmail.com> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai <adithya.sairam1@gmail.com> * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> Co-authored-by: Diogo Sousa <montezdesousa@gmail.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: tehcoderer <me@tehcoderer.com> Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt> Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com> Co-authored-by: Sandip Saha <sandipsmoto@gmail.com> Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil <fadil.parves@gmail.com> Co-authored-by: Adi Sai <adithya.sairam1@gmail.com>
2577 lines
104 KiB
Python
2577 lines
104 KiB
Python
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
|
|
|
from typing import List, Literal, Optional, Union
|
|
|
|
from annotated_types import Ge
|
|
from openbb_core.app.model.custom_parameter import OpenBBCustomParameter
|
|
from openbb_core.app.model.obbject import OBBject
|
|
from openbb_core.app.static.container import Container
|
|
from openbb_core.app.static.decorators import validate
|
|
from openbb_core.app.static.filters import filter_inputs
|
|
from openbb_provider.abstract.data import Data
|
|
from typing_extensions import Annotated
|
|
|
|
|
|
class ROUTER_equity_fundamental(Container):
|
|
"""/equity/fundamental
|
|
balance
|
|
balance_growth
|
|
cash
|
|
cash_growth
|
|
dividends
|
|
earnings
|
|
employee_count
|
|
filings
|
|
historical_splits
|
|
income
|
|
income_growth
|
|
management
|
|
management_compensation
|
|
metrics
|
|
multiples
|
|
overview
|
|
ratios
|
|
revenue_per_geography
|
|
revenue_per_segment
|
|
transcript
|
|
"""
|
|
|
|
def __repr__(self) -> str:
|
|
return self.__doc__ or ""
|
|
|
|
@validate
|
|
def balance(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Optional[Literal["annual", "quarter"]],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
limit: Annotated[
|
|
Optional[Annotated[int, Ge(ge=0)]],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 5,
|
|
provider: Optional[Literal["fmp", "intrinio", "polygon"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Balance Sheet. Balance sheet statement.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Optional[Literal['annual', 'quarter']]
|
|
Time period of the data to return.
|
|
limit : Optional[Annotated[int, Ge(ge=0)]]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp', 'intrinio', 'polygon']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
cik : Optional[str]
|
|
Central Index Key (CIK) of the company. (provider: fmp)
|
|
filing_date : Optional[datetime.date]
|
|
Filing date of the financial statement. (provider: polygon)
|
|
filing_date_lt : Optional[datetime.date]
|
|
Filing date less than the given date. (provider: polygon)
|
|
filing_date_lte : Optional[datetime.date]
|
|
Filing date less than or equal to the given date. (provider: polygon)
|
|
filing_date_gt : Optional[datetime.date]
|
|
Filing date greater than the given date. (provider: polygon)
|
|
filing_date_gte : Optional[datetime.date]
|
|
Filing date greater than or equal to the given date. (provider: polygon)
|
|
period_of_report_date : Optional[datetime.date]
|
|
Period of report date of the financial statement. (provider: polygon)
|
|
period_of_report_date_lt : Optional[datetime.date]
|
|
Period of report date less than the given date. (provider: polygon)
|
|
period_of_report_date_lte : Optional[datetime.date]
|
|
Period of report date less than or equal to the given date. (provider: polygon)
|
|
period_of_report_date_gt : Optional[datetime.date]
|
|
Period of report date greater than the given date. (provider: polygon)
|
|
period_of_report_date_gte : Optional[datetime.date]
|
|
Period of report date greater than or equal to the given date. (provider: polygon)
|
|
include_sources : Optional[bool]
|
|
Whether to include the sources of the financial statement. (provider: polygon)
|
|
order : Optional[Literal['asc', 'desc']]
|
|
Order of the financial statement. (provider: polygon)
|
|
sort : Optional[Literal['filing_date', 'period_of_report_date']]
|
|
Sort of the financial statement. (provider: polygon)
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[BalanceSheet]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp', 'intrinio', 'polygon']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
BalanceSheet
|
|
------------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
cik : Optional[str]
|
|
Central Index Key (CIK) of the company.
|
|
currency : Optional[str]
|
|
Reporting currency.
|
|
filling_date : Optional[date]
|
|
Filling date.
|
|
accepted_date : Optional[datetime]
|
|
Accepted date.
|
|
period : Optional[str]
|
|
Reporting period of the statement.
|
|
cash_and_cash_equivalents : Optional[Annotated[float, Strict(strict=True)]]
|
|
Cash and cash equivalents
|
|
short_term_investments : Optional[Annotated[float, Strict(strict=True)]]
|
|
Short-term investments
|
|
long_term_investments : Optional[Annotated[float, Strict(strict=True)]]
|
|
Long-term investments
|
|
inventory : Optional[Annotated[float, Strict(strict=True)]]
|
|
Inventory
|
|
net_receivables : Optional[Annotated[float, Strict(strict=True)]]
|
|
Receivables, net
|
|
marketable_securities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Marketable securities
|
|
property_plant_equipment_net : Optional[Annotated[float, Strict(strict=True)]]
|
|
Property, plant and equipment, net
|
|
goodwill : Optional[Annotated[float, Strict(strict=True)]]
|
|
Goodwill
|
|
assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total assets
|
|
current_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total current assets
|
|
other_current_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other current assets
|
|
intangible_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Intangible assets
|
|
tax_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accrued income taxes
|
|
non_current_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total non-current assets
|
|
other_non_current_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other non-current assets
|
|
account_payables : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accounts payable
|
|
tax_payables : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accrued income taxes
|
|
deferred_revenue : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accrued income taxes, other deferred revenue
|
|
other_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other assets
|
|
total_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total assets
|
|
long_term_debt : Optional[Annotated[float, Strict(strict=True)]]
|
|
Long-term debt, Operating lease obligations, Long-term finance lease obligations
|
|
short_term_debt : Optional[Annotated[float, Strict(strict=True)]]
|
|
Short-term borrowings, Long-term debt due within one year, Operating lease obligations due within one year, Finance lease obligations due within one year
|
|
liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total liabilities
|
|
other_current_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other current liabilities
|
|
current_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total current liabilities
|
|
total_liabilities_and_total_equity : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total liabilities and total equity
|
|
other_non_current_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other non-current liabilities
|
|
non_current_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total non-current liabilities
|
|
total_liabilities_and_stockholders_equity : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total liabilities and stockholders' equity
|
|
other_stockholder_equity : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other stockholders equity
|
|
total_stockholders_equity : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total stockholders' equity
|
|
other_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other liabilities
|
|
total_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total liabilities
|
|
common_stock : Optional[Annotated[float, Strict(strict=True)]]
|
|
Common stock
|
|
preferred_stock : Optional[Annotated[float, Strict(strict=True)]]
|
|
Preferred stock
|
|
accumulated_other_comprehensive_income_loss : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accumulated other comprehensive income (loss)
|
|
retained_earnings : Optional[Annotated[float, Strict(strict=True)]]
|
|
Retained earnings
|
|
minority_interest : Optional[Annotated[float, Strict(strict=True)]]
|
|
Minority interest
|
|
total_equity : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total equity
|
|
calendar_year : Optional[int]
|
|
Calendar Year (provider: fmp)
|
|
cash_and_short_term_investments : Optional[int]
|
|
Cash and Short Term Investments (provider: fmp)
|
|
goodwill_and_intangible_assets : Optional[int]
|
|
Goodwill and Intangible Assets (provider: fmp)
|
|
deferred_revenue_non_current : Optional[int]
|
|
Deferred Revenue Non Current (provider: fmp)
|
|
total_investments : Optional[int]
|
|
Total investments (provider: fmp)
|
|
capital_lease_obligations : Optional[int]
|
|
Capital lease obligations (provider: fmp)
|
|
deferred_tax_liabilities_non_current : Optional[int]
|
|
Deferred Tax Liabilities Non Current (provider: fmp)
|
|
total_debt : Optional[int]
|
|
Total Debt (provider: fmp)
|
|
net_debt : Optional[int]
|
|
Net Debt (provider: fmp)
|
|
link : Optional[str]
|
|
Link to the statement. (provider: fmp)
|
|
final_link : Optional[str]
|
|
Link to the final statement. (provider: fmp)
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.balance(symbol="AAPL", period="annual", limit=5)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/balance",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def balance_growth(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
limit: Annotated[
|
|
int,
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 10,
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Balance Sheet Statement Growth. Information about the growth of the company balance sheet.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
limit : int
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[BalanceSheetGrowth]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
BalanceSheetGrowth
|
|
------------------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
period : str
|
|
Reporting period.
|
|
growth_cash_and_cash_equivalents : float
|
|
Growth rate of cash and cash equivalents.
|
|
growth_short_term_investments : float
|
|
Growth rate of short-term investments.
|
|
growth_cash_and_short_term_investments : float
|
|
Growth rate of cash and short-term investments.
|
|
growth_net_receivables : float
|
|
Growth rate of net receivables.
|
|
growth_inventory : float
|
|
Growth rate of inventory.
|
|
growth_other_current_assets : float
|
|
Growth rate of other current assets.
|
|
growth_total_current_assets : float
|
|
Growth rate of total current assets.
|
|
growth_property_plant_equipment_net : float
|
|
Growth rate of net property, plant, and equipment.
|
|
growth_goodwill : float
|
|
Growth rate of goodwill.
|
|
growth_intangible_assets : float
|
|
Growth rate of intangible assets.
|
|
growth_goodwill_and_intangible_assets : float
|
|
Growth rate of goodwill and intangible assets.
|
|
growth_long_term_investments : float
|
|
Growth rate of long-term investments.
|
|
growth_tax_assets : float
|
|
Growth rate of tax assets.
|
|
growth_other_non_current_assets : float
|
|
Growth rate of other non-current assets.
|
|
growth_total_non_current_assets : float
|
|
Growth rate of total non-current assets.
|
|
growth_other_assets : float
|
|
Growth rate of other assets.
|
|
growth_total_assets : float
|
|
Growth rate of total assets.
|
|
growth_account_payables : float
|
|
Growth rate of accounts payable.
|
|
growth_short_term_debt : float
|
|
Growth rate of short-term debt.
|
|
growth_tax_payables : float
|
|
Growth rate of tax payables.
|
|
growth_deferred_revenue : float
|
|
Growth rate of deferred revenue.
|
|
growth_other_current_liabilities : float
|
|
Growth rate of other current liabilities.
|
|
growth_total_current_liabilities : float
|
|
Growth rate of total current liabilities.
|
|
growth_long_term_debt : float
|
|
Growth rate of long-term debt.
|
|
growth_deferred_revenue_non_current : float
|
|
Growth rate of non-current deferred revenue.
|
|
growth_deferrred_tax_liabilities_non_current : float
|
|
Growth rate of non-current deferred tax liabilities.
|
|
growth_other_non_current_liabilities : float
|
|
Growth rate of other non-current liabilities.
|
|
growth_total_non_current_liabilities : float
|
|
Growth rate of total non-current liabilities.
|
|
growth_other_liabilities : float
|
|
Growth rate of other liabilities.
|
|
growth_total_liabilities : float
|
|
Growth rate of total liabilities.
|
|
growth_common_stock : float
|
|
Growth rate of common stock.
|
|
growth_retained_earnings : float
|
|
Growth rate of retained earnings.
|
|
growth_accumulated_other_comprehensive_income_loss : float
|
|
Growth rate of accumulated other comprehensive income/loss.
|
|
growth_othertotal_stockholders_equity : float
|
|
Growth rate of other total stockholders' equity.
|
|
growth_total_stockholders_equity : float
|
|
Growth rate of total stockholders' equity.
|
|
growth_total_liabilities_and_stockholders_equity : float
|
|
Growth rate of total liabilities and stockholders' equity.
|
|
growth_total_investments : float
|
|
Growth rate of total investments.
|
|
growth_total_debt : float
|
|
Growth rate of total debt.
|
|
growth_net_debt : float
|
|
Growth rate of net debt.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.balance_growth(symbol="AAPL", limit=10)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/balance_growth",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def cash(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Optional[Literal["annual", "quarter"]],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
limit: Annotated[
|
|
Optional[Annotated[int, Ge(ge=0)]],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 5,
|
|
provider: Optional[Literal["fmp", "intrinio", "polygon"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Cash Flow Statement. Information about the cash flow statement.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Optional[Literal['annual', 'quarter']]
|
|
Time period of the data to return.
|
|
limit : Optional[Annotated[int, Ge(ge=0)]]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp', 'intrinio', 'polygon']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
cik : Optional[str]
|
|
Central Index Key (CIK) of the company. (provider: fmp)
|
|
filing_date : Optional[datetime.date]
|
|
Filing date of the financial statement. (provider: polygon)
|
|
filing_date_lt : Optional[datetime.date]
|
|
Filing date less than the given date. (provider: polygon)
|
|
filing_date_lte : Optional[datetime.date]
|
|
Filing date less than or equal to the given date. (provider: polygon)
|
|
filing_date_gt : Optional[datetime.date]
|
|
Filing date greater than the given date. (provider: polygon)
|
|
filing_date_gte : Optional[datetime.date]
|
|
Filing date greater than or equal to the given date. (provider: polygon)
|
|
period_of_report_date : Optional[datetime.date]
|
|
Period of report date of the financial statement. (provider: polygon)
|
|
period_of_report_date_lt : Optional[datetime.date]
|
|
Period of report date less than the given date. (provider: polygon)
|
|
period_of_report_date_lte : Optional[datetime.date]
|
|
Period of report date less than or equal to the given date. (provider: polygon)
|
|
period_of_report_date_gt : Optional[datetime.date]
|
|
Period of report date greater than the given date. (provider: polygon)
|
|
period_of_report_date_gte : Optional[datetime.date]
|
|
Period of report date greater than or equal to the given date. (provider: polygon)
|
|
include_sources : Optional[bool]
|
|
Whether to include the sources of the financial statement. (provider: polygon)
|
|
order : Optional[Literal['asc', 'desc']]
|
|
Order of the financial statement. (provider: polygon)
|
|
sort : Optional[Literal['filing_date', 'period_of_report_date']]
|
|
Sort of the financial statement. (provider: polygon)
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[CashFlowStatement]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp', 'intrinio', 'polygon']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
CashFlowStatement
|
|
-----------------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
period : Optional[str]
|
|
Reporting period of the statement.
|
|
cik : Optional[str]
|
|
Central Index Key (CIK) of the company.
|
|
net_income : Optional[Annotated[float, Strict(strict=True)]]
|
|
Net income.
|
|
depreciation_and_amortization : Optional[Annotated[float, Strict(strict=True)]]
|
|
Depreciation and amortization.
|
|
stock_based_compensation : Optional[Annotated[float, Strict(strict=True)]]
|
|
Stock based compensation.
|
|
deferred_income_tax : Optional[Annotated[float, Strict(strict=True)]]
|
|
Deferred income tax.
|
|
other_non_cash_items : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other non-cash items.
|
|
changes_in_operating_assets_and_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Changes in operating assets and liabilities.
|
|
accounts_receivables : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accounts receivables.
|
|
inventory : Optional[Annotated[float, Strict(strict=True)]]
|
|
Inventory.
|
|
vendor_non_trade_receivables : Optional[Annotated[float, Strict(strict=True)]]
|
|
Vendor non-trade receivables.
|
|
other_current_and_non_current_assets : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other current and non-current assets.
|
|
accounts_payables : Optional[Annotated[float, Strict(strict=True)]]
|
|
Accounts payables.
|
|
deferred_revenue : Optional[Annotated[float, Strict(strict=True)]]
|
|
Deferred revenue.
|
|
other_current_and_non_current_liabilities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other current and non-current liabilities.
|
|
net_cash_flow_from_operating_activities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Net cash flow from operating activities.
|
|
purchases_of_marketable_securities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Purchases of investments.
|
|
sales_from_maturities_of_investments : Optional[Annotated[float, Strict(strict=True)]]
|
|
Sales and maturities of investments.
|
|
investments_in_property_plant_and_equipment : Optional[Annotated[float, Strict(strict=True)]]
|
|
Investments in property, plant, and equipment.
|
|
payments_from_acquisitions : Optional[Annotated[float, Strict(strict=True)]]
|
|
Acquisitions, net of cash acquired, and other
|
|
other_investing_activities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other investing activities
|
|
net_cash_flow_from_investing_activities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Net cash used for investing activities.
|
|
taxes_paid_on_net_share_settlement : Optional[Annotated[float, Strict(strict=True)]]
|
|
Taxes paid on net share settlement of equity awards.
|
|
dividends_paid : Optional[Annotated[float, Strict(strict=True)]]
|
|
Payments for dividends and dividend equivalents
|
|
common_stock_repurchased : Optional[Annotated[float, Strict(strict=True)]]
|
|
Payments related to repurchase of common stock
|
|
debt_proceeds : Optional[Annotated[float, Strict(strict=True)]]
|
|
Proceeds from issuance of term debt
|
|
debt_repayment : Optional[Annotated[float, Strict(strict=True)]]
|
|
Payments of long-term debt
|
|
other_financing_activities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other financing activities, net
|
|
net_cash_flow_from_financing_activities : Optional[Annotated[float, Strict(strict=True)]]
|
|
Net cash flow from financing activities.
|
|
net_change_in_cash : Optional[Annotated[float, Strict(strict=True)]]
|
|
Net increase (decrease) in cash, cash equivalents, and restricted cash
|
|
reported_currency : Optional[str]
|
|
Reported currency in the statement. (provider: fmp)
|
|
filling_date : Optional[date]
|
|
Filling date. (provider: fmp)
|
|
accepted_date : Optional[datetime]
|
|
Accepted date. (provider: fmp)
|
|
calendar_year : Optional[int]
|
|
Calendar year. (provider: fmp)
|
|
change_in_working_capital : Optional[int]
|
|
Change in working capital. (provider: fmp)
|
|
other_working_capital : Optional[int]
|
|
Other working capital. (provider: fmp)
|
|
common_stock_issued : Optional[int]
|
|
Common stock issued. (provider: fmp)
|
|
effect_of_forex_changes_on_cash : Optional[int]
|
|
Effect of forex changes on cash. (provider: fmp)
|
|
cash_at_beginning_of_period : Optional[int]
|
|
Cash at beginning of period. (provider: fmp)
|
|
cash_at_end_of_period : Optional[int]
|
|
Cash, cash equivalents, and restricted cash at end of period (provider: fmp)
|
|
operating_cash_flow : Optional[int]
|
|
Operating cash flow. (provider: fmp)
|
|
capital_expenditure : Optional[int]
|
|
Capital expenditure. (provider: fmp)
|
|
free_cash_flow : Optional[int]
|
|
Free cash flow. (provider: fmp)
|
|
link : Optional[str]
|
|
Link to the statement. (provider: fmp)
|
|
final_link : Optional[str]
|
|
Link to the final statement. (provider: fmp)
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.cash(symbol="AAPL", period="annual", limit=5)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/cash",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def cash_growth(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
limit: Annotated[
|
|
int,
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 10,
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Cash Flow Statement Growth. Information about the growth of the company cash flow statement.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
limit : int
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[CashFlowStatementGrowth]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
CashFlowStatementGrowth
|
|
-----------------------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
period : str
|
|
Period the statement is returned for.
|
|
growth_net_income : float
|
|
Growth rate of net income.
|
|
growth_depreciation_and_amortization : float
|
|
Growth rate of depreciation and amortization.
|
|
growth_deferred_income_tax : float
|
|
Growth rate of deferred income tax.
|
|
growth_stock_based_compensation : float
|
|
Growth rate of stock-based compensation.
|
|
growth_change_in_working_capital : float
|
|
Growth rate of change in working capital.
|
|
growth_accounts_receivables : float
|
|
Growth rate of accounts receivables.
|
|
growth_inventory : float
|
|
Growth rate of inventory.
|
|
growth_accounts_payables : float
|
|
Growth rate of accounts payables.
|
|
growth_other_working_capital : float
|
|
Growth rate of other working capital.
|
|
growth_other_non_cash_items : float
|
|
Growth rate of other non-cash items.
|
|
growth_net_cash_provided_by_operating_activities : float
|
|
Growth rate of net cash provided by operating activities.
|
|
growth_investments_in_property_plant_and_equipment : float
|
|
Growth rate of investments in property, plant, and equipment.
|
|
growth_acquisitions_net : float
|
|
Growth rate of net acquisitions.
|
|
growth_purchases_of_investments : float
|
|
Growth rate of purchases of investments.
|
|
growth_sales_maturities_of_investments : float
|
|
Growth rate of sales maturities of investments.
|
|
growth_other_investing_activities : float
|
|
Growth rate of other investing activities.
|
|
growth_net_cash_used_for_investing_activities : float
|
|
Growth rate of net cash used for investing activities.
|
|
growth_debt_repayment : float
|
|
Growth rate of debt repayment.
|
|
growth_common_stock_issued : float
|
|
Growth rate of common stock issued.
|
|
growth_common_stock_repurchased : float
|
|
Growth rate of common stock repurchased.
|
|
growth_dividends_paid : float
|
|
Growth rate of dividends paid.
|
|
growth_other_financing_activities : float
|
|
Growth rate of other financing activities.
|
|
growth_net_cash_used_provided_by_financing_activities : float
|
|
Growth rate of net cash used/provided by financing activities.
|
|
growth_effect_of_forex_changes_on_cash : float
|
|
Growth rate of the effect of foreign exchange changes on cash.
|
|
growth_net_change_in_cash : float
|
|
Growth rate of net change in cash.
|
|
growth_cash_at_end_of_period : float
|
|
Growth rate of cash at the end of the period.
|
|
growth_cash_at_beginning_of_period : float
|
|
Growth rate of cash at the beginning of the period.
|
|
growth_operating_cash_flow : float
|
|
Growth rate of operating cash flow.
|
|
growth_capital_expenditure : float
|
|
Growth rate of capital expenditure.
|
|
growth_free_cash_flow : float
|
|
Growth rate of free cash flow.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.cash_growth(symbol="AAPL", limit=10)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/cash_growth",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def dividends(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Historical Dividends. Historical dividends data for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[HistoricalDividends]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
HistoricalDividends
|
|
-------------------
|
|
date : date
|
|
The date of the data.
|
|
label : str
|
|
Label of the historical dividends.
|
|
adj_dividend : float
|
|
Adjusted dividend of the historical dividends.
|
|
dividend : float
|
|
Dividend of the historical dividends.
|
|
record_date : Optional[date]
|
|
Record date of the historical dividends.
|
|
payment_date : Optional[date]
|
|
Payment date of the historical dividends.
|
|
declaration_date : Optional[date]
|
|
Declaration date of the historical dividends.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.dividends(symbol="AAPL")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/dividends",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def earnings(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
limit: Annotated[
|
|
Optional[int],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 50,
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Historical Earnings for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
limit : Optional[int]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[CalendarEarnings]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
CalendarEarnings
|
|
----------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
eps : Optional[float]
|
|
EPS of the earnings calendar.
|
|
eps_estimated : Optional[float]
|
|
Estimated EPS of the earnings calendar.
|
|
time : str
|
|
Time of the earnings calendar.
|
|
revenue : Optional[float]
|
|
Revenue of the earnings calendar.
|
|
revenue_estimated : Optional[float]
|
|
Estimated revenue of the earnings calendar.
|
|
updated_from_date : Optional[date]
|
|
Updated from date of the earnings calendar.
|
|
fiscal_date_ending : date
|
|
Fiscal date ending of the earnings calendar.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.calendar.earnings(symbol="AAPL", limit=50)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/earnings",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def employee_count(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Historical Employees. Historical number of employees.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[HistoricalEmployees]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
HistoricalEmployees
|
|
-------------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data.
|
|
cik : int
|
|
CIK of the company to retrieve the historical employees of.
|
|
acceptance_time : datetime
|
|
Time of acceptance of the company employee.
|
|
period_of_report : date
|
|
Date of reporting of the company employee.
|
|
company_name : str
|
|
Registered name of the company to retrieve the historical employees of.
|
|
form_type : str
|
|
Form type of the company employee.
|
|
filing_date : date
|
|
Filing date of the company employee
|
|
employee_count : int
|
|
Count of employees of the company.
|
|
source : str
|
|
Source URL which retrieves this data for the company.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.employee_count(symbol="AAPL")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/employee_count",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def filings(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, None, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
] = None,
|
|
limit: Annotated[
|
|
Optional[int],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 300,
|
|
provider: Optional[Literal["fmp", "sec"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Company Filings. Company filings data.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : Optional[str]
|
|
Symbol to get data for.
|
|
limit : Optional[int]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp', 'sec']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
type : Optional[Union[Literal['1', '1-A', '1-E', '1-K', '1-N', '1-SA', '1-U', '1-Z', '10', '10-D', '10-K', '10-M', '10-Q', '11-K', '12b-25', '13F', '13H', '144', '15', '15F', '17-H', '18', '18-K', '19b-4', '19b-4(e)', '19b-7', '2-E', '20-F', '24F-2', '25', '3', '4', '40-F', '5', '6-K', '7-M', '8-A', '8-K', '8-M', '9-M', 'ABS-15G', 'ABS-EE', 'ABS DD-15E', 'ADV', 'ADV-E', 'ADV-H', 'ADV-NR', 'ADV-W', 'ATS', 'ATS-N', 'ATS-R', 'BD', 'BD-N', 'BDW', 'C', 'CA-1', 'CB', 'CFPORTAL', 'CRS', 'CUSTODY', 'D', 'F-1', 'F-10', 'F-3', 'F-4', 'F-6', 'F-7', 'F-8', 'F-80', 'F-N', 'F-X', 'ID', 'MA', 'MA-I', 'MA-NR', 'MA-W', 'MSD', 'MSDW', 'N-14', 'N-17D-1', 'N-17f-1', 'N-17f-2', 'N-18f-1', 'N-1A', 'N-2', 'N-23c-3', 'N-27D-1', 'N-3', 'N-4', 'N-5', 'N-54A', 'N-54C', 'N-6', 'N-6EI-1', 'N-6F', 'N-8A', 'N-8B-2', 'N-8B-4', 'N-8F', 'N-CEN'], Literal['1', '1-A', '1-A POS', '1-A-W', '1-E', '1-E AD', '1-K', '1-SA', '1-U', '1-Z', '1-Z-W', '10-12B', '10-12G', '10-D', '10-K', '10-KT', '10-Q', '10-QT', '11-K', '11-KT', '13F-HR', '13F-NT', '13FCONP', '144', '15-12B', '15-12G', '15-15D', '15F-12B', '15F-12G', '15F-15D', '18-12B', '18-K', '19B-4E', '2-A', '2-AF', '2-E', '20-F', '20FR12B', '20FR12G', '24F-2NT', '25', '25-NSE', '253G1', '253G2', '253G3', '253G4', '3', '305B2', '34-12H', '4', '40-17F1', '40-17F2', '40-17G', '40-17GCS', '40-202A', '40-203A', '40-206A', '40-24B2', '40-33', '40-6B', '40-8B25', '40-8F-2', '40-APP', '40-F', '40-OIP', '40FR12B', '40FR12G', '424A', '424B1', '424B2', '424B3', '424B4', '424B5', '424B7', '424B8', '424H', '425', '485APOS', '485BPOS', '485BXT', '486APOS', '486BPOS', '486BXT', '487', '497', '497AD', '497H2', '497J', '497K', '497VPI', '497VPU', '5', '6-K', '6B NTC', '6B ORDR', '8-A12B', '8-A12G', '8-K', '8-K12B', '8-K12G3', '8-K15D5', '8-M', '8F-2 NTC', '8F-2 ORDR', '9-M', 'ABS-15G', 'ABS-EE', 'ADN-MTL', 'ADV-E', 'ADV-H-C', 'ADV-H-T', 'ADV-NR', 'ANNLRPT', 'APP NTC', 'APP ORDR', 'APP WD', 'APP WDG', 'ARS', 'ATS-N', 'ATS-N-C', 'ATS-N/UA', 'AW', 'AW WD', 'C', 'C-AR', 'C-AR-W', 'C-TR', 'C-TR-W', 'C-U', 'C-U-W', 'C-W', 'CB', 'CERT', 'CERTARCA', 'CERTBATS', 'CERTCBO', 'CERTNAS', 'CERTNYS', 'CERTPAC', 'CFPORTAL', 'CFPORTAL-W', 'CORRESP', 'CT ORDER', 'D', 'DEF 14A', 'DEF 14C', 'DEFA14A', 'DEFA14C', 'DEFC14A', 'DEFC14C', 'DEFM14A', 'DEFM14C', 'DEFN14A', 'DEFR14A', 'DEFR14C', 'DEL AM', 'DFAN14A', 'DFRN14A', 'DOS', 'DOSLTR', 'DRS', 'DRSLTR', 'DSTRBRPT', 'EFFECT', 'F-1', 'F-10', 'F-10EF', 'F-10POS', 'F-1MEF', 'F-3', 'F-3ASR', 'F-3D', 'F-3DPOS', 'F-3MEF', 'F-4', 'F-4 POS', 'F-4MEF', 'F-6', 'F-6 POS', 'F-6EF', 'F-7', 'F-7 POS', 'F-8', 'F-8 POS', 'F-80', 'F-80POS', 'F-9', 'F-9 POS', 'F-N', 'F-X', 'FOCUSN', 'FWP', 'G-405', 'G-405N', 'G-FIN', 'G-FINW', 'IRANNOTICE', 'MA', 'MA-A', 'MA-I', 'MA-W', 'MSD', 'MSDCO', 'MSDW', 'N-1', 'N-14', 'N-14 8C', 'N-14MEF', 'N-18F1', 'N-1A', 'N-2', 'N-2 POSASR', 'N-23C-2', 'N-23C3A', 'N-23C3B', 'N-23C3C', 'N-2ASR', 'N-2MEF', 'N-30B-2', 'N-30D', 'N-4', 'N-5', 'N-54A', 'N-54C', 'N-6', 'N-6F', 'N-8A', 'N-8B-2', 'N-8F', 'N-8F NTC', 'N-8F ORDR', 'N-CEN', 'N-CR', 'N-CSR', 'N-CSRS', 'N-MFP', 'N-MFP1', 'N-MFP2', 'N-PX', 'N-Q', 'N-VP', 'N-VPFS', 'NO ACT', 'NPORT-EX', 'NPORT-NP', 'NPORT-P', 'NRSRO-CE', 'NRSRO-UPD', 'NSAR-A', 'NSAR-AT', 'NSAR-B', 'NSAR-BT', 'NSAR-U', 'NT 10-D', 'NT 10-K', 'NT 10-Q', 'NT 11-K', 'NT 20-F', 'NT N-CEN', 'NT N-MFP', 'NT N-MFP1', 'NT N-MFP2', 'NT NPORT-EX', 'NT NPORT-P', 'NT-NCEN', 'NT-NCSR', 'NT-NSAR', 'NTFNCEN', 'NTFNCSR', 'NTFNSAR', 'NTN 10D', 'NTN 10K', 'NTN 10Q', 'NTN 20F', 'OIP NTC', 'OIP ORDR', 'POS 8C', 'POS AM', 'POS AMI', 'POS EX', 'POS462B', 'POS462C', 'POSASR', 'PRE 14A', 'PRE 14C', 'PREC14A', 'PREC14C', 'PREM14A', 'PREM14C', 'PREN14A', 'PRER14A', 'PRER14C', 'PRRN14A', 'PX14A6G', 'PX14A6N', 'QRTLYRPT', 'QUALIF', 'REG-NR', 'REVOKED', 'RW', 'RW WD', 'S-1', 'S-11', 'S-11MEF', 'S-1MEF', 'S-20', 'S-3', 'S-3ASR', 'S-3D', 'S-3DPOS', 'S-3MEF', 'S-4', 'S-4 POS', 'S-4EF', 'S-4MEF', 'S-6', 'S-8', 'S-8 POS', 'S-B', 'S-BMEF', 'SBSE', 'SBSE-A', 'SBSE-BD', 'SBSE-C', 'SBSE-W', 'SC 13D', 'SC 13E1', 'SC 13E3', 'SC 13G', 'SC 14D9', 'SC 14F1', 'SC 14N', 'SC TO-C', 'SC TO-I', 'SC TO-T', 'SC13E4F', 'SC14D1F', 'SC14D9C', 'SC14D9F', 'SD', 'SDR', 'SE', 'SEC ACTION', 'SEC STAFF ACTION', 'SEC STAFF LETTER', 'SF-1', 'SF-3', 'SL', 'SP 15D2', 'STOP ORDER', 'SUPPL', 'T-3', 'TA-1', 'TA-2', 'TA-W', 'TACO', 'TH', 'TTW', 'UNDER', 'UPLOAD', 'WDL-REQ', 'X-17A-5']]]
|
|
Type of the SEC filing form. (provider: fmp, sec)
|
|
page : Optional[int]
|
|
Page number of the results. (provider: fmp)
|
|
cik : Optional[Union[str, int]]
|
|
Lookup filings by Central Index Key (CIK) instead of by symbol. (provider: sec)
|
|
use_cache : bool
|
|
Whether or not to use cache. If True, cache will store for one day. (provider: sec)
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[CompanyFilings]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp', 'sec']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
CompanyFilings
|
|
--------------
|
|
date : date
|
|
The date of the data. In this case, it is the date of the filing.
|
|
type : str
|
|
Type of document.
|
|
link : str
|
|
URL to the document.
|
|
symbol : Optional[str]
|
|
The ticker symbol of the company. (provider: fmp)
|
|
cik : Optional[str]
|
|
CIK of the SEC filing. (provider: fmp)
|
|
accepted_date : Optional[datetime]
|
|
Accepted date of the SEC filing. (provider: fmp, sec)
|
|
final_link : Optional[str]
|
|
Final link of the SEC filing. (provider: fmp)
|
|
report_date : Optional[date]
|
|
The date of the filing. (provider: sec)
|
|
act : Optional[Union[str, int]]
|
|
The SEC Act number. (provider: sec)
|
|
items : Optional[Union[str, float]]
|
|
The SEC Item numbers. (provider: sec)
|
|
primary_doc_description : Optional[str]
|
|
The description of the primary document. (provider: sec)
|
|
primary_doc : Optional[str]
|
|
The filename of the primary document. (provider: sec)
|
|
accession_number : Optional[Union[str, int]]
|
|
The accession number. (provider: sec)
|
|
file_number : Optional[Union[str, int]]
|
|
The file number. (provider: sec)
|
|
film_number : Optional[Union[str, int]]
|
|
The film number. (provider: sec)
|
|
is_inline_xbrl : Optional[Union[str, int]]
|
|
Whether the filing is an inline XBRL filing. (provider: sec)
|
|
is_xbrl : Optional[Union[str, int]]
|
|
Whether the filing is an XBRL filing. (provider: sec)
|
|
size : Optional[Union[str, int]]
|
|
The size of the filing. (provider: sec)
|
|
complete_submission_url : Optional[str]
|
|
The URL to the complete filing submission. (provider: sec)
|
|
filing_detail_url : Optional[str]
|
|
The URL to the filing details. (provider: sec)
|
|
xml : Optional[str]
|
|
The URL to the primary XML document. (provider: sec)
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.filings(limit=300)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/filings",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def historical_splits(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Historical Stock Splits. Historical stock splits data.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[HistoricalStockSplits]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
HistoricalStockSplits
|
|
---------------------
|
|
date : date
|
|
The date of the data.
|
|
label : str
|
|
Label of the historical stock splits.
|
|
numerator : float
|
|
Numerator of the historical stock splits.
|
|
denominator : float
|
|
Denominator of the historical stock splits.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.historical_splits(symbol="AAPL")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/historical_splits",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def income(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Optional[Literal["annual", "quarter"]],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
limit: Annotated[
|
|
Optional[Annotated[int, Ge(ge=0)]],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 5,
|
|
provider: Optional[Literal["fmp", "intrinio", "polygon"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Income Statement. Report on a company's financial performance.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Optional[Literal['annual', 'quarter']]
|
|
Time period of the data to return.
|
|
limit : Optional[Annotated[int, Ge(ge=0)]]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp', 'intrinio', 'polygon']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
cik : Optional[str]
|
|
The CIK of the company if no symbol is provided. (provider: fmp)
|
|
filing_date : Optional[datetime.date]
|
|
Filing date of the financial statement. (provider: polygon)
|
|
filing_date_lt : Optional[datetime.date]
|
|
Filing date less than the given date. (provider: polygon)
|
|
filing_date_lte : Optional[datetime.date]
|
|
Filing date less than or equal to the given date. (provider: polygon)
|
|
filing_date_gt : Optional[datetime.date]
|
|
Filing date greater than the given date. (provider: polygon)
|
|
filing_date_gte : Optional[datetime.date]
|
|
Filing date greater than or equal to the given date. (provider: polygon)
|
|
period_of_report_date : Optional[datetime.date]
|
|
Period of report date of the financial statement. (provider: polygon)
|
|
period_of_report_date_lt : Optional[datetime.date]
|
|
Period of report date less than the given date. (provider: polygon)
|
|
period_of_report_date_lte : Optional[datetime.date]
|
|
Period of report date less than or equal to the given date. (provider: polygon)
|
|
period_of_report_date_gt : Optional[datetime.date]
|
|
Period of report date greater than the given date. (provider: polygon)
|
|
period_of_report_date_gte : Optional[datetime.date]
|
|
Period of report date greater than or equal to the given date. (provider: polygon)
|
|
include_sources : Optional[bool]
|
|
Whether to include the sources of the financial statement. (provider: polygon)
|
|
order : Optional[Literal['asc', 'desc']]
|
|
Order of the financial statement. (provider: polygon)
|
|
sort : Optional[Literal['filing_date', 'period_of_report_date']]
|
|
Sort of the financial statement. (provider: polygon)
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[IncomeStatement]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp', 'intrinio', 'polygon']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
IncomeStatement
|
|
---------------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data. In this case, the date of the income statement.
|
|
period : Optional[str]
|
|
Period of the income statement.
|
|
cik : Optional[str]
|
|
Central Index Key.
|
|
revenue : Optional[Annotated[float, Strict(strict=True)]]
|
|
Revenue.
|
|
cost_of_revenue : Optional[Annotated[float, Strict(strict=True)]]
|
|
Cost of revenue.
|
|
gross_profit : Optional[Annotated[float, Strict(strict=True)]]
|
|
Gross profit.
|
|
cost_and_expenses : Optional[Annotated[float, Strict(strict=True)]]
|
|
Cost and expenses.
|
|
gross_profit_ratio : Optional[float]
|
|
Gross profit ratio.
|
|
research_and_development_expenses : Optional[Annotated[float, Strict(strict=True)]]
|
|
Research and development expenses.
|
|
general_and_administrative_expenses : Optional[Annotated[float, Strict(strict=True)]]
|
|
General and administrative expenses.
|
|
selling_and_marketing_expenses : Optional[float]
|
|
Selling and marketing expenses.
|
|
selling_general_and_administrative_expenses : Optional[Annotated[float, Strict(strict=True)]]
|
|
Selling, general and administrative expenses.
|
|
other_expenses : Optional[Annotated[float, Strict(strict=True)]]
|
|
Other expenses.
|
|
operating_expenses : Optional[Annotated[float, Strict(strict=True)]]
|
|
Operating expenses.
|
|
depreciation_and_amortization : Optional[Annotated[float, Strict(strict=True)]]
|
|
Depreciation and amortization.
|
|
ebitda : Optional[Annotated[float, Strict(strict=True)]]
|
|
Earnings before interest, taxes, depreciation and amortization.
|
|
ebitda_ratio : Optional[float]
|
|
Earnings before interest, taxes, depreciation and amortization ratio.
|
|
operating_income : Optional[Annotated[float, Strict(strict=True)]]
|
|
Operating income.
|
|
operating_income_ratio : Optional[float]
|
|
Operating income ratio.
|
|
interest_income : Optional[Annotated[float, Strict(strict=True)]]
|
|
Interest income.
|
|
interest_expense : Optional[Annotated[float, Strict(strict=True)]]
|
|
Interest expense.
|
|
total_other_income_expenses_net : Optional[Annotated[float, Strict(strict=True)]]
|
|
Total other income expenses net.
|
|
income_before_tax : Optional[Annotated[float, Strict(strict=True)]]
|
|
Income before tax.
|
|
income_before_tax_ratio : Optional[float]
|
|
Income before tax ratio.
|
|
income_tax_expense : Optional[Annotated[float, Strict(strict=True)]]
|
|
Income tax expense.
|
|
net_income : Optional[Annotated[float, Strict(strict=True)]]
|
|
Net income.
|
|
net_income_ratio : Optional[float]
|
|
Net income ratio.
|
|
eps : Optional[float]
|
|
Earnings per share.
|
|
eps_diluted : Optional[float]
|
|
Earnings per share diluted.
|
|
weighted_average_shares_outstanding : Optional[Annotated[float, Strict(strict=True)]]
|
|
Weighted average shares outstanding.
|
|
weighted_average_shares_outstanding_dil : Optional[Annotated[float, Strict(strict=True)]]
|
|
Weighted average shares outstanding diluted.
|
|
link : Optional[str]
|
|
Link to the income statement.
|
|
final_link : Optional[str]
|
|
Final link to the income statement.
|
|
reported_currency : Optional[str]
|
|
Reporting currency. (provider: fmp)
|
|
filling_date : Optional[date]
|
|
Filling date. (provider: fmp)
|
|
accepted_date : Optional[datetime]
|
|
Accepted date. (provider: fmp)
|
|
calendar_year : Optional[int]
|
|
Calendar year. (provider: fmp)
|
|
income_loss_from_continuing_operations_before_tax : Optional[float]
|
|
Income/Loss From Continuing Operations After Tax (provider: polygon)
|
|
income_loss_from_continuing_operations_after_tax : Optional[float]
|
|
Income (loss) from continuing operations after tax (provider: polygon)
|
|
benefits_costs_expenses : Optional[float]
|
|
Benefits, costs and expenses (provider: polygon)
|
|
net_income_loss_attributable_to_noncontrolling_interest : Optional[int]
|
|
Net income (loss) attributable to noncontrolling interest (provider: polygon)
|
|
net_income_loss_attributable_to_parent : Optional[float]
|
|
Net income (loss) attributable to parent (provider: polygon)
|
|
net_income_loss_available_to_common_stockholders_basic : Optional[float]
|
|
Net Income/Loss Available To Common Stockholders Basic (provider: polygon)
|
|
participating_securities_distributed_and_undistributed_earnings_loss_basic : Optional[float]
|
|
Participating Securities Distributed And Undistributed Earnings Loss Basic (provider: polygon)
|
|
nonoperating_income_loss : Optional[float]
|
|
Nonoperating Income Loss (provider: polygon)
|
|
preferred_stock_dividends_and_other_adjustments : Optional[float]
|
|
Preferred stock dividends and other adjustments (provider: polygon)
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.income(symbol="AAPL", period="annual", limit=5)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/income",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def income_growth(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
limit: Annotated[
|
|
int,
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 10,
|
|
period: Annotated[
|
|
Literal["annual", "quarter"],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Income Statement Growth. Information about the growth of the company income statement.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
limit : int
|
|
The number of data entries to return.
|
|
period : Literal['annual', 'quarter']
|
|
Time period of the data to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[IncomeStatementGrowth]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
IncomeStatementGrowth
|
|
---------------------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
period : str
|
|
Period the statement is returned for.
|
|
growth_revenue : float
|
|
Growth rate of total revenue.
|
|
growth_cost_of_revenue : float
|
|
Growth rate of cost of goods sold.
|
|
growth_gross_profit : float
|
|
Growth rate of gross profit.
|
|
growth_gross_profit_ratio : float
|
|
Growth rate of gross profit as a percentage of revenue.
|
|
growth_research_and_development_expenses : float
|
|
Growth rate of expenses on research and development.
|
|
growth_general_and_administrative_expenses : float
|
|
Growth rate of general and administrative expenses.
|
|
growth_selling_and_marketing_expenses : float
|
|
Growth rate of expenses on selling and marketing activities.
|
|
growth_other_expenses : float
|
|
Growth rate of other operating expenses.
|
|
growth_operating_expenses : float
|
|
Growth rate of total operating expenses.
|
|
growth_cost_and_expenses : float
|
|
Growth rate of total costs and expenses.
|
|
growth_interest_expense : float
|
|
Growth rate of interest expenses.
|
|
growth_depreciation_and_amortization : float
|
|
Growth rate of depreciation and amortization expenses.
|
|
growth_ebitda : float
|
|
Growth rate of Earnings Before Interest, Taxes, Depreciation, and Amortization.
|
|
growth_ebitda_ratio : float
|
|
Growth rate of EBITDA as a percentage of revenue.
|
|
growth_operating_income : float
|
|
Growth rate of operating income.
|
|
growth_operating_income_ratio : float
|
|
Growth rate of operating income as a percentage of revenue.
|
|
growth_total_other_income_expenses_net : float
|
|
Growth rate of net total other income and expenses.
|
|
growth_income_before_tax : float
|
|
Growth rate of income before taxes.
|
|
growth_income_before_tax_ratio : float
|
|
Growth rate of income before taxes as a percentage of revenue.
|
|
growth_income_tax_expense : float
|
|
Growth rate of income tax expenses.
|
|
growth_net_income : float
|
|
Growth rate of net income.
|
|
growth_net_income_ratio : float
|
|
Growth rate of net income as a percentage of revenue.
|
|
growth_eps : float
|
|
Growth rate of Earnings Per Share (EPS).
|
|
growth_eps_diluted : float
|
|
Growth rate of diluted Earnings Per Share (EPS).
|
|
growth_weighted_average_shs_out : float
|
|
Growth rate of weighted average shares outstanding.
|
|
growth_weighted_average_shs_out_dil : float
|
|
Growth rate of diluted weighted average shares outstanding.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.income_growth(symbol="AAPL", limit=10, period="annual")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"limit": limit,
|
|
"period": period,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/income_growth",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def management(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Key Executives. Key executives for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[KeyExecutives]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
KeyExecutives
|
|
-------------
|
|
title : str
|
|
Designation of the key executive.
|
|
name : str
|
|
Name of the key executive.
|
|
pay : Optional[int]
|
|
Pay of the key executive.
|
|
currency_pay : str
|
|
Currency of the pay.
|
|
gender : Optional[str]
|
|
Gender of the key executive.
|
|
year_born : Optional[int]
|
|
Birth year of the key executive.
|
|
title_since : Optional[int]
|
|
Date the tile was held since.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.management(symbol="AAPL")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/management",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def management_compensation(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Get Executive Compensation. Information about the executive compensation for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[ExecutiveCompensation]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
ExecutiveCompensation
|
|
---------------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data.
|
|
cik : Optional[str]
|
|
Central Index Key (CIK) of the company.
|
|
filing_date : date
|
|
Date of the filing.
|
|
accepted_date : datetime
|
|
Date the filing was accepted.
|
|
name_and_position : str
|
|
Name and position of the executive.
|
|
year : int
|
|
Year of the compensation.
|
|
salary : float
|
|
Salary of the executive.
|
|
bonus : float
|
|
Bonus of the executive.
|
|
stock_award : float
|
|
Stock award of the executive.
|
|
incentive_plan_compensation : float
|
|
Incentive plan compensation of the executive.
|
|
all_other_compensation : float
|
|
All other compensation of the executive.
|
|
total : float
|
|
Total compensation of the executive.
|
|
url : str
|
|
URL of the filing data.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.management_compensation(symbol="AAPL")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/management_compensation",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def metrics(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Optional[Literal["annual", "quarter"]],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
limit: Annotated[
|
|
Optional[int],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 100,
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Key Metrics. Key metrics for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Optional[Literal['annual', 'quarter']]
|
|
Time period of the data to return.
|
|
limit : Optional[int]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
with_ttm : Optional[bool]
|
|
Include trailing twelve months (TTM) data. (provider: fmp)
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[KeyMetrics]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
KeyMetrics
|
|
----------
|
|
symbol : Optional[str]
|
|
Symbol representing the entity requested in the data.
|
|
date : date
|
|
The date of the data.
|
|
period : str
|
|
Period of the data.
|
|
revenue_per_share : Optional[float]
|
|
Revenue per share
|
|
net_income_per_share : Optional[float]
|
|
Net income per share
|
|
operating_cash_flow_per_share : Optional[float]
|
|
Operating cash flow per share
|
|
free_cash_flow_per_share : Optional[float]
|
|
Free cash flow per share
|
|
cash_per_share : Optional[float]
|
|
Cash per share
|
|
book_value_per_share : Optional[float]
|
|
Book value per share
|
|
tangible_book_value_per_share : Optional[float]
|
|
Tangible book value per share
|
|
shareholders_equity_per_share : Optional[float]
|
|
Shareholders equity per share
|
|
interest_debt_per_share : Optional[float]
|
|
Interest debt per share
|
|
market_cap : Optional[float]
|
|
Market capitalization
|
|
enterprise_value : Optional[float]
|
|
Enterprise value
|
|
pe_ratio : Optional[float]
|
|
Price-to-earnings ratio (P/E ratio)
|
|
price_to_sales_ratio : Optional[float]
|
|
Price-to-sales ratio
|
|
pocf_ratio : Optional[float]
|
|
Price-to-operating cash flow ratio
|
|
pfcf_ratio : Optional[float]
|
|
Price-to-free cash flow ratio
|
|
pb_ratio : Optional[float]
|
|
Price-to-book ratio
|
|
ptb_ratio : Optional[float]
|
|
Price-to-tangible book ratio
|
|
ev_to_sales : Optional[float]
|
|
Enterprise value-to-sales ratio
|
|
enterprise_value_over_ebitda : Optional[float]
|
|
Enterprise value-to-EBITDA ratio
|
|
ev_to_operating_cash_flow : Optional[float]
|
|
Enterprise value-to-operating cash flow ratio
|
|
ev_to_free_cash_flow : Optional[float]
|
|
Enterprise value-to-free cash flow ratio
|
|
earnings_yield : Optional[float]
|
|
Earnings yield
|
|
free_cash_flow_yield : Optional[float]
|
|
Free cash flow yield
|
|
debt_to_equity : Optional[float]
|
|
Debt-to-equity ratio
|
|
debt_to_assets : Optional[float]
|
|
Debt-to-assets ratio
|
|
net_debt_to_ebitda : Optional[float]
|
|
Net debt-to-EBITDA ratio
|
|
current_ratio : Optional[float]
|
|
Current ratio
|
|
interest_coverage : Optional[float]
|
|
Interest coverage
|
|
income_quality : Optional[float]
|
|
Income quality
|
|
dividend_yield : Optional[float]
|
|
Dividend yield
|
|
payout_ratio : Optional[float]
|
|
Payout ratio
|
|
sales_general_and_administrative_to_revenue : Optional[float]
|
|
Sales general and administrative expenses-to-revenue ratio
|
|
research_and_development_to_revenue : Optional[float]
|
|
Research and development expenses-to-revenue ratio
|
|
intangibles_to_total_assets : Optional[float]
|
|
Intangibles-to-total assets ratio
|
|
capex_to_operating_cash_flow : Optional[float]
|
|
Capital expenditures-to-operating cash flow ratio
|
|
capex_to_revenue : Optional[float]
|
|
Capital expenditures-to-revenue ratio
|
|
capex_to_depreciation : Optional[float]
|
|
Capital expenditures-to-depreciation ratio
|
|
stock_based_compensation_to_revenue : Optional[float]
|
|
Stock-based compensation-to-revenue ratio
|
|
graham_number : Optional[float]
|
|
Graham number
|
|
roic : Optional[float]
|
|
Return on invested capital
|
|
return_on_tangible_assets : Optional[float]
|
|
Return on tangible assets
|
|
graham_net_net : Optional[float]
|
|
Graham net-net working capital
|
|
working_capital : Optional[float]
|
|
Working capital
|
|
tangible_asset_value : Optional[float]
|
|
Tangible asset value
|
|
net_current_asset_value : Optional[float]
|
|
Net current asset value
|
|
invested_capital : Optional[float]
|
|
Invested capital
|
|
average_receivables : Optional[float]
|
|
Average receivables
|
|
average_payables : Optional[float]
|
|
Average payables
|
|
average_inventory : Optional[float]
|
|
Average inventory
|
|
days_sales_outstanding : Optional[float]
|
|
Days sales outstanding
|
|
days_payables_outstanding : Optional[float]
|
|
Days payables outstanding
|
|
days_of_inventory_on_hand : Optional[float]
|
|
Days of inventory on hand
|
|
receivables_turnover : Optional[float]
|
|
Receivables turnover
|
|
payables_turnover : Optional[float]
|
|
Payables turnover
|
|
inventory_turnover : Optional[float]
|
|
Inventory turnover
|
|
roe : Optional[float]
|
|
Return on equity
|
|
capex_per_share : Optional[float]
|
|
Capital expenditures per share
|
|
calendar_year : Optional[int]
|
|
Calendar year. (provider: fmp)
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.metrics(symbol="AAPL", period="annual", limit=100)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/metrics",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def multiples(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
limit: Annotated[
|
|
Optional[int],
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 100,
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Equity Valuation Multiples. Valuation multiples for a stock ticker.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
limit : Optional[int]
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[EquityValuationMultiples]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
EquityValuationMultiples
|
|
------------------------
|
|
revenue_per_share_ttm : Optional[float]
|
|
Revenue per share calculated as trailing twelve months.
|
|
net_income_per_share_ttm : Optional[float]
|
|
Net income per share calculated as trailing twelve months.
|
|
operating_cash_flow_per_share_ttm : Optional[float]
|
|
Operating cash flow per share calculated as trailing twelve months.
|
|
free_cash_flow_per_share_ttm : Optional[float]
|
|
Free cash flow per share calculated as trailing twelve months.
|
|
cash_per_share_ttm : Optional[float]
|
|
Cash per share calculated as trailing twelve months.
|
|
book_value_per_share_ttm : Optional[float]
|
|
Book value per share calculated as trailing twelve months.
|
|
tangible_book_value_per_share_ttm : Optional[float]
|
|
Tangible book value per share calculated as trailing twelve months.
|
|
shareholders_equity_per_share_ttm : Optional[float]
|
|
Shareholders equity per share calculated as trailing twelve months.
|
|
interest_debt_per_share_ttm : Optional[float]
|
|
Interest debt per share calculated as trailing twelve months.
|
|
market_cap_ttm : Optional[float]
|
|
Market capitalization calculated as trailing twelve months.
|
|
enterprise_value_ttm : Optional[float]
|
|
Enterprise value calculated as trailing twelve months.
|
|
pe_ratio_ttm : Optional[float]
|
|
Price-to-earnings ratio (P/E ratio) calculated as trailing twelve months.
|
|
price_to_sales_ratio_ttm : Optional[float]
|
|
Price-to-sales ratio calculated as trailing twelve months.
|
|
pocf_ratio_ttm : Optional[float]
|
|
Price-to-operating cash flow ratio calculated as trailing twelve months.
|
|
pfcf_ratio_ttm : Optional[float]
|
|
Price-to-free cash flow ratio calculated as trailing twelve months.
|
|
pb_ratio_ttm : Optional[float]
|
|
Price-to-book ratio calculated as trailing twelve months.
|
|
ptb_ratio_ttm : Optional[float]
|
|
Price-to-tangible book ratio calculated as trailing twelve months.
|
|
ev_to_sales_ttm : Optional[float]
|
|
Enterprise value-to-sales ratio calculated as trailing twelve months.
|
|
enterprise_value_over_ebitda_ttm : Optional[float]
|
|
Enterprise value-to-EBITDA ratio calculated as trailing twelve months.
|
|
ev_to_operating_cash_flow_ttm : Optional[float]
|
|
Enterprise value-to-operating cash flow ratio calculated as trailing twelve months.
|
|
ev_to_free_cash_flow_ttm : Optional[float]
|
|
Enterprise value-to-free cash flow ratio calculated as trailing twelve months.
|
|
earnings_yield_ttm : Optional[float]
|
|
Earnings yield calculated as trailing twelve months.
|
|
free_cash_flow_yield_ttm : Optional[float]
|
|
Free cash flow yield calculated as trailing twelve months.
|
|
debt_to_equity_ttm : Optional[float]
|
|
Debt-to-equity ratio calculated as trailing twelve months.
|
|
debt_to_assets_ttm : Optional[float]
|
|
Debt-to-assets ratio calculated as trailing twelve months.
|
|
net_debt_to_ebitda_ttm : Optional[float]
|
|
Net debt-to-EBITDA ratio calculated as trailing twelve months.
|
|
current_ratio_ttm : Optional[float]
|
|
Current ratio calculated as trailing twelve months.
|
|
interest_coverage_ttm : Optional[float]
|
|
Interest coverage calculated as trailing twelve months.
|
|
income_quality_ttm : Optional[float]
|
|
Income quality calculated as trailing twelve months.
|
|
dividend_yield_ttm : Optional[float]
|
|
Dividend yield calculated as trailing twelve months.
|
|
dividend_yield_percentage_ttm : Optional[float]
|
|
Dividend yield percentage calculated as trailing twelve months.
|
|
dividend_to_market_cap_ttm : Optional[float]
|
|
Dividend to market capitalization ratio calculated as trailing twelve months.
|
|
dividend_per_share_ttm : Optional[float]
|
|
Dividend per share calculated as trailing twelve months.
|
|
payout_ratio_ttm : Optional[float]
|
|
Payout ratio calculated as trailing twelve months.
|
|
sales_general_and_administrative_to_revenue_ttm : Optional[float]
|
|
Sales general and administrative expenses-to-revenue ratio calculated as trailing twelve months.
|
|
research_and_development_to_revenue_ttm : Optional[float]
|
|
Research and development expenses-to-revenue ratio calculated as trailing twelve months.
|
|
intangibles_to_total_assets_ttm : Optional[float]
|
|
Intangibles-to-total assets ratio calculated as trailing twelve months.
|
|
capex_to_operating_cash_flow_ttm : Optional[float]
|
|
Capital expenditures-to-operating cash flow ratio calculated as trailing twelve months.
|
|
capex_to_revenue_ttm : Optional[float]
|
|
Capital expenditures-to-revenue ratio calculated as trailing twelve months.
|
|
capex_to_depreciation_ttm : Optional[float]
|
|
Capital expenditures-to-depreciation ratio calculated as trailing twelve months.
|
|
stock_based_compensation_to_revenue_ttm : Optional[float]
|
|
Stock-based compensation-to-revenue ratio calculated as trailing twelve months.
|
|
graham_number_ttm : Optional[float]
|
|
Graham number calculated as trailing twelve months.
|
|
roic_ttm : Optional[float]
|
|
Return on invested capital calculated as trailing twelve months.
|
|
return_on_tangible_assets_ttm : Optional[float]
|
|
Return on tangible assets calculated as trailing twelve months.
|
|
graham_net_net_ttm : Optional[float]
|
|
Graham net-net working capital calculated as trailing twelve months.
|
|
working_capital_ttm : Optional[float]
|
|
Working capital calculated as trailing twelve months.
|
|
tangible_asset_value_ttm : Optional[float]
|
|
Tangible asset value calculated as trailing twelve months.
|
|
net_current_asset_value_ttm : Optional[float]
|
|
Net current asset value calculated as trailing twelve months.
|
|
invested_capital_ttm : Optional[float]
|
|
Invested capital calculated as trailing twelve months.
|
|
average_receivables_ttm : Optional[float]
|
|
Average receivables calculated as trailing twelve months.
|
|
average_payables_ttm : Optional[float]
|
|
Average payables calculated as trailing twelve months.
|
|
average_inventory_ttm : Optional[float]
|
|
Average inventory calculated as trailing twelve months.
|
|
days_sales_outstanding_ttm : Optional[float]
|
|
Days sales outstanding calculated as trailing twelve months.
|
|
days_payables_outstanding_ttm : Optional[float]
|
|
Days payables outstanding calculated as trailing twelve months.
|
|
days_of_inventory_on_hand_ttm : Optional[float]
|
|
Days of inventory on hand calculated as trailing twelve months.
|
|
receivables_turnover_ttm : Optional[float]
|
|
Receivables turnover calculated as trailing twelve months.
|
|
payables_turnover_ttm : Optional[float]
|
|
Payables turnover calculated as trailing twelve months.
|
|
inventory_turnover_ttm : Optional[float]
|
|
Inventory turnover calculated as trailing twelve months.
|
|
roe_ttm : Optional[float]
|
|
Return on equity calculated as trailing twelve months.
|
|
capex_per_share_ttm : Optional[float]
|
|
Capital expenditures per share calculated as trailing twelve months.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.multiples(symbol="AAPL", limit=100)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/multiples",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def overview(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[Data]:
|
|
"""Company Overview. General information about a company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : CompanyOverview
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
CompanyOverview
|
|
---------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data.
|
|
price : Optional[float]
|
|
Price of the company.
|
|
beta : Optional[float]
|
|
Beta of the company.
|
|
vol_avg : Optional[int]
|
|
Volume average of the company.
|
|
mkt_cap : Optional[int]
|
|
Market capitalization of the company.
|
|
last_div : Optional[float]
|
|
Last dividend of the company.
|
|
range : Optional[str]
|
|
Range of the company.
|
|
changes : Optional[float]
|
|
Changes of the company.
|
|
company_name : Optional[str]
|
|
Company name of the company.
|
|
currency : Optional[str]
|
|
Currency of the company.
|
|
cik : Optional[str]
|
|
CIK of the company.
|
|
isin : Optional[str]
|
|
ISIN of the company.
|
|
cusip : Optional[str]
|
|
CUSIP of the company.
|
|
exchange : Optional[str]
|
|
Exchange of the company.
|
|
exchange_short_name : Optional[str]
|
|
Exchange short name of the company.
|
|
industry : Optional[str]
|
|
Industry of the company.
|
|
website : Optional[str]
|
|
Website of the company.
|
|
description : Optional[str]
|
|
Description of the company.
|
|
ceo : Optional[str]
|
|
CEO of the company.
|
|
sector : Optional[str]
|
|
Sector of the company.
|
|
country : Optional[str]
|
|
Country of the company.
|
|
full_time_employees : Optional[str]
|
|
Full time employees of the company.
|
|
phone : Optional[str]
|
|
Phone of the company.
|
|
address : Optional[str]
|
|
Address of the company.
|
|
city : Optional[str]
|
|
City of the company.
|
|
state : Optional[str]
|
|
State of the company.
|
|
zip : Optional[str]
|
|
Zip of the company.
|
|
dcf_diff : Optional[float]
|
|
Discounted cash flow difference of the company.
|
|
dcf : Optional[float]
|
|
Discounted cash flow of the company.
|
|
image : Optional[str]
|
|
Image of the company.
|
|
ipo_date : Optional[date]
|
|
IPO date of the company.
|
|
default_image : bool
|
|
If the image is the default image.
|
|
is_etf : bool
|
|
If the company is an ETF.
|
|
is_actively_trading : bool
|
|
If the company is actively trading.
|
|
is_adr : bool
|
|
If the company is an ADR.
|
|
is_fund : bool
|
|
If the company is a fund.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.overview(symbol="AAPL")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/overview",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def ratios(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Literal["annual", "quarter"],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
limit: Annotated[
|
|
int,
|
|
OpenBBCustomParameter(description="The number of data entries to return."),
|
|
] = 12,
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Extensive set of ratios over time. Financial ratios for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Literal['annual', 'quarter']
|
|
Time period of the data to return.
|
|
limit : int
|
|
The number of data entries to return.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
with_ttm : Optional[bool]
|
|
Include trailing twelve months (TTM) data. (provider: fmp)
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[FinancialRatios]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
FinancialRatios
|
|
---------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data.
|
|
date : str
|
|
The date of the data.
|
|
period : str
|
|
Period of the financial ratios.
|
|
current_ratio : Optional[float]
|
|
Current ratio.
|
|
quick_ratio : Optional[float]
|
|
Quick ratio.
|
|
cash_ratio : Optional[float]
|
|
Cash ratio.
|
|
days_of_sales_outstanding : Optional[float]
|
|
Days of sales outstanding.
|
|
days_of_inventory_outstanding : Optional[float]
|
|
Days of inventory outstanding.
|
|
operating_cycle : Optional[float]
|
|
Operating cycle.
|
|
days_of_payables_outstanding : Optional[float]
|
|
Days of payables outstanding.
|
|
cash_conversion_cycle : Optional[float]
|
|
Cash conversion cycle.
|
|
gross_profit_margin : Optional[float]
|
|
Gross profit margin.
|
|
operating_profit_margin : Optional[float]
|
|
Operating profit margin.
|
|
pretax_profit_margin : Optional[float]
|
|
Pretax profit margin.
|
|
net_profit_margin : Optional[float]
|
|
Net profit margin.
|
|
effective_tax_rate : Optional[float]
|
|
Effective tax rate.
|
|
return_on_assets : Optional[float]
|
|
Return on assets.
|
|
return_on_equity : Optional[float]
|
|
Return on equity.
|
|
return_on_capital_employed : Optional[float]
|
|
Return on capital employed.
|
|
net_income_per_ebt : Optional[float]
|
|
Net income per EBT.
|
|
ebt_per_ebit : Optional[float]
|
|
EBT per EBIT.
|
|
ebit_per_revenue : Optional[float]
|
|
EBIT per revenue.
|
|
debt_ratio : Optional[float]
|
|
Debt ratio.
|
|
debt_equity_ratio : Optional[float]
|
|
Debt equity ratio.
|
|
long_term_debt_to_capitalization : Optional[float]
|
|
Long term debt to capitalization.
|
|
total_debt_to_capitalization : Optional[float]
|
|
Total debt to capitalization.
|
|
interest_coverage : Optional[float]
|
|
Interest coverage.
|
|
cash_flow_to_debt_ratio : Optional[float]
|
|
Cash flow to debt ratio.
|
|
company_equity_multiplier : Optional[float]
|
|
Company equity multiplier.
|
|
receivables_turnover : Optional[float]
|
|
Receivables turnover.
|
|
payables_turnover : Optional[float]
|
|
Payables turnover.
|
|
inventory_turnover : Optional[float]
|
|
Inventory turnover.
|
|
fixed_asset_turnover : Optional[float]
|
|
Fixed asset turnover.
|
|
asset_turnover : Optional[float]
|
|
Asset turnover.
|
|
operating_cash_flow_per_share : Optional[float]
|
|
Operating cash flow per share.
|
|
free_cash_flow_per_share : Optional[float]
|
|
Free cash flow per share.
|
|
cash_per_share : Optional[float]
|
|
Cash per share.
|
|
payout_ratio : Optional[float]
|
|
Payout ratio.
|
|
operating_cash_flow_sales_ratio : Optional[float]
|
|
Operating cash flow sales ratio.
|
|
free_cash_flow_operating_cash_flow_ratio : Optional[float]
|
|
Free cash flow operating cash flow ratio.
|
|
cash_flow_coverage_ratios : Optional[float]
|
|
Cash flow coverage ratios.
|
|
short_term_coverage_ratios : Optional[float]
|
|
Short term coverage ratios.
|
|
capital_expenditure_coverage_ratio : Optional[float]
|
|
Capital expenditure coverage ratio.
|
|
dividend_paid_and_capex_coverage_ratio : Optional[float]
|
|
Dividend paid and capex coverage ratio.
|
|
dividend_payout_ratio : Optional[float]
|
|
Dividend payout ratio.
|
|
price_book_value_ratio : Optional[float]
|
|
Price book value ratio.
|
|
price_to_book_ratio : Optional[float]
|
|
Price to book ratio.
|
|
price_to_sales_ratio : Optional[float]
|
|
Price to sales ratio.
|
|
price_earnings_ratio : Optional[float]
|
|
Price earnings ratio.
|
|
price_to_free_cash_flows_ratio : Optional[float]
|
|
Price to free cash flows ratio.
|
|
price_to_operating_cash_flows_ratio : Optional[float]
|
|
Price to operating cash flows ratio.
|
|
price_cash_flow_ratio : Optional[float]
|
|
Price cash flow ratio.
|
|
price_earnings_to_growth_ratio : Optional[float]
|
|
Price earnings to growth ratio.
|
|
price_sales_ratio : Optional[float]
|
|
Price sales ratio.
|
|
dividend_yield : Optional[float]
|
|
Dividend yield.
|
|
enterprise_value_multiple : Optional[float]
|
|
Enterprise value multiple.
|
|
price_fair_value : Optional[float]
|
|
Price fair value.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.ratios(symbol="AAPL", period="annual", limit=12)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"limit": limit,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/ratios",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def revenue_per_geography(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Literal["quarter", "annual"],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
structure: Annotated[
|
|
Literal["hierarchical", "flat"],
|
|
OpenBBCustomParameter(description="Structure of the returned data."),
|
|
] = "flat",
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Revenue Geographic. Geographic revenue data.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Literal['quarter', 'annual']
|
|
Time period of the data to return.
|
|
structure : Literal['hierarchical', 'flat']
|
|
Structure of the returned data.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[RevenueGeographic]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
RevenueGeographic
|
|
-----------------
|
|
date : date
|
|
The date of the data.
|
|
geographic_segment : Dict[str, int]
|
|
Day level data containing the revenue of the geographic segment.
|
|
americas : Optional[int]
|
|
Revenue from the the American segment.
|
|
europe : Optional[int]
|
|
Revenue from the the European segment.
|
|
greater_china : Optional[int]
|
|
Revenue from the the Greater China segment.
|
|
japan : Optional[int]
|
|
Revenue from the the Japan segment.
|
|
rest_of_asia_pacific : Optional[int]
|
|
Revenue from the the Rest of Asia Pacific segment.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.revenue_per_geography(symbol="AAPL", period="annual", structure="flat")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"structure": structure,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/revenue_per_geography",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def revenue_per_segment(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
period: Annotated[
|
|
Literal["quarter", "annual"],
|
|
OpenBBCustomParameter(description="Time period of the data to return."),
|
|
] = "annual",
|
|
structure: Annotated[
|
|
Literal["hierarchical", "flat"],
|
|
OpenBBCustomParameter(description="Structure of the returned data."),
|
|
] = "flat",
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Revenue Business Line. Business line revenue data.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
period : Literal['quarter', 'annual']
|
|
Time period of the data to return.
|
|
structure : Literal['hierarchical', 'flat']
|
|
Structure of the returned data.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[RevenueBusinessLine]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
RevenueBusinessLine
|
|
-------------------
|
|
date : date
|
|
The date of the data.
|
|
business_line : Dict[str, int]
|
|
Day level data containing the revenue of the business line.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.revenue_per_segment(symbol="AAPL", period="annual", structure="flat")
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"period": period,
|
|
"structure": structure,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/revenue_per_segment",
|
|
**inputs,
|
|
)
|
|
|
|
@validate
|
|
def transcript(
|
|
self,
|
|
symbol: Annotated[
|
|
Union[str, List[str]],
|
|
OpenBBCustomParameter(description="Symbol to get data for."),
|
|
],
|
|
year: Annotated[
|
|
int,
|
|
OpenBBCustomParameter(description="Year of the earnings call transcript."),
|
|
],
|
|
provider: Optional[Literal["fmp"]] = None,
|
|
**kwargs
|
|
) -> OBBject[List[Data]]:
|
|
"""Earnings Call Transcript. Earnings call transcript for a given company.
|
|
|
|
Parameters
|
|
----------
|
|
symbol : str
|
|
Symbol to get data for.
|
|
year : int
|
|
Year of the earnings call transcript.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use for the query, by default None.
|
|
If None, the provider specified in defaults is selected or 'fmp' if there is
|
|
no default.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[EarningsCallTranscript]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra: Dict[str, Any]
|
|
Extra info.
|
|
|
|
EarningsCallTranscript
|
|
----------------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data.
|
|
quarter : int
|
|
Quarter of the earnings call transcript.
|
|
year : int
|
|
Year of the earnings call transcript.
|
|
date : datetime
|
|
The date of the data.
|
|
content : str
|
|
Content of the earnings call transcript.
|
|
|
|
Example
|
|
-------
|
|
>>> from openbb import obb
|
|
>>> obb.equity.fundamental.transcript(symbol="AAPL", year=1)
|
|
""" # noqa: E501
|
|
|
|
inputs = filter_inputs(
|
|
provider_choices={
|
|
"provider": provider,
|
|
},
|
|
standard_params={
|
|
"symbol": ",".join(symbol) if isinstance(symbol, list) else symbol,
|
|
"year": year,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
|
|
return self._run(
|
|
"/equity/fundamental/transcript",
|
|
**inputs,
|
|
)
|