Commit Graph

28 Commits

Author SHA1 Message Date
Jeroen Bouma
0ee2ebcf1e Refractor stocks/fa by incorporating stocks/dd and making the menu less reliant on Yahoo Finance (#4055)
* I missed some sheet_name ones :)

* Move quote to main menu and combine yahoo finance commands

* Update stocks for quote

* First update to move yfinance away from main functionality

* Small updates

* Update tests to reflect changes

* Fix some little things

* Update docs a little too

* Remove the Due Diligence menu

* Update tests for new change

* Update fa and stocks with new text and move some stuff around

* Bye bye dd

* Pls work

* work..

* work..

* work..

* Work..|

* Add tests back in

* Remove tests

* Fix fix fix

* Remove tests to fix conflicts

* Improve the `stocks/search` command (#4084)

* Improve search command

* Make it more intuitive

* Fix tests

* Update the docs

* Ok done

* Ok done 2

* Ok done 3

* Git update tests that failed

* Update commands with --sheet-name that didn't work (#4088)

* Update commands with --sheet-name that didn't work

* Fix test

* oops

* Adds auto completion to `news` (#4089)

* Fix plot look when using eval and add query to choices (#3881)

* convert index to datetime and update choices

* uncomment economy integration test

* fix treasury concat bug

* fix datasets concat on duplciates

* Lock ruff version so that new lints dont break our CI (#3905)

* Lock ruff version so that new lints dont break our CI

* Bumped pre-commit ruff version

* returning always a dataframe

* Revert "returning always a dataframe"

This reverts commit d5dbf3132f.

* quick fix to auto complete args

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Hotfix/Windows-CLI (#4087)

* init

* Update windows10_build.yml

* Update windows10_build.yml

* Update windows10_build.yml

* Update windows10_build.yml

* Update windows10_build.yml

* Update windows10_build.yml

* oops

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Adds end date to `forex/load` (#4077)

* Fix plot look when using eval and add query to choices (#3881)

* convert index to datetime and update choices

* uncomment economy integration test

* fix treasury concat bug

* fix datasets concat on duplciates

* Lock ruff version so that new lints dont break our CI (#3905)

* Lock ruff version so that new lints dont break our CI

* Bumped pre-commit ruff version

* returning always a dataframe

* Revert "returning always a dataframe"

This reverts commit d5dbf3132f.

* adding end date to the forex load

* added some tests

* added example

* always show msg

* rewriting test

* updating tests

* updating tests

* Redo load tests

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Update tests to reflect changes

* work..

* Remove tests

* Fix fix fix

* Remove tests

* Update the whole test folder

* Small updates

* Revert change

* Update eodhd to reflect it requires a paid plan and update tests

* Fix all the tests

* Update tests

* Update integration tests

* Removing tests so no whining happens

* ADD ALL THE TESTS

* Fix linting

* gitignore.  thanks jer

* Add back dd and redirect to fa

* Update to just display a message

* Update OpenBB SDK commands

* Fixing issues with exporting

* Fix ruff messing up

* Fix tests

* Fix the tests by disabling isort to run on tests folder

---------

Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
2023-02-06 23:24:15 +01:00
Colin Delahunty
ee34a1f278 Feature/add isort linter (#4114)
* Fixed isort

* Fixed issues

* FIxed linters

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-02-04 21:24:47 -05:00
Henrique Joaquim
a37d9032e3 Hotfix/fix black (#4101)
* Fix plot look when using eval and add query to choices (#3881)

* convert index to datetime and update choices

* uncomment economy integration test

* fix treasury concat bug

* fix datasets concat on duplciates

* Lock ruff version so that new lints dont break our CI (#3905)

* Lock ruff version so that new lints dont break our CI

* Bumped pre-commit ruff version

* returning always a dataframe

* Revert "returning always a dataframe"

This reverts commit d5dbf3132f.

* black everything

---------
2023-02-01 12:33:15 +00:00
Colin Delahunty
be2c2a33d7 Convert flake8 to ruff (#3855)
* Final ruff fixes

* Added fixes

* Removed fixes

* Updated dependencies

* More updates

* revert test change

* Added fixes

* Final change

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-01-04 10:21:31 -05:00
James Simmons
6112658d46 Pyinstaller Hook Fix For Forecast Report (#3746)
* trying to replace hook

* reports controller commenting out forecast disable

* removing astropy, tensorflow, and riskfolio

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-12-16 13:31:37 -05:00
Chavithra
cfde16e93d Core: move parse_simple_args (#3705)
* Moving Docker folder into Build

* Workflows : update Docker

* Docker : update compose image version

* Docker : fix volumes path

* Update core

* Update helper_funcs

* Update dashboards

* Update reports

* Update keys_controller

* Update settings_controller

* Update sources_controller

* Tests : fix __mock_parse_simple_args

* Reduce lines

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-12-06 09:52:13 +01:00
Chavithra
d825f98fc1 Release 2.0.0 (#3626)
* Moving Docker folder into Build

* Workflows : update Docker

* Docker : update compose image version

* Docker : fix volumes path

* Set version 2.0.0

* Doc : update docker compose file link

* remove hcp (#3627)

* Update dockerfile

* Update docker compose file

* Docker

* Docker compose

* changing setup nsi to correct version

* Update etf/ta

* Fix etf/tv

* Enabling autocompleter on etf/t

* Remove debug mode

* Disable PO detection on SDK (#3637)

* Turn Riskfolio detection off

* Disable reports/forecast

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: James Simmons <simmonsj330@gmail.com>
2022-11-28 21:27:02 -05:00
James Simmons
c7d0c98aa8 Fixing reports on installers (#3623)
* adding hook

* forgot to add if statement

Co-authored-by: Chavithra <chavithra@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-11-28 13:21:22 -05:00
montezdesousa
a91b8728a1 SDK import no extras warning (#3550)
* warn users if no extras

* add path to config

* warning first time only

* this btter
2022-11-24 10:48:14 +00:00
Theodore Aptekarev
15d1870194 Reorganize project extras for a pip installable package (#3432)
* Re-solve the dependencies for optimization extras

* Remove unused reportlab helpers

* Update install from source and troubleshooting docs

* Fix typos found by cspell

* Prevent po menu from launching when optimization toolkit not installed

* Add optimization dependencies to default requirements.txt for the CI

* Add optimization toolkit installation to the CI

* Fix markdown linting

* Update CI test dependency installation for matrix tests

* Fix markdown linting

* Update source installation docs

* Clean up ToC in the main readme

* Update the SDK documentation

* Fix markdown linting after making readme sections linkable

* Fix more markdown linting

* Fix more markdown linting

* Update secrets detection with exclusion rules

* Bump detect-secrets configuration

* Tune secret detector

* Fix more markdown linting

* Add optimization toolkit install to installer GH actions

* Add optimization toolkit install to docker build

* Fix typos

* Add "all" extras setting to install torch and riskfolio

* Move forecasting dependencies to pyproject.toml

* Update CI build configs

* Update documentation to feature the "all" extra

* Lint markdown

* Update docs to specify requirement of having a C compiler

* Added log Id to codesigning steps in inteel Macos workflow

* Changed disk for the m1 macos build

* Changed disk for the m1 macos build

* Changed disk for the intel macos build

* taking out sigtool removal line

* Remove dev version number from pyproject.toml

* removing sigtool from all build steps

* changes to m1 build and commenting test_report_economy

* more m1 build changes

* testing exit on conda setup

* some more

* changing shell to bash to setup conda

* bash on lines

* bash on all lines

* small bash removals

* intel fix and test_crypto int test

* upgrading setupminiconda version

* adding back in intel conda init and reset

* intel removal of init

* taking bash back out from m1

* removing old codesign lines

* adding codesign specific binaries

* ssl fix for all terminal

* removing if installer

* various ssl fixes across commands

* fixing ssl mistake

* integration test changes

* Linting + remove comment

* Update poetry.lock

* Update requirements

* Update the docs to mention that PO is not working on arm arch

* Update deps to pin setuptools

* Disable reports on pyinstaller packaged version

* Update reports

* small grammar change for forecast report message

* Pin grpcio following introduced regression in 1.51.0

* Update docs to reflect changes in how optimization is installed

Co-authored-by: Luqman Bello <lb@Luqmans-MacBook-Pro.local>
Co-authored-by: James Simmons <simmonsj330@gmail.com>
Co-authored-by: James Simmons <53658028+simmonsj330@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Chavithra <chavithra@gmail.com>
2022-11-22 12:33:59 -05:00
Chavithra
b93671ad0b SDK : faster and simpler architecture (#3289)
* SDK : split features

* Fix linting

* SDK : remove functions

* SDK : update openbb object building

* SDK : comments

* Typing

* Typing

* Typing

* SDK : update logs

* SDK : Breadcrumb

* SDK : Breadcrumb + Operation

* SDK : spell

* Linting

* Tests : SDK

* SDK : Operation

* SDK : Operation

* Linting

* enable wrong import position

* added logging info

* added log supression

* reverted the order

* SDK : update trail_map

* log suppresion as configuration

* changes reports to use the new sdk

* changes dashboards to use the new sdk

* changes dashboards to use the new sdk

* updated the documentation

* Tests + Linting

* Replace old sdk by new sdk

* Linting

* SDK : import + map_dict

* Linting

* Linting

* SDK : sdk + trail_map

* Linting

* SDK : forecasting

* SDK : update import path

* SDK

* SDK : md

* Linting

* removed unused functions

* trunc args to a max of 100 characters

* added logging when exceptions

* .md files

* SDK : add signature on operation + linting + remove trail on Breadcrumb

* Linting

* Move tests

* Linting

* Linting

* Linting

* Linting

* Linting

* Linting

* Linting

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2022-11-09 22:25:12 +01:00
Colin Delahunty
0f168775c3 Fixed links (#3261) 2022-11-02 09:03:23 -04:00
montezdesousa
a9787dd2d1 Refactor reports menu and make it work on installer (#2878)
* start papermill rollback

* move reports to templates folder

* comment some stuff

* refactor reports controller

* change var names

* clean ctrl class vars

* small refactoring on metadata search

* relocate some func

* breaking changes

* revert some changes

* destroying changes

* change menu appearance

* change menu appeaerance again

* update choices

* change some assets locations

* remove unused vars

* change some docstrings

* rename vars

* its working

* forgot one dash

* omg its working

* clean some code and doc

* change func name

* fix a bug and add some comments

* fix economy report startup

* add custom reports

* allow custom reports

* forgot to delete this

* unused import

* make somestuff more explicit, 5 min rule

* add helper func

* supress errors--no-verify

* add some type checks

* fix check ipynb func

* check inputs in run

* rewrite some integration tests

* remove unused import

* add some docs to website

* add auto completion

* warn if no forecast

* add to do

* add arg name if 1 arg

* add papermill pointing to github main

* add notebooks

* fix terminal spec

* relocated choices files

* merge main

* relocate website docs for reports

* limit user choices

* fix portfolio auto completion

* limit choices fix

* clean som edocstrings

* limit user choices in run command

* improve run parser

* fix msg

* add reports controller tests

* relax crypto choices limit

* contain commands

* pass pre commit

* flake8

* flake8

* ignore mypy

* pylint

* website

* move docs to jupyter tab

* add installer dep

* remove etf

* remove reports

* update reports to main

* handle events erros

* rever reports to previous commits before main merge

* add papermill installer strategies

* add flags to terminal

* avoid sdk crash

* execute notebook in thread

* remove unused sys

* execute report in a child process

* fix some notebook stuff

* fix portfolio report

* fix reports controller volatility

* change api to sdk

* move images

* remove som unucessary installer imports

* remove debugger warning

* move ipykernel launcher

* supress notebook crash

* remove portfolio decorator

* fix run command

* forgot to change this

* add images

* fix portfolio report

* fix crypto report

* linting and tests

* add run integration test

* pylint

* hide reports module args

* try at supressing args

* try at supreccing warning

* solve some os issues

* handle pm errors

* fix warning unrecognized arguments

* change comment

* avoid crash when parameters not found

* fix etf commands

* minor cleanup

* update forecasting check

* fix some linting

* fix futures test

* pylint

* limit user choices to prompt

* limit user choices to prompt

* supress warnings

* revert poetry lock back to main

* papermill pointing to main

* flake8

* forgot requirements

* Update helper_funcs.py

* Update reports_model.py

* choices

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Simmons <53658028+simmonsj330@users.noreply.github.com>
2022-10-26 21:27:30 +01:00
northern-64bit
28a0cfd2ee Improved auto completion (#2763)
* Adding improved auto complete to all menus

* Improve autocomplete

* Done

* Linting : fix unused imports

* Tests : fix help messages

* Fixing typing

* Tests : forex

* Tests: stocks

* Stocks/TA

* Linting

* Stocks/insider

* Portfolio/Broker/Degiro

* Linting

Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
2022-10-11 16:07:24 +02:00
Colin Delahunty
b0f8974537 Fix bug in reports (#2680) 2022-09-30 09:32:05 +02:00
Om Gupta
5a3a9f94e5 New path for portfolio data (#2611)
* start portfolio path change

* portfolio path changes

* some more changes

* fix

* allow default files to be imported

* portfolio changes

* allow default portfolios to be imported

* black

* fix pylint

* add files in terminal spec for reports

Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
2022-09-26 12:28:58 +01:00
Om Gupta
b78f024a6f Be able to change user data folder and add path for exports (#2592)
* modify export function to user data function

* change to exports

* change i18n

* be able to change user data folder

* black

* add exports to paths_helper

* black

* minor fixes

* fix

* small change to exports

* fix

* exports changes

* fix export

* fix reports export

* black

* minor changes

* fix test

* fix dcf export

* type ignore

* black

* pylint

* fix tests

Co-authored-by: Chavithra <chavithra@gmail.com>
2022-09-25 12:45:22 +01:00
Uzair Aftab
35b21cee39 refactor: convert for loops into list and dict comprehensions (#2493) 2022-09-23 22:59:12 +03:00
Om Gupta
8e3760a503 fresh reports fix (#2570)
* merge API factory

* add helpers, stocks, crypto, forex

* minor forex changes

* include forex api paths

* add 2 missing forex funcs

* portfolio brokers refactor

* display help on api func call

* add econometrics virtual paths to api

* add api unit test

* fixed report for the new api

* minor portfolio refactorings

* added gdapps

* anchor_yield path

* some more crypto path fixes

* small change

* fixed wrong param

* minor fixes

* wip - inital commit for forex report

* add bw as a model, we'll get better solution afterwards

* added ema with dummy model as it adds great functionality to the report

* minor fixes

* wip - added functions to forex report

* add feedparser news path

* add new virtual paths to api

* adding commands to equity report

* revert to old paths, new ones were breaking

* Add in very basic ETF report

* Add candle chart to ETF report

* add etf load

* allow use of candle without data

* add raw to candle

* added forex report

* ongoing equity report

* equity report change

* fix some portfolio bugs and add docstrings

* include portfolio paths and coin class

* add crypto paths

* change event dates to str

* starting economy report

* window for limit

* equity report and refactor newsapi

* add helper to api

* update on economy report

* equity report

* update economy report

* refactor some docstrings

* change maturities helper

* refactor newsapi

* refactor futures command

* add some sauce to ycrv plot

* black

* update report

* refactor alphavantage

* refactor wsj

* update economy report

* ycrv tenor

* map avaiable_indices

* map economy helpers

* fix econdb docstring

* add plots on economy report

* minor fixes

* wip - crypto report

* update economy report

* added same default args as view

* added view to explicity use chart=True when suing the api

* adjustments - removed rich tables to use only df

* final version economy report

* change report name

* equity report for review

* linting

* add etf symbols endpoint

* incorporate feedback economy report

* fix reports launch by adding tag to economy report

* fix equity bug

* remove analyst name

* fix

* fix news

* make links hyperlinks for equity

* click links

* fixed arg name

* improved news

* small improves

* Fix light terminal stylesheet that would prevent using it in notebooks (#2473)

* improved report

* run reports in installer

* fix #2209

* minor ycrv refactoring

* refactor portfolio/holdv virtual path

* refactor benchmark trades

* fix events args

* adapt economy report to changes

* fix portfolio controller bug

* holdv refactor

* refactor perf command

* start portfolio report

* remove perf view

* refactor holp

* add textwrap3 to poetry (doesn't solve the error)

* fix equity after merge

* add some rolling commands

* fix equity after save button

* improved crypto report, plus minor fixes

* minor fixes on the reports

* add maxdd and distr

* refactor qa

* var command

* refactor qa expected shortfall

* add es command

* add es command

* fix qa percentile bug

* fix economy rendering

* refactor qa omega

* add om command

* add summary command

* add dret command

* add mret command

* add yret command

* add metrics

* add allocs to report

* remove bro and po commands, add later

* fixed some tests

* adjustments to crypto report

* Fix docstring for VSCode

Added a note about installing Jupyter PowerToys extension for optimal API usage in Jupyter VSCode, in the API_README.md.

* minor adjustment

* remove nft calendar model virtual paths

* Add in Portfolio report

* fix external axes portfolio view

* Update portfolio report with rolling plots

* Details for ETF and Portfolio

* fix economy report

* change analyst to openbb

* floppy

* fixed unmatched axis in reports

* Speed up tests

* fix file and load on po

* get_news output

* add some po paths

* Add integration tests for Reports menu

* refactor maxsharpe

* open maxsharpe

* open minrisk

* open maxutil

* open maxret

* Added fixes

* black

* remove useless views

* Fixed small issue

* refactor ef

* open ef api

* portfolio optimization report

* Added fixes

* unblock api loading

* add more endpoints

* update po report

* unblock api loading

* update po report

* expose herc

* expose property endpoint

* Added fixes

* More api fixes

* flake8

* Fixed some mypy

* news api model

* flake8

* mypy fix

* mypy

* black

* pylint

* fix tests

* markdown

* markdown

* Added fixes

* fix economy report

* merge

* fix economy report

* remove empty notebook

* expose nco

* remove jupyter notebook

* expose plot endpoint

* remove po report, just used for tests

* api v paths plot

* remove api_old

* change loading msg

* fresh reports fix

* remove papermill from requirements

* Hide output (text and charts) that is produced during report execution

* minor fix in equity

* comment out api and fix style

* update poetry

* poetry fix

* fix poetry and requirements

* pylint disable

Co-authored-by: montezdesousa <montezdesousa@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: JerBouma <jer.bouma@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Diogo Sousa <diogosousa@Diogos-MBP.lan>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: northern-64bit <75195383+northern-64bit@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: Minh Hoang <nminh.hoang1023@gmail.com>
2022-09-23 14:30:23 +01:00
DidierRLopes
3381a9a907 Allow reports comments to be saved in a new HTML (#2507)
* allow reports comments to be saved in a new HTML

* clear output of equity report

Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
2022-09-08 12:25:55 +01:00
DidierRLopes
5412149f37 Allow to build reports without arguments (#2108)
* Make sec fillings link clickable in report

* fix #2030

* improve code
2022-07-19 18:49:57 +01:00
Jeroen Bouma
b749d6e3c6 Improvements within the Terminal for the Documentation (#2048)
* Change about us to open_terminal_documentation

* Change the home menu to be more compact

* Make changes to menu layout and change bottom bar

* Change about command to send you to the documentation and add about to bottom bar

* Add in about choices to all menus

* Adjust wording

* Adjust the website to match terminal commands and make adjustments for common menus

* Update the website and small change to about command

* Small adjustment to about command

* Remove update command

* Add some more info about arguments

* Fix broken link

* Add pro tip

* Update keys to work well with about

* Fix some common paths

* Add back in the update command with exception if packaged application

* Remove update comment

* Fix all the things

* Make about more robust and also add in exe

* Make sure that there are actual commands and menus
2022-07-06 13:52:26 +01:00
DidierRLopes
221bfce452 Improve economy menu (#1996)
* slight improvement on the reports controller

* improve economy menu

* fix tests

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-06-29 12:49:00 +01:00
Colin Delahunty
836d529ff0 Fixes Blank Report Bug (#1954)
* Fixed blank report bug

* Removed ipynb file
2022-06-16 16:26:24 -04:00
didierlopes.eth
6aa487b590 allow for reports an easy exit when something fails and other fixes (#1876) 2022-05-27 10:23:11 +01:00
didierlopes.eth
707fd8f506 Terminal supporting controller with multiple languages (#1730)
* initial implementation of terminal supporting multiple languages

* improve quote command

* stocks controller with english translation pattern

* add language to settings

* update reqs to have python-i18n

* find languages automatically

* add to documentation how to support another language

* markdown

* fix no member issue

* fix test

* refactor code with translations

* translate for options and options/scr

* solve translation for all submenus within options controller

* fix stocks controller tests

* translate disc and th

* dps and sia menus

* scr and ins

* add gov controller

* fix tests for new controllers

* stocks/ba and stocks/ca menus

* add stocks/fa

* res controller

* stocks/dd

* stocks/bt

* qa and pred

* crypto and crypto/disc

* overview and onchain menus

* defi

* nft and tools

* crpyto/dd

* stocks and crypto TA

* finish crypto menu

* finish ETF controller

* finish economy menu

* forex

* alternative and mutual funds

* refactor source for translated version

* econometrics and portfolio and brokers

* portfolio

* fix tests

* finish language implementation

* refactor code for cmds

* improve keys

* refactor name funcs and add docstrings

* fix minor stuff

* fix tests

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Chavithra <chavithra@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-05-24 21:56:16 +01:00
didierlopes.eth
2cb229f35e Fix a bunch (#1852)
* spacing before and after rich tables

* fix menus to have standard UI

* fix tests

* fix tests

* fix tests
2022-05-21 16:57:39 +01:00
didierlopes.eth
37ea3fd6a3 Reports and Dashboards to be one level above (#1805) 2022-05-12 12:35:36 +01:00