Commit Graph

55 Commits

Author SHA1 Message Date
James Maslek
a12b788ea9 remove export choices on export argument (#3655)
* remove export choices

* Error message
2022-11-29 19:22:22 +01:00
DidierRLopes
42fd915143 Remove colors from dataframes when saved (#3600)
* Remove colors from dataframes when saved

* further improvement
2022-11-27 13:59:02 +00:00
montezdesousa
02901f1473 Trim command output spaces (#3424)
* first round of removing spaces

* remove more print statemnts

* remove more spaces

* bullbear color

* spacc color

* improve stalker readability

* delete more spaces

* reddit colors

* rever hood

* flake8

* forgot this one

* fix econometrics tests

* fix econometrics tests

* fix more tests

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-11-16 11:47:24 +00:00
teh_coderer
59d8b36bb0 [IMPROVE] Fix Docstring formatting/Fix missing, incomplete type hints (#3412)
* Fixes

* Update stocks_helper.py

* update git-actions set-output to new format

* Update stocks_helper.py

* Update terminal_helper.py

* removed LineAnnotateDrawer from qa_view

* lint

* few changes

* updates

* sdk auto gen modules done

* Update stocks_helper.py

* updates to changed imports, and remove first sdk_modules

* Update generate_sdk.py

* Update generate_sdk.py

* pylint

* revert stocks_helper

* Update generate_sdk.py

* Update sdk.py

* Update generate_sdk.py

* full auto generation, added sdk.py/controllers creation

* missed enable forecasting

* added running black in subprocess after sdk files generation completes

* removed deleted sdk_arg_logger

* comment out tests

* property doc fix

* clean up

* Update generate_sdk.py

* make trailmap classes useable for doc generation

* Update generate_sdk.py

* added lineon to trailmap class for linking to func in markdown

* changed lineon to dict

* added full_path to trailmap for linking in docs

* updated portfolio

* feat: initial files

* feat: added meta head

* feat: added funcdef

* added func_def to trailmap attributes for markdown in docs, added missing type hints to covid functions

* feat: added view and merged with jaun

* Update generate_sdk.py

* Update generate_sdk.py

* Update generate_sdk.py

* Update generate_sdk.py

* init

* fix returns

* fix: random stuff

* fix: random

* fixed encoding issue on windows

* fix: generate tabs

* update

* Update generate_sdk_markdown.py

* Create .pydocstyle.ini

* added type hint classes for views

* fixes

* alt, ba

* alt-economy

* Update finviz_compare_model.py

* fixs

* Update substack_model.py

* Update generate_sdk.py

* last of my section

* porfolio

* po

* Update optimizer_model.py

* fixing more things

* few more

* keys done

* update

* fixes

* Update generate_sdk_markdown.py

* Update generate_sdk_markdown.py

* mypy forecast fix

* Update generate_sdk_markdown.py

* Update generate_sdk_markdown.py

* Update generate_sdk_markdown.py

* fixes

* forecast fixes

* one more fix

* Update coinbase_model.py

* Update generate_sdk_markdown.py

Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2022-11-15 16:37:49 -05:00
montezdesousa
46141766d7 Sdk dates (#3354)
* example changes in slopes

* change lettering size and side bar capitalization

* revert back to Fira

* start automatic website generation

* this was autogen

* add examples to slopes model

* generate slopes doc

* change to _index.md

* allow italic formatting

* fix regex

* option to regenerate paths

* update alt docs

* fix generate

* update alt

* fix generate

* update common

* target italic only for types

* format alt

* format italic common

* add sig indentation

* update sig indent alt

* update common ident

* add todo

* generate docstrings for all menus

* fix maxdd

* fix returns font size

* fix keys docs

* fix more docstrings

* escape literal symbols

* escape literal symbols

* reformat keys

* format opt

* remove literal escape

* remove another literal escape

* remove another literal escape

* unindent returns

* update docs return unindent

* add comma in last arg

* fix funcs without params

* fix signature

* compact some code

* refactor some more code

* refactor some code

* some final cleanup

* write docstrings

* change main

* move futures paths

* generate futures docs

* add external axes references

* fix typo

* revert to double docstring

* fix small bug

* remove docs folder

* generate.py in website folder

* add forecast to docs

* clear some warnings

* fix underscore

* remove cite

* refresh website docs

* fix forecast docstrings

* fix po

* fix po docs and remove italic

* fix more docstrings

* remove last warning

* codespell

* flake8

* exclude website contente from flake

* noqa on optimizer

* update website

* fix mypy

* remove setup from mypy

* mypy to openbbterminal

* update precommit

* pylint

* try to remove sdk loading issue

* fix dates active command

* fix crypto.change formats

* fix eb formats

* nonzero fix

* format dates crypto.load

* format supply transac

* format hr altindex

* format load crypto

* regenerate docs

* format ba trend dates

* regenerate docs

* format ba trend

* candle defaults

* fix sentiment test

* remove unused import

* shopt

* shopt again

* revert crypto helpers

* test shopt

* fix some tests

* skip trending test

* fix alcoin test

* helpers

* write docs

* rewrite helper

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-11-13 11:37:14 +00:00
Henrique Joaquim
46afc9eb8f Fix economy bugs (#3144)
* removed investing/investpy from sources and added #TODO

* removed Investing from events source

* fixed autocompletion for events

* added rank column based on the debt value

* removed options in treasury autocompletion

* fixed autocompletion to use comma instead of space

* fix verification for no data on economy/qa

* fix the exaple

* commented spreadso it don't show on auto completion

* preventing testst from using user default data sources and also removing unused env variables

* fixing tests

* adding empty line after uninterpreted args

* fixing tests

* improve the way fred works by not repeating the request. also, solve some issues with the plot - but not all

* Revert "improve the way fred works by not repeating the request. also, solve some issues with the plot - but not all"

This reverts commit 1094b454a5.

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-11-07 14:58:09 +00:00
DidierRLopes
47549cbd9f [SDK] Allow silencing verbose output in commands that use stocks/load (#3180)
* remove verbose on load

* Revert implementation of the verbosity setting in stocks controller

* Edit docstrings to comply with pydocstyle linting rules

* Fix typos in variable names and help text

* Add verbosity setting to forex load helper as it uses the stocks helper

* Update docstrings to comply with pydocstyle linting rules

* Update tests

* Fix test relying on local sources settings

* Remove old test cassettes

* Add new test data

* WIP: Fix futures tests

* Clean up test file

* Fix futures tests having a time component

* Fix futures model tests

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-11-02 09:46:58 -04:00
DidierRLopes
d4708119f1 improve export (#3176) 2022-10-31 15:32:41 -04:00
DidierRLopes
15e6e4ad85 Improve UI/UX styling regarding to spacing (#3073)
* fix styling UI/UX

* black formatting

* fix tests

* Update CONTRIBUTING.md

* asterisk to hyphen

* Update CONTRIBUTING.md

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2022-10-27 12:34:16 +02: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
Colin Delahunty
457671250d Switches all multi input arguments to comma separation (#2902)
* Switched first narg to arg

* Finished converting first menu

* Finished converting menus

* Fixed tests

* Fixed webpages

* Error handling

* Added James fixes

* Allowing lowercase

* Temp

* Temp

* Fixed error message for multi word countries

* Fixed countries

* James fixes

* Docs fixes

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-10-25 11:35:52 -04:00
Chavithra
eb244a1d8d Docker : building + publishing (#2904)
* fixed integrated test test_stocks_ba.openbb

* fixed integrated test test_stocks_dd.openbb

* improved and centralised the check

* fix lint

* Docker : update ci + build files

* Docker : update build and CD

* Docker : update CD

* Docker : test

* Docker : test CD

* Docker : test CD

* Docker : rename `build.sh`

* Docker : tests CD

* Docker : test CD

* Docker : update CD + build

* Docker : fix CD

* Docker : fix CD

* Docker : build

* Docker : test CD

* Docker : CD

* Docker : CD

* Docker : test

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : build + CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : test CD

* Docker : build

* Docker : test CD

* Docker : build + cd

* Moving `scripts`

* Checkout `helper_funcs.py` from main

* Docker : remove test file with alpine

* fixing readme errors

* fixing missed readme errors

* Docker : build

* Logging : handle docker app name

* Docker : test CD

* Docker : cd

* Doc

* Doc

* Doc : linting

* Doc

* Docker

* Doc

* Fixing `terminal_controller`

* Linting

* Doc : fixing links

* Version 1.9.1

* Docker : fix name

* Doc : add volumes in command

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Simmons <simmonsj330@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2022-10-19 18:00:59 +02:00
Colin Delahunty
84b04351de Fix settings not updating right away (#2851)
* Loads env file after creating a new one

* Continued work

* improved error handling

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-10-18 09:08:01 -04:00
montezdesousa
88ec6a04c0 be explicit about images location (#2791)
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
2022-10-12 12:22:11 +01:00
Colin Delahunty
17ec68fa44 Update darts (#2750) 2022-10-09 14:07:42 +02:00
montezdesousa
bc2816c609 Autogenerated screenshots and plotshots (#2558)
* add screenshot and plotshot

* handle 0 plots

* black

* change logo

* change path spec

* get window name automatically

* create screenshot frame

* merge commands

* fix parser help

* minor refactors

* rewrite parser help

* save img

* small improvs (#2562)

* prevent non windows users to use screenshot now

* minor msg change

* refine frames

* update dependencies

* black

* flake8

* flake8

* change pyautogui import

* update dependencies to avoid mouseinfo

* update poetry and requirements

* remove pygetwindow

* revert dependency files to main

* remove terminal ref

* black

* minor image change

* black

* move images to timages folder

* move images to timages folder

* remove unused var

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2022-10-09 10:52:07 +02:00
martinb-bb
7fd72d9ee1 Forecasting Menu [Work in Progress] (#1933)
* Gave forecasting memory

* Fixed scripts, refactored

* FIxed poetry lock

* edge case check for forecast target

* Improved combine and load functionality

* Cleaned up translations

* Fixed issue with covariates

* Fixed issue checking covariates

* Another covariates check fix

* Ignored regr and linregr warnings

* Fixed covariate issues

* switched from forecasting to forecast

* Finished transition to forecast

* Can add entire dataset with one command

* Improved combine description

* Removed naming covariates

* Created new installation

* typo

* Make plot show dates if available

* Added better handling or users without the menu

* Removed unused file

* Fix

* Better handling for nontraditional datasets

* Fixed black and pylint

* Fixed tests

* Added darts install to main tests

* Working on darts with CI

* Added back test file

* Made large tables print better

* naive baseline

* typo

* Finished naive

* no dollar on prediction

* fixed positive MAPE bug

* quick refactoring

* Fixed two different args for same thing

* added extra patience

* linreg mape fix

* info fix

* Refactored API, bumped to Darts 0.21.0

* Added fixes

* Increased verbosity for wrong column

* Updated dependencies

* Hid warnings

* Fixed importing

* Fixed tests

* Fixed ugly seasonal plotting

* Fixed forecast line color

* Switched chart output to blue

* Simplified lambda_price_prediction_color

* fixed residuals

* Chnage

* Removed darts from CI per Chavi

* Added fixes to tests

* Added knnfix

* Fixed issue where n!= o

* Added changes

* Added changes

* Imrpoved forecast dash

* Added Theo notebook

* Added enhancements to dash

* Added notebook

* Added fix for jupyter lab

* Added debug stuff

* Change

* Updated docs

* Fixed formatting

* Fixed formatting

* Removed prints

* Filtered some info

* Added button to run model

* Improved api

* Added secret feautr (no peeking Martin)

* Cleaned code

* Fixed tests

* Added test fixes

* Added fixes

* Fixes

* FIxes for pres

* Remove bad tests

* Removed knn

* Fixed issues with removing mc

* doc for conda

* Added forecast improvements

* Added streamlit support

* Fixed issues

* fix expo with streamlit due to quantile()

* fixed performance issues with streamlit for now..

* clean up historical forecast with new trainer

* quick fix for regression trainer params

* Added fixes

* quick fix for other fix for regression trainer params

* table formatting for timestamp

* potential fix for inf in feature engineered datasets

* Basic working in new format

* dw

* Trying

* Fixed issues

* Improved graphing

* fixing trainer for LR and formatting

* doge and linting

* page break

* automatic cleaning of datasets

* automatic cleaning of datasets- fix

* Fixed forecast dates

* Made dashboard prettier

* Added fixes

* Added fixes

* Added options

* Fixed error

* remove caching

* adding in spinner

* Added vairable n_predict in streamlit

* Added mypy fix

* renaming and range change

* new index for n predict

* check positive float for window size

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* renaming

* reorg files

* Update _index.md

* hidden which command for versions

* Update _index.md

* Update _index.md

* which: ns parser

* hugo for: which

* hugo for: forecasting fix

* formatting black

* update stock controller test

* Lay groundwork for better residual plotting

* improved delete to allow for periods in title

* improved automatic cleaning of inf

* Added new API

* Added new API

* Added new API

* formatting for black

* Updated our testing CI

* Reverted changes

* Added forecast docs

* Fixed mypy issues

* Fixes tests

* Did some refactoring, added a report

* new api in streamlit

* Added integrated tests

* Update _index.md

* improved loading in custom dataset

* menu spacing

* installer fixes

* Added docs fixes

* Adding comments to test if commit working

* Fixed report

* naming conventions

* formatting

* removing unused var

* Made last report imporvements

* Update README.md

* Added fix

* Switched to warning

* Added fixes

* Added fixes

* Added fixes

* Added fixes

* Update economy av view test

* Remove forgotten print statement

* Update depencencies

* Added verbosity to pytest

* Added fixes

* Fixed pylint

* Fixed actions checkout

* Added fixes

Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Simmons <simmonsj330@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-10-08 14:54:43 +02:00
DidierRLopes
4e6a2fb564 put ticker on clenow func (#2709)
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-10-04 20:51:57 -04: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
Chavithra
72b0a9f1ee Next release : reports on steroids (#2349)
* fix gov tests

* refactor insider

* new virtual path extraction

* removed some symbol default params as they're considered critical

* little adjustments

* portfolio refactor

* 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

Co-authored-by: montezdesousa <montezdesousa@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Om Gupta <guptagom@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: JerBouma <jer.bouma@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Om Gupta <85685255+soggyomelette@users.noreply.github.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-20 15:07:58 +01:00
Om Gupta
f18c44b066 New path for styles and add timezone as environment variable (#2509)
* add log path

* add test to check if log file is in correct dir

* env path

* black

* mypy fix

* add styles folder and styles from repo

* add timezone as env variable

* fix changes with main

* fix test

* flake8

* fix linting

* fix linting

* fix issue with light mpl stylesheet

* change timezone variable name

* change names

* change names

* names

* simplify paths.py

* change some names

* fix error in logic

* remove 3.11 from testing for now
2022-09-16 17:46:20 +01:00
Om Gupta
3d0190e35b New path for .env (#2508)
* add log path

* add test to check if log file is in correct dir

* env path

* black

* mypy fix

* linting

* add make_paths and change references

* terminal change

* change constants to paths

* change names

* black

* mypy

* mypy

* pylint else

* add make paths

* remove custom user dir name

Co-authored-by: Chavithra <chavithra@gmail.com>
2022-09-12 11:56:45 +01:00
montezdesousa
291e7d6991 Add ETF support for portfolio allocation command (#2143)
* fill etf and prevent different length errors

* auto fill etf sectors and allow 0 value portfolios

* allow 0 value portfolios

* remove unused folder

* allow 1 asset portfolios

* split allocation calls by category  in controller

* comment sector allocation model

* get country and region allocations for etf

* add comments and black

* improve comments

* improve comments

* allow for 1 category in sector, country and region

* add progress bars

* linting fix

* fix mypy

* set default date

* fix pylint

* add isin on paexport

* merge main

* auto pre load benchmark

* fix rich table for np.float64

* refactor portfolio allocs

* refactor alloc command

* add isins column

* format output alloc

* rename variable

* fix nan bug

* black

* add ticker conversion to yf format by isin

* warn and removed unsupported ISINs

* solve same day trades bug

* display bench loading progress

* portfolio show

* check if valid isins on preprocessing

* black

* fix bug when region empty

* warn when category is empty

* reformat preprocessing

* codespell

* check if ticker is valid

* flake8

* fix test

* fix bug with trades on holidays

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-09-09 15:12:59 +01:00
hjoaquim
a8c9b4ee6e added wiki command (#2492)
* added wiki command

* changed the wiki command to  below update and get rid of unnecessary variable assignments

* fixed black and import

* added a line for wiki in the docs

* fix linting

Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
2022-09-06 11:52:41 +01:00
DidierRLopes
8edf079041 Big refactor to be explicit about data sources (#2490)
* refactor stocks datasources

* add rest of data sources

* add_cmd without source

* forgot one tiny thing

* fix crypto tests

* fix forex tests

* fix etf tests

* fix economy tests

* fix oss tests

* fix remaining tests

* fix tests

* Rewrote vcr files

* Take 2

* fix test

* fix tests for FA

Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2022-09-04 18:04:56 +01:00
DidierRLopes
c30a8de32f Allow root access (#2437)
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-08-28 02:24:53 +01:00
Chavithra
9e1a58e2db Here we merge all API Refactor related branches (#2236)
* Update api.py

* Updated forex menu

* refactor ycrv command

* refactor ycrv command black

* refactor ecocal command

* Minh changes

* Adding space to test pushing

* title fix ecocal df

* get economic calendar annotation

* fix investingcom tests

* refactor index command

* refactor overview command

* give defaults to wsj view function args

* rename date args investincom

* refacto bigmac command

* fix ecocal typo

* refactor rtps command

* alphavantage gdp

* alphavantage gdp per capita

* alphavantage cpi

* alphavantage tyld

* alphavantage inf

* refactor macro command

* refactor macro command w helpers

* refactor treasury command

* fix macro on terminal

* treasury labels

* refactor maturities

* update treasury maturities doc strings

* refactor get economic calendar finhub

* refactor map command api

* display map filter choices

* route economy api to performance map

* route economy api to performance map

* display group choices on valuation command

* refactor performance and valuation commands

* refactor spectrum model and view

* add choices to spectrum controller

* delete image after view

* fix model tests finviz

* fix finciz view tests

* refactor futures

* fix some tests

* fix more tests

* fix controller test

* refactor fred series notes

* update fred notes docstring

* refacto fred series ids

* fix pred and qa when empty datasets

* refactor fred

* uncomment stuff

* refacto get series data

* fix some tests

* set defaults on args

* refactor fred yield curve

* black

* fix spell and remove ecocal names

* fix linting

* linting

* pylint fix

* change dangerous defaults

* Working through crypto fixes (#2256)

* Working through crypto fixes

* Continued adding crypto stuff

* Added crypto overview

* Added test fixes

* Added fixtures

* Fixed tests

* Fixed charting issue

* Removed broken APIs

* Final adjustments

* Added test fixes

* map get groups and get ycrv countries into old api

* exposed econdb helper funcs

* remove helpers

* refactor search indices

* linting

* refactor arg currency

* pylint from currency

* Started switching crpyto ascending to ascend

* Merging

* Portfolio model arguements, params, and docstring

* Refactored for etf commands (#2292)

* Refactored for etf commands

* Fixed tests

* Added load command

* Fixed menu

* Portfolio logic fixes

* Added econometrics (#2260)

* Added econometrics

* Fixed tests

* Simplified API

* Added test fixes

* Added test csv

* Allowed examples to be loaded

* Fund refactor (#2291)

* Fund refactor

* Changed fund_name and fund to name

* Changed ascending to ascend

* Stock menu refactoring for easier API usage (#2194)

* Stocks  refactoring for easier API usage

* Linting

* Refactor newly added features

* Linting

* Fixing tests

* Refactor common files used by stocks menu

* Fixing flake8

* Fix linting and tests

* Linting

* Fix flake8

* refactor insider_data

* refactor mentions

* refactor watchlist

* refactor sentiment

* refactor sentiment

* fix yahoofinance tests

* refactor load and candle

* refactor get_news and display_news

* refactor stocks.ins.act

* candle default matplotlib

* fix yahoofinance_view tests

* fix ark model tests

* fix ark view tests

* fix business insider model

* fix business insider view

* refactor csimarket model

* fix tests csi market model

* update dd controller

* fix get suppliers tests

* fix dd controller tests

* fix finhub tests

* fix finviz tests

* fix fmp tests

* fix marketwatch tests

* corrected argument keywords in test_bt_model

* corrected argument keywords in test_bt_view

* refactor fa controller

* refactor marketwatch view

* refactor gov controller

* fix tests fa av

* fix tests elect

* fix dcf tests

* fix polygon tests

* fix fmp tests

* fix quiverquant tests

* fix yahoofinance fa tests

* fix more fa tests

* fix insider tests

* fix more tests

* fix more tests

* fix options tests

* fix stock gov tests

* fix tests test_ba_controller

* fix tests for test_finviz_compare_model.py

* fixed 2 tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* fix final tests

* fixed tests

* fixed tests

* Fix tests

* black

* forgot to black tests

* fixed tests

* fixed tests

* fixed tests

* fixed tests

* flakefix

* Tests + code : Stocks / Discovery

* fix tests

* added recorder

* fixed tests

* fixed tests

* black

* black

* remove unused imports

* refactor display raw

* sia dicts fix

* pylint

* linting

* remove dangerous default

* fix tests

* fix beta model test

* black

* skip screener qa test

* change sector path to sectors

* update tests readme

* fix metric defaults

* black

* substitute lost ticker

* defaults cpic

* another round on sia

* refactor cramer

* reduce default tweets on sentiment

* refactor yf hist, corr, volume

* arkorders default

* refactor income, balance, cashflow

* refacto scorr, screener, getfinnhub

* refactor stockgrid

* ibkr refactor

* another round on stockgrid

* add dividens end point

* refactor discovery endpoints

* update docstrings with similar input

* refactor messages

* refactor ba

* refactor regioons

* refactor twitter sentiment

* refactor hist

* refactor regions

* give default to timeframe

* refactor bunch of defaults and arg names

* remove leftover imports

* refactor vwap

* let tests run

* fix tests

* fix stock tests

* fix stockanalysis tests

* flake

* MYPY

* Made important changes

* added fixes

* Fixed big issue

* Added fixes to tests

* fix qa tests

* fix tests

* fix 1 more test

* last stocks failing

* fix crypto test

Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: montezdesousa <montezdesousa@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>

* fix portfolio tests

* change period to window

* update ca docstrings

* refactor get_similar_companies func

* Fixed

* Update CI

* Update CI 2

* Update CI 3

* Update dependencies

Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: montezdesousa <montezdesousa@gmail.com>
Co-authored-by: James Simmons <simmonsj330@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: northern-64bit <75195383+northern-64bit@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2022-08-17 15:28:54 +01:00
Theodore Aptekarev
775d218891 Add parser for input command arguments (The Forward Slash PR) (#2064)
* Add helper command to filter unix paths and other edge cases

* Remove sort argument filtering from parsing

* Make --file arg mandatory for loading files

* Refactor queue parsing logic

* Enable adding controller level input parsing filters

* Remove the github repo path hack because it's not needed anymore

* Fix typos and line length linting

* Update unix path parser to match known extensions

* Update oss custom filters to not require space after slash arg

* Fix tests and failing linters

* Add pre-commit hook to check for reserved arguments validity

* Fix tests

* Fix finviz compare screener tests

* Fix screener test

* Fix screener test

* Fix float representation in pd dataframe on finviz screener tests

* Update test records

* Update test records

* Remove explicit float formatting in tests

* Update tests

* Remove prepending file argument

* Update long arguments that have lost their short default to file

* Update arguments in docs

* Update portfolio test data

* Fix econometrics/desc throwing error on empty df and fix tests

* Update tests

* Fix econometrics load autocompletion

* Fix portfolio tests giving different results every time

* Allow loading openbb scripts from arbitrary path

* Fix passing path as a terminal argument

* Fix guess game being case sensitive

* Silence bandit warning about using pseudo-random generators

* Update gov tests

* Fix screener sort fields that have forward slash

* Make controllers apply custom argument filters on entry

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
2022-08-05 12:51:23 +03:00
James Maslek
64d4f22753 Clenow Volatility Adjusted Momentum (#2180)
* Add this clenow volatility momentum thing

* Hugo + FIx controller

* clean up

* mypy fix

* Add to menu and dont show header

* menu testing

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
2022-07-26 13:09:21 -04:00
DidierRLopes
b6f52429d1 allow user to set flag (#2074) 2022-07-12 19:54:12 +01:00
DidierRLopes
9e220e8f3c Creates a controller to specify sources (#2069)
* Add all data sources to data_sources_default.json so we can have a list in one place

* create menu to get and set data sources

* improve settings controller

* james request

* improve helper message

* minor improvement

* fix tests
2022-07-12 18:56:52 +01:00
DidierRLopes
066d347c63 replace curve brackets by square ones (#2040) 2022-07-03 21:31:04 +01:00
James Simmons
f9f717774a Fixed warnings bug which does not display data if there is an inf value data point (#1948)
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2022-06-17 08:47:48 -04:00
Sam Kerr
497324d75f Preferred data source for a given command and help docs for any command (#1928)
* Add a feature flag loaded from . env for preferred data source

* Update the load command to use the preferred source

* Add a test

* Black syntax checker updates

* Update test syntax

* Update load command documentation

* Add a variable to read a sources file from

* Add a default sources.json file

* Add a helper function to read the source file and get the most relevant value

* Add some comments

* Remove older preferred data source file setting

* Add a default source file for data and use it if no user preference specifies a specific file

* Remove duplicate source file and old settings values

* Update the test file

* Update documentation string

* Update tests/openbb_terminal/test_settings_controller.py

* Black syntax formatting issues

* Fix a test case

* Fix a typo

* Fix Flake8 errors

* Fix Flake8 errors

* Pyupgrade syntax fixes

* Additional linter corrections

* More pylint issues

* Improve predefined default sources

* refactor parse_known_args_and_warn for documentation

* Update openbb_terminal/helper_funcs.py

* Add a feature flag loaded from . env for preferred data source

* Update the load command to use the preferred source

* Add a test

* Black syntax checker updates

* Update test syntax

* Update load command documentation

* Add a variable to read a sources file from

* Add a default sources.json file

* Add a helper function to read the source file and get the most relevant value

* Add some comments

* Remove older preferred data source file setting

* Add a default source file for data and use it if no user preference specifies a specific file

* Remove duplicate source file and old settings values

* Update the test file

* Update documentation string

* Update tests/openbb_terminal/test_settings_controller.py

* Black syntax formatting issues

* Fix a test case

* Fix a typo

* Fix Flake8 errors

* Fix Flake8 errors

* Pyupgrade syntax fixes

* Additional linter corrections

* More pylint issues

* Improve predefined default sources

* refactor parse_known_args_and_warn for documentation

* Update openbb_terminal/helper_funcs.py

* Forex controller

* Tests : Fixing `parse_known_args_and_warn` issue

* Comparison Analysis controller

* Tests : Comparison Analysis

* Tests : Stocks/DarkPoolShorts + Stocks/Options

* Tests : fix call_load tests

* Linting : fixing line size

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
2022-06-14 20:23:55 +02:00
didierlopes.eth
49560ab880 Econometrics UX (#1878)
* improve econometrics load, custom_reset

* improve econometrics UX and remove options cmd

* fix sector and industry analysis

* improve econometrics and export data from main menu

* improve toolbar vis to add helper -h

* imporve type and desc

* add logger

* econometrics improve ols

* improve root and norm commands

* more cleanup

* improve econometrics commands

* api econometrics

* tests econometrics

* improve index command

* change modify to add,delete,combine and rename

* minor fix

* update docs

* update pylint

* update pylint

* tests

* Update documentation

* fix type command

* index

* improve more econometrics for Jer

* improve docs

* fix tests

* fix test

* remove help

* Add in robustness for when you select two dependent variables

* Update Website documentation

Co-authored-by: JerBouma <jer.bouma@gmail.com>
2022-06-01 12:41:45 +01: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
Theodore Aptekarev
46da0fca5e Fix scientific notation for zeros and options greeks (#1859)
* Force greeks table to show many zeros

* Disable scientific notation for zero

Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
2022-05-25 00:27:45 +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
minhhoang1023
5231ee5455 Support command redirects to OpenBB Support page (#1846) 2022-05-23 16:43:05 +01:00
didierlopes.eth
0e3b62e143 Portfolio improvements (#1818)
* improve portfolio controller

* improve menu ux with disabling command when port or bench are not loaded

* allow custom reset with benchmark and portfolio loaded

* bench needs portfolio loaded to use start date, reflect that

* fix tests

* allow to see sum of a portfolio holdings

* add r-square to portfolio

* add skewness of data

* add kurtosis

* add stats

* allow perf command to select a period

* add yearly returns to cumulative return plot

* add individual rolling volatility

* add individual rolling sharpe

* add individual rolling sortino

* add individual rolling beta

* add period to cumulative returns

* clean up on aisle 5

* minor fix

* add volatility, sharpe ratio, sortino ratio and maximum drawdown ratio

* remove duplicated metrics

* check for portfolio and benchmark more modular

* fix tests

* remove sqrt(N) and N from sharpe and sortino calculations

* allow hold to export raw data from tail

* automatically add space before and after table

* add portfolio holdings in percentage

* fix relative dates to be more accurate

* refactor metric command to allow to select a metric of interest and check different periods

* fix cumulative return and implement new yearly return command

* add daily returns graph

* add distribution of daily returns command

* add monthly returns command

* add summary command with multiple metrics for a specific period

* calculate yearly (out)performance

* fix show

* rbeta with benchmark of 1

* improve mret style

* improve title of distribution

* improve volatility

* minor improvement in doc

* improve mret and yret

* tests

* update portfolio content on hugo docs

* fix ycrv hugo docs

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* fix issue

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-05-19 14:26:37 +01:00
Minha, Jeong
2815f42a3c patternize validation of axes count with typo fix (#1781)
* patternize validation of axes count with typo fix

* remove unused console import

* fix suffix_text arg name typo

* Black

* add docstring with typehint, fast return if true

* Common : ta > fixing import

* Portfolio : view fix

* Black

* Helper : simplify `is_valid_axes_count`

Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-05-17 20:20:48 +02:00
minhhoang1023
2e67fd28a0 Add terminal-wide report command (#1709)
* Add terminal-wide report command

* Update requirements.txt

* Update lock file

* Remove commented lines

* Pre-fill Google Forms

* Update form

* Fix PR review

* Fix PR review

* remove conflicts

Co-authored-by: jmaslek <jmaslek11@gmail.com>
2022-05-11 01:45:14 +07:00
Minha, Jeong
e00534c9d1 Duplicated code remove (#1780)
* print function to console.print

* remove duplicated and worng positioned class

* black formatter apply

* circular import resolve

* add pylint import-outside-toplevel disable

Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
2022-05-07 20:53:52 +03:00
Minha, Jeong
9fca640d8e stock search error fix (#1761)
* Allow stock search keyword has whitespace

* Add exchange Sapporo Delayed Price Currency in JPY

* Add exchange Sapporo Delayed Price Currency in JPY

* black formatter apply

* pyupgrade apply to use f string

* black formatter apply after pyupgrade

* add docstring

* normalize function to use it generally

* moving function to helper_func file

* change funciton name to snake

* change checker lambda to def and name to snake

* black formmatter apply

Co-authored-by: 정민하 <mhjeong@sharekim.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
2022-05-07 16:44:20 +01:00
Theodore Aptekarev
cc52bf5b16 Stop treating loss as a small value (#1770) 2022-05-06 01:06:59 +03:00
alexferrari88
5791c09135 Fix bugs for fetching crypto prices on chain and displaying very small numbers in tables (#1762)
* Fix bugs fetching token prices #1741

* Fix bug displaying very small floats in tables #1741

Co-authored-by: Alex Ferrari <a.ferrari88@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-05-05 19:38:13 +03:00
Avani Sharma
b73e09119d Adding stock price comparison via -c flag (#1745)
* adding stock price comparison via -c flag

* updated as per comments

* trying to fix tests

Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
2022-05-02 10:19:41 +01:00
Theodore Aptekarev
53049003f2 Fix user path (#1737)
* Decouple export path composition into a separate function

* Fix typos, linting and text formatting

* Improve cross platform compatibility of user home path handling

* Fix export path for pir and dcf

* Remove excessive iteration from fa integration test

* Add investpy data to fix funds menu

* Clean up logs dir before build on macOS

* De-quarantine terminal package on launch on macOS

* Add docstring

* Update dcf test data

* Remove recording new data every time pycoingecko tests run

* Skip pycoingecko tests

* Update deps to fix CI tests on main

* Bump Pygments version to fix the CI

Co-authored-by: piiq <piiq@tinag.ru>
Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
2022-04-26 14:48:28 +03:00
Colin Delahunty
690625f11d fixed spelling (#1739) 2022-04-25 11:21:19 -04:00