diff --git a/ROADMAP.md b/ROADMAP.md index 2e5d09a67e3..392ed973eb7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -18,6 +18,7 @@ * [Options](#Options) * [Credit Analysis](#Credit-Analysis) * [Cryptocurrencies](#Cryptocurrencies) +* [Screener](#Screener) ## Additional @@ -34,10 +35,11 @@ * [x] Top Losers (@didier) - [PR #171](https://github.com/DidierRLopes/GamestonkTerminal/pull/171) * [x] ARK orders (@aia) - [PR #140](https://github.com/DidierRLopes/GamestonkTerminal/pull/140) +* [ ] Add screener signals (e.g. top gainers, new highs, most volatile, oversold, major news, ...) from Finviz (@didier) ### Long term -* [ ] Add screeners (@didier) + --- @@ -133,6 +135,8 @@ * [x] Add multi-ticker historical data comparison (@didier) - [PR #141](https://github.com/DidierRLopes/GamestonkTerminal/pull/141) * [x] Add multi-ticker financials comparison (@didier) - [PR #237](https://github.com/DidierRLopes/GamestonkTerminal/pull/237) * [x] Add multi-ticker sentiment comparison (@didier) - [PR #250](https://github.com/DidierRLopes/GamestonkTerminal/pull/250) +* [ ] Get similar companies from Finviz based on Industry and Sector (and possibly country) from Finviz (@didier) +* [ ] Perform quick screening across similar companies based on key metrics (overview, performance, financial, valuation) from Finviz (@didier) ### Long term @@ -224,6 +228,19 @@ --- +## Screener + +### Short term + +* [ ] Add Screener menu with overview, valuation, financial, ownership, performance, technical commands based on filter presets from Finviz (@didier) +* [ ] Add README with explanation of how presets are stored and can be added by experienced users. (@didier) +* [ ] Analyse sectors performance, overview and valuation from Finviz (@didier) +* [ ] Analyse industry performance, overview and valuation from Finviz (@didier) + +### Long term + +--- + ## Backend ### Short term diff --git a/gamestonk_terminal/behavioural_analysis/reddit_view.py b/gamestonk_terminal/behavioural_analysis/reddit_view.py index f77655181f8..fdf6b1396d1 100644 --- a/gamestonk_terminal/behavioural_analysis/reddit_view.py +++ b/gamestonk_terminal/behavioural_analysis/reddit_view.py @@ -359,6 +359,9 @@ def popular_tickers(l_args): ) return + except Exception as e: + print(e, "\n") + def spac_community(l_args): parser = argparse.ArgumentParser( diff --git a/tests/test_fred_fred_view.py b/tests/test_fred_fred_view.py new file mode 100644 index 00000000000..96b97919c1b --- /dev/null +++ b/tests/test_fred_fred_view.py @@ -0,0 +1,30 @@ +""" fred/fred_view.py tests """ +import unittest +from unittest import mock +from io import StringIO +import pandas as pd + +# pylint: disable=unused-import +from gamestonk_terminal.fred.fred_view import get_fred_data # noqa: F401 + +fred_data_mock = """ +,GDP +2019-01-01,21115.309 +2019-04-01,21329.877 +2019-07-01,21540.325 +2019-10-01,21747.394 +2020-01-01,21561.139 +2020-04-01,19520.114 +2020-07-01,21170.252 +2020-10-01,21494.731 +""" + + +class TestFredFredView(unittest.TestCase): + @mock.patch("gamestonk_terminal.fred.fred_view.Fred.get_series") + def test_get_fred_data(self, mock_get_series): + fred_data = pd.read_csv(StringIO(fred_data_mock), header=0, index_col=0) + + mock_get_series.return_value = fred_data + + get_fred_data(["--noplot"], "gdp")