* Adding es to qa and var to portfolio
* Fixing mathematics
* Adding es command to portfolio menu
* Linting
* Fixing tests
* Lint fixes
* lint fixes
* Adding hugo, tests and small fixes
* Fixes
* Fix mypy + portfolio model
Co-authored-by: jmaslek <jmaslek11@gmail.com>
* Add default stylesheets
* Add terminal style helper class and global style initialization in cfg
* Style comments and docstrings
* Load rich terminal theme from config file
* Add application chart styles to candle charts
* Add todos
* Remove explicit color setting for some ta charts
* Add user styles folder to gitignore
* Update default stylesheets
* Add matplotlib font manager support
* Add matplotlib font manager support
* Update docstrings and default style
* Update stocks candle chart formatting (return fig to style title)
* Style common ta overlap view
* Make up and down market colors a part of the style helper
* Update stylesheets
* Style common ta volume view
* Style common ta momentum view
* Style common ta trend indicators view
* Style common ta volatility view
* Style common ta volume view
* Style common ta custom indicators view
* Fix styling bugs and remove the obvious time x lablel
* Style charts in the covid menu
* Set legend position to upper left in the mpl stylesheet
* Add mpl_rcparams configs for parameters not covered by stylesheets
* Remove font configuration files
* Update style class utility functions
* Implement passing external axes and style utility usage in ema & stoch
* Add theme watermark and output helpers
* Rename style to theme
* Update helper usage in ta/ma and ta/stoch
* Update style to theme in sample menus
* Style forex (#1305)
* Make tight layout optional 'cause mplfinance doesn't support it
* Apply global style to the forex menu
* Update code layout in oanda view and black
* Style common TA (#1315)
* Make tight layout optional 'cause mplfinance doesn't support it
* Apply global style to the forex menu
* Add linewidth to theme for use in mpf's addplots
* Add vwap to the stocks notebook api
* Update common/ta overlap to follow charting style
* Apply style on TerminalStyle init
* Enable infrastructure for excluding non-trading days from plots
* Update notebook api to include there and resolve bandit warning
* Update ta/common/overlap to exclude non-trading days
* Enable external ax, style and non-trading days in common/ta/momentum
* Enable external ax, style and non-trading days in common/ta/trend
* Update vwap to the argument naming convention
* Enable external ax, style and non-trading days in common/ta/volatility
* Enable external ax, style and non-trading days in common/ta/volume
* Enable external ax, style and non-trading days in common/ta/custom
* Fix controller tests
* Forgot to disable rewriting of the cassettes ...
* Fix controller errors that came up because a merge conflict
* Fix price label position on fib
* Fix line having wrong x values in fib
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
* Style economy (#1308)
* Began converting
* Added alphavan_view
* Added CNN View
* Updated nasdaq view, fixed glitch
* Added fred
* Refactored URL
* Theo's requested changes
* Updated docstrings
* Updated tests
* Fixed pylint
* Fixed tests
* Theo changes
* Econ Fix
* Refactor chart style for Crypto context (#1306)
* Remove mock for gff
* Mock visualize_output helper function
* Refactor
* Fix plot helper
* Update legend loc
* Refactor mplfinance candle plot
* Fix errors in the helper function
* Fix binbook having the wrong call_ function name
* Remove hardcoded style params
* Resolve kwargs future warning from pandas
* Remove warnings import
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* funds + custom (#1311)
* funds + custom
* cleanup cleanup everybody everywhere
* Fix external axes conditional and a typo
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* Add external axes mode to covid charts (#1328)
* Add portfolio menu plots (#1318)
* Portfolio view plots (commenting out report stuff)
* PA Menu broken. Commenting out and fix tests
* portfolio optimization
* comment out commented api line
* Add notes on disabling the pa submenu
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* Plot updates in common BA (#1335)
* Add external axes support to common/ba/finbrain
* Add external axes support to common/ba/twitter
* Add external axes support to common/ba/google
* Add external axes support to common/ba/sentimentinvestor
* Add sentimentinvestor to the notebooks API
* Fix tests
* Etf refactor (#1323)
* Refactored no ETF
* Fixed gtff import
* Fixed tests
* Fix pie chart style
* Refactored etf/candle
* Added pylint fix
* Fixed tests
* Update candle chart layout
* Update etf controller test
* Remove strange binary file
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* Expose ETF candle function in the notebooks API
* Common BA and Common QA charts update (#1342)
* Add external axes support to common/ba/finbrain
* Add external axes support to common/ba/twitter
* Add external axes support to common/ba/google
* Add external axes support to common/ba/sentimentinvestor
* Add sentimentinvestor to the notebooks API
* Fix tests
* Update stylesheet files
* Refactor charts for common/qa
* Update the forgotten line plot
* Update tests
* Add missing arg to a docstring
* Remove scientific notation
* Black imports
Co-authored-by: Minh Hoang <nminh.hoang1023@gmail.com>
* Options refactor (#1324)
* Fixed alphaquery_view
* finished options
* Fixed pylint
* Fixed tests
* Fixed tests
* Fixed tests
* update yfinance
* Tradier + Chartexchange
* change mocks from gtff to theme.visualize output
* tests
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: james <jmaslek11@gmail.com>
* Refactor Stocks menu (#1325)
* Fix backtesting menu
* Refactor comparison analysis
* Refactor Dark pool shorts
* Refactor rest of menu
* Fix test
* Fix tests failing
* Fix tests fail
* Fix test failing
* Remove record mode=none to record new output
* Rewrite test output
* Rewrite test outputs
* Adding more rewritten test output
* Mock plt.show
* Mock missing plt.show
* Missing @pytest.mark.vcr
* Updating tests : common/behavioural_analysis/finbrain
* Improve notebooks API coverage for CA and DPS
* Silence annoying flake8 warning
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* Charts update for common/pred (#1344)
* Add external axes support to common/ba/finbrain
* Add external axes support to common/ba/twitter
* Add external axes support to common/ba/google
* Add external axes support to common/ba/sentimentinvestor
* Add sentimentinvestor to the notebooks API
* Fix tests
* Update stylesheet files
* Refactor charts for common/qa
* Update the forgotten line plot
* Update tests
* Add missing arg to a docstring
* Style pred helper and controllers
* Update ETS plot
* Update plots in KNN and pred helper
* Update plot and pretty table for arima
* Update plot for common/pred/regression
* Refactor mc_view
* Fix linting
* Fix mypy
* Move plot title to the axis level to make more vertical space
Co-authored-by: Minh Hoang <nminh.hoang1023@gmail.com>
Co-authored-by: jmaslek <jmaslek11@gmail.com>
* linter
* Update common/ba test data
* Change etf candle to match stock candle
* try updating sia test
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: jmaslek <jmaslek11@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: Minh Hoang <nminh.hoang1023@gmail.com>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
* Adding avar command to qa context
* Adding documentation and VaR command
* Linting
* More linting
* Somehow discordbot tests didn't like my linting
* Fixing tests
* Fixing requested suggestions.
Fixing jmasleks comments, but I sadly couldn't sort the table by the VaR (if the manually entered percentage is 75 it's currently still displayed below the 99% VaR)
* linting
* Linting fix
* Adding every qa command to hugo
Also lint fixing
* Fixing previous error
Co-authored-by: jmaslek <jmaslek11@gmail.com>
* decorated functions and removed assertion tests that are now caught by decorator logs
* modified functions with @property
* fixed bc of coingecko
* fixed outedated tests
* Add first iteration of custom context
* Add sample data + improve plot
* Change `head` to `show` with sorting and limit. Add "-x" to plot and dynamic update of completer
* generate random time series for test csv
* Make columns lower case. Check if date is in columns and convert to timestamp. Improve plotting for dates
* Add qa to custom
* Add pred to custom
* Hugooooo
* Testing
* dang whitespace
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
* My idea for how we handle Rich moving forward
* remove independent consoles
* FIxed pylint issues
* add a few vars
* Switched print to console
* More transitions
* Changed more prints
* Replaced all prints
* Fixing tabulate
* Finished replace tabulate
* Finished removing rich from Tabulate
* add Panel around menu
* add GST watermark under feature flag
* Fixed 46 tests
* Delete test_screener[False].yaml
* Delete test_screener[True].yaml
* Fixed the rest of the tests
* add help and source color vars and use rgb
* rich on stocks/options
* update rich on disc, dps, sia
* rich in gov, ins and scr menus
* ba and ca menus with rich
* Fixed import issue
* Fixed some tests
* removed termcolor
* Removed prettytable
* add rich to remaining stocks menus
* FIxed linting issue
* Added James' changes
* Updated dependencies
* Add rich to cryptocurrency menu
* refactor economy and forex
* refactor etf with rich
* refactor mfunds
* refactor rich rest
* not specify style so default color works well on any background
* Fixing mypy issues
* Updated tests
* More test fixes
* James' test fixes
* Updating tests : stocks/screener - fix cassettes using BR
* Updating tests : crypto
* Updating tests : disable DEBUG_MODE
* Updating tests : stocks/fa/yfinance
* minor fixes that escape
* Improve the rich table function (that replaces tabulate :D )
* Fixed bad code
* delete rogue file + dcf fix + NoConsole
* sia mypy
* fuck you linter
* fuck you linter pt 2
* skip hehe
* i hate the black linter
* ubuntu mypy attempt
* Update : rich_config + gtff
* Updating tests : conftest
* Updating tests : stocks
* Update : rich_config
* Updating : rich_config
* make panel configurable for Theodore :b
* colors update
* Merged
* Updating : rich_config + feature_flags
* Updating : rich_config
* Updating tests : stocks
* Updating : feature_flags
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: james <jmaslek11@gmail.com>
Co-authored-by: jose-donato <zmcdonato@gmail.com>
* Initial implementation of the API wrapper for stocks/disc
* Create a file for helper classes
* Move models namespace class where it belongs... TO THE HELPER_CLASSES🚀
* Add backtesting api wrapper
* Add ba api wrapper
* Add dps api wrapper
* Fix flake8 warnings in command help strings
* Add comparison analysis models
* Add dd api wrapper
* Add fa api wrapper
* Add gov api wrapper
* Add ins api wrapper *note the note
* Add options api wrapper *note the note
* Add prediction api wrapper
* Add api support for importing models from both local and common contexts
* Add qa api wrapper
* Add screener api wrapper *note the note
* Fix typos in sia controller
* Add sia api wrapper
* Add ta api wrapper
* Disable linting for specific lines that fail in CI
* Remove deprecated parameter
* Add exception handling when prediction packages are not installed
* Add line option to common - qa
* rich to controller + lower case for pick
* Change qa_view to rich + hugo
* Update _index.md
* fix test
* fix test pt 2
* change menu print
Co-authored-by: jmaslek <jmaslek11@gmail.com>
Co-authored-by: Chavithra <chavithra@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt>
* improve user experience phase 1
* add difflib replacement
* implement auto-complete on discovery menu
* auoto-complete, difflib,jump through menus with cd
* Updating tests : terminal
* improve navigation on gst
* add q command to terminal.py
* usage instructions
* Updating tests : terminal
* fix cd command
* vars updated
* show menu when user is going through menus
* allow user to forget the intiail / on scripting
* terminal to accept text file with configuration
* refactor -n to -l and clean code
* add all commands to the tests_stocks_disc
* remove fds from disc since we have search on stocks/ and stocks/sia
* hopefully fix tests
* skip test
* fix completer type and calling menu after command for stocks/disc
* show help menu when moving forward/backwards in menus
* skip test
* skip test - bug fix
* add reset, help and quit to choices
* improve stocks/disc controller
* refactor sia menu
* UX improvements for sia menu
* improve ux design
* refactor ca controller
* fix infinite loop
* improve ux on dps controller
* Add capability of going back from a menu going into a menu
* Ux economy (#1056)
* First round of UX improvements on economy menu
* Do fred menu + sample tests file
* revert to > on menu
* rename jobs file to .gst
* remove cd option
* improve return
* final refactoring of disc_controller
* fix ca,dps,sia,disc,stocks and terminal controllers
* work on ba_controller menu
* fix reset and try_except
* UX on screener controller
* fix for full reset name
* Ux etfs (#1059)
* Refactor ETF menu for new UX
* Add couple more examples to test
* r->reset
* Clean up switch
* gov menu refactored
* fix reset issue
* 80% of refactoring options and pricing/payoff menu is done
* improve payoff controller
* minor fix
* fix: refactor pred and ta stocks controller
* fix: refactor fa(and fmp) controllers
* fix: refactored dd controller (still missing .gst tests)
* fix infinite loop bug
* refactor options controller
* add tests for payoff and pricing
* fix reset for options
* UX Upgrade for Crypto controller(s) (#1049)
* refactor crypto controller
* refactor crypto/defi controller
* added simple test and fixes not returning queue in commands
* Clean up unused functions / iex load (#1047)
* Clean up unused functions and adjust iex load function to not depend on dates
* Had an incorrect tab on s_start definition
* wrong default arg
* regenerate pytest yml
* Comment out parametrization
* Tests : Stocks > Discovery (#1050)
* Updating tests : stocks/discovery/ark
* Updating tests : stocks/discovery/fidelity
* Updating tests : stocks/discovery/fidelity
* Updating tests : stocks/discovery/fidelity
* Updating tests : stocks/discovery/seeking_alpha
* Updating tests : stocks/discovery/seeking_alpha
* Updating tests : stocks/discovery/shortinterest
* Updating tests : stocks/discovery/shortinterest
* Updating tests : stocks/discovery/seeking_alpha
* Updating tests : stocks/discovery/shortinterest
* Updating tests : stocks/discovery/disc_controller
* Updating tests : stocks/dd
* Updating tests : stocks/fa
* Updating tests : stocks/discovery/financedatabase
* Updating tests : stocks/discovery/finnhub
* Updating tests : stocks/discovery/geekofwallstreet
* Updating tests : stocks/discovery/marketbeat
* Updating tests : stocks/discovery/nasdaq
* Updating tests : stocks / discovery / yahoofinance
* Updating tests : black
* Updating tests : unused import
* Updating tests : stocks/discovery/ark
* Tests : Stocks > Doc + Helpers + Government (#1051)
* Updating tests : stocks/government/controller
* Updating tests : stocks/government
* Updating tests : conftest
* Updating tests : stocks > government
* Updating tests : stocks/government
* Updating tests : docs
* Tests : Stocks > Insider (#1054)
* Updating tests : stocks > helper
* Updating tests : doc
* Updating tests : clean stocks > fa > av
* Updating tests : stocks/insider/controller
* Updating tests : stocks/insider/business insider
* Updating tests : stocks/insider/finviz
* Updating tests : stocks/insider/openinsider
* Updating tests : stocks/insider/controller
* Updating tests : black
* Updating tests : stocks/insider/controller
* Tests : Stocks > Backtesting + Behavioural Analysis (#1057)
* Updating tests : add __init__ files
* Updating tests : stocsk/behavioural_analysis
* Updating tests : black
* Updating tests : stocks/backtesting
* Updating tests : stocks/backtesting
* fix: converted top to limit arguments
* fix: refactor disc controller, updated docs
* fix: refactor dd_controller and docs
* fix: refactor nft controller and docs
* fix: pass test temporarily, onchain controller refactor, docs
* fix: overview controller refactor, fix quit command
* fix: linting issues
* fix: refacot ta controller
* fix: refactor pred controller
* fix: linting
* fix: crypto controller
* fix: added tests, updated all controlers
* fix: menu print renamed from stocks to crypto controller, added tests
* fix: fix faster function execution
* Fix annoying pylint C0201 error
* fix: renamed commands to long format
* DISC Cleanup (#1058)
* Get rid/cleanup of marketbeat functions
* Get rid of last unused disc function + fix related tests
* fix test
* Dividend History Chart (#1053)
* Dividend History Chart
* changed to default number 10
* changed divs flag default to false
* updating the expected result for test_fa_controller.
* else statement
* fix: added load on dd
* fix: added autocompletion in all commands with argument choices
* fix: linting
* Workflows + Stocks > Insider (#1061)
* Updating code : stocks/insider remove unused file
* Updating workflows : tests - set mypy==0.910
* fix: linting
* Fixing Linting (#1062)
* Updating code : fixing linting
mypy message = Too many arguments for <lambda>
* Updating workflows : allow newest mypy version
* Updating code : apply black
* Updating code : black
* fix: updated predict controller help to match stocks
* Ux: portfolio (#1063)
* First step of portfolio UX
* Add all broker controllers to UX stuff
* UX Improvement for PO
Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt>
* UX Improvement for resources (#1064)
Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt>
* UX: stock/bt (#1065)
* UX: stocks>qa (#1068)
* fix mypy lambda
* skip tests for now
* remove unused paths.py
* rename tests/simulator to tests/e2e
* refactor options/screener menu
* UX : move `gst` files location
* fix stocks_controller
* UX upgrade of the Forex menu (#1048)
* Add basic forex menu test
* Add forex routes to terminal paths
* Remove commands from paths because they're not menus
* WIP Refactor forex controller
* refactor crypto controller
* Remove commented code
* Improve user output with printed text
* Add "help" back to the list of choices
* Enable the command queue for the forex controller
* refactor crypto/defi controller
* Fix candle chart blocking the terminal
* Black
* Return help and reset to the list of known args
* added simple test and fixes not returning queue in commands
* Add currency codes loading to the av_model
* Return the queue in edge cases (when commands don't process)
* Split select into to and from to enable autocompletion
* Style text output
* Stop printing help after the execution of every command
* Update test scenarios
* Black
* fix: converted top to limit arguments
* fix: refactor disc controller, updated docs
* Delete oanda the old view file that was moved into the oanda menu
* fix: refactor dd_controller and docs
* fix: refactor nft controller and docs
* fix: pass test temporarily, onchain controller refactor, docs
* fix: overview controller refactor, fix quit command
* fix: linting issues
* fix: refacot ta controller
* fix: refactor pred controller
* fix: linting
* fix: crypto controller
* fix: added tests, updated all controlers
* fix: menu print renamed from stocks to crypto controller, added tests
* fix: fix faster function execution
* Implement basic UX improvement of the oanda controller
* Update the forex controller
* Fix annoying pylint C0201 error
* Add latest convention changes to the forex controller
* fix: renamed commands to long format
* fix: added load on dd
* Merge the latest updates of the controller design
* fix: added autocompletion in all commands with argument choices
* fix: linting
* fix: linting
* fix: updated predict controller help to match stocks
* Update the forex menu e2e test scripts
* Add check_non_negative_float helper
* Update the controller with the latest changes to the convention
* Update the currency pair loading mechanism
* Move data models logic to the models file
* Update update oanda views to be interact with the models
* Upgrade oanda controller
* Remove raw stocks ba and eda code from the forex menu
* Update "help wanted" banner for ba and eda in forex menu
* Remove remainders of stocks ba and eda from forex context
* Improve typing, docstrings and error messages
* Remove stocks ba and eda code that was merged from other ux branches
* Add fixes that prevented incorrect argument handling
* Remove -argument from the candles call
If there is an expected agr `-g` and you put an incorrect argument
`-argument` the difflib will interpret `argument` as `g`
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt>
* fix reset for menus that require ticker
* UX improvement on research menu
* skip insider controller test
* initial refactoring of insider_controller
* improve insider controller ux part 2
* finish refactoring ins controller ux menu
* fix bug of when commands in queue have args
* skip test
* comment test stuff
* UX: stocks>qa (#1071)
* refactor return self.queue
* fix return None
* minor fix
* minor tabulate fix
* Get rid of leading '/' in terminal and add some newlines on quits. (#1074)
* Get rid of leading '/' in terminal and add some newlines on quits.
* print crypto help on menu entry
* looks like a format issue here...
* newlines on quit
* remove unnecessary line break
* fix pylint issue
* refactor
* refactor
* allow portfolio optimization to quit context
* add exit at end of scripts
* improve dd_controller
* test ux in stocks/dd menu
* Ux upgrade for reports context (#1075)
* Refactor reports and upgrade them with the latest controller convention
* Add test scenarios for the reports context
* test ux stocks/ta
* ux branch scripts/ta
* improvement on main param
* Upgrades for the UX upgrade for the fa and fa/fmp menus (#1076)
* Change --num to --limit
* Remove inconsistent/unreliable functions from the choices list
* Improve docstring compliance with numpy doc format
* Fix hardcoded class id in dcf scrapper
* Fix annoying pylint error in discordbot that was blocking the hook
* Add test scenarios for the fa and fa/fmp menus
* Fix forgotten replacement of --num to --limit
* Fix tests
* Return some excluded commands to the choices list
* Fix dd report to reflect the updates
* Fix set function not returning the queue
* Update gst test files
* fix exit on ca from another submenu
* fix changes of options/screener
* fix dps controller
* fix fa when running out of AV calls
* Fix TVL plot locking interpreter during defi test
* Add exception handling for broken coingecko scrapper
* skip fa/av test that fails
* fix dps tests
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: jmaslek <jmaslek11@gmail.com>
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
* Bug fixes
* make all yfinance data non tz aware
* Get rid of namespace input
* candle -> display_candle
* Didier I hope you read this. pycharm would not have let me miss committing this file
Co-authored-by: James Maslek <james@Jamess-MacBook-Pro.local>
* Ignore nft of the day test
* Rename eda -> qa
* Refactor rolling into view/model
* Refactored commands to new convention
* updated menu layout + add load
* Add ra functions into qa menu + fix portfolio paths
* fix menu help string
* Update qa with target idea that indicates variable to do statistics on
* Review changes except todos
* Make qa indepedent of stock menu