* 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>
* add attribution toolkit
* add attrib to test script for portfolio
* removes yahooquery dependency and early rounding
* Update _index.md
* update feature to include raw and type flags, graph always shows, table output optional, one type of output at a time
* Linting
* Update index
* Update index 2
* Update tests
* changes argument descriptions
* Small fix
* Formatting Black
Co-authored-by: S3908818 <S3908818@student.rmit.edu.au>
Co-authored-by: Louise Platts (S3908818) <88080425+s3908818@users.noreply.github.com>
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Louise Amy <74476622+louiseamy4@users.noreply.github.com>
Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
* normalized way moving average is treated and prevent huge exception prompt
* changed descriptions on docs
* change to check_positive_float
* add integration tests
* fix linting
* add more integration tests
* add more integration tests
* fix linting
* add some po integration tests
* fix flag without prompt
* change orderbook to transactions
* limit warning to portfolio
* change print help
* format portfolio var
* reformat controller
* reformat es
* remove autocompletion
* change print help
* add percentage symbol to summary
* fix holp holv
* fix scripts
* update website doc
* add tqdm progress bars
* fix table spacing
* identify mret tables
* remove positive float from rfr
* flake8
* pylint
* fix reports
* revert to old menu help
* revert to old menu help
* Update test_portfolio.openbb
* quick change on empty lines
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* fix rvol
* added .
* remove all ifs
* fix rsharpe, rsortino
* reorder rsort, rsharpe args
* change error msg
* change error msg
* added verification to check if the window len is larger than sample len
* change rbeta msg
* fix var and es
* add more integration tests
* changed boolean params to true booleans
* renamed the file to use test_
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
* 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>
* 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>
* pull sector industry country data from yfinance
* fix imports with missing info
* run black on helper
* fix tests
* fix tests
* fix linting
* autofill stock data and display progress bar
* redirect stock data file
* substitute only stocks not provided by user
* reset benchmark when new portfolio is loaded (bug fix)
* rewrite help, will be fixed in previous pr
* fix mypy
* fix linting
* fix linting with open
* format progress bar
* run black
* avoid clearing of all fields
* reformat error message
* improve returns calculation performance
* general linting
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* adds pythonic portfolio class
* start calculate trades refactoring
* adds comments to portfolio model - delete afterwards
* finish calculate trades refactoring
* restore original portfolio_model.py
* implement calculate_allocations
* adapt and test controller load, show, bench, alloc and perf
* add old code that was ok
* adapt controller
* adapt portfolio_view
* run black on pythonic_portfolio.py
* fix crypto bug
* change column name in example datasets
* substitute portfolio_model.py
* update show command
* push cumulative returns calculation to model
* fix last change in cumulative returns
* add comments on possibly unused code
* run black on changes
* bring metrics from helper to model
* push rolling metrics from view to model
* Details and linting
* Fix tests
* remove empty attribute and rename class
* fix view and controller rf
* change returns calculation method
* remove CASH from code
* remove cash from tickers_list
* run black on changes
* change function name
* adapt to PortfolioModel
* fix tests
* fix tests on help
* fix linting
* call metrics from PortfolioModel
* call drawdown from model
* fix some mypy issues
* fix remaining mypy issues
* fix test
* Fix linting
* Remove unused function
* Small fixes
* Remove old code and adjust summary to simply work
* Update the Excel since CASH is no longer a thing
* Fix tests
* Update the csvs
* Updates to usage of full_shares and more details
* Fix -t flag for perf
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
* Making pa active + pa minor features
Makes pa actice and adds country to the df. The groupby command also gets percents of holding allocation. It also fixes warnings and prepares for a later pr that I'm currently working on.
* Fix linting
* black linter
* Fixes
Should fix everything
* Linting
* Making pa controller to base class standard
* Fix linting
* first metrics
* Adding calmar ratio
* Adding metrics to controller
* Linting
* Linting
* Test fixes
* Test fixes
* Adding tests
* Linting
* Restructuring added tests
* Linting
* Updating hugo website and fixing help
* Fixing commands
* Fix kelly criterion command
* Fixing tests
* Linting
* More linting
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
* 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
* 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>
* 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>
* 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>
* Add in Portfolio Holdings for Attribution functionality
* Update a whole bunch
* Small bugfix and linting
* Remove print statements
* Update Excel to match Yahoo Finance categorization
* Make sure portfolio and benchmark are aligned
* Add in benchmarks, robustness and bugfixing
* Improve the spreadsheet
* Add in allocation model and improve portfolio features
* Bugfixing and more equities in the template
* Bugfix
* Bugfixing
* Add tests and website stuff
* WORK
* Clean up the code
* Add back in terminal changes
* Missing an enter imo
* Documentation fix
* Small fix
* Change code because tests cant handle formatting
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* quick econ fix
* black
* keys and feature flags
* terminal name 👀
* some more replacements
* some more replacements
* edit pyproject
* gst -> openbb
* add example portfolios back to git
* Update api from gst
* sorry. skipping some tests
* another round of names
* another round of test edits
* Missed some .gst refs and update timezone
* water mark stuff
* Fixing Names in terminal.spec and name of GTFF_DEFAULTS to OBBFF_DEFAULTS
* fix more GST to OpenBB Terminal
* Logging : merge conflicts with main
* Revert wrong files
Co-authored-by: Andrew <andrew.kenreich@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>