* Began the fax
* Bumped ruff
* Fixed a BUNCH of ruff errors
* Fixed a lot of ruff errors
* Simplify if statements
* Fixed black
* Updated some stuff
* Updated some stuff
* A lot more ruff fixes
* Added a fix
* Added a fix
* Fixed mypy
* Fixed some stuff
* Reverted one thing
* Small fix
* Small fix
* Small fix
* Added fix
* Added fix
* Update requirements
* Get rid of sia
* Remove Portfolio Analysis menu that was not being used
* Remove Portfolio Analysis menu that was not being used
* That comment about GitHub datasets failing to load included sia, removed that
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Cleanse PO from Yahoo Finance
* I removed equal but then moved it back in
* Update tests
* Get rid of sust command
* Get rid of quote since broken
* Added in export capability for quote
* Remove pir and summary, fix news and change source for weights
* Update stuff
* Add sources
* Update portfolio to not be dependend on Yahoo Finance
* Update all tests
* Update SDK
* Details
* Fix integration scripts
* I think I had to rewrite these
* Update more tests
* oopsie
* Fix 1
* Fix Sort
* and fix test
---------
Co-authored-by: james <jmaslek11@gmail.com>
* Remove undesired example files
* Update the documentation for routines
* Add in video
* Add some additional text
* Add in a routines example that can be activated with --example
* Remove default old examples
* Add portfolio example holdings file
* Add portfolio optimization example allocation file
* Add example files for the portfolio menus
* Remove code that unintentionaly prints the home menu on every routine
* Add home instead of /
* Remove requirement to add file if you have an example
* Ensure portfolio/po/params also talks about docs correctly
* Move all routine, portfolio and screener presets to the correct folder
* Remove presets since they are moved
* Remove presets since they are moved
* Same implementation as for file in po
* Adjust code so it works with new folder
* Adjust code so it works with new folder
* Adjust code a little since I changed folder
* Update screener documentation to include how to create a screener
* Remove old readme
* Update documentation to better reflect where to find the files
* Also update SDK notes
* Update exe with auto complete and more info
* Add images
* Update images and the last script
* Update text to make it more apparent that it has an example attached
* Add section for routine scripts on home menu
* Make call_about more robust and add record and stop
* Update the routine markdown with info about record/stop including video
* Update scripts
* Update portfolio report
* Update tests and report
* fix small load bug
* rewrite help test
* last fix was buggy
* example by default
* fix po integration test
* keep example on arg
* adapt integration test
* fix portfolio integration test
* fix more portfolio integration tests
* pa is not an option anymore
* portfolio report choices only holdings
* update integration test for portfolio report
* Small formatting improvements
* Remove sleep and fix inconsistent return
* Some spelling
* oops
* Fix tests
---------
Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
* bump
* Add sheet name to export for base load function
* Disable pylint due to known issue with pylint and pandas
* Add robust option if file already exists
* Abstract the sheet name argument into the export data helper
* Feature flag for auto overwrite
* add to featflag menu
* Add featflag to builds
* Remove safety check
* Fix test
* 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>
* little refactor for degiro company news
* fixed message always showing even on login fail
* added if there is a session before trying to retrieve holds
* minor fix to reset the session id
* added a creds reset on logout
* added credentials verification
* adds a test for degiro key
* added 2fa to the test
* added verification for topnews
* fixing pylint
* fixing tests
* fixing import order
* fixing keys tests
* Added futures dashboard
* Got a semi working prototype
* Updated csv
* Improved UI and data gathering
* Got a working prototype
* Updated title
* Added description for futures
* Fixed tests
* Portoflio : add pa export command for Degiro
* Update controller + tests
* Tests
* Degiro : update pa export format
* Fixing Premium
* Black
* Show index
* 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>
* switch auto print_help on exits
* display help when home called from home directory
* change in test to expect help cmd
* change in test to expect help cmd
* sets autoexithelp flag on conftest
* supress help string print on quit
* adapt tests to expect help
* adds help on 3 tests missing
* run black
* respect literal bool type
* second attemp to respect literal bool
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.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>
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* Update _index.md
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* configure portfolio optimization parameters ini
* minor improvement
* Revert "New-Portfolio-Optimization-Menu"
This reverts commit b4b7169cfb.
* Add in Excel functionality and improve the capabilities
* Add Excel load function
* Tidying up the functions
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* Re-add my code
* Some spacing and details
* Add folder structure for portfolio
* Update terminal file loading
* New-Portfolio-Optimization-Menu
* Make it possible to move from params to po with loaded file
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* Making the connection between the parameters file and the functions
* Add in allocation and new params files
* Improve params default settings
* New-Portfolio-Optimization-Menu
* Update Portfolios and Params sheets
* Update sheets
* Update command to load in correct sheet
* Adjust function to only read specific columns
* Update portfolio
* Small correction
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* Patched up show error
* Add Equity portfolio
* Make functions more robust
* New-Portfolio-Optimization-Menu
* New-Portfolio-Optimization-Menu
* Add in Params documentation
* Fixing Linting
* Add in Requirements and Poetry Updates
* Update website
* linting
* Update tests
* Minor fix
* remove unneccesary READMEs
* Remove expected variable type
* Improve documentation
* Clean up the code
* Refractoring
* Adjust names to make it OS friendly
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: jmaslek <jmaslek11@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>