Commit Graph

79 Commits

Author SHA1 Message Date
Henrique Joaquim
604f5496f8 Add support for multiple symbols on obb.equity.price.historical (#5984)
* av - support for multiple symbols

* tiingo - support for multiple symbols

* include symbol only if necessary
2024-01-23 08:59:42 +00:00
Danglewood
04df52d06a feature/finviz-provider: Adds Community Finviz Provider Extension (#5952)
* add finviz provider

* recapture tests

* recapture tests again?

* invalid test param

* static packages

* units_measurement -> unit_measurement

* static packages as core only

* openbb_core version bump in pyproject.toml

* try adding user-agent to test response

* fix tests

* linting

* provider model cosmetic changes

* fix install script and typo in openbb toml

* static

* fix: re-record unittests

* empty data error

* definitions as a file

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
2024-01-22 20:21:48 +00:00
Danglewood
e2f7e597fa feature/cboe-async: Refactor Cboe for Async (#5900)
* refactor cboe for async

* codespell

* unused imports

* pylint

* more pylint

* platform metadata

* classmethod decorator

* test params

* intrinio quote

* test param names

* date in test needs to be a datetime.date not string

* make fmp unix timestamp tz-aware and normalize percent change

* different way of parsing datetime string

* recapture cboe equity historical test

* unused import

* index snapshot update

* black

* extension map

* pylint

* cboe pyproject.toml

* proposal to standardize equity_quote

* one more file

* removing changes on static assets

* index_historical

* index_historical again

* last_time -> last_timestamp

* obsolete router path

* fix tests

* test param

* restore market index deprecation that I forgot about

* fixing tests

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-22 15:17:42 +00:00
Danglewood
9697aeb284 feature/add-yfinance-functions: Add equity.profile for yFinance (#5978)
* equity profile for yFinance

* pylint

* equity quote

* unused imports
2024-01-20 23:26:59 +00:00
Danglewood
cf5a6417a0 regex out any invisible control character from sales_conditions field (#5977) 2024-01-20 16:46:11 +00:00
montezdesousa
80f5cbfd6d Release 4.1.1. (#5964)
* update dev_install

* fix effr test

* Update dev_install.py

* fix fundamental balance test

* fix equity price historical test

* fix price target model

* black

* rebuild static files

* update publish.md

* fixed dev_install

* update publishing doc

* updated `openbb-core` to 1.1.1

* updated extensions

* updated providers

* updated `openbb` package

* updated static extension map

* updated publishing doc

* fixed toml for `openbb-finra`

* @jmaslek yfinance IS DEFAULT

* updated static

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-19 11:53:58 +00:00
Pratyush Shukla
2f4abee46c [DEPRECATION] index.market renamed to index.price.historical (#5962)
* deprecate index.market and add index.price.historical

* add index.historical standard model

* add index.historical provider models

* index extension tests

* provider tests

* linting
2024-01-18 05:34:11 +00:00
Henrique Joaquim
31d03eb5f1 equity.estimates.price_target - Integrate with Benzinga (#5946)
* deprecation message

* fix lints

* adding equity.estimates.ratings and fmp as its provider

* unit tests for fmp

* removing unused file

* typos

* add benzinga to AnalystRatings

* revert changes to estimates router

* moving it to price target instead

* reverting changes

* fmp support for multiple ticker

* benzinga price target

* ruffy

* unused argument

* fix type hints

* tests for the new fetcher

* new integration tests

* fixing tests

* missing std arg

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-01-17 18:39:40 +00:00
Danglewood
711c6203ab hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961)
* convert intrinio balance sheet values to float type

* unused import

* typo in alias dict
2024-01-16 17:52:37 +00:00
Danglewood
c8d5556858 hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951)
* fix limit param

* pylint unused argument, recapture test cassette

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-01-15 10:21:24 +00:00
montezdesousa
79c81497ed equity.fundamental.dividends: allow filter by date (#5932)
* allow filter by date

* ruff

* pylint

* fix tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-01-12 12:41:19 +00:00
Henrique Joaquim
c3abc418a8 Improving Platform's import time (#5894)
* missing decorator

* missing optional statements

* us-gov to optional and right position

* removing redundant call

* lazy load mappings

* docstrings

* introducing the extension loader class

* misleading docstring

* using the extension loader on the router

* using the extension loader on the credentials

* docstrings

* lazy load of entry points

* checkout dev_install

* using the extension loader to get the entry points instead of recalling the function

* improved auth service and charting service

* using the extension loader on the registry

* typos

* adding properties to extension loader for easy access

* using the extension loader on the package builder

* avoiding circular imports by using forward references

* fix charting service tests

* test for the extension loader

* Update openbb_platform/core/openbb_core/app/model/credentials.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Update openbb_platform/core/openbb_core/app/router.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Update openbb_platform/core/openbb_core/provider/registry.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* adjustments

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
2024-01-10 15:23:14 +00:00
montezdesousa
ee5388a81d Add date filter + symbols to comp (#5931)
* add date filter + symbols to comp

* make sure year is in d

* tests fix
2024-01-10 14:18:07 +00:00
Igor Radovanovic
a5396ac961 Fix vwap FMP error (#5936)
* Fix vwap FMP error

* Linting

* Painlint
2024-01-10 11:55:47 +00:00
Henrique Joaquim
cf9536d869 Add filtering to AV historical price (#5928)
* add filtering to av historical price

* lints

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-01-09 15:05:58 +00:00
montezdesousa
16bd470a78 Allow multiple symbols equity.profile (#5929)
* allow multiple symbols

* pylint

* pylint ignore position

* change callback to helper func

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-09 14:38:33 +00:00
Danglewood
0b8d6e6620 hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921)
* add fiscal_period to revenue by geography and business line

* data description and unused imports

* update test cassette
2024-01-09 10:57:33 +00:00
Danglewood
873e9a50e3 feature/standardize-quote: Proposal to Standardize EquityQuote (#5922)
* standardize EquityQuote

* intrinio reference

* rogue comma

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-01-09 10:55:29 +00:00
Henrique Joaquim
bae33881d2 Introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint (#5925)
* introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint

* add default args to test
2024-01-08 19:36:43 +00:00
Igor Radovanovic
26f67c48e3 Re-record tests and fix symbol bug (#5924)
* Re-record tests and fix symbol bug

* nordvpn us ftw

* @IgorWounds says "SPY >> IOO"

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-01-08 12:24:54 +00:00
Danglewood
1d77e03177 hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923)
* multi-ticker support for yfinance futures historical

* raise-missing-from

* integration test params

* equity_historical adjusted kwargs

* pylint unused argument
2024-01-08 10:13:22 +00:00
Henrique Joaquim
9a09999bb6 Release/4.1.0 (#5901) 2024-01-03 18:17:37 -05:00
Danglewood
fe63d40731 hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918)
* replace zeros with none and normalize percents

* pylint unused argument
2024-01-03 22:10:31 +00:00
Danglewood
5c4ac285b0 hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907)
* update income statement fields

* another polygon field

* ratio -> margin

* black

* explicit fmp fields

* add reported_currency for standardized intrinio

* # pylint: disable=unused-argument

* another unused-argument

* black..

* patch tests

* polygon income: eps -> basic earnings per share

* re-capture terminal portfolio menu test

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-03 16:21:10 +00:00
Danglewood
06e38834d0 feature/financials - PR for working on structure of financial statements. (#5794)
* balance sheet draft

* balance_sheet draft

* cash_flow draft

* income_statement draft

* intrinio financials

* description

* period field

* ruff

* income statement

* field

* label - gross profit ratio

* cash flow statement

* investing order

* add option for caching to cashflow

* add caching to balance and income

* typos and update order for financial institutions

* replace 0 values with None

* add financial ratios from intrinio

* black

* missing test params

* balance cassette

* query param description

* symbol list warning

* black

* handle BRK-A and symbols with a dash for Intrinio

* fix typo error

* add free cash flow to bottom of cash flow statement

* amortization_expense

* dev_install.py

* undo dev_install.. wrong branch

* cash flow order things

* standardized cash flow

* fields

* integration tests

* cash flow model validator

* more polygon cash

* black

* black

* Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py

wrong file

* balance sheet

* some cleanup

* ruff

* income statement

* black

* test params

* financial ratios async update

* recapture fmp and polygon tests

* yFinance financials

* yfinance tests

* delete financial_statements standard model

* intrinio balance sheet order

* fiscal year standard param

* remove file accidentally committed

* add reported_financials end point

* fiscal_year param for reported_financials

* fix url

* fmp test cassette

* add safe-guard with warning for fiscal year before 2008

* periods can only be annual and quarter

* url in docstring correction

* add fiscal_year param to intrinio standardized financials and ratios

* fix fmp ratios

* black

* rename fields as per Minh

* rogue field

* black

* Fix typo in a docstring

* Resolve linting errors

* type ignore

* disable=unused-argument

* changing the arg name cc @minhhoang1023

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2023-12-19 12:26:13 +00:00
James Maslek
238ab39a50 Adds federal reserve data points (#5885)
* Allow optional input for 2-month treasury rates and add FederalReserve rates model

The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher.

* Add Money Measures models and commands

This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data.

* Add Federal Reserve Money Measures test file

This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server.

* Cleanup

* Sneaky unformatted integration tests

* its a dawg life for me ...... ruff

* add the fed funds rate

* didnt mean to commmit this

* black

* this is why we should pre commit kids

* change install name

* add providers to int tests

* review comments + commit static

* replace nan with None

* fix float on None

* get rid of nans for nulls for json handling

* change `_` to `-` in readme pip install.

* Update __init__.py docstring

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2023-12-15 15:15:15 +00:00
montezdesousa
324d2abd66 sync descriptions (#5893) 2023-12-15 14:08:15 +00:00
Henrique Joaquim
f9fbb2a831 small refactor for simplification (#5886)
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2023-12-13 13:08:08 +00:00
Henrique Joaquim
e7a06085b3 Changes to the obb.fixedincome.corporate.hqm() output (#5876)
* changes to the hqm output

* typo

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2023-12-11 18:44:51 +00:00
Theodore Aptekarev
d9ec0fe80c Use custom parametrize from news menu tests (#5873)
* Use custom parametrize from news menu tests

* Update Ultima unit test cassettes
2023-12-11 15:10:10 +00:00
James Maslek
0fcc50ec7a Allow this to be run in parallel (#5872) 2023-12-08 20:01:14 +00:00
teh_coderer
da7886d0a7 Make Pro Fetchers async by replacing ThreadPoolExecutor with asyncio.gather (#5822)
* init

* Update helpers.py

* filter URL on raise

* polygon, fmp done, update cassettes

* updates

* cleanup

* revert tests for now

* Update discovery_filings.py

* Update helpers.py

* add `async` overload to `Fetcher.extract_data`

* update merged fred models

* tests, improve fred series

* Update insider_trading.py

* insider

* tests

* intrinio

* Update equity_historical.py

* implement abstract async extract on Fetcher, with simple switch

* cleanup

* Update helpers.py

* Update helpers.py

* fix fmp historical deprecated urls

* Revert "fix fmp historical deprecated urls"

This reverts commit 1a760a2473.

* fix fmp `index.market` 1day url missing query params

* Update test_fmp_market_indices_fetcher.yaml

* field fixes

* `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request`

* `async_requests` -> `amake_requests`

* Update company_news.py

* add sort to index `integration` params

* add `client.py` tests

* Update equity_search.py

* Add lost v in platform api version string

* Resolve linter errors here and there

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2023-12-08 14:41:37 +00:00
Danglewood
fdd9be6aca feature/nasdaq-equity-search: Adds Nasdaq provider for obb.equity.search() (#5790)
* add nasdaq to equity search

* black

* unused import

* make async

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-12-07 01:41:17 +00:00
Danglewood
068a0788f9 feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757)
* add ETF holdings from SEC provider

* black

* helper function params

* edge cases

* ruff

* add validator in company filings

* remove xml field

* update import

* cleanup parsing

* missing datetime import in company_filings

* black

* unused import

* add missing py.typed files
2023-12-07 01:34:32 +00:00
Danglewood
18a5c392e8 Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776)
* add treasury prices endpoint to fixed income router

* adds tests

* black

* ruff

* import statements

* standard model imports

* black

* some cleanup

* black

* async router

* make async

* str outpuot

* bytes object not string

* docstring typo

* multi-line f-string

* encoding

* duplicated conditional

* black

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-12-07 01:34:15 +00:00
Danglewood
d951dc0401 feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845)
* yfinance multi-ticker support

* multi-ticker support for market indices

* crypto multi-ticker support

* recapture tests

* yfinance cache and tests

* currency historical multi-ticker support

* style things

* black

* missed a values

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-12-07 01:32:19 +00:00
Danglewood
1604c78ee5 feature/intrinio-equity-search: Adds Intrinio to obb.equity.search() (#5863)
* intrinio equity search

* integration tests

* test

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-12-07 00:40:05 +00:00
Adi Sai
1a6c540cf6 sector news fetcher (#5824) 2023-12-06 13:01:39 +00:00
Danglewood
2cfac126f1 hotfix/update-descriptions: updates some descriptions (#5857)
* updates some descriptions

* fred test
2023-12-05 14:29:32 +00:00
Henrique Joaquim
ff00312ec4 Hotfix/unskip tests (#5851)
* support for nested structures

* unskip extension map test

* unskip fred tests

* stockgrid tests

* adding pytest-assyncio

* fix query executor test

* package builder tests

* test query test with the asyncio marker

* asyncio marker

* fix extension map test: tests run with all extensions installed

* adding missing tests on user service

* fix update default test

* skipping allows version for non required extensions
2023-12-04 15:45:46 +00:00
Henrique Joaquim
10cfd1e961 Release/4.0.0 (#5837)
* pyproject toml and poetry.lock files

* static assets

* fix link to platform

* bump core

* 4.0.1 adjustments
2023-11-30 18:48:27 +01:00
montezdesousa
5aaa855f30 Feature/release rc0 (#5821)
* publish core and extensions

* build static

* lock openbb

* force commit package changes

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2023-11-30 09:58:25 +00:00
Theodore Aptekarev
dc81f6cd24 Standardize balance, income, cash for Intrinio (#5809)
* Fix test coverage test failing

* Fix spot rates integration test

* Apply the standardization to intrinio balance, income and cash

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-11-29 20:54:56 +00:00
Henrique Joaquim
6e3038b9e7 Fix tests (#5819)
* fix equity tests - python

* remove test for intrinio

* remove index.fred and fix tests w/@hjoaquim,@IgorWounds

* fix ultima company news model w/@hjoaquim,@IgorWounds

* re-record intrinio insider trading w/@hjoaquim,@IgorWounds

* adjust endpoint

* adjust endpoint

* adjust params

* fix equity test w/@IgorWounds

* re-record

* remove ultima test

* adding keys to the workflow

* typo

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2023-11-29 18:35:45 +00:00
Pratyush Shukla
563df69024 Set level as default tag value for index.market in Intrinio (#5801)
* set level as default tag value

* set limit to 1000

* re-record fetcher test

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
2023-11-29 16:35:44 +00:00
Danglewood
fe53c93d64 hotfix/fmp-replace-zero: Replace Zero with None in FMP Balance, Cash, Income (#5815)
* replace zeros with None in Balance, Cash, Income

* black

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2023-11-29 16:17:49 +00:00
Danglewood
06daf98366 hotfix/fmp-insider-trading - Fix FMP Insider Trading (#5817)
* fix fmp insider trading

* re-capture tests

* fix intrinio test
2023-11-29 13:50:22 +00:00
Pratyush Shukla
f5317126e9 Add Historical Dividends to Intrinio inplace of Calendar Dividends (#5813)
* HistoricalDividends re-defined

* re-define fmp model

* add intrinio model

* re-record intrinio test

* fix integration tests

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
2023-11-28 22:25:36 +00:00
Danglewood
3959f95cce Feature/fred-releases: Adds some FRED functionality to the economy router. (#5793)
* fred economic releases search

* add FRED functions for series and searching.

* codespell

* ruff

* data description.

* replace two functions with one fred_search

* rename standard model to fred_series

* remove consolidated fred model

* return series metadata as warning

* recapture test

* fill nan with None
2023-11-28 18:30:43 +00:00
Danglewood
f42c4571ef Hotfix/yfinance-adjusted: Fix for #5798 (#5803)
* fix yfinance-adjusted

* update test

* don't need that transform query param piece

* re-record test, etf_historical make adj_close not mandatory

* yfinance caching..

* mock cookie and crumb?

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2023-11-28 13:44:38 +00:00