* Seperated run_scripts function from main
* Added scripts ability
* Converted to endswith
* Count success and failure
* Fixed commands without -h
* Handled edge case
* Replaced prints with console.print
* Fixed main function issue
* Tried more things for output
* Showed reason for error
* Scripts runs successfully
* Formatting updates
* Made integrated printout look better
* Added capturing of stderr
* Fixed reset issue
* Updated flags
* off fix
* Added Didier fix
* Squashed bugs
* Added tests
* Allowed for script file to be sent to tests
* implement keys menu
* small fix
* fix keys
* add .env file to repo
* add .env file to repo
* add .env to gitignore
* update AV api key to reflect that anything would work
* do not create .env by default
* small fix
* 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>
* print_help when jump back to previous menu
* help when quitting
* default flag to False
Co-authored-by: theorish <tep@foundian.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
* First working program
* added Voila support
* Attempt to fix requirements
* Revert depen
* Another dependency test
* Fixed errors
* Small changes
* Fixed help
* Added port warning
* Fixed continued terminal use
* Last change, we good fam
* Added placeholder so we can have stored
* Didier changes
* Fixed exit
* Fixed issue
* improve usage of timezone in terminal
* lint
* update dependencies
* address James review comments
* remove seconds from time on cmd line
* skip test
* Add mutual fund menu based primarily on investpy (investment.com)
* Add start/end date for loading + some bug fixes
* hugo
* poetry add investpy rich dnspython then poetry update
* fix reset (need to load country) and dim yfinance commands when country not US
* Fix search and add better error handling
* Catch yfinance commands when country not US. Improve loading to change country if symbol found but not in matching country. Changed main menu printing.
* Fix poetry / reqs merge conflict
* review comments
* Once again update poetry
* Clean up poetry to match conda (numpy was culprit)
* cvxpy down
* Think i goofed on generating reqs full
* update poetry metadata
* cleanup after review 2
* move space
* another deps try
* bump pygmnets in yaml
* try something different
* rename console -> t_console (terminal_console) for mypy
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>
* Improve candle and make interactive default
* change path of dcf file
* Remove RS lines when intraday plot
* refactor options menu
* remove candle start and end params
* A more customizable jupyter notebook report implementation
* refine dark pool and due diligence reports
* remove stocks reports
* Add crypto_market notebook report
* remove crypto reports folder
* remove crypto reports folder
* economy data report template
* remove economy reports menu
* Update test.yml
* remove notebooks folder, no longer needed
* Update README.md
* update due_diligence notebook to reflect refactoring of fa
* update gitignore based on Theo suggestion
* Allow to quit when DEFAULT_CONTEXT selected
* terminal imports inside context selection
* rework economy/events command
* Refactor fear greed CNN command
* refactor WSJ in economy
* import fred
* refactor fred commands in economy
* refactor disc commands into economy
* refactor disc commands into economy 2
* fix fred test
* fix fred test
* av pylint
* update quit from direct context
* fix av lint
* Add industry simply wallst to economy
* improve events display
* improv after review
* add mypy types
* tabulate raw series
* remove simply wallst
* allow examples of notebooks
* improve examples folder
* change dp notebook to use yfinance in options
* remove internet connection test
* allow help on papermill report
* improve papermill readme
* fix plotting on dark pool notebook