From 3df6da2889add06e8f61051dcbb2b73d5c6e9415 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 00:53:16 +0100 Subject: [PATCH 01/35] Increase robustness of load command --- gamestonk_terminal/main_helper.py | 136 +++++++++++++++++------------- terminal.py | 2 +- 2 files changed, 80 insertions(+), 58 deletions(-) diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index 2c813d24a46..526a37c2a60 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -181,41 +181,40 @@ def load(l_args, s_ticker, s_start, s_interval, df_stock): if not ns_parser: return [s_ticker, s_start, s_interval, df_stock] - except SystemExit: - print("") - return [s_ticker, s_start, s_interval, df_stock] - - # Update values: - s_ticker = ns_parser.s_ticker.upper() - s_start = ns_parser.s_start_date - s_interval = str(ns_parser.n_interval) + "min" - - try: # Daily - if s_interval == "1440min": + if ns_parser.n_interval == 1440: + # Alpha Vantage Source if ns_parser.source == "av": ts = TimeSeries(key=cfg.API_KEY_ALPHAVANTAGE, output_format="pandas") # pylint: disable=unbalanced-tuple-unpacking - df_stock, _ = ts.get_daily_adjusted( + df_stock_candidate, _ = ts.get_daily_adjusted( symbol=ns_parser.s_ticker, outputsize="full" ) - # pylint: disable=no-member - df_stock.sort_index(ascending=True, inplace=True) - # Slice dataframe from the starting date YYYY-MM-DD selected - df_stock = df_stock[ns_parser.s_start_date :] - - elif ns_parser.source == "yf": - df_stock = yf.download( - ns_parser.s_ticker, start=ns_parser.s_start_date, progress=False - ) - # Check that a stock was successfully retrieved - if df_stock.empty: + # Check that loading a stock was not successful + if df_stock_candidate.empty: print("") return [s_ticker, s_start, s_interval, df_stock] - df_stock = df_stock.rename( + # pylint: disable=no-member + df_stock_candidate.sort_index(ascending=True, inplace=True) + + # Slice dataframe from the starting date YYYY-MM-DD selected + df_stock_candidate = df_stock_candidate[ns_parser.s_start_date :] + + # Yahoo Finance Source + elif ns_parser.source == "yf": + df_stock_candidate = yf.download( + ns_parser.s_ticker, start=ns_parser.s_start_date, progress=False + ) + + # Check that loading a stock was not successful + if df_stock_candidate.empty: + print("") + return [s_ticker, s_start, s_interval, df_stock] + + df_stock_candidate = df_stock_candidate.rename( columns={ "Open": "1. open", "High": "2. high", @@ -225,41 +224,57 @@ def load(l_args, s_ticker, s_start, s_interval, df_stock): "Volume": "6. volume", } ) - df_stock.index.name = "date" + df_stock_candidate.index.name = "date" - if df_stock.index[0] > s_start: - s_start = df_stock.index[0] + # Check if start time from dataframe is more recent than specified + if df_stock_candidate.index[0] > pd.to_datetime(ns_parser.s_start_date): + s_start = df_stock_candidate.index[0] + else: + s_start = ns_parser.s_start_date # Intraday else: + + # Alpha Vantage Source if ns_parser.source == "av": ts = TimeSeries(key=cfg.API_KEY_ALPHAVANTAGE, output_format="pandas") # pylint: disable=unbalanced-tuple-unpacking - df_stock, _ = ts.get_intraday( - symbol=ns_parser.s_ticker, outputsize="full", interval=s_interval + df_stock_candidate, _ = ts.get_intraday( + symbol=ns_parser.s_ticker, + outputsize="full", + interval=str(ns_parser.n_interval) + "min", ) + + # Check that loading a stock was not successful + if df_stock_candidate.empty: + print("") + return [s_ticker, s_start, s_interval, df_stock] + # pylint: disable=no-member - df_stock.sort_index(ascending=True, inplace=True) + df_stock_candidate.sort_index(ascending=True, inplace=True) # Slice dataframe from the starting date YYYY-MM-DD selected - df_stock = df_stock[ns_parser.s_start_date :] + df_stock_candidate = df_stock_candidate[ns_parser.s_start_date :] + # Check if start time from dataframe is more recent than specified + if df_stock_candidate.index[0] > pd.to_datetime(ns_parser.s_start_date): + s_start = df_stock_candidate.index[0] + else: + s_start = ns_parser.s_start_date + + # Yahoo Finance Source elif ns_parser.source == "yf": - s_int = s_interval[:-2] + s_int = str(ns_parser.n_interval) + "m" d_granularity = {"1m": 6, "5m": 59, "15m": 59, "30m": 59, "60m": 729} s_start_dt = datetime.utcnow() - timedelta(days=d_granularity[s_int]) s_date_start = s_start_dt.strftime("%Y-%m-%d") - s_start = pytz.utc.localize(s_start_dt) - if s_start_dt > ns_parser.s_start_date: - print( - f"Using Yahoo Finance with granularity {s_int} the starting date is set to: {s_date_start}\n" - ) + # Using Yahoo Finance with granularity {s_int} the starting date is set to: {s_date_start} - df_stock = yf.download( + df_stock_candidate = yf.download( ns_parser.s_ticker, start=s_date_start, progress=False, @@ -268,7 +283,7 @@ def load(l_args, s_ticker, s_start, s_interval, df_stock): ) else: - df_stock = yf.download( + df_stock_candidate = yf.download( ns_parser.s_ticker, start=ns_parser.s_start_date.strftime("%Y-%m-%d"), progress=False, @@ -276,12 +291,17 @@ def load(l_args, s_ticker, s_start, s_interval, df_stock): prepost=ns_parser.b_prepost, ) - # Check that a stock was successfully retrieved - if df_stock.empty: + # Check that loading a stock was not successful + if df_stock_candidate.empty: print("") return [s_ticker, s_start, s_interval, df_stock] - df_stock = df_stock.rename( + if s_start_dt > ns_parser.s_start_date: + s_start = pytz.utc.localize(s_start_dt) + else: + s_start = ns_parser.s_start_date + + df_stock_candidate = df_stock_candidate.rename( columns={ "Open": "1. open", "High": "2. high", @@ -291,26 +311,28 @@ def load(l_args, s_ticker, s_start, s_interval, df_stock): "Volume": "6. volume", } ) - df_stock.index.name = "date" + df_stock_candidate.index.name = "date" - return [s_ticker, s_start, s_interval, df_stock] + s_intraday = (f"Intraday {s_interval}", "Daily")[ns_parser.n_interval == 1440] + + print( + f"Loading {s_intraday} {ns_parser.s_ticker.upper()} stock with starting period {s_start.strftime('%Y-%m-%d')} for analysis.\n" + ) + + return [ + ns_parser.s_ticker.upper(), + s_start, + str(ns_parser.n_interval) + "min", + df_stock_candidate, + ] except Exception as e: - print(e) - print("Either the ticker or the API_KEY are invalids. Try again!\n") + print(e, "\nEither the ticker or the API_KEY are invalids. Try again!\n") return [s_ticker, s_start, s_interval, df_stock] - s_intraday = (f"Intraday {s_interval}", "Daily")[s_interval == "1440min"] - - if s_start: - print( - f"Loading {s_intraday} {s_ticker} stock with starting period {s_start.strftime('%Y-%m-%d')} for analysis." - ) - else: - print(f"Loading {s_intraday} {s_ticker} stock for analysis.") - - print("") - return [s_ticker, s_start, s_interval, df_stock] + except SystemExit: + print("") + return [s_ticker, s_start, s_interval, df_stock] def candle(s_ticker: str, s_start: str): diff --git a/terminal.py b/terminal.py index 6765b0f68f5..c8a6e8b85f6 100644 --- a/terminal.py +++ b/terminal.py @@ -47,7 +47,7 @@ def main(): os.system("") s_ticker = "" - s_start = "" + s_start = "2015-01-01" df_stock = pd.DataFrame() s_interval = "1440min" From 712da6912161b8af9fa186a2dccbb3f15b8cee18 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 01:21:48 +0100 Subject: [PATCH 02/35] refactor menus print and goodbye message --- gamestonk_terminal/main_helper.py | 70 +++++++++++++++++++++---------- terminal.py | 17 +++++--- 2 files changed, 61 insertions(+), 26 deletions(-) diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index 526a37c2a60..8530c704286 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -1,5 +1,6 @@ import argparse from sys import stdout +import random from datetime import datetime, timedelta import matplotlib.pyplot as plt import pandas as pd @@ -45,57 +46,58 @@ def print_help(s_ticker, s_start, s_interval, b_is_market_open): print(f"\n{s_intraday} Stock: {s_ticker}") else: print("\nStock: ?") - print(f"Market {('CLOSED', 'OPEN')[b_is_market_open]}.") + print(f"Market {('CLOSED', 'OPEN')[b_is_market_open]}.\n") - print("\nMenus:") print( - " disc discover trending stocks, \t e.g. map, sectors, high short interest" + " > disc discover trending stocks, \t e.g. map, sectors, high short interest" ) print( - " scr screener stocks, \t\t e.g. overview/performance, using preset filters" + " > scr screener stocks, \t\t e.g. overview/performance, using preset filters" ) - print(" mill papermill menu, \t\t\t menu to generate notebook reports") - print(" econ economic data, \t\t\t from: FRED, VIX") - print(" pa portfolio analysis, \t\t supports: robinhood, alpaca, ally ") - print(" crypto cryptocurrencies, \t\t uses coingecko api") + print(" > mill papermill menu, \t\t menu to generate notebook reports") + print(" > econ economic data, \t\t from: FRED, VIX") print( - " po portfolio optimization, \t\t optimal portfolio weights from pyportfolioopt" + " > pa portfolio analysis, \t\t supports: robinhood, alpaca, ally " ) - print(" fx forex menu, \t\t\t forex support through Oanda") + print(" > crypto cryptocurrencies, \t\t uses coingecko api") + print( + " > po portfolio optimization, \t optimal portfolio weights from pyportfolioopt" + ) + print(" > fx forex menu, \t\t\t forex support through Oanda") if s_ticker: print( - " ba behavioural analysis, \t from: reddit, stocktwits, twitter, google" + " > ba behavioural analysis, \t from: reddit, stocktwits, twitter, google" ) print( - " res research web page, \t e.g.: macroaxis, yahoo finance, fool" + " > res research web page, \t e.g.: macroaxis, yahoo finance, fool" ) print( - " ca comparison analysis, \t e.g.: historical, correlation, financials" + " > ca comparison analysis, \t e.g.: historical, correlation, financials" ) print( - " fa fundamental analysis, \t e.g.: income, balance, cash, earnings" + " > fa fundamental analysis, \t e.g.: income, balance, cash, earnings" ) print( - " ta technical analysis, \t e.g.: ema, macd, rsi, adx, bbands, obv" + " > ta technical analysis, \t e.g.: ema, macd, rsi, adx, bbands, obv" ) print( - " bt strategy backtester, \t e.g.: simple ema, ema cross, rsi strategies" + " > bt strategy backtester, \t e.g.: simple ema, ema cross, rsi strategies" ) print( - " dd in-depth due-diligence, \t e.g.: news, analyst, shorts, insider, sec" + " > dd in-depth due-diligence, \t e.g.: news, analyst, shorts, insider, sec" ) print( - " eda exploratory data analysis,\t e.g.: decompose, cusum, residuals analysis" + " > eda exploratory data analysis,\t e.g.: decompose, cusum, residuals analysis" ) print( - " pred prediction techniques, \t e.g.: regression, arima, rnn, lstm, prophet" + " > pred prediction techniques, \t e.g.: regression, arima, rnn, lstm, prophet" ) print( - " ra residuals analysis, \t e.g.: model fit, qqplot, hypothesis test" + " > ra residuals analysis, \t e.g.: model fit, qqplot, hypothesis test" ) print( - " op options info, \t e.g.: volume and open interest" + " > op options info, \t e.g.: volume and open interest" ) print("") @@ -535,3 +537,29 @@ def export(l_args, df_stock): df_stock.to_clipboard() print("") + + +def print_goodbye(): + goodbye_msg = [ + "An informed ape, is a strong ape. ", + "Remember that stonks only go up. ", + "Diamond hands. ", + "Apes together strong. ", + "This is our way. ", + "Keep the spacesuit ape, we haven't reached the moon yet. ", + "I am not a cat. I'm an ape. ", + ] + + goodbye_hr = datetime.now().hour + if goodbye_hr < 5: + goodbye_msg_time = "Go get some rest soldier!" + elif goodbye_hr < 11: + goodbye_msg_time = "Rise and shine baby!" + elif goodbye_hr < 17: + goodbye_msg_time = "Enjoy your day!" + elif goodbye_hr < 23: + goodbye_msg_time = "Tomorrow's another day!" + else: + goodbye_msg_time = "Go get some rest soldier!" + + print(goodbye_msg[random.randint(0, len(goodbye_msg))] + goodbye_msg_time + "\n") diff --git a/terminal.py b/terminal.py index c8a6e8b85f6..e3ded45625d 100644 --- a/terminal.py +++ b/terminal.py @@ -4,6 +4,7 @@ import argparse import sys import os +import random from datetime import datetime, timedelta import pandas as pd import yfinance as yf @@ -18,7 +19,15 @@ from gamestonk_terminal.discovery import disc_controller from gamestonk_terminal.due_diligence import dd_controller from gamestonk_terminal.fundamental_analysis import fa_controller from gamestonk_terminal.helper_funcs import b_is_stock_market_open, get_flair -from gamestonk_terminal.main_helper import clear, export, load, print_help, view, candle +from gamestonk_terminal.main_helper import ( + clear, + export, + load, + print_help, + view, + candle, + print_goodbye, +) from gamestonk_terminal.menu import session from gamestonk_terminal.papermill import papermill_controller as mill from gamestonk_terminal.behavioural_analysis import ba_controller @@ -102,7 +111,7 @@ def main(): print(e, "\n") # Print first welcome message and help - print("\nWelcome to Gamestonk Terminal 🚀\n") + print("\nWelcome to Gamestonk Terminal Ape.\n") should_print_help = True parsed_stdin = False @@ -375,9 +384,7 @@ def main(): if not main_cmd: should_print_help = True - print( - "Hope you enjoyed the terminal. Remember that stonks only go up. Diamond hands.\n" - ) + print_goodbye() if __name__ == "__main__": From 76f4338882bb0f81bc1c4bb68feb1b5481c2b6a3 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 01:29:53 +0100 Subject: [PATCH 03/35] fix linters --- gamestonk_terminal/main_helper.py | 3 ++- terminal.py | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index 8530c704286..4612171e66f 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -318,7 +318,8 @@ def load(l_args, s_ticker, s_start, s_interval, df_stock): s_intraday = (f"Intraday {s_interval}", "Daily")[ns_parser.n_interval == 1440] print( - f"Loading {s_intraday} {ns_parser.s_ticker.upper()} stock with starting period {s_start.strftime('%Y-%m-%d')} for analysis.\n" + f"Loading {s_intraday} {ns_parser.s_ticker.upper()} stock " + f"with starting period {s_start.strftime('%Y-%m-%d')} for analysis.\n" ) return [ diff --git a/terminal.py b/terminal.py index e3ded45625d..171ce763a1c 100644 --- a/terminal.py +++ b/terminal.py @@ -4,7 +4,6 @@ import argparse import sys import os -import random from datetime import datetime, timedelta import pandas as pd import yfinance as yf From cc84366ca3c99225380f0340f3f8671fb54cd763 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 01:35:44 +0100 Subject: [PATCH 04/35] Add disclaimer to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2809b6a6025..3d095b72303 100644 --- a/README.md +++ b/README.md @@ -327,6 +327,8 @@ Distributed under the MIT License. See [LICENSE](https://github.com/DidierRLopes "A few things I am not. I am not a cat. I am not an institutional investor, nor am I a hedge fund. I do not have clients and I do not provide personalized investment advice for fees or commissions." DFV +Trading in financial instruments involves high risks including the risk of losing some, or all, of your investment amount, and may not be suitable for all investors. Before deciding to trade in financial instrument you should be fully informed of the risks and costs associated with trading the financial markets, carefully consider your investment objectives, level of experience, and risk appetite, and seek professional advice where needed. The data contained in GST is not necessarily accurate. GST and any provider of the data contained in this website will not accept liability for any loss or damage as a result of your trading, or your reliance on the information displayed. + ## Contacts [Didier Rodrigues Lopes](https://www.linkedin.com/in/didier-lopes/) - dro.lopes@campus.fct.unl.pt From b1037b391e04273795f2b511f7b8daac9b9a2629 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 02:05:55 +0100 Subject: [PATCH 05/35] Add installing/updating Microsoft C++ Build tools --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d095b72303..e1e28ee3031 100644 --- a/README.md +++ b/README.md @@ -136,13 +136,15 @@ cd GamestonkTerminal/ conda install poetry ``` -7.5. If installing python 3.8 +7.1. If installing python 3.8 ``` conda deactivate conda activate gst ``` *The `conda deactivate` -> `conda activate` in the middle is on purpose, this is sometimes required to avoid issues with poetry* +7.2. If on Windows, install/update Microsoft C++ Build Tools from here: https://visualstudio.microsoft.com/visual-cpp-build-tools/ + 8. Install poetry dependencies ``` poetry install From 9fe6eb213f554f1538d38c541bcdaeaccf6da6e8 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 02:14:34 +0100 Subject: [PATCH 06/35] Update ROADMAP.md --- ROADMAP.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 64a4900b9e2..3127e8822a7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -15,7 +15,7 @@ * [Residual Analysis](#Residual-Analysis) * [Portfolio Analysis](#Portfolio-Analysis) * [Portfolio Optimization](#Portfolio-Optimization) -* [FRED](#FRED) +* [Economy](#Economy) * [Options](#Options) * [Credit Analysis](#Credit-Analysis) * [Cryptocurrencies](#Cryptocurrencies) @@ -146,6 +146,7 @@ * [x] Add alpaca (@jmaslek) - [PR #259](https://github.com/DidierRLopes/GamestonkTerminal/pull/229) * [x] Add robinhood (@jmaslek) - [PR #229](https://github.com/DidierRLopes/GamestonkTerminal/pull/229) * [x] Add Ally Invest (@jmaslek) - [PR #267](https://github.com/DidierRLopes/GamestonkTerminal/pull/267) +* [x] Degiro support (@deel) - [PR #381](https://github.com/DidierRLopes/GamestonkTerminal/pull/381) **NEXT** * [ ] Merge data from different brokers (@jmaslek) @@ -166,8 +167,9 @@ ___ --- -## FRED +## Economy * [x] Implement Economic data (gpd, unemployment rate, ...) (@jmaslek) - [PR #167](https://github.com/DidierRLopes/GamestonkTerminal/pull/167) +* [x] Refactor FRED to ECON menu and add VIX view (@jmaslek) - [PR #405](https://github.com/DidierRLopes/GamestonkTerminal/pull/405) **NEXT** @@ -208,6 +210,7 @@ ___ * [x] Add screener signals (e.g. top gainers, new highs, most volatile, oversold, major news, ...) from Finviz (@didier) - [PR #314](https://github.com/DidierRLopes/GamestonkTerminal/pull/314) * [x] Plot screener historical using Yahoo Finance data (@didier) - [PR #319](https://github.com/DidierRLopes/GamestonkTerminal/pull/319) * [x] Add command to take tickers to portfolio optimization (@didier) - [PR #349](https://github.com/DidierRLopes/GamestonkTerminal/pull/349) +* [x] Add flags to save screeners and run papermill on returned tickers (@alokan) - [PR #414](https://github.com/DidierRLopes/GamestonkTerminal/pull/414) **NEXT** @@ -215,6 +218,7 @@ ___ ## Forex * [x] Add entire forex menu through Oanda (@alokan) - [PR #360](https://github.com/DidierRLopes/GamestonkTerminal/pull/360) +* [x] Add EDA menu, Behavioural Analysis menu, Due Diligence from other users in Reddit, and latest news regarding currency provided. (@alokan) - [PR #387](https://github.com/DidierRLopes/GamestonkTerminal/pull/387) **NEXT** @@ -250,6 +254,7 @@ ___ * [x] Add Feature Flags (@aia) - [PR #158](https://github.com/DidierRLopes/GamestonkTerminal/pull/158) * [x] Add ad-hoc builds (@aia) - [PR #192](https://github.com/DidierRLopes/GamestonkTerminal/pull/192) * [x] Add test generators and test parametrization helpers (@aia) - [PR #264](https://github.com/DidierRLopes/GamestonkTerminal/pull/264) +* [x] Sphinx documentation https://gamestonk-terminal.readthedocs.io/en/latest/index.html (@piiq) - [PR #413](https://github.com/DidierRLopes/GamestonkTerminal/pull/413) **NEXT** * [ ] Write a developer guide From 9df49ec25cf2702a72bde6bc5fc85e791b07844a Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 02:54:01 +0100 Subject: [PATCH 07/35] Update README.md --- gamestonk_terminal/econ/README.md | 44 ++++++++++++++++++------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/gamestonk_terminal/econ/README.md b/gamestonk_terminal/econ/README.md index b2b8149b044..a100cbe63cb 100644 --- a/gamestonk_terminal/econ/README.md +++ b/gamestonk_terminal/econ/README.md @@ -1,24 +1,30 @@ -# ECON +# ECONONMY -## FRED +This menu aims to assess economy data, and the usage of the following commands along with an example will be exploited below. -https://fred.stlouisfed.org +* [fred](#fred) + * Get customized Federal Reserve Economic Data (FRED) from https://fred.stlouisfed.org. +* [gdp](#gdp) + * Gross domestic product +* [vix](#vix) + * Volatility index +* [t1](#t1) + * 1-Year Treasury Constant Maturity Rate +* [t5](#t5) + * 5-Year Treasury Constant Maturity Rate +* [t10](#t10) + * 10-Year Treasury Constant Maturity Rate +* [t30](#t30) + * 30-Year Treasury Constant Maturity Rate +* [mort30](#mort30) + * 30-Year Fixed Rate Mortgage Average +* [fedrate](#fedrate) + * Effective Federal Funds Rate +* [moodAAA](#moodAAA) + * Moody's Seasoned AAA Corporate Bond Yield +* [usdcad](#usdcad) + * Canada / U.S. Foreign Exchange Rate (CAD per 1 USD) -The purpose of fred is to have the ability to look at economic data. This page offers 2 options: - -* [predefined](#gdp) - * Get predefined data -* [cust](#cust) - * Get custom fred data - -The current predefined options are -* GDP -* 1,5,10,30 Year Treasury Rates -* 30 Year Mortgage Rates -* Unemployment Rate -* Effective Federal Funds rate -* Moody's AAA Corporate Bond -* CAD to USD Conversion. ## predefined ```text @@ -131,4 +137,4 @@ This command pulls historical VIX data from yfinance module. ```` usage: view [-s START_DATE] ```` -* -s Start date to plot historical VIX data \ No newline at end of file +* -s Start date to plot historical VIX data From 35b0abf60af5ff164c987854f8883bb928f76526 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 03:50:21 +0100 Subject: [PATCH 08/35] Refactor FRED code --- gamestonk_terminal/econ/econ_controller.py | 129 ++++++++------ gamestonk_terminal/econ/fred_view.py | 195 ++++++--------------- gamestonk_terminal/econ/vix_view.py | 63 ------- gamestonk_terminal/main_helper.py | 3 +- 4 files changed, 128 insertions(+), 262 deletions(-) delete mode 100644 gamestonk_terminal/econ/vix_view.py diff --git a/gamestonk_terminal/econ/econ_controller.py b/gamestonk_terminal/econ/econ_controller.py index 1e5eccc3c27..3a42e4be093 100644 --- a/gamestonk_terminal/econ/econ_controller.py +++ b/gamestonk_terminal/econ/econ_controller.py @@ -8,7 +8,7 @@ from prompt_toolkit.completion import NestedCompleter from gamestonk_terminal import feature_flags as gtff from gamestonk_terminal.helper_funcs import get_flair from gamestonk_terminal.menu import session -from gamestonk_terminal.econ import fred_view, vix_view +from gamestonk_terminal.econ import fred_view class EconController: @@ -19,24 +19,24 @@ class EconController: "help", "q", "quit", + "fred", + "vixcls", "gdp", - "unemp", - "t1", - "t5", - "t10", - "t30", - "mort30", - "fedrate", - "moodAAA", - "usdcad", - "cust", - "view", + "unrate", + "dgs1", + "dgs5", + "dgs10", + "dgs30", + "mortgage30us", + "fedfunds", + "aaa", + "dexcaus", ] def __init__(self): """Constructor""" - self.disc_parser = argparse.ArgumentParser(add_help=False, prog="econ") - self.disc_parser.add_argument( + self.econ_parser = argparse.ArgumentParser(add_help=False, prog="econ") + self.econ_parser.add_argument( "cmd", choices=self.CHOICES, ) @@ -50,21 +50,20 @@ class EconController: print(" q quit this menu, and shows back to main menu") print(" quit quit to abandon program") print(" ") - print("VIX:") - print(" view plot VIX") - print(" ") - print("FRED:") - print(" gdp GDP") - print(" unemp Unemployment Rate") - print(" t1 1-Year Treasury Constant Maturity Rate") - print(" t5 5-Year Treasury Constant Maturity Rate") - print(" t10 10-Year Treasury Constant Maturity Rate") - print(" t30 30-Year Treasury Constant Maturity Rate") - print(" mort30 30-Year Fixed Rate Mortgage Average") - print(" fedrate Effective Federal Funds Rate") - print(" moodAAA Moody's Seasoned AAA Corporate Bond Yield") - print(" usdcad Canada / U.S. Foreign Exchange Rate (CAD per 1 USD)") - print(" cust User Specified FRED Data - Please Specify --id") + print( + " fred display customized FRED data from https://fred.stlouisfed.org." + ) + print(" vixcls volatility index") + print(" gdp gross domestic product") + print(" unrate unemployment Rate") + print(" dgs1 1-Year Treasury Constant Maturity Rate") + print(" dgs5 5-Year Treasury Constant Maturity Rate") + print(" dgs10 10-Year Treasury Constant Maturity Rate") + print(" dgs30 30-Year Treasury Constant Maturity Rate") + print(" mortgage30us 30-Year Fixed Rate Mortgage Average") + print(" fedfunds effective Federal Funds Rate") + print(" aaa moody's Seasoned AAA Corporate Bond Yield") + print(" dexcaus Canada / U.S. Foreign Exchange Rate (CAD per 1 USD)") print("") return @@ -78,23 +77,7 @@ class EconController: True - quit the program None - continue in the menu """ - (known_args, other_args) = self.disc_parser.parse_known_args(an_input.split()) - - fred_data_list = [ - "gdp", - "unemp", - "t1", - "t5", - "t10", - "t30", - "mort30", - "fedrate", - "moodAAA", - "usdcad", - ] - - if known_args.cmd in fred_data_list: - return getattr(self, "call_fred_api")(other_args, known_args.cmd) + (known_args, other_args) = self.econ_parser.parse_known_args(an_input.split()) return getattr( self, "call_" + known_args.cmd, lambda: "Command not recognized!" @@ -112,17 +95,53 @@ class EconController: """Process Quit command - quit the program""" return True - def call_fred_api(self, other_args: List[str], cmd: str): - """Process Fred Data call""" - fred_view.get_fred_data(other_args, cmd) + def call_fred(self, other_args: List[str]): + """Process fred command""" + fred_view.display_fred(other_args, "") - def call_view(self, other_args: List[str]): - """Process view for VIX Data.""" - vix_view.view_vix(other_args) + def call_vixcls(self, other_args: List[str]): + """Process vixcls command""" + fred_view.display_fred(other_args, "VIXCLS") - def call_cust(self, other_args: List[str]): - """Process cust call""" - fred_view.custom_data(other_args) + def call_gdp(self, other_args: List[str]): + """Process gdp command""" + fred_view.display_fred(other_args, "GDP") + + def call_unrate(self, other_args: List[str]): + """Process unrate command""" + fred_view.display_fred(other_args, "UNRATE") + + def call_dgs1(self, other_args: List[str]): + """Process dgs1 command""" + fred_view.display_fred(other_args, "DGS1") + + def call_dgs5(self, other_args: List[str]): + """Process dgs5 command""" + fred_view.display_fred(other_args, "DGS5") + + def call_dgs10(self, other_args: List[str]): + """Process dgs10 command""" + fred_view.display_fred(other_args, "DGS10") + + def call_dgs30(self, other_args: List[str]): + """Process dgs30 command""" + fred_view.display_fred(other_args, "DGS30") + + def call_mortgage30us(self, other_args: List[str]): + """Process mortgage30us command""" + fred_view.display_fred(other_args, "MORTGAGE30US") + + def call_fedfunds(self, other_args: List[str]): + """Process fedfunds command""" + fred_view.display_fred(other_args, "FEDFUNDS") + + def call_aaa(self, other_args: List[str]): + """Process aaa command""" + fred_view.display_fred(other_args, "AAA") + + def call_dexcaus(self, other_args: List[str]): + """Process dexcaus command""" + fred_view.display_fred(other_args, "DEXCAUS") def menu(): diff --git a/gamestonk_terminal/econ/fred_view.py b/gamestonk_terminal/econ/fred_view.py index 76f57f57a23..95e67b49047 100644 --- a/gamestonk_terminal/econ/fred_view.py +++ b/gamestonk_terminal/econ/fred_view.py @@ -18,138 +18,50 @@ from gamestonk_terminal import feature_flags as gtff register_matplotlib_converters() -api_map = { - "gdp": "GDP", - "t10": "DGS10", - "t1": "DGS1", - "t5": "DGS5", - "t30": "DGS30", - "mort30": "MORTGAGE30US", - "fedrate": "FEDFUNDS", - "moodAAA": "AAA", - "usdcad": "DEXCAUS", - "unemp": "UNRATE", -} -title_map = { - "gdp": "Gross Domestic Product", - "t10": "10-Year Treasury Constant Maturity Rate", - "t1": "1-Year Treasury Constant Maturity Rate", - "t5": "5-Year Treasury Constant Maturity Rate", - "t30": "30-Year Treasury Constant Maturity Rate", - "mort30": "30-Year Mortgage Rate", - "fedrate": "Effective Federal Funds Rate", - "moodAAA": "Moody's Seasoned AAA Corporate Bond Yield", - "usdcad": "Canada / U.S. Foreign Exchange Rate", - "unemp": "Unemployment Rate", +fred_series_description = { + "VIXCLS": "Volatility Index", + "GDP": "Gross Domestic Product", + "UNRATE": "Unemployment Rate", + "DGS1": "1-Year Treasury Constant Maturity Rate", + "DGS5": "5-Year Treasury Constant Maturity Rate", + "DGS10": "10-Year Treasury Constant Maturity Rate", + "DGS30": "30-Year Treasury Constant Maturity Rate", + "MORTGAGE30US": "30-Year Mortgage Rate", + "FEDFUNDS": "Effective Federal Funds Rate", + "AAA": "Moody's Seasoned AAA Corporate Bond Yield", + "DEXCAUS": "Canada / U.S. Foreign Exchange Rate", } -def get_fred_data(other_args: List[str], choice: str): - """Displace Fred data and graph for a selected chosen data series +def display_fred(other_args: List[str], choice: str): + """Display customized Federal Reserve Economic Data (FRED) from https://fred.stlouisfed.org. Parameters ---------- other_args : List[str] argparse other args choice : str - Fred data series: "gdp","unemp", "t1", "t5", "t10", "t30", "mort30", - "fedrate", "moodAAA", "usdcad", + Fred data series: "VIX", "GDP", "DGS1", "DGS5", "DGS10", "DGS30", "MORTGAGE30US", "FEDFUNDS", + "AAA", "DEXCAUS", "UNRATE", """ - fred = Fred(api_key=API_FRED_KEY) - parser = argparse.ArgumentParser( add_help=False, - prog="Custom", + prog=choice if choice else "fred", description=""" - Custom Data + Display customized Federal Reserve Economic Data (FRED) from https://fred.stlouisfed.org. """, ) parser.add_argument( - "-s", - dest="start_date", - type=valid_date, - default="2019-01-01", - required=False, - help="Starting date (YYYY-MM-DD) of data", - ) - - parser.add_argument( - "--noplot", - action="store_false", - default=True, - dest="noplot", - help="Suppress output plot", - ) - - parser.add_argument( - "--hidedata", - action="store_false", - default=True, - dest="hidedata", - help="Suppress data display plot", - ) - - try: - ns_parser = parse_known_args_and_warn(parser, other_args) - - if not ns_parser: - return - - string_to_get = api_map[choice] - title = title_map[choice] - data = fred.get_series(string_to_get, ns_parser.start_date) - - data = pd.DataFrame(data, columns=[f"{string_to_get}"]) - data.index.name = "Date" - if ns_parser.hidedata: - print(data) - print("") - if ns_parser.noplot: - plt.figure(figsize=plot_autoscale(), dpi=PLOT_DPI) - plt.plot(data.index, data.iloc[:, 0], "-ok") - plt.xlabel("Time") - plt.xlim(data.index[0], data.index[-1]) - plt.ylabel(f"{string_to_get}") - plt.grid(b=True, which="major", color="#666666", linestyle="-") - plt.minorticks_on() - plt.grid(b=True, which="minor", color="#999999", linestyle="-", alpha=0.2) - plt.title(title) - plt.show() - print("") - - if gtff.USE_ION: - plt.ion() - - except SystemExit: - print("") - except Exception as e: - print(e) - print("") - return - - -def custom_data(other_args: List[str]): - """Displace Fred data for a custom series request - - Parameters - ---------- - other_args : List[str] - argparse other args - """ - fred = Fred(api_key=API_FRED_KEY) - - parser = argparse.ArgumentParser( - add_help=False, - prog="Custom", - description=""" - Custom Data - """, - ) - parser.add_argument( - "-i", "--id", dest="series_id", required=True, type=str, help="FRED Series ID" + "-i", + "--id", + dest="series_id", + required=False if choice else True, + type=str, + default=choice.upper(), + help="FRED Series ID from https://fred.stlouisfed.org", ) parser.add_argument( @@ -157,58 +69,55 @@ def custom_data(other_args: List[str]): dest="start_date", type=valid_date, default="2019-01-01", - required=False, help="Starting date (YYYY-MM-DD) of data", ) parser.add_argument( - "--noplot", - action="store_false", - default=True, - dest="noplot", - help="Suppress output plot", - ) - - parser.add_argument( - "--hidedata", - action="store_false", - default=True, - dest="hidedata", - help="Suppress data display plot", + "-t", + "--text", + action="store_true", + dest="text", + help="Only output text data", ) try: + if not choice: + if other_args: + if "-" not in other_args[0]: + other_args.insert(0, "-i") ns_parser = parse_known_args_and_warn(parser, other_args) if not ns_parser: return - data = fred.get_series(ns_parser.series_id, ns_parser.start_date) + fred = Fred(api_key=API_FRED_KEY) + d_data = fred.get_series(ns_parser.series_id, ns_parser.start_date) - data = pd.DataFrame(data, columns=[f"{ns_parser.series_id}"]) - data.index.name = "Date" - if ns_parser.hidedata: - print(data) - print("") - if ns_parser.noplot: + df_fred = pd.DataFrame(d_data, columns=[f"{ns_parser.series_id}"]) + df_fred.index.name = "Date" + + if ns_parser.text: + print(df_fred.to_string()) + + else: plt.figure(figsize=plot_autoscale(), dpi=PLOT_DPI) - plt.plot(data.index, data.iloc[:, 0], "-ok") + plt.plot(df_fred.index, df_fred.iloc[:, 0]) plt.xlabel("Time") - plt.xlim(data.index[0], data.index[-1]) - plt.ylabel(f"{ns_parser.series_id}") + plt.xlim(df_fred.index[0], df_fred.index[-1]) + plt.ylabel(f"{ns_parser.series_id.upper()}") plt.grid(b=True, which="major", color="#666666", linestyle="-") plt.minorticks_on() plt.grid(b=True, which="minor", color="#999999", linestyle="-", alpha=0.2) - plt.title(f"FRED {ns_parser.series_id} Series") - plt.show() - print("") - + if choice: + plt.title(fred_series_description[ns_parser.series_id]) if gtff.USE_ION: plt.ion() + plt.show() + + print("") except SystemExit: print("") except Exception as e: - print(e) - print("") + print(e, "\n") return diff --git a/gamestonk_terminal/econ/vix_view.py b/gamestonk_terminal/econ/vix_view.py deleted file mode 100644 index 82565e0338b..00000000000 --- a/gamestonk_terminal/econ/vix_view.py +++ /dev/null @@ -1,63 +0,0 @@ -""" VIX View """ -__docformat__ = "numpy" -import argparse - -from typing import List -from pandas.plotting import register_matplotlib_converters -import matplotlib.pyplot as plt -import yfinance as yf -from gamestonk_terminal.helper_funcs import ( - parse_known_args_and_warn, - valid_date, - plot_autoscale, -) -from gamestonk_terminal.config_plot import PLOT_DPI -from gamestonk_terminal import feature_flags as gtff - -register_matplotlib_converters() - - -def view_vix(other_args: List[str]): - """ - Plot vix from a starting date using yfinance - Parameters - ---------- - other_args: List[str] - List of argparse arguments - Returns - ------- - Plots VIX historical data - """ - parser = argparse.ArgumentParser(prog="vix_plot", add_help=False) - parser.add_argument( - "-s", - "--start", - type=valid_date, - default="2020-01-01", - dest="start_date", - help="The starting date (format YYYY-MM-DD) of the plot", - ) - - try: - ns_parser = parse_known_args_and_warn(parser, other_args) - if not ns_parser: - return - - vix = yf.download("^VIX", start=ns_parser.start_date, progress=False) - _, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI) - vix.plot(y="Adj Close", ax=ax) - plt.ylabel("VIX") - plt.grid(b=True, which="major", color="#666666", linestyle="-") - plt.minorticks_on() - plt.grid(b=True, which="minor", color="#999999", linestyle="-", alpha=0.2) - plt.title("Historical VIX Data") - - print("") - - if gtff.USE_ION: - plt.ion() - plt.show() - - except Exception as e: - print(e) - print("") diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index 4612171e66f..ef1243cec11 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -549,6 +549,7 @@ def print_goodbye(): "This is our way. ", "Keep the spacesuit ape, we haven't reached the moon yet. ", "I am not a cat. I'm an ape. ", + "We like the terminal. ", ] goodbye_hr = datetime.now().hour @@ -563,4 +564,4 @@ def print_goodbye(): else: goodbye_msg_time = "Go get some rest soldier!" - print(goodbye_msg[random.randint(0, len(goodbye_msg))] + goodbye_msg_time + "\n") + print(goodbye_msg[random.randint(0, len(goodbye_msg)-1)] + goodbye_msg_time + "\n") From 1ee7b01382910003def0b5eae3289a8a782efc8b Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 04:04:44 +0100 Subject: [PATCH 09/35] Update README.md --- gamestonk_terminal/econ/README.md | 263 +++++++++++++++++------------- 1 file changed, 153 insertions(+), 110 deletions(-) diff --git a/gamestonk_terminal/econ/README.md b/gamestonk_terminal/econ/README.md index a100cbe63cb..1e6bb26f4b9 100644 --- a/gamestonk_terminal/econ/README.md +++ b/gamestonk_terminal/econ/README.md @@ -3,138 +3,181 @@ This menu aims to assess economy data, and the usage of the following commands along with an example will be exploited below. * [fred](#fred) - * Get customized Federal Reserve Economic Data (FRED) from https://fred.stlouisfed.org. + * display customized FRED from https://fred.stlouisfed.org +* [vixcls](#vixcls) + * Volatility Index * [gdp](#gdp) - * Gross domestic product -* [vix](#vix) - * Volatility index -* [t1](#t1) + * Gross Domestic Product +* [unrate](#unrate) + * Unemployment Rate +* [dgs1](#dgs1) * 1-Year Treasury Constant Maturity Rate -* [t5](#t5) +* [dgs5](#dgs5) * 5-Year Treasury Constant Maturity Rate -* [t10](#t10) +* [dgs10](#dgs10) * 10-Year Treasury Constant Maturity Rate -* [t30](#t30) +* [dgs30](#dgs30) * 30-Year Treasury Constant Maturity Rate -* [mort30](#mort30) +* [mortgage30us](#mortgage30us) * 30-Year Fixed Rate Mortgage Average -* [fedrate](#fedrate) +* [fedfunds](#fedfunds) * Effective Federal Funds Rate -* [moodAAA](#moodAAA) +* [aaa](#aaa) * Moody's Seasoned AAA Corporate Bond Yield -* [usdcad](#usdcad) +* [dexcaus](#dexcaus) * Canada / U.S. Foreign Exchange Rate (CAD per 1 USD) -## predefined +## fred ```text -usage: selected [-n N_TO_GET] [-s START_DATE] [--noplot] [--hidedata] +usage: fred [-i SERIES_ID] [-s START_DATE] [-t] ``` -Gets predefined data. Arguments -* selected : Key from the predefined list. -* -s : Start Date. Format YYYY-mm-dd. First point to get. Defaults to Jan 1 2019 -* --noplot : Flag to hide plot -* --hidedata : Flag to suppress printing output. Useful for data released daily/weekly. -To plot the 30-Year Mortgage rates since 2018-01-01 suppressing the output. -```` -mort30 -s 2018-01-01 --hidedata -```` +Display customized Federal Reserve Economic Data (FRED) from https://fred.stlouisfed.org. -![mort30](https://user-images.githubusercontent.com/18151143/111521185-3d80dc80-872f-11eb-989d-c2bb256aa213.png) - -To show all GDP data since 1/1/2016, with no plot. -```` -gdp -s 2016-01-01 --noplot -```` -Output: -```` - GDP -Date -2016-01-01 18470.156 -2016-04-01 18656.207 -2016-07-01 18821.359 -2016-10-01 19032.580 -2017-01-01 19237.435 -2017-04-01 19379.232 -2017-07-01 19617.288 -2017-10-01 19937.963 -2018-01-01 20242.215 -2018-04-01 20552.653 -2018-07-01 20742.723 -2018-10-01 20909.853 -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 21487.896 -```` +* -i : FRED Series ID from https://fred.stlouisfed.org. +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. -## cust +## vixcls +```text +usage: vixcls [-s START_DATE] [-t] +``` -The fred database has many different datasets freely available. They each have their own custom SERIES_ID which can be obtained through the website. +Volatility Index -```` -usage: cust [-i --id] [-s START_DATE] [--noplot] [--hidedata] -```` -* -i/--id : Series ID for FRED data. Required argument -* -s : Start Date. Format YYYY-mm-dd. First point to get. Defaults to Jan 1 2015. -* --noplot : Flag to suppress output plot. -* --hidedata : Flag to suppress data output +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. -An example of custom data could be the USD/EURO exchange rate. -According to https://fred.stlouisfed.org/series/DEXUSEU , the series ID is DEXUSEU. So to plot this from the start of February 2021 to now (3/17) +![vixcls](https://user-images.githubusercontent.com/25267873/116769167-160d7700-aa32-11eb-8874-3b864908c9c2.png) -```` -cust --id DEXUSEU -s 2021-02-01 -```` -This will plot and display: -![cust](https://user-images.githubusercontent.com/18151143/111521481-92bcee00-872f-11eb-8a02-e7346e56e462.png) -```` - DEXUSEU -Date -2021-02-01 1.2070 -2021-02-02 1.2020 -2021-02-03 1.2025 -2021-02-04 1.1974 -2021-02-05 1.2035 -2021-02-08 1.2045 -2021-02-09 1.2106 -2021-02-10 1.2132 -2021-02-11 1.2127 -2021-02-12 1.2126 -2021-02-15 NaN -2021-02-16 1.2107 -2021-02-17 1.2042 -2021-02-18 1.2078 -2021-02-19 1.2136 -2021-02-22 1.2155 -2021-02-23 1.2142 -2021-02-24 1.2143 -2021-02-25 1.2229 -2021-02-26 1.2093 -2021-03-01 1.2054 -2021-03-02 1.2079 -2021-03-03 1.2073 -2021-03-04 1.2045 -2021-03-05 1.1914 -2021-03-08 1.1849 -2021-03-09 1.1885 -2021-03-10 1.1900 -2021-03-11 1.1978 -```` +## gdp +```text +usage: gdp [-s START_DATE] [-t] +``` -Note the NaN on 2-15, which corresponds to President's Day. +Gross Domestic Product -## VIX +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. -This command pulls historical VIX data from yfinance module. -```` -usage: view [-s START_DATE] -```` -* -s Start date to plot historical VIX data +![gdp](https://user-images.githubusercontent.com/25267873/116769162-14dc4a00-aa32-11eb-886a-b5368146ed37.png) + + +## unrate +```text +usage: unrate [-s START_DATE] [-t] +``` + +Unemployment Rate + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![unrate](https://user-images.githubusercontent.com/25267873/116769161-14dc4a00-aa32-11eb-91f3-a0f80d687a12.png) + + +## dgs1 +```text +usage: dgs1 [-s START_DATE] [-t] +``` + +1-year Treasury Constant Maturity Rate + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![dgs1](https://user-images.githubusercontent.com/25267873/116769166-160d7700-aa32-11eb-9247-78156af4d527.png) + + +## dgs5 +```text +usage: dgs5 [-s START_DATE] [-t] +``` + +5-year Treasury Constant Maturity Rate + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![dgs5](https://user-images.githubusercontent.com/25267873/116769165-1574e080-aa32-11eb-96ee-c57728d8f57c.png) + + +## dgs10 +```text +usage: dgs10 [-s START_DATE] [-t] +``` + +10-year Treasury Constant Maturity Rate + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![dgs10](https://user-images.githubusercontent.com/25267873/116769164-1574e080-aa32-11eb-93a0-3b8a2b7cb3d2.png) + + +## dgs30 +```text +usage: dgs30 [-s START_DATE] [-t] +``` + +30-year Treasury Constant Maturity Rate + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![dgs30](https://user-images.githubusercontent.com/25267873/116769159-13ab1d00-aa32-11eb-8c3d-e53c8d1f1a19.png) + + +## mortgage30us +```text +usage: mortgage30us [-s START_DATE] [-t] +``` + +30-year Fixed Rate Mortgage Average + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![mortgage30us](https://user-images.githubusercontent.com/25267873/116769157-13128680-aa32-11eb-8826-ccb2e6ae764e.png) + + +## fedfunds +```text +usage: fedfunds [-s START_DATE] [-t] +``` + +Effective Federal Funds Rate + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![fedfunds](https://user-images.githubusercontent.com/25267873/116769158-13ab1d00-aa32-11eb-9dc2-8296bc4f7e2c.png) + + +## aaa +```text +usage: aaa [-s START_DATE] [-t] +``` + +Moody's Seasoned AAA Corporate Bond Yield + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![aaa](https://user-images.githubusercontent.com/25267873/116769160-1443b380-aa32-11eb-84a8-036e15b47c9b.png) + + +## dexcaus +```text +usage: dexcaus [-s START_DATE] [-t] +``` + +Canada / U.S. Foreign Exchange Rate (CAD per 1 USD) + +* -s : Starting date (YYYY-MM-DD) of data. Default: 2019-01-01. +* -t : Only output text data. + +![dexcaus](https://user-images.githubusercontent.com/25267873/116769155-10b02c80-aa32-11eb-8ece-d8e92b8df1af.png) From c2676198b0a16010401e106d9c98ba6f3fb22c56 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 04:09:08 +0100 Subject: [PATCH 10/35] Update README.md --- gamestonk_terminal/README.md | 37 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/gamestonk_terminal/README.md b/gamestonk_terminal/README.md index a3aab2939c8..6b810b8fae7 100644 --- a/gamestonk_terminal/README.md +++ b/gamestonk_terminal/README.md @@ -14,7 +14,7 @@ * [Comparison Analysis](#Comparison-Analysis-) * [Exploratory Data Analysis](#Exploratory-Data-Analysis-) * [Residual Analysis](#Residual-Analysis-) -* [Economic Data](#Econ-) +* [Economy](#Economy) * [Options](#Options-) * [Screener](#Screener-) * [Forex](#Forex-) @@ -237,6 +237,7 @@ Command|Technique|Sources `lstm` |Long Short-Term Memory | [Wikipedia](https://en.wikipedia.org/wiki/Long_short-term_memory), [Details](https://colah.github.io/posts/2015-08-Understanding-LSTMs/)   + ## Portfolio Analysis [»](portfolio/README.md) Command|Description|Brokers @@ -250,6 +251,7 @@ Command|Description|Brokers `hold` | view net holdings across all logins   + ## Portfolio Optimization [»](portfolio_optimization/README.md) Command|Description @@ -267,7 +269,6 @@ Command|Description   - ## Cryptocurrency [»](cryptocurrency/README.md) Command|Description @@ -277,6 +278,7 @@ Command|Description `top` | view top coins from coinmarketcap   + ## Comparison Analysis [»](comparison_analysis/README.md) Command|Description|Source ------ | --------|---- @@ -323,23 +325,22 @@ Command|Description|Source `independence` |tests independent and identically distributed (BDS) | [Wikipedia](https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test#Testing_for_statistical_independence)   -## ECON [»](econ/README.md) + +## Economy [»](econ/README.md) Command|Description ------ | -------- -FRED Data | -`gdp` | GDP -`unemp` | Unemployment Rate -`t1` | 1-Year Treasury Constant Maturity Rate -`t5` | 5-Year Treasury Constant Maturity Rate -`t10` | 10-Year Treasury Constant Maturity Rate -`t30` | 30-Year Treasury Constant Maturity Rate -`mort30` | 30-Year Fixed Rate Mortgage Average -`fedrate` | Effective Federal Funds Rate -`moodAAA` | Moody's Seasoned AAA Corporate Bond Yield -`usdcad` | Canada / U.S. Foreign Exchange Rate (CAD per 1 USD) -`cust` | User Specified FRED Data - Please Specify --id -VIX Data | -`view` | Plots VIX Historical Data +`vixcls` | Volatility Index +`gdp` | Gross Domestic Product +`unrate` | Unemployment Rate +`dgs1` | 1-Year Treasury Constant Maturity Rate +`dgs5` | 5-Year Treasury Constant Maturity Rate +`dgs10` | 10-Year Treasury Constant Maturity Rate +`dgs30` | 30-Year Treasury Constant Maturity Rate +`mortgage30us` | 30-Year Fixed Rate Mortgage Average +`fedfunds` | Effective Federal Funds Rate +`aaa` | Moody's Seasoned AAA Corporate Bond Yield +`dexcaus` | Canada / U.S. Foreign Exchange Rate (CAD per 1 USD) +   ## Options [»](options/README.md) @@ -371,7 +372,6 @@ signals |view filter signals (e.g. -s top_gainers)   - ## Forex [»](forex/README.md) Command|Description ------ | -------- @@ -390,5 +390,4 @@ order |place a limit order orderbook |display the orderbook if Oanda provides one for the forex instrument positionbook |display the positionbook if Oanda provides one for the forex instrument -   From b4c27423afc44226a241bfa07c7f7a3cabc53842 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 04:11:07 +0100 Subject: [PATCH 11/35] minor fixes on economy folder --- gamestonk_terminal/econ/econ_controller.py | 22 +++++++++++----------- gamestonk_terminal/econ/fred_view.py | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gamestonk_terminal/econ/econ_controller.py b/gamestonk_terminal/econ/econ_controller.py index 3a42e4be093..2bdaf1e8727 100644 --- a/gamestonk_terminal/econ/econ_controller.py +++ b/gamestonk_terminal/econ/econ_controller.py @@ -51,18 +51,18 @@ class EconController: print(" quit quit to abandon program") print(" ") print( - " fred display customized FRED data from https://fred.stlouisfed.org." + " fred display customized FRED data from https://fred.stlouisfed.org" ) - print(" vixcls volatility index") - print(" gdp gross domestic product") - print(" unrate unemployment Rate") - print(" dgs1 1-Year Treasury Constant Maturity Rate") - print(" dgs5 5-Year Treasury Constant Maturity Rate") - print(" dgs10 10-Year Treasury Constant Maturity Rate") - print(" dgs30 30-Year Treasury Constant Maturity Rate") - print(" mortgage30us 30-Year Fixed Rate Mortgage Average") - print(" fedfunds effective Federal Funds Rate") - print(" aaa moody's Seasoned AAA Corporate Bond Yield") + print(" vixcls Volatility Index") + print(" gdp Gross Domestic Product") + print(" unrate Unemployment Rate") + print(" dgs1 1-year Treasury Constant Maturity Rate") + print(" dgs5 5-year Treasury Constant Maturity Rate") + print(" dgs10 10-year Treasury Constant Maturity Rate") + print(" dgs30 30-year Treasury Constant Maturity Rate") + print(" mortgage30us 30-year Fixed Rate Mortgage Average") + print(" fedfunds Effective Federal Funds Rate") + print(" aaa Moody's Seasoned AAA Corporate Bond Yield") print(" dexcaus Canada / U.S. Foreign Exchange Rate (CAD per 1 USD)") print("") return diff --git a/gamestonk_terminal/econ/fred_view.py b/gamestonk_terminal/econ/fred_view.py index 95e67b49047..6304d678915 100644 --- a/gamestonk_terminal/econ/fred_view.py +++ b/gamestonk_terminal/econ/fred_view.py @@ -42,7 +42,7 @@ def display_fred(other_args: List[str], choice: str): other_args : List[str] argparse other args choice : str - Fred data series: "VIX", "GDP", "DGS1", "DGS5", "DGS10", "DGS30", "MORTGAGE30US", "FEDFUNDS", + Fred data series: "VIXCLS", "GDP", "DGS1", "DGS5", "DGS10", "DGS30", "MORTGAGE30US", "FEDFUNDS", "AAA", "DEXCAUS", "UNRATE", """ From 4578d3de7f0954aee0157f0f4fb00fcd84a4db73 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 04:26:48 +0100 Subject: [PATCH 12/35] Improve backtesting readme --- gamestonk_terminal/backtesting/README.md | 51 ++++++++++++------------ 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/gamestonk_terminal/backtesting/README.md b/gamestonk_terminal/backtesting/README.md index 6a567e027e4..ee38b09b63a 100644 --- a/gamestonk_terminal/backtesting/README.md +++ b/gamestonk_terminal/backtesting/README.md @@ -1,53 +1,52 @@ # Backtesting -The goal of this menu is to allow super simple research into potential strategies. -We currently provides a couple basic options for starting with backtesting strategies. Note that this is currently just a -simple logic (i.e price comparisons). Obviously these strategies should not be used immediately and should be researched, -improved and further tested on your own. +This menu aims to apply backtesting strategies regarding a pre-loaded ticker, and the usage of the following commands along with an example will be exploited below. Note that this is currently just a simple logic (i.e price comparisons). These strategies should not be used immediately and should be researched, improved and further tested on your own. -The current implementation uses the [bt](#http://pmorissette.github.io/bt/index.html) library. +* [ema](#ema) + * buy when price exceeds EMA(l) +* [ema_cross](#ema_cross) + * buy when EMA(short) > EMA(long) +* [rsi](#rsi) + * buy when RSI < low and sell when RSI > high -Current strategies are: -* [Simple EMA](#SimpleEMA) - * Buys the stock when `price > EMA(l)` - -* [EMA Cross](#EMA Cross) - * Buys when EMA(short) > EMA(long) and sells when the opposite is true - -* [RSI](#RSI) - * Momentum strategy that longs when RSI < threshold (oversold) and shorts when +NOTE: The current implementation uses the [bt](#http://pmorissette.github.io/bt/index.html) library. -### SimpleEMA -This strategy buys when price > EMA(l) +### ema ```` usage: ema [-l] [--spy] [--no_bench] ```` + +This strategy buys when price > EMA(l). * -l: Period of EMA to use. Default = 20. * [--spy]: Flag that overlays the results if you buy and hold SPY * [--no_bench]: Flag that removes the benchmark comparison of just buy and hold the stock. -im: +![ema](https://user-images.githubusercontent.com/25267873/116769584-1eb37c80-aa35-11eb-898b-efa36d4a8f5c.png) +ema2 -### EMA Cross -This strategy goes long when EMA(short) > EMA(long) and goes short when -EMA(short) < EMA(long). I provide the option to go long only through the --no_short flag +### ema_cross ```` usage: ema_cross [-l] [-s] [--spy] [--no_bench] [--no_short] ```` + +This strategy goes long when EMA(short) > EMA(long) and goes short when EMA(short) < EMA(long). It provides the option to go long only through the --no_short flag. * -l/--long: Long period of EMA to use. Default = 50. * -s/--short: Short period of EMA to use. Default = 20. * [--spy]: Flag that overlays the results if you buy and hold SPY * [--no_bench]: Flag that removes the benchmark comparison of just buy and hold the stock. * [--no_short]: Flag that removes the shortable option. Will just be long positions when short > long EMAs. -im -### RSI -This strategy goes long when the RSI is "oversold" - defined as the low parameter. It goes short when -the RSI is "overbought" - defined as the high (upper) parameter +![ema_cross](https://user-images.githubusercontent.com/25267873/116769581-1ce9b900-aa35-11eb-85e9-133b3c0b09ad.png) +ema_cross2 + + +### rsi ```` usage: rsi [-u] [-l] [-p] [--spy] [--no_bench] [--no_short] ```` + +This strategy goes long when the RSI is "oversold" - defined as the low parameter. It goes short when the RSI is "overbought" - defined as the high (upper) parameter * -u/--high: High (upper) value to consider overbought. Default = 70 * -s/--short: Short period of EMA to use. Default = 30 * -p/--periods: Periods to use for RSI calculation. Default = 14. @@ -55,5 +54,5 @@ usage: rsi [-u] [-l] [-p] [--spy] [--no_bench] [--no_short] * [--no_bench]: Flag that removes the benchmark comparison of just buy and hold the stock. * [--no_short]: Flag that removes the shortable option. Will just be long positions when short > long EMAs. - - +![rsi](https://user-images.githubusercontent.com/25267873/116769576-19eec880-aa35-11eb-9e60-f77a31e51db0.png) +rsi2 From c93ec6797f213432816feac851a176d3b18030b2 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 04:29:23 +0100 Subject: [PATCH 13/35] Update README.md --- gamestonk_terminal/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gamestonk_terminal/README.md b/gamestonk_terminal/README.md index 6b810b8fae7..498881d5a53 100644 --- a/gamestonk_terminal/README.md +++ b/gamestonk_terminal/README.md @@ -18,6 +18,7 @@ * [Options](#Options-) * [Screener](#Screener-) * [Forex](#Forex-) +* [Backtesting](#Backtesting-) ## Main @@ -391,3 +392,10 @@ orderbook |display the orderbook if Oanda provides one for the forex instrume positionbook |display the positionbook if Oanda provides one for the forex instrument   + +## Backtesting [»](backtesting/README.md) +Command|Description +------ | -------- +`ema` | buy when price exceeds EMA(l) +`ema_cross` | buy when EMA(short) > EMA(long) +`rsi` | buy when RSI < low and sell when RSI > high From cf849e6395a64f2dceb9042584a1fda995e4b9d8 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 04:32:52 +0100 Subject: [PATCH 14/35] black fix --- gamestonk_terminal/main_helper.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index ef1243cec11..0fd4fe4d441 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -564,4 +564,6 @@ def print_goodbye(): else: goodbye_msg_time = "Go get some rest soldier!" - print(goodbye_msg[random.randint(0, len(goodbye_msg)-1)] + goodbye_msg_time + "\n") + print( + goodbye_msg[random.randint(0, len(goodbye_msg) - 1)] + goodbye_msg_time + "\n" + ) From 81d95073282f0c6b288fe6b1d514a283341e5d07 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 04:40:24 +0100 Subject: [PATCH 15/35] fix fred test --- tests/test_fred_fred_view.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_fred_fred_view.py b/tests/test_fred_fred_view.py index 9187649de93..a24db3fd0a2 100644 --- a/tests/test_fred_fred_view.py +++ b/tests/test_fred_fred_view.py @@ -5,7 +5,7 @@ from io import StringIO import pandas as pd # pylint: disable=unused-import -from gamestonk_terminal.econ.fred_view import get_fred_data # noqa: F401 +from gamestonk_terminal.econ.fred_view import display_fred # noqa: F401 fred_data_mock = """ ,GDP @@ -17,14 +17,15 @@ fred_data_mock = """ 2020-04-01,19520.114 2020-07-01,21170.252 2020-10-01,21494.731 +2021-01-01,22048.894 """ class TestFredFredView(unittest.TestCase): @mock.patch("gamestonk_terminal.econ.fred_view.Fred.get_series") - def test_get_fred_data(self, mock_get_series): + def test_display_fred(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") + display_fred(["-t"], "gdp") From af6f0b3077e569268dec9d038361c5993e237f15 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 04:46:46 +0100 Subject: [PATCH 16/35] pylint chill please --- gamestonk_terminal/econ/fred_view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamestonk_terminal/econ/fred_view.py b/gamestonk_terminal/econ/fred_view.py index 6304d678915..59ccd2c2682 100644 --- a/gamestonk_terminal/econ/fred_view.py +++ b/gamestonk_terminal/econ/fred_view.py @@ -58,7 +58,7 @@ def display_fred(other_args: List[str], choice: str): "-i", "--id", dest="series_id", - required=False if choice else True, + required=bool(choice), type=str, default=choice.upper(), help="FRED Series ID from https://fred.stlouisfed.org", From fb4be42d6b1f48b775f8b51a08f0ecd963184a5c Mon Sep 17 00:00:00 2001 From: DJ Date: Fri, 30 Apr 2021 22:21:29 -0600 Subject: [PATCH 17/35] Change sustainability check --- gamestonk_terminal/fundamental_analysis/yahoo_finance_view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamestonk_terminal/fundamental_analysis/yahoo_finance_view.py b/gamestonk_terminal/fundamental_analysis/yahoo_finance_view.py index d2192875f17..3f84e208bd3 100644 --- a/gamestonk_terminal/fundamental_analysis/yahoo_finance_view.py +++ b/gamestonk_terminal/fundamental_analysis/yahoo_finance_view.py @@ -213,7 +213,7 @@ def sustainability(other_args: List[str], ticker: str): df_sustainability = stock.sustainability - if not df_sustainability: + if df_sustainability.empty: print(f"No sustainability information in Yahoo for {ticker}") print("") return From 6d7caf57584d93d50e828ab66308a8e261cc65ff Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 16:49:25 +0100 Subject: [PATCH 18/35] Add new gst logo designed by @crspy --- images/gst_logo.png | Bin 0 -> 145881 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/gst_logo.png diff --git a/images/gst_logo.png b/images/gst_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb05e0d2b56b091b3f79590da16126e2343e290 GIT binary patch literal 145881 zcmdqJhhNR_|37}6wsvT!R5B8&kkX){WEDa~lS10GwGK&<2$3{NNLo^9ou+wVX4z2CR@`!&vUT-RgVANR-oaXnqyZ)Cv7EzXS);@h=T&ln;6 zx7>(}1O5_t$p1V1Wr6!na}R{X#_|717Ux&c5RyT=^mGsT#`iW4oVGK#A!pn6W@cYJ zdz+aK{GWMtsfcqH`=ddf-{-1AZgYwYAmYDVJl(%e^$dTF{=Trm@Vu{itLVV_YnR7U z4qp=6bd&P&it$JMa^`=`ZqMGcp8p4wt;ItA?;mvjfA9~p4;|(ukJKS!KsPEI|UK#85<%oFKgMgXvp80C3y5hwSS`G<}lVrY3JV=fAmZR!jop)30H?>2i7Zst=vrFuT-sY!b9*Df-}T$mTx%gwLevNYVc_k2*T zN6MKg_MCi2z>xEW}RJ~m4K)_qb}2hqgmUrm)EELPf@u3Zu?BZJ(%=4~kx8{YY7 z+=XqLR>{S}f=sv1n^0s84utwlM&SN^FT%?m^Cr@wpLzX2R0AQzM!b@|ww`TzLby!L zkyE-~dJ~uLA#OzbGXG%OWj#I3O8S8s0g>NySWt}d$D21uDCS=TNz2GKo(l5lq?@d> z{cPkVPILRng)Gm{Z>S_iu~UuGs_C)Qb?^xt+Q!o$5?=uzl&Mx zJ$Lf&7;XAo&F5$VVRUNogVA2?s;e4q7& zdTaAHL7KHLB1_MEmU`@4vQ2Tm&snKMi_OS`U`)&1xPs(n2n`jm^CNj4?@;P|ZXE*-o z<_TV8nK8RMb?TuOqI%3Pa^VwQO0jDwz4QpHLX{u4bByuGZca2b|FejKY=6QxTOuzhLXM`7D`P><`~)*Uqh zC_0V;>3e3^~dF z$$dqlzLXVHmf1AYjY{g=$E~p(5V(Ss_N@6LujIUl@gx(%wS0-N0IN?}B z&$RgIPrpE-HBTRsMz%6@Mxv(czqVo~1Cs9kJitozeTq1UyUOG-EU9r$KkRsUi9|j8 zj6)1@*s;hEKh|&%cx1$hM1I#olIa&BTgg?-YD2Y!)wBbmOh_W?uj!QNzq^)@{{5R3K}IqSe`6W^m(NLX7DM4SZ*Z4eT%k0PyUf!6N52?oQg&S)auy^%_A` z2?z@EIe04G8dc(Qcn}da=tXi~IS2W)p1gh`3I9a9C3|0B+_1G((*V&@ZW(VALbkl~ zn@)PHO97-D(%QTcUz#!(Nz`D@>AGeWD6nsV&mmO5lNs3LpL(zDME^phz`qnRnERK{ zA?+cJOy0oz$h>n~G%E@3tRFF=kFMcCD}1bho=ix_`5;@txvePd&>JEuFrvzMZ)#K9 z(j?yrS!5i5#Ny@x#8mEIiIGRPDD1@j*2P1bw~eoI3m~oemkZP~i_8-icui;Bh>@;# zkNQkYp5Bc;&lgMpVl`53dWNGBS zU~ZKGG0ZAsh-3;?J4d}j-Q@r5`bi@1nafDpK7BpF?Vw#vAM9mXq zCN0fpzT6=4Imx@Hf&c}n$L9RT`;dny%K;*Y+}4=fTE;Owa+x0~%wdeqF`>_yeF?2@ z-z3q_{;!#R8L<5Otf*n`_7#Fc(<+omSg|tMV`HV85^VFz4(8Tub?5w^z6?cKN(@aF zy()ePwf^GY{$7957( zN0&1nz(|liR%!pH)`LOmz$wrYK*>mCL_ zROnK&)&}g6HwfiKv{a_6$Pu0AgZj8zC4>>Wq3OA3`eAab^=BaF2bf!+#zlntxwt_R z*6qS}W=0t*(VSaCu|BhyBQbr6A(63NhU&j=7N9~d@zT`yvO(_0<8!KY=sL}FrEBCA5a5VEicahv;6mZ z%*WpV6vB0Dg5|%p^UjfVkyWx2r-EuHOEvJ1PE??vKtJyo$ zR5x5|pw9_GJQt*NnK@#Ol+SM`0$^l~07CRRG909%_k7WGdrfP`Mt0a=UhPzOw>1PT zdNIfTe9wsw75A8owP7hY&WMrWFM0@43I>jEf>iVeq=7J`on`J) z8CsTl_f|ZzC8F_oWcjKSBWt_NJ3L!IbB1_0^5G97V zUHvMBcDkx%^(B~&K`8huC$FqzDOx8PEfb#a>50Bw?aMM=mif;*gUffp3}xzJ0X9-KJ@HY67?m&geDpITW1 zwQ|uk1Oq~f%wj+bB^VOsYtjJKX?(aC_(Ke%F<)i?B`}Mn-2cHzQIIr~3_avo!J6q&z?Gdr`CkFa=;8hQ^=r~m=c879b!$jgG) z2PZQe0Vb9fT?#r_Y3L}uPthK6@;52_sUSW zLdbd>fln_Uiw`*gm#Gd}g8+l(lM~7$8nY&rM=cKj9|)|!h?58*UnS;`0ukZwR<)^V zs~L$v===jnNX+?mx5SLup=s!X>9(tVcH?FS2l*Pa@0!xpbA~+u3f^S-KL~>|Zxa#B ztALwj%q&({dELM$v1-EQFvJHrmB>&s>0jICD1Z~Vex!+OSHT+2ZHGWIC}mSdI(`6N2#IzQzvPba^sb{lvDRxO|Y5gVwkFV zDclQkH?eb+R)XmoyahxrOllBf(;yAwKIALsCE@0_E+Y&k9z8jiqwNoRQGoh#m!VqcyaeofzNXjyy zo@vQLxkPP5JW`L%mrG${3(#N*mtiT06{R>TUI-Ehj$yI=d_VgBdAP+gPkg8c_x9q< z&ER^#yG-_>OlwgWdxql+H>=i1S)=p-kwMQt4FTiFzLmuo=Wo4*0+_`=bB7C~#cORq zYwkTW#s1hk*u(?K-q6s^X!ag#743Ph z6MT|wPL&utDwNYNUJ@6Yp#5KJ)1CXofn2QKeCnZBL>pbVoxoD0i|Dii1Cc($!z z^;6ddF4zz2X5i9JHE!t)q+^0)Se{9b-wf0P&uk2dJ2gUvMcSfr&UswWBgDi(F0P~e%p~H(Tu1L-Y$fO@V+-TxpipR z0|`HJj)N}GCV>snQ$CtGADh`^ct2>myNUEJaPj$5^;jGB`a`^B@(JjNlG`n6p5GBanS0W5#;-c!Mq~AuLL>($@=)^H2HA zgLrAUZ%+5effMaGdlDqbfRIyUL?>v0?;@d`OuiQH&`%+?nElr83i7CNyGwL=GASn& z&vwrurA^blLkH#mL@Z+UwIEiKu7Vl=r^uUZXrX2SmXJXH#f`1!bP}|)jEg}Tx;ol> zNF_qpaVmasjzzzB%w|8n^a zXFe}_u>rK;DZ`^E=nD26?*oF+ZUq7iT_Gl1u_`3=U}$emwf;WZ-DzlrmDaE^rg1>X z+zaoFE2$k!u7iso{p;}_wB47BdY_dVUCqtS2*elKz674A;-^N`$^S~RurzxA*m|gU zQu}<6j_T~=wdax!iO>j@-IfF@WYbXT0c|9cL-a4BJj;;Ga*3tLB&=(eb-IF+p@EI& zeq8px%ik(`K{p#(QGgqno721Haij7q=QD}6Zvly=1=qJfn5*s>YIyo737ZAysaBs^_LL39d9>?*x#2E&Fuir$n{Od{K4xqMseGCI{nUOufIU(z*vw_&T$xI4KN^ zG}e0_m}CHg^Sx;xAA_A?s0QP;t zLc`Sypt3Pfmm)sm|Mw_D&n|_}obQ0FtU)DFAQkiBkl(u3WyF#ImolIJTuWU)M0EA5D2N_G_GZtERK7wYQClP}63o1z&9BP%gIY`2>>ASsJ#h-{w zWaRQb%LtNR3q=`1<3KS0x!H+ zW32ASXHGP3Ro1{uDBA^>iGBS~ypab6Q$PB7l4QGUFNy6UZZD{Gcpw%ix`0D7OWGEB zz@Eq!0dy&rg^Sk^NQJF3?oexc+0l+1=C-HLAjq7a>56M`UF`gIGHKzR5~aY{yNOnD zUY63)sAiiU3PNJv{3hthmu9GsXAJ+4(CrK`$hUQ1kf%6%L2D_)d!KvxRB9ZI;t1jT z5H)-+?AMSWaEMkbp3UeOH+dn3t?6%F3_9dmY^MWpr})QKtURu49R5!jGilN&z(IG`OV!r6ntQ- z?FyVf!LqV-Rw+I~l+&(A=a@?k9Wz^Y0GQJs7NIY&12J6lbcBVjRX=sdWpo1p-ahGP z5ZU?eo(VAZ5DXz0pc?AEI?nsMG{1Dp_K$7B5!zBNkXer zUo*lWb=h=~Oa|@|?v{*U1re);2cck%(;F+_+8`G7{v zR6n6OcZlX0w2M@KR1+8Qmah^XZG zLf%#mLcl_y!0LCZpxZ5!O4y*h5ORYiTNKB{8t*|!&<19LHnaoE0-_(qZ;X5PiXF1& zUTi1PiC~_!3bX?H?2pwd@UnLpu*)Lw%OJ^#wrUb4Bn|(VFM6>JKPGA7ZKW$l+~R|p zm06knm}Gr{&GhM4TioIRAp_4BXz7iNJp8&3g+_nlLV{}bC>i^J#2D%gZNY^XMeX#D zJ?O?Mb{QPT`@Yf@+3IxQQL6QBKa5oyzz8ryTDt*7=~41t9yhYZt$);=I1EAF9<08u z95KdMi7g0yw&{;gQ^H6*9pmWRF=*Zh^4TF)7A` zm09YtWn8^6o%A%M$#)iv;`hQvrgwx%gu>IZ^GLL%5CBx+FAN}kUXBvfyagr0a1|iw zyUdOhIxDjOwLy-cQdG`be37TCX%VhV=9>bOyi>|E&a>f$ zNGlvD%>qh_9dfA*%h}sEey%=lM7{uzOm-A6n_d$maT1EZH*?E}-I2^9SfDNHtK*1K zCvm_amKxP99%DHAV**0wQbH4lyH$@YgxZ6DW4QMZC>4dGL#)Jcd7|il(RriEKZS!KdiK;(i+9(lS!xC;i}}vD_+AWLD(SgfgA10BOmG9QQo} zxsTHNSOrC0_!N&U@vMC7-rO(s7a)N`tR#lgk5c4rv7-%_!lBRuF&o*?VGT8MB_t#5 zzT-{bpr-*)SRB+^hZ5ZaA>`LAK=#J|o2R*Ln#2)VVI~_V2f7U|Ci@5rdEE51?(5mH z8D%fV2EmE~VCSVd**fYvEa3srB5GW^+G}m|9v-CdI_(s~U9vo=8RJ&19O(Un(hB)b zPO35(4L8ZIEWt^8Vd#>12rK%l7$$I9U~jkTMMzed9iyFZ>o|}DWC_E{apU;GK&g0H z0zwbZG4GSl^tYH7EF|3)T6NWr&r}ZwvgKR99;UEEcH( z=9ojujDjx-K01{qJ~3&DsWuN9lfjx?1|5b+>tPwPzu;I0+F1ch@Z|(QOr5KdMvQa( z&3Y8bXJDW*Hwo3E`z1oLFDe!wQ5?DS3p0q!qq&LC7F#^E(Jl57(fBMGX1>+k93I6Q z5uVmHbrV1D>Rf5&mjvSwRQ@tAT5$&YcJM!S7(6Ammv1`oN$rfveK@6Y##Mq^8A+Fu zgM&T?Cf5LxM$T}fs4HOmY-Rjpkns4X4XY{X>WC47vCR4>p5xg6h3@>U)MAju+60Ki zwT%U1Ed)_dqsxtZrup$E#MmA7a6w6iTG=&zA@u&f^<8IdvWeAzec z8?GKMJZyt#?EEgQFF?cQ=ZBSBN8`!UhModdYzbCa_D)&Ztri13Xe#s|gls`62FgRA zP}}_Mxv>J0E;!Z$5Bh!s9+_op^wA$_^i@ZCAzSav%2xGGwdRo)jiq4Xa2VHN34IBS z<&rY^m`5r^9ve-<1Yww!d=I08$L~oP>66f3f*q7D#NcEhVcE`xtU=_lUAA|UmHe}> zox|OQ14m=p*A@d958M9HJzW?)RmthNW&zNT1gVj)NKTP^YhvGbNVm~BK2OSr|A9ALI-0#3*g zu*Vm&!yHr9APn3*u^Bx$4cIrFUw}&$9D2dj=R+ab&2lA}cfiW zVi$?L*HIwF=BJZChAXIT5STB{g1eQ-1W5#Pl^fCJ$E8FJe3Qq*J56}OWSaAa^FclB;8-L>D(h|#moUhaPv?d!UE&G z?~MrU2k0xg8SeXZ(X2`XiT2kBB1rXIK{t>NAviDs72352mko$!6b!RbTI7Nm5>-E; z>6Rh}-yM1Nm~q(G*|h(_jx2!=m@088yxQvufxSq(-iWi1nmsaooeNG5`*DXvjQ zQSX2J&dGx*R3t#jRI>Qgr1^F!)KcN3|WCJMA$Y_rg27(q@3@=f$DU5=vkaXG;aiq19|UnSwan1Tck zgNI{|zh>{B6F{w=%+lv&37*0Qr9<}|V16Tk`N&cof`GC=Bv{+2la*@P0Z>~{l>Jj6 zxmpl_55#5XT>cQpMO$UYI1!}@y0J#Cpff7))Zva`j6b>K8y-Q@pao!f&u)z*`LWTY zDh~3w-g(~#B5)FsmHz2eq$3;ry^#h1Kn&Av(WFtx=I6LNiC`KABV=M+6LmP4h(KEy zJyRL7$4ZZ61UnsGkIyCVx3#2|9WUoh>{5+Wy}1JDVRrkLcwY{&1r_PzwK$1 zy<@*b;doskz`j5C>cW6L!h!=s&Ll0KXA3t3)Q zpCe6=b&w86D;ET9Bn0iHsiRII*nyUiK2g?sQ-{ifgI>bvK=rvkWfNErlyvMA9A_AY zk>yg7j!eeHr!X53&Pvy?x-Wb5kfZ={3-qN=56k#6=_4B+LGB|{Xcu?N$@V)k=&grE z$v$5=rmq4E^!g4S+|=n)pTY2Y3FwNeAQAx)VdqNOhleTJ=A%4R3H1U#8Xg<8kx69U z?v+J;Ots(^Ucv+D`XB7CpAO3L<|0dH_qYb&bUF2((HcL+gRViF&Gi|5=Ot;{Lhd*; z9y}09c4sTOO5V?Qe!1Y{bIDw6`nH={&Iu`qojb?Ht7j{7{##^nt9aj%A}{tEV=ts@ zw^Sc|^TjI5NwoJOIkuLvl@r|t2Rj_mEBQc6I!!@Z-xd!|dIBb$aT`WtsW$&JTk?HY zf+ak=-+qNHL6r~}5&HeO)#G;%Y3xdIs_cb*#AV9;ngx$R*->o1mNUuZO5ppDC(?{hEW@}7cN~tHk!~( za;UPhLRHDF87^$-Y!p3x_jO?$@t7*l$)LTZp1{bEI4-yELHY?KXKe-$kD@*$cP$1DVpuGp4Kyxlm!FQ;P{!GtjZ$+!!uAL}wMU?(ROrC+Aj`~9A5xxtFI;6>mea7}KU z2JW2@`U+`Z8WEn;(|XNB%GRl0^)eNQ#a|Y*2&h*`Y-JQ`mil}wqXn!H0ljX|s0_BWIVa~B9UR%EC z;|o5VJRh`{9)WbixcfKyc36t&$yS*g-3V z+<|>J-v{Zz=L4N-M^uV^Q=NU96> zRzoXfTb!@-SrMtxIG;;Hz@L1Dmj|EY_@+zQS5US`p3<-vC3__;n8@&SqVsCa=ov1gzTT_V&no%Jj^gY!S3ZQh1VVx z3(7k}y`9m+;(pZ&D?vq|+s19}dB~5390oUZWWeGOH3(d0BPwb*^zc(Wv5<-jun=>FY2T8tbKu+jiCyQ!|pxD3F zZv77NyD|7KQE3rX3$pmy&HK9Uc4j5p~_;A3rWMR`&~`ErPIkkq2c=9bY7nfc?boSPr7 zPW?_YdlBGJbY?Y&RZ+u>fxc8Wc;w-!41=+v8a6caxQq$gL$YySpFUBxS=t@vpK#KO zopqM6uQ}#i;39M(^wWB?`sxyPQbqN@dXj|5b%#S~MJZS!uSwB1Bs|;sa+}f_qXc#@ zCk}6z6~d`%!c?P3<&SGhN^7Zw9y1k&#cX13fiW=W_I&h&e&;*GZ`iywk4KuS%7tES z(|o9d*rzE44Ed7O+%9&E;9l zj1u}$RjKZ(O$9qdI0%B%Mw(y?Fj|M*5bE8AtXV)m{qCvWfHJ^F2aJirkR?Md`)k#|^YM zNuuOa-I^t2Wf=v?CePht0{Pu1y8oK)F3fw5sPV@|8E0QdY*R)x>0ugeF-xbvx*~G> z7UR|>v*UGDf4B9l;qpB$bWfXwTyrn{g%}iSe;y?hpK*`n9O%wUaEq<36y(;Dq2duJ zyU!J6yIq62HG9jqCx%#e-r$=SL>H>`UjM*(kg!_&ytNR|6#ZHJHQ0;tzT z{p~R+1gf;B(UlLX`Kg{g6_V@%FBJNz?VDdba8I>(s_-WZl02mMRo@mzf{&V4jZ%5g zLy#a0KTQ~I$v8SS*pj)yOFGFv|K?awN+z=;{jD|gCE34Ih zZ#i`#>n<-Kh*nZ_$@{dj?E+iv1^3IjI)Lz}qA0DH<;8JMY2gGb8ZlZXhRp617sc6l z4;=&v@NWKr*0e`z0d^<5;s>ZTf+QV>I}GW7>mWX4i*f^*eWi7%dCE06r8NV5mFy*S zV4u^St(3eRg&$*6!HFj`DeD5)+h&5t54;LyJPwl#3tR?E>wUF66iXb*rd~Dltsy~g z$s|-65nj0`9%66o$*?a+Tu1hKvhqeSiOf&!u@Eoe36Ca8^qpI+j6`NPH?{Mprw^3! z12KH4|N6vx`up)UC3j_HDxzRRtK1$~_H1A&f9Jd@@RU3v$DD0@TY%j?&k=@XLV|`@ zRt;49$MI;c0tc6c#CZyG%`pP-Vp5;L#a)Bcr~Qnl-7-P;|C z9S;j$9_2#YSTD?)t!{?Mt!{iVP`VI+Kx1^j7yj}96HR&{&O@7bxUhp&!J zZ>%Pl_E7m3pjUer%;pIG&KQZ19PGIVH@|WaMYcy>AG!wBa@lwZf~%Jdr8{Z4|;2@_GxGg@CsItEvOVT!b8N;SplQY>28kWSB&G(N9{cd;w8 zUEZ>k--Z=lY2&-=6qf3F!nrHpmcVJ(QdXUE=56=>ORvMal%lG^x+)fbmBeL9cf~lH z;K0DfWm5)WZ^QBH0CH>UaSPt!SByh>4OZr%lr>oVqzJ#smHV9=j-Dw1c;rR|V9bb@QHY>xm8?L@l zmwq?BCZ3f#rM01vV2cfvUn`ZI+^{PKfy5g?-B0+;Cy0m5{0g$Jp|cJ@=r1Y8A5$aQ z$mRYkI@M+dGcrg>!^_lbsJLpNbW~LWImE)k&UbNeDZzM$bFq+}ZMVO_P70P2$g;&!e!Dkxz#eHg1%SW8efyxb;FO&*D6d;GRh)eZW&5i)9>?94 z!t3qLl}ZN00rbj^FlT6ZJ6gVoeu3e|LUu>5f>j)OXCm)Wc+}P*+erX@QSv)&`npZf zSa^M_bnEW)amgi->tY*GwihMZxN6?qiTefsJXi&nRF!mvw? zPMDOy}R$j;oMh7$I}@(W)oGrHy-RcD)x5dy{M}J%GQJ0e^sj(2!n+w zKrB{3tsf5{g}Sjs|6k3wQ-Rwoy&P_#BwF!3tarl4?I!B9@;;vFcJ^9uOOr23J_yhX zxf(MIWCvDit{%Z^D|Rtyx4fvx`P7AQ^QG|9(cPnUF-ycPmL(NJbYFYMI*9YYEGq7l zGhO9X{c%8OFGu(?i5h17F)h^Y5~M1p?6JMKXB}K(W4*kmJO)YR_QU$L$^pgJ?^f_m zpTlZcqe$j~yPO*gud>yVlJvni>mtI}ADBt^I(}lSeZ97T22zoey{g7dy$rHZwbYY= z(gG-_dB1UGL7UUTfO)sn7qeB;Ubc8KA?9+Y0Yf@!-{Ya22_4umt~Aq7kCSz z&ad0IAN^ihy#JjsSoU_?r;5C|-4z$$whEK2YA#UK*f`MH zyv*Y9$XP5ppJnWfJUKN5O}g@;o?f=jrSbiMEh2ia<9KKN(vI?PJyEZ{E|Ro)wLaAS zb920AFcRuM0H>Vl6|nUoBtEcR{?C^apK~eSt-fDg8`e-k^$q#?Jo?P>jp(}^^UjCB z#<^@n2f!Q0%Ok$MJ#Mr~3LP1B(&ODm#*LD-ysTpBlrrmV#dS&%H_G04SO^P;W|x`8 z7}tlp`H%oaF(!3J3(8n+WD&DoCTsN0W^r8<>)H32!S$*nvdaP3phzcX_XYr+Twqe! z`(^Ldp^dU5nLQRrjXoH+&y5ZJ1VvGcZMIYlLx6=3=gWqN;i>zkR z#BXAqOg>XzCWQSw7>>K8sv9WTP&?XKv2W?R4J=~WWk&Y%X8{u1Kk`WU<8xuJ&a*zx zD(WK$fru?pQ;L6ZV0Nk6qlwG&TNWMDpvu$KZDbYr?yF2zwkopKZeRbIwye_zC~|!r z99c}B(?Br4@e1sCzeETrTo#lugqN1d$QoTdIwtM(S}Fh-ZNjvk8-WDNLTHMsx z>62B%hlXV2)ST0Vcn+=J-rPCv8pf?%268^%gruu4R*jhOaIV5>C2gdg-TYxTN zitlP)?-y$yVTcy91&auYz6$QWbDe_x4@DAP_3dK`BudYz3*h_4 zepZy>Z-1s7N9y-;Id+U;-w)Kntsak9Wt_vqZypt!c~_LZ9OR4M{lY^Vu}v;}VUh2t zG9Q>yPVK3xAgp;G+^wG9T@j094sB3zS6V^6dS!X=zDN_6?^hk45@f(EJT5J+ z6`%-Sef8|(j%0k|MDcnivR`2_FytC?eNWKr(Kq)*Q2_M*;^`5WO z-jYzKKfo7Pzk`&!u7MnLVX;sLNH@+~zMms-ScLWoiuG7A!2*3uai^A)IRLZ(ze{7- z1$NxN0Y2Jhv{GMEGT1Hhr7r$_&5EefTNVyUXj5|cBAs_q(0wp_ZHGj77xmSZCFEPX z_$ne{h7q%_!>u&x*>RsGGlLP*W>3SvE6hkO$rAw9lCbHbe5ViHSPa#$!psRB$)cWd30fI}*V zs^kViWS{f*&xnb`xphm5wc~FaXDY0&2?^ia!bN0Y=^TS>@h=9#S`i8pmIVB%Y288( z2Y922o@H_6+uK^akHEZsJCtAmXoHpXOeY5l5*x3=tj~o(t5)krNJHc-9P~Y7l zIEPi?fL=V1+?Bsye$KJ!r2f!<-M)@aNTh{f(Eo5uXS!&h8Vzim6LtX{#gY;n4GZ~q zaq5W3u?o)S4?4djiXvNk+x6tuvGD{$7Nn7%Sv1~^EmFF_1Ja2}EZ*GXf;qj==^pmj zbz`Z~XIz(^+kPp$(xSzns0pOu^pK#W9b?_^VQc-@HL5?V!|cyv#sr#G7s>NNRE6Do z@&2by@C2<+wLG%ZRvITyXi@Cj5u@esh1_V_5=6eO57lZkZ4kbv>)0TB)ym|LpeM3l ze`V%4&s*0;ayxdBib3;MGbj$Qdx?#5n3;l#kKqo5I_*93C-aj)D#3UBx%HOOnsd99 zs(Pg$crlqo4h5`++B_Jc74oK$?8OD$~4iBF1##3~Sk%;CcuM z{Gyd+|5%RmSHFkV;=CaDNlNdLmovE%D1;vP@0k6|jj7K*?e%d6mQL11FU5??R{225~H9jfh5u#i3FWvc+0! zZ~pc-l_30;n9=hO4_bD>nfj@!DkzwjY!Luv}0-o#t(<9++2;7mwt6W1hB z2VNR39r~1=Wbq2=)INLbamZ^>0<@fT2oNg#VG5(FcdZ1`gSF}-12*2blR+Rj%%WG+fFZO z*?-%8mX2&}VMm>xt)S~*%D9HWBEBt>#G^T~_GB@Ke(x)rr)!p~FPiy%>B210-xMb$ zH6xvUQr%IYQw;W#AU5R~&Q}?S>q&_G2);z>G5+XQcg5ukDN50P^zrO>!$h4iff0q^ z9Z84oX{%8|0@ngvcO!HwC!t&U^QST`4r3Byp>){M&C=EO=~rLobs4|3pK7Iis7~C{ z*{qZr?NM9->dlwX^~<2C_AmZm$~F5^sx88D>Db^6sMO9@Kr}v=&bM`-^+0U+rUK!r zbx}CBHEZun>hGzJp`-=eU!LT&yjYX^qe(YkA4Rq6zaC>S(i7U&UYNBFJHuA7c;et{ z=xMw*hE6@yetQ}M=TjFiwCu}8yGi7wORDX!jhOFCOZ2+>*IG(SKw(vn?+@^A|5<0d&hTiUi3&eRt^+sW9lWJ0sjDA;Y? za-@7vV6IJ&xF)$*I_)zg#3)pdXKxIjXmCiG#wcj{=j!YiLTJnEsKv|Fik?7-po-8=;Ae5QceE$_xXUS`urZ;PtQy2 zzVU7`m*>lnjvDqTe80NT`h4!0hN^)jAcV1FW7H(cY(m-l4&pWqH?m6+G_sKw(hbIN z1(~V`QKevy`OSbGTA!Cios9CJ9cDwPcF)`|sZYCHJ+^7#dB0A)YtwUUxelrFkw735r`D;Dx_J+G15TGg;zy?3k#;)a1(uNP{bT-^{+d zIshuz&hgy83L(L+a2l>DyNcX8tn$hytssv?F4KE`LXC2Z)eP$OWLor@qp`F5zAbg1 z8VusMS;U#bBcrqm?c6B)t5Hcy>a^)@b91rV3I*Cyqs(Xs@H@v%o{`x}Jn=kB9qJU`&8dyecyd(I0esl42-cUF!l2tvpQl~&0(bVT8 zt7=e~d!CsXU+dd)CQTCA=3hV*9WnPDumv0xICZ{1SnF7?(V4cW8!In|*GdlbbjTvc zCZEFwlpe`ef46T?W&a#?Xs&dd=smvz=~!GqNpSn=G7#yM0)>1*oIarxqDX0!U(?e& z<>Pd~>~cW1_9t4ag@gcdev$re22id{h_2yJYDsM@_&50 zBB+C0XoJ7dX{Fv*7b)r$_VTjFZoQuyx@H^?%J%h9XE)+vus?YyE2nY7NB893L;$9Sk9B#YLFxy_F=x^3JpAq1WRfz@80=)0-oH00_@KZbNv8OIW0NowlAK6!04Fi=vHgrT($jg8tKQvnRmIWy< znpH@RZ@AL;$>UQlFYCt>74u%LUjS#sg-);MEx+b{5n2?Chl0%&Iir$psQWy^W|Vfb26c2efv?X-F~^?N|<}b@-@%y^s)PC zJSu!-1w4ckG)bm(y&pKf!B~(T%nZ!#cqK09A@yI9p*`(9|3MVCFHtmmUBJcQRq*pw z5d$zmpK=~VwjH2gyKqb|2148Z=jRa!X=t_JkKNc9%PPng9}4kw6P%C)PEY_ROyozO zaar%6FFd7rFp86$;s2P(sazP0mf!)f;XO(L6kL?p_AvU4bK1y0K?ZHcv70YxIdT6x z7|Go-R#afi2oJ9fpdL=H0!fEoQPZKh zCo#`Ks>Wf*)*9>8-{GvlkG;z%@{E&~oOm|iYU~5-6WSSS)%5<|h0iO(ZgxD35r5cQ zX(fL=FN(6ZdIfs_QvdZG-q{8tg}P=lNiW8yAII0velY}&aAQtxbHEc6zw3U7L2vvD z({5Ta(FU-G9Y51(J)YPBf6|3ybboL}K@}s(W`BjrOuV?XS@82ch#}_#!@6GLjD<=D z_k;^Dp>kkPeoLz3uBpVuhB?o8wl|-8gw>0lG5S0BVE)YhqSztuXRhe z^xer${z=G2+A*84OWr?$GGAnZkd7uM3nNZaDy9vE(DWSW2sW_RK~W)}r`-lt)W&8g z%v^g(@$p_j4)r6vLT^+ffmy-hFv8N@!tjMH*RY&4bFE=Pntw}1j+td zQEg*IZIr6KJ+=ruv`V&rI?Cq3K(^oE-Gw$2+mw}rPT%f(?6s0TS&cb4qcj``0jR<7 zJ{0N)@CgV~X!PX|d@!P}-EiT!R>ZVlms8G4am4{SF!BX3@(6s6_w9@5x$*Z^NE9X_ zozzN|d>`?jJzv;iYg((1xOff?@RpFSO#`oo^XvuK4) z+w3XoYdu)b$JqYaobHH}X$8)hj0Z}Q{46vw9t=AMWQlr07eoMeIRri}itzC{RlV0Q zOtqB)mnL>Wq#QqJvtAPt&|3d>YL!LAU{3UzXMiN`aPns?w?nfDQKg#a&IfS%6&7F) z^#y#aY`24?wn8b!s%Za+z4UJRN09*;y?2m||IKCbvw6QFHh34RpZQ*S4~vjedx zdK5UW;b2}j0D1@>V54MRc*ssQs+|AoRLM<$^PbtUkb5JgzeEf{?{yaH!%P?4&i@1a zSnT7m7$5Z@=5>l+;2_h|_1rIXi%45z6=SB1zz&zf2dG0C!ZufeZyQ(LF5~L8k+QT@ ze~M_KQcswZ1hv0`ejYF@1QwUgw#}ID<3lAo-@$jOS#Lx!VBhI8eb)jyfT+;=s-?5v z9F^Ysx|eO3hza})$G$g0D+_G4%Muh(rQ#Lf6c{vub6?@+DW;4o;|pq!*m~R8=)}}; z4g_egzTTCvGHP~P`! z#nh76Z>FzxVIdw%D#ijuHF0D`^Ex49U+~O*oO0W5{fbWw5#gIZh*YIIzC@gKmgvvEP?PMY?Z*>3gN&-LY`sW&lvQ@ap?!=#mSQqyvi182h}J6g;+6QA|$0C7tU{b30K8A+HIdXdC;XdsJi)% zb)a<&pYqH&_^PGfb+$W^#ZOXNhe_Ob5VDA&C#D1W+AX>mJ~R>;u@LTzn@L-B`%GJV+*Iz9 z8THLg_k`@CM&FzJ1j`tYP1vn6a+ZAW_M&p+N1!qoM(&1zxei1 z*=aKUaF)XSYe3awkj%|Lx~}pfK6AHico@~{CH!|0qv=NXv&y*cSC!X0+)uP`mw#hl z&cAM;q%eBn#<2~A&1Gf#b6pgtCmWX>LifzgEjtt^0HGQ|nZag(68OUs1Yl=J@gAhf9IFF^}bV zk@6iALMuTv%?g3GI;5mBxQ!}^$R8^g|NX?1)omN;*QOr)XPbcLLmu0A&m_8hIi{Og zW{R*Jbduraj#$Xf38-3j?9EG)KOyybA>w3H^ZJ52kE&TFfrJbVTAL(mbRiZ{ya2u z-0>Vdsr_aFun7X6w{Jn{V#(CmE$lO%BOtykIXL}pl2s{{hsFYE{f^>2_5Yaq>VT-8 zsO`H;DkY+HC@6?X3n(BVAWAAJ4U*E*NbDj8Dxs1}i*$FxA_xjdsC4YoNG%~QvFv`c z_#qR;qG)cmYeNR`u~P^Z&+>{b4Lf#ez)+WYOQwpJ#}xs(2;55z zA8+U1c11HCBpUd-36Qx1k(%#4;uh*07S~Dn!{}Aty~b`-`YC#|SnNgpOPix|C(<)% zFgNY)?lp9!Q)I^_wI#N}fa8+7p0l86RAn}&U1%t{P@64EUdr-sg#^PW9{-C9>rMlU zA6hPc{1i)q%}^}Cy|VA=5o?BNE+b(|7V!7W@VZkbU3DvEep|)fx%LM=KUk2(@1A2P z-f!}h#@nWqG~b5Nl>J|H4&Nt5=U5=8B>!dV*Me?wq)In(WZ}=n`Te0Yl=9MB?t^^` z+zB?cX~wBgP=O08tm!UrD^dV7aPY4sg->7-ECqNnM7U^SsQ^<2knhRw0I=wZW(CJ- zJnlMx!ZBIpEmdDfF<;nS2pwB&w z0~P;5N8`cMkkizy+}DDCawmYJ72Un-yWd#x>JM*!gN_fiIXSH0+3zdldG$YUo&d1Q zzhuOyQj?Uj2!r&sK7w_^&Wf4{qpL6cSM{>UdqPV7n+svkrYXbN0#;AuL;|lIxlWkU z)Q`goaFCcB@Ltg#*6x&C$8r!0X&@0`;bx4Ct%9uncV63CUTjCSnyOjn{1@b3A{A(r z4gLlBNH-1_m&EJi#@bP8J(vM7fm?*3XJGdvYFa%7`FGE-3i98Ar=5Vdof*XyI`A>^ zYd=7^^cuv7qD+joE^Fz+JYr-F02iY@u$W*4d;R(oXAn7)=yK%{wD$GPL8F8?nL;T$ zOYlcI>&k!eDIbgpz*1^z+(1~_A{(2340!9CA`h!ef1OTu@l0t0*i zrFP`}X;3W^i^4UZItX6^75)NAjDJFzAX?V;eo1G4V+d9RP>xC+@E)~zJ&f8@BJxK4 zadp!>`2@&LxoL;~JIkrcE%(MoWaW-5*s(Mdu~|=I3OA5_qf6@m_wxDuy3CF)J*emL z71Cf2z+nIFm^1+^(@rxaR+y_y?LQt@GC%-Uw~roH4-WP>o`Fz)QFG3@G+Ddn_uO{V z8PXf?e@K)pVfH&erxJ~8{?Il8pX#afvq1$)YWU8u)4>RO8rRd?M%uWKzC75`5MVCT zbeGt?5*XkMgxfYxlG2DPO(gi~7=#6&+8W5oCmT*~X;1ymL86C6Vxo!u5-B_BeYh3= z#v_Xp^{7z$(Z4uUu^7fRYH5*$w16CqO1CSWW2$hqhPnZ{Q07J5|0haBoG8}V3#_T zFk!m%UO8COfQa(7S_kXt!=aOY_Dxc?+ZA2#BrZY*&BWjcUmsGtlT9LQ_!TK-Fw+Kn5nq~-g4yEUk9 zaQ{=h_qLu!FQ&&jh8zlf>nep;G%6J$v2Q@^7;NF!R>urIFR2a|;(##sOfoD$Tt%W2 z1iVk?7PzU}@yPG7v(#Q~ALgSwsC5LoBYp%}*He&=E%0-EI`d5=9N9yfa@CIP7ZD}$ zV1_`r7o57u>wHO|f$X8&mIhnh(FpCxJv7lS^DxcU11ski;_^{I1)+!1qxREBoXY z6VxCch5qRR7)$T7A?QOLw=CC6;wqf~xH!Jp_G&AYG_!@Fo`FPpjCXdLF3f$I(8Y3s z*mh;|fAc2D41k)>b!6b2GuNIA&PAbT8@~8TPSyN!)HpF4OH z30u6!DE|BpB5iPm8WI6raQ*N2{0VMDq>o9zh^GpYp*T{A+T1-&0{GBE|K(H2RFhzg z$Gg;kKK4=%#8>fFdTdy+B=_DIFkU6^tkkD8%xf&c5o0IdS}iE zLWbJ=$IC9){?LXX>s)feWs{M#2GeRz2exp;k|tW$8X<8tWaaa8EXf2p_GGUk-=~%n z|8rMq_%Aniv;>%oI6_BvE*b*}-T8lO2>&8`GZ5Hs6wAO7&e}vS$G|kl`^A<@Y`DJ? z>PIIDu%LLRIT1OwJp<#+C;$G4F zYX0X&lde90BooL0V@uW5Z^ul~5)Q3RSy+y?733+~A5iqS@N8&}=~_4=O5Q{jzsT~KrRu_> zZiVM8B^)oa>7PnrJVnCl05>Y?UyhA5G0_cc-AaFAou1fV<2V+kvB`iz7NmcBf^6R` z9>mLoJheX<&1GF430bmoL4ofguKm?)qG=#*34BIeF}H9%y9ZL2SnR4VXxKX9f~*s` zE9iYMif#IGJ<}p5BHicv#kpX_{yS;HZ6hg*pUM+NB?drrnby6BR=6FoL&aF$Jxg}w zn}wmPlpY1-bd!>VLSE*CL%kFCUo`Z}#=Xwf1?`Puh$qNaNy;PvHe$%j2tl!xA0l$L zgEHk8`Y3mLlC`1si-ZgBPx!Zk<4Dybp zO40v!Ci!Xm=DB3HF7+(UZh0OY4!8VO4`wBbG~9q|?%Y;KrL$C!ckRYr|b# z+r&Pmw4y<|+MPSN%G+0Y=evLEMl>fyzl4Ld*O|@g59cQUDzCryWk>;-iiLuci;xzB zffAK*~XJ&L0h#+K=~ zFz5iMyzC(-OG`*?jHBI@XG>Cuj);|C`kh}RVR_P*xxX^9|Fnt!ueuk-z&u=Zitg_C z5N)qi6a|Y8V{|&R|u)Lf8Y1ed*6p2w8Rc~-V~j|q2jhp!w7#<$)LCcSW_D#e_H zT($k`)BnZLo{4QDQhCDN7<8Zj)wr$9S4lJvGy#}LF%hrvT$7Kft_Gg8v{koZ+Ojb3k61~@4V+)})!9@)@{aE2k5EQuObMlC7tXA!M_eN8! zBQ}|q@UQ|ZBV#L4D1L%0CTw_?$FXpvgQ{90=ufJ7)sz68OONM!<3sB*qEd6up=~>J zOj*ENCTgJ0z=r}#<7>1yMkuE3L1I_D^YPC!rIEi26e&GA&VvkWc<&Z?8P$H!{x!Kw zi>lFIcC;uL*EUUi^&Y_x_be&{H`vx$Xf$^ot^^bBQ9U8#<~fj<>U3 zgs;Sm?e_beMv`@-Cv0V^dOBr$!09J7P`1T(A-$Mj!xJb7Q)*F#$}Acl3g4e@X!24) zvay5HXB>nU?TGMD(sqaf)Hck;VZ-JA2sD>-pz0johQwa3wpDl{n_jTD_r;Z#%b#E<_`;$6fAtttLU1q57XR$p zeT9+QUs1m`hXe18nVdvLF5Jg#;rd6}*1Omc`77qGJ^A-gO(2s>&pNbfbf5GzFL9;A z1DqmkZ12spt67quF{grQx8URfSA99Ch0=re3&O8dzbolGOWaKX(F|Y)&Rj%N&iAiY zM$~olU#p~@Q0pka#oCkr#sySbP!1Utk>O%-4ld(-KC_fvN>(WreQ?7NNr6-VWO;!2 zyXSzYMUzMJkH399j*nMI(si)CvIP)m>3Y)9g|zD5x8!|_qV~Dk3)v`oH9>v`8VB7> zIeg2s0;vl(zhq9?bt#Gh#`()8JH43W&Q|MmZV9AczU>6T=h_DDW1N>lcqs+am>rR( z-myT7(B=A$amnDByBJ9v)lCDdulViUpqbFm3p1??4PK{uV4#g(X^zxG3b3;#7C7X2 ziAS<3d%8+JP{C(-@Dp3C1|%D&I1xThpzJeTXOUmfQub4=SAzSPP(pJ`4L;z=6MHHq7S8{s4{G? zU*2`*pMod=66 zCtSFc{Ej%nnb5x5#s`j;rqUAZ)-Z=(beqXr{sm}7*D+QIpQyGVNP0thq}z`$7n=&P ztV^9Of*CMW|Y&uMJ5eqPVNraieWqQlMWAsbThn>%uZ%@0xA1yqCV zRy#E%K_1_D)V{KP5g=iwA=jT@ey~{IDVTU)=F&RP%3NCxv!>dH5C4aPO|$OE@um76 zakSR!3Qjvrq*(L@c$$x^ z+J`Kr$tQN1IWIUq^u{JvLYpVY?qz|R#5|B|LQ>R!8-FL>Dwzp5$#`yfQy)#k9JT}N zS9jrqaJl4u2;PSEIks3L2FQLrn~9Csq#I0YZTMY7yKnut_>f0#Tim0sA)XGhVr29H z6@%jn1@ndqW#zAYN6?cg`++|T3~ct+)Z#`VKx_H8o{TlM2WP%En zlEO>sDdPCfAPx2-0RBaaDg*rNePNgw&_x24p&!tSuT04@^oyEbN=*!o8S{OS6*9QX zfGob8ZGNl6jZhL?yG}f`RY}zAF1D~`>2$pf!ZS5RGiyL=();RDDL#Pm`jW(=0qz77c_Rs~|>^W;zs{mMDMBOAk-ybjrJ`K0`%)G06 zSPz9hs#J6DgAZiOuN8FtFK9IWc zV3GI1WFe2-Ug6|I$GZvA0eI!U;KEgPxK$Icxu}1eWh7Sv-|VfZl$Suzs@Q3Q7hg-; zJUKaEHkm?^ah>r|6XPGVK#)%&QyK9tw=JU^Htf856)S&!!pcDo=hX|R7X$GVEWz3y zYZroiN@&i3=#T&1GN|mYnX9H~tnO%#=%y z>svo_*1ZC`xOfGsd_z$Qz%vpt8=}9pS*pzVNSd}?QFgB|7&J6ECqliJs*zm7p`o24 zzptb>zltc|Af&4k5Fbw0ipfF};_y1I2I4OE=3b2PrWh5f&8{4jqPct}5>7(UW6wm} zPzoaZJC@F_4_mk>qTw)`d~*`Owjf=JwEBhHm>z*NwCtRHsfHkqaVs<2QOyz%BwucD zte=9`?nirW_PkFNlO{tpe>+ZzZmR=QT~cu}tz|xk6hFGTM7Hj}Z=wa!-4Ue9s7jDC z7l`A%&h`%0N5bGptuVfEu^L)tXf1gnrm4f?IdP+y8=8nq<^P{bqtkPYReM2(@@nc+ zQiVOa4X_YJrJs-TJ&12jZZ+VsFth)w&7uUv=iY$`{uE*LzG@2F+b){mOW7%=*C0zF zhD2az>?QyUSO=?Xt{S=9V#Psp!6W`|5E`Q9R>(G|Q}7tfa1ImwTW`aNnRr{EZhF)u=DSD1tGb{9r-29?ME%ll{D7=i!!)rhatsP zcBuEJ;DYyh#A(J{2J&M3hB&h!BnK!K=b&qX?yL@%3s*UD3iR@06QJS8h72PJ3Xz4v z!PO-|>E$;QJ~_B*c~3Au#ejiX?=m}0efXeDa3; z4->(Kuhy_$E2Gf+ZWE38!#I|3@N2BVo{XgA3F5XA4h<6g*+te< zlGDv6jgMlw0>Gs#QhLx16C;(&aZ@~GJ@s9T_O;$C?ODlp$?b|-dtApu~ z?!i3SwbpuneugWeJ(GnIAykmoq{e_p^)syI61WE?0Htk&uN3!ja5zQyxy=G)+%usV z`28C|I+r1x@Xh{S)ecKaXhuN_?+;ih5;virZ`YIm4x8>d<4E*_FK$M7u%?-8Pl;7{ zkUghd{(i&=f%rHC6zz1I89vi;6%xA0N-DS0H+ht@Bzjwmj){Sg>rFaB>aWCZ=bbZ* zQor^cK6>cX0-W3l#I2@KZGZcpUOW4Ye4XvGkP(yp{tKc?WW2L#(~_k%n;{F60Py1Y zt1xl&f$2m3%NN9w%7xMgpky&{4yI&q&L#av(T?|zL&#HfMiKcIG>#9O?KM~dW?0Q{ zz%hJcC@HkF{QGTHPSBTLfO~`y z`iy|kfAL3NJ- z)34mR%iN;K$^*c-&+Za?j?uM}jO9tzdsu!m!sXlG1DP&DqcVmD<9^eJQ17!9L=k}R z8_qBm4&muZAuf`w!0?xjhM+W=|D~lc;`MU>(DyTn>-oUAKYxsy#rt07O~Kb3X}d%O zMnveskr!qZt^e{qsQ!qS__O4H3OL}#O4rQGw}&!mi6Kd&ax%tXUL-T&*129b34T-5 z#P8wYnPQogy&BWH8^zU|M}sC{8_0U6wkfWM%EkA0>C+IKg|kznkLQOH%+IPCmTcf! ztlCcI6jk^pkC;7Ud9Bg+(iY3>`CuKEoEy<|dfj)hWP_EoMD2$Pt(LV^*>Q!G(IjTV zDHtkreOCdBVuDg&L&V#k5vU8Q9k1j6TNDWQVK#&6E$GI0;aL^U(6No zlZCNbdp4#yMrEm_GWGc#DeJ5IK~>YAjeSkQ^ycQf>Fa{JVP}+&Z00^12V7(vnA=Wr z=+JlI5W3pCF&HSuHYx+AH5W|lv3?VTS`6+jKuEjosHy%Uxz@-|;Kv`5b%B$`^)1+P z>X7Gb#rTiH>8?!M+VO|bL``tNkz#&n!u zUzORzkw@dJArL!1bS*@^nL(*bs|dycRM*^sa8G-{=zfbK>zg*=0)<|4xECjAyM5j7 zN~?nfO^wid9#*8N!P?-7{-mJL z_Q>}`#j6T8N9vVL0)UT`{Rlr-weVvA!UaHfa$?8iT2%jdB4R&791?m0U$kElZ)6T?^rq-EE2U8b3S-we}<^tqKQQ zv2%m(=C^PdYSq%Ycssz$dDiKI&GP8EiGdm%KU?0 ziLz~eP9Iqp0UNszOgDd753pHeS7W|~yus0&8SlqFx?rb(40kVgy*)6EAmWK*M!9Wg zD7Y1%c9)c#SaJk;EsG3yCV=88c;9ARyBOz0@3&f2)l>ne>lYrUddHU714l>$w&e>5 zqq^|)4d%Ah^tc7h&o^>^je%6cZun0?${L7DcEttF#O(;zKisUEsSnq*xC36q7rgNC z*06^=H-PC;a_j?yEig@0{NbTslB*rSZi`~pX$P+>`l(SL7i9R+>|ddERp+c5YRc*Al=E--%pEv%a96#4Z{ z_LoKlN3Dq=?PyrUeTMyYsU|Yg!vse`i#a~?=GJlE}Ow;S^v zi&0_fDg%rlGq(vdt5RAi@HV=iR(Sf~O;PHwbKRH$5d{Xwqa1#s@C?$@(7vlfn}2KQ zg+G7H%%NS+pCRYap4P&TATUMYWD7Zb-KOXBy;^3Q+V)?HPTkfJ{AV)**I+1x<~3k5 z^XEf97!X(6?FAR=aLUNsh=}m&f47H06Q0S2#J(tzexGT~hnJh+-8X><^#CQqHdCye z3PTXj3;Idf{>?JlL!jSna0@spYZe8EJ>4P2w2QpX6KLb8sA*rzkzrc!(dwWfoH9;N z;W|UCcism>7J6;ocA{!WMFCp5qX!n2a;B4)h(`zyQ1#ca&Y$pP6-_+c$%0E94V$C zd@EP|n(H+4_*XIiv6V$JtAgXl6p(gxVPq#i5X>4q%E@dy1M0JoG*C|L6mYtFe(ctv zJ$6pamPhk=YwpBlwr0^D?Q?_wlVNWqdo@naHO+y~%W^)QE-Ht#3}xcrVG{A3{9T`V zgQsL$d$ntDH@Xvn>L5@NHCu)*)| zJ1~3cHHI1sSK&y@cGJCb3i~p)^LeUtmH4rtj)DzB-~<6_6r=QqHxYSZA9x<~ym((w zj4&Igpw&$f?smy;mAM5>8u_xm@B4dW9nR!4jK1OXtG6f(NtQkenrvAUPZU4AcjS>) zMX;}^7)ReTI{Z1y0)8U+I6a=|n&6Pd`vAfE93d@H00NU^5wp*AUD&p=BgF{Mc#xVLa5Io`2M7_9^k&b zPLI9&N!f6bx*puVDF;+F=Ja5mvIfLto?^uNr<3I^Usny2t-ycJ*{~2?7&Wmo^CDYV zeM?o>cY`}l58yK383GVB-w!_@J#uKtaYphsXoeM4LC~DN4MU!&Gnebo-8c2$?Qq^p zPZ-MNoyELtFH0=-T_wsLZq!14A1Oc5YYMVFPj>sZ9~b+U>i+SR0DzaZ|6rCn>IcC; zLFC_RyLG=@F+DL8rB4n;&O2Oes%0NFJ37p@sCAn(w6+s=y5Alqy0LdyXu(N?iZplF z>vzzqSr4ACHz)Z4>m{IhAkW{Jqq5t&KX{P12iBwL=gYnYQGl_$h_jBCl6$_DTQUPGqcJ5^NbUz6u14^Q91jLA zxa`b=W614R1=bNuSv3-Jze7$rsi-!6#i0Aa$+f9kc)qp2zRh(>I503J{v65}mK1;T zN#XgngHkJYOY7MxyuG7W^g`b`LNuWLKu{LwPToqQO`;qkF5277zAs<+^oQ39-U*>p zM2t=Ugq}Dwxu2E@hVXwz#$aShgLM?UJEUZN5{xqvtxnrdb36!87z;>(Fu~>tdYzLe zXnh%RmkRHK@+(wWl4yvRpw9WgQ|OjV{KFaBhH8$t##nn(z#8 z@2J>mCY$xw5g~4g4hwlWn6>t6jSsq{C+PjMrbX^vqQ z4Snb0`e@d){7kNKJ?wZ!1Qy@`gx4mqsL|d|xw8hWDk2@j7_^H3(9rUZwP^*uP2T)9ty&$wjv#oQXqP#K6XV3bb~j3(I?DS| z=ceeD3b+!>(<3Jx%W#(cg9q7q7>P4`-S5d-R8qaKU(Qb9Q1x@`7;YsQof3c-Z8({q zuqVc!zVfuU{qw9)V;s{!u4xGj=6`>!09}?vlK$7+o`01&yn9Y2@R!B@Pv2f@}LW!dCo`y;3 z=}V`mgL~f7B}NK1is0+!R6sHWs)Qt~F0=ln05;7GX=Y`3Kh_-F7~Wuk_^}SfQP^kt z8Xg-b$hjTPd5+l7WZVEGlFqy)N-I0LLo0uI_T$g_2_$rF zNy^Q#M zxNS<1y8`^^maU{`fj&IP;50t7UWmRyZW_iHIrVXG)Ejh(#e zeTkMjRsgT6$t+hQy?OvlnV(NXu+K;xOxake# z{ei0k8Ja|P+Jc~ zK7c*}y~0nf0_Qg+EeeQRQ@kII&h6*EB}W#Y+9TtRi&xZL72^F{aTD{_(RcKNX$bC; zkk`%Ee&T5VV<)Nwlt9a|cu^|w@)~;fUrV)F-u>Caa9cYv_Oc67-&E_%2yLa1A zX|%4V2=7?(j(qIjX;+88MV(M>8> zJwY|_(<|#b@1MB!<3dglPqcwg_TFT1WW+FlZ}!Otzl(4DRtl1DYd(-F(1U!$Ex$iB zJ5Eh7+h{X1`D`yTH&6(#z6uWBo*|;UAqwP)i{O@53}Ri;iv9H+y`vb%Z_*EldZ02T zJ)09Z+d@0~-t=r)oSw`de6x|HKi(3B@|!GY6VnaRdj=u6kOc z1(2VBkk?5oFF82OzmCZLR^prX$>=aLVnC39PirgDw_;1xH zCZ@{o%tJKkqzERO^mtOtCNn;~d1h>-@p+jQQ2raOYmc~V$l>%^BM6fY8rheN2Ffe- zx9%hsHor(g{eC?igq`r!IrU zglor%+xOWBjhoj&U)bSHrt~3WIezuKhFDpR^)oBOqUn+bey1lTEysrN{ zGGBJ`^P>@sBpPGza$;aRLj^?b!TP^a^0ziP6|3v0Anm|T-8H5sfvdd=#L$!=&sQW5 z*CNcjLXM?Up@3p{ZMpYC&bQesZ9ceoE^kO|Q=5&vh~t^gPQCJ}H`nu8U#ovcXpI6I zzJ*8r$8-N39$i(H&Oel~WMblp%)a}~z;P^pPKCA6QdyQfg(tQtg;8UK#`t~N$jys_ zYf*9Ljth!sz1~-7Ki_o^;Rnl}29Cl!=$aHr%OD1zp8y%%3@c3xFV~aW)I299L{-2_ z9bA5zT>k4Tq?IAhvsH$bdX|3_s3&!SQwjhXF@@z7A8fwu0z2CWsVr_Wx0#3?@+Tt3JJZ&Zi_!PmxIV1bKB06suk`b!fR39H5Uq zW`;T(sf3l5s_$@58eP-@?}vImb@pVF2_1#QHR`16%1Z3J(i2AQ=B^K-|Mo5c>s^iq zTcxoXKy^1o3@v6vNI!{g>K$2~!3DiJ=(4ATi;}}_rpaLsRg3QiEz7)MJDA4)iW#>7 zt9aw^btQw34&*7jhFKtCd#JA~4|YpI2cr6R`tQ91v?<@ZFpn#2?o>5%f2$I(L)!!*#3=YfzIhaz0BlA>_%ApnEjqon% z@%j6pWH}PZvy&e0*H%FGnKn*O2mJI2;6UZvUR?VkiJmZPyAPHM4Se9PVMr3hOIeJZe7ozUias(1F@z@dv85((i0D? z>Xo1jQMO^TsjHr4($Fd~ba#a@+(3w?l;{D|dIxf2a;QrH8jTjv5)n@$<-wh;9*mEi z!)U>6GVaDtkW0@gbFz(+zn;U`GJjg`n$UYCLhZA3!n;ZVXe5x;i#v;=zl9(WnlG(DLIANcG&HpQXs7NJ7 z4|a+1s(r@8{%VTe7PXE+&{PP@L6GaO$4Kmh1#J2Vp}F7NNz_mMb=(l*#&Dmr^s4=| z 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≦BF&0AW{g6UKVOEEx&177Jr{b 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 literal 0 HcmV?d00001 From c46ba34369ed7af09770bce43041e7d5836c694c Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 16:49:59 +0100 Subject: [PATCH 19/35] Update latest logo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e1e28ee3031..42573c13649 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@

- Logo + Logo

Gamestonk Terminal 🚀

From cf569a6c351cf57bbde966151729829efe44a0dd Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 16:50:42 +0100 Subject: [PATCH 20/35] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 42573c13649..8762e803001 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@

- Logo + Logo

Gamestonk Terminal 🚀

From 4f5feb287426db0da88f17b6c97ccfdf8445fd38 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 18:05:31 +0100 Subject: [PATCH 21/35] Add resources menu to add insightful data that can't be easily scrapped --- gamestonk_terminal/main_helper.py | 1 + .../resources/rsrc_controller.py | 107 ++++++++++++++++++ terminal.py | 5 + 3 files changed, 113 insertions(+) create mode 100644 gamestonk_terminal/resources/rsrc_controller.py diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index 0fd4fe4d441..aff4c88a3b7 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -64,6 +64,7 @@ def print_help(s_ticker, s_start, s_interval, b_is_market_open): " > po portfolio optimization, \t optimal portfolio weights from pyportfolioopt" ) print(" > fx forex menu, \t\t\t forex support through Oanda") + print(" > rsrc resources menu, \t\t e.g. hf letters") if s_ticker: print( diff --git a/gamestonk_terminal/resources/rsrc_controller.py b/gamestonk_terminal/resources/rsrc_controller.py new file mode 100644 index 00000000000..80131373d55 --- /dev/null +++ b/gamestonk_terminal/resources/rsrc_controller.py @@ -0,0 +1,107 @@ +"""Resources Controller Module""" +__docformat__ = "numpy" + +import argparse +import webbrowser +from typing import List +from prompt_toolkit.completion import NestedCompleter +from gamestonk_terminal import feature_flags as gtff +from gamestonk_terminal.helper_funcs import get_flair +from gamestonk_terminal.menu import session + + +class ResourcesController: + """Resources Controller class""" + + # Command choices + CHOICES = [ + "help", + "q", + "quit", + "hfletters", + ] + + def __init__(self): + """Constructor""" + self.rsrc_parser = argparse.ArgumentParser(add_help=False, prog="rsrc") + self.rsrc_parser.add_argument( + "cmd", + choices=self.CHOICES, + ) + + @staticmethod + def print_help(): + """Print help""" + + print("\nResources:") + print(" help show this behavioural analysis menu again") + print(" q quit this menu, and shows back to main menu") + print(" quit quit to abandon program") + print("") + print(" hfletters hedge fund letters or reports") + print("") + + def switch(self, an_input: str): + """Process and dispatch input + + Returns + ------- + True, False or None + False - quit the menu + True - quit the program + None - continue in the menu + """ + (known_args, other_args) = self.rsrc_parser.parse_known_args(an_input.split()) + + return getattr( + self, "call_" + known_args.cmd, lambda: "Command not recognized!" + )(other_args) + + def call_help(self, _): + """Process Help command""" + self.print_help() + + def call_q(self, _): + """Process Q command - quit the menu""" + return False + + def call_quit(self, _): + """Process Quit command - quit the program""" + return True + + def call_hfletters(self, other_args: List[str]): + """Process hfletters command""" + if other_args: + print(f"The following args were unexpected: {other_args}") + webbrowser.open(f"https://miltonfmr.com/hedge-fund-letters/") + print("") + + +def menu(): + """Resources Menu""" + + rsrc_controller = ResourcesController() + rsrc_controller.call_help(None) + + while True: + # Get input command from user + if session and gtff.USE_PROMPT_TOOLKIT: + completer = NestedCompleter.from_nested_dict( + {c: None for c in rsrc_controller.CHOICES} + ) + an_input = session.prompt( + f"{get_flair()} (rsrc)> ", + completer=completer, + ) + else: + an_input = input(f"{get_flair()} (rsrc)> ") + + try: + process_input = rsrc_controller.switch(an_input) + + if process_input is not None: + return process_input + + except SystemExit: + print("The command selected doesn't exist\n") + continue diff --git a/terminal.py b/terminal.py index 171ce763a1c..001aa8c95a0 100644 --- a/terminal.py +++ b/terminal.py @@ -42,6 +42,7 @@ from gamestonk_terminal.screener import screener_controller from gamestonk_terminal.portfolio_optimization import po_controller from gamestonk_terminal.forex import fx_controller from gamestonk_terminal.backtesting import bt_controller +from gamestonk_terminal.resources import rsrc_controller # pylint: disable=too-many-statements,too-many-branches @@ -97,6 +98,7 @@ def main(): "ra", "po", "fx", + "rsrc", ] menu_parser.add_argument("opt", choices=choices) @@ -373,6 +375,9 @@ def main(): s_ticker.split(".")[0] if "." in s_ticker else s_ticker, s_start ) + elif ns_known_args.opt == "rsrc": + b_quit = rsrc_controller.menu() + else: print("Shouldn't see this command!") continue From fd9222f4033ee38db9c46eb1e87d9d9f08e067f0 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 18:35:53 +0100 Subject: [PATCH 22/35] add learn command to resources --- .../resources/rsrc_controller.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gamestonk_terminal/resources/rsrc_controller.py b/gamestonk_terminal/resources/rsrc_controller.py index 80131373d55..fecb39826e0 100644 --- a/gamestonk_terminal/resources/rsrc_controller.py +++ b/gamestonk_terminal/resources/rsrc_controller.py @@ -14,12 +14,7 @@ class ResourcesController: """Resources Controller class""" # Command choices - CHOICES = [ - "help", - "q", - "quit", - "hfletters", - ] + CHOICES = ["help", "q", "quit", "hfletters", "learn"] def __init__(self): """Constructor""" @@ -39,6 +34,7 @@ class ResourcesController: print(" quit quit to abandon program") print("") print(" hfletters hedge fund letters or reports") + print(" learn trading analysis, tips and resources") print("") def switch(self, an_input: str): @@ -53,6 +49,9 @@ class ResourcesController: """ (known_args, other_args) = self.rsrc_parser.parse_known_args(an_input.split()) + if other_args: + print(f"The following args were unexpected: {other_args}") + return getattr( self, "call_" + known_args.cmd, lambda: "Command not recognized!" )(other_args) @@ -71,11 +70,14 @@ class ResourcesController: def call_hfletters(self, other_args: List[str]): """Process hfletters command""" - if other_args: - print(f"The following args were unexpected: {other_args}") webbrowser.open(f"https://miltonfmr.com/hedge-fund-letters/") print("") + def call_learn(self, other_args: List[str]): + """Process learn command""" + webbrowser.open("https://moongangcapital.com/free-stock-market-resources/") + print("") + def menu(): """Resources Menu""" From 60552c4eee10674b6f52336cfae6ac9a11d4a997 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 20:51:19 +0100 Subject: [PATCH 23/35] Improve research controller --- gamestonk_terminal/research/res_controller.py | 235 ++++++++++++++++++ terminal.py | 4 +- 2 files changed, 237 insertions(+), 2 deletions(-) create mode 100644 gamestonk_terminal/research/res_controller.py diff --git a/gamestonk_terminal/research/res_controller.py b/gamestonk_terminal/research/res_controller.py new file mode 100644 index 00000000000..06b21d7307e --- /dev/null +++ b/gamestonk_terminal/research/res_controller.py @@ -0,0 +1,235 @@ +"""Research Controller Module""" +__docformat__ = "numpy" + +import argparse +import webbrowser +from typing import List +from datetime import datetime +import pandas as pd +from typing import List +from prompt_toolkit.completion import NestedCompleter +from gamestonk_terminal import feature_flags as gtff +from gamestonk_terminal.helper_funcs import get_flair +from gamestonk_terminal.menu import session + + +class ResearchController: + """Research Controller class""" + + # Command choices + CHOICES = [ + "help", + "q", + "quit", + "macroaxis", + "yahoo", + "finviz", + "marketwatch", + "fool", + "businessinsider", + "fmp", + "fidelity", + "tradingview", + "marketchameleon", + "stockrow", + "barchart", + "grufity", + "fintel", + "zacks", + "macrotrends", + "newsfilter", + "stockanalysis", + ] + + def __init__(self, ticker: str, start: datetime, interval: str): + """Constructor""" + self.ticker = ticker + self.start = start + self.interval = interval + self.res_parser = argparse.ArgumentParser(add_help=False, prog="res") + self.res_parser.add_argument( + "cmd", + choices=self.CHOICES, + ) + + @staticmethod + def print_help(self): + """Print help""" + + s_intraday = (f"Intraday {self.interval}", "Daily")[self.interval == "1440min"] + + if self.start: + print( + f"\n{s_intraday} Stock: {self.ticker} (from {self.start.strftime('%Y-%m-%d')})" + ) + else: + print(f"\n{s_intraday} Stock: {self.ticker}") + + print("\nResearch:") + print(" help show this behavioural analysis menu again") + print(" q quit this menu, and shows back to main menu") + print(" quit quit to abandon program") + print("") + print(" macroaxis www.macroaxis.com") + print(" yahoo www.finance.yahoo.com") + print(" finviz www.finviz.com") + print(" marketwatch www.marketwatch.com") + print(" fool www.fool.com") + print(" businessinsider www.markets.businessinsider.com") + print(" fmp www.financialmodelingprep.com") + print(" fidelity www.eresearch.fidelity.com") + print(" tradingview www.tradingview.com") + print(" marketchameleon www.marketchameleon.com") + print(" stockrow www.stockrow.com") + print(" barchart www.barchart.com") + print(" grufity www.grufity.com") + print(" fintel www.fintel.com") + print(" zacks www.zacks.com") + print(" macrotrends www.macrotrends.net") + print(" newsfilter www.newsfilter.io") + print(" stockanalysis www.stockanalysis.com") + + def switch(self, an_input: str): + """Process and dispatch input + + Returns + ------- + True, False or None + False - quit the menu + True - quit the program + None - continue in the menu + """ + (known_args, other_args) = self.res_parser.parse_known_args(an_input.split()) + + if other_args: + print(f"The following args were unexpected: {other_args}") + + return getattr( + self, "call_" + known_args.cmd, lambda: "Command not recognized!" + )(None) + + def call_help(self, _): + """Process Help command""" + self.print_help(self) + + def call_q(self, _): + """Process Q command - quit the menu""" + return False + + def call_quit(self, _): + """Process Quit command - quit the program""" + return True + + def call_macroaxis(self, _): + """Process macroaxis command""" + webbrowser.open(f"https://www.macroaxis.com/invest/market/{self.ticker}") + + def call_yahoo(self, _): + """Process yahoo command""" + webbrowser.open(f"https://finance.yahoo.com/quote/{self.ticker}") + + def call_finviz(self, _): + """Process finviz command""" + webbrowser.open(f"https://finviz.com/quote.ashx?t={self.ticker}") + + def call_marketwatch(self, _): + """Process marketwatch command""" + webbrowser.open(f"https://www.marketwatch.com/investing/stock/{self.ticker}") + + def call_fool(self, _): + """Process fool command""" + webbrowser.open(f"https://www.fool.com/quote/{self.ticker}") + + def call_businessinsider(self, _): + """Process businessinsider command""" + webbrowser.open( + f"https://markets.businessinsider.com/stocks/{self.ticker}-stock/" + ) + + def call_fmp(self, _): + """Process fmp command""" + webbrowser.open( + f"https://financialmodelingprep.com/financial-summary/{self.ticker}" + ) + + def call_fidelity(self, _): + """Process fidelity command""" + webbrowser.open( + f"https://eresearch.fidelity.com/eresearch/goto/evaluate/snapshot.jhtml?symbols={self.ticker}" + ) + + def call_tradingview(self, _): + """Process tradingview command""" + webbrowser.open(f"https://www.tradingview.com/symbols/{self.ticker}") + + def call_marketchameleon(self, _): + """Process marketchameleon command""" + webbrowser.open(f"https://marketchameleon.com/Overview/{self.ticker}") + + def call_stockrow(self, _): + """Process stockrow command""" + webbrowser.open(f"https://stockrow.com/{self.ticker}") + + def call_barchart(self, _): + """Process barchart command""" + webbrowser.open( + f"https://www.barchart.com/stocks/quotes/{self.ticker}/overview" + ) + + def call_grufity(self, _): + """Process grufity command""" + webbrowser.open(f"https://grufity.com/stock/{self.ticker}") + + def call_fintel(self, _): + """Process fintel command""" + webbrowser.open(f"https://fintel.io/s/us/{self.ticker}") + + def call_zacks(self, _): + """Process zacks command""" + webbrowser.open(f"https://www.zacks.com/stock/quote/{self.ticker}") + + def call_macrotrends(self, _): + """Process macrotrends command""" + webbrowser.open( + f"https://www.macrotrends.net/stocks/charts/{self.ticker}/{self.ticker}/market-cap" + ) + + def call_newsfilter(self, _): + """Process newsfilter command""" + webbrowser.open(f"https://newsfilter.io/search?query={self.ticker}") + + def call_stockanalysis(self, _): + """Process stockanalysis command""" + webbrowser.open(f"https://stockanalysis.com/stocks/{self.ticker}/") + + +def menu(ticker: str, start: datetime, interval: str): + """Research Menu""" + + res_controller = ResearchController(ticker, start, interval) + res_controller.call_help(None) + print("") + + while True: + # Get input command from user + if session and gtff.USE_PROMPT_TOOLKIT: + completer = NestedCompleter.from_nested_dict( + {c: None for c in res_controller.CHOICES} + ) + an_input = session.prompt( + f"{get_flair()} (res)> ", + completer=completer, + ) + else: + an_input = input(f"{get_flair()} (res)> ") + + try: + process_input = res_controller.switch(an_input) + print("") + + if process_input is not None: + return process_input + + except SystemExit: + print("The command selected doesn't exist\n") + continue diff --git a/terminal.py b/terminal.py index 001aa8c95a0..875a9ea1b11 100644 --- a/terminal.py +++ b/terminal.py @@ -13,7 +13,6 @@ from prompt_toolkit.completion import NestedCompleter from gamestonk_terminal import config_terminal as cfg from gamestonk_terminal import feature_flags as gtff from gamestonk_terminal import thought_of_the_day as thought -from gamestonk_terminal import res_menu as rm from gamestonk_terminal.discovery import disc_controller from gamestonk_terminal.due_diligence import dd_controller from gamestonk_terminal.fundamental_analysis import fa_controller @@ -43,6 +42,7 @@ from gamestonk_terminal.portfolio_optimization import po_controller from gamestonk_terminal.forex import fx_controller from gamestonk_terminal.backtesting import bt_controller from gamestonk_terminal.resources import rsrc_controller +from gamestonk_terminal.research import res_controller # pylint: disable=too-many-statements,too-many-branches @@ -221,7 +221,7 @@ def main(): ) elif ns_known_args.opt == "res": - b_quit = rm.res_menu( + b_quit = res_controller.menu( s_ticker.split(".")[0] if "." in s_ticker else s_ticker, s_start, s_interval, From 26f55afef4cde30b4475e5cb1031839ba8023d87 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 20:52:27 +0100 Subject: [PATCH 24/35] Remove old research menu --- gamestonk_terminal/res_menu.py | 180 --------------------------------- 1 file changed, 180 deletions(-) delete mode 100644 gamestonk_terminal/res_menu.py diff --git a/gamestonk_terminal/res_menu.py b/gamestonk_terminal/res_menu.py deleted file mode 100644 index 3815cebbc8e..00000000000 --- a/gamestonk_terminal/res_menu.py +++ /dev/null @@ -1,180 +0,0 @@ -import argparse -import webbrowser - - -def print_research(s_ticker, s_start, s_interval): - """Print help""" - - s_intraday = (f"Intraday {s_interval}", "Daily")[s_interval == "1440min"] - - if s_start: - print(f"\n{s_intraday} Stock: {s_ticker} (from {s_start.strftime('%Y-%m-%d')})") - else: - print(f"\n{s_intraday} Stock: {s_ticker}") - - print("\nResearch Mode:") - print(" help show this research menu again") - print(" q quit this menu, and shows back to main menu") - print(" quit quit to abandon program") - print("") - print(" macroaxis www.macroaxis.com") - print(" yahoo www.finance.yahoo.com") - print(" finviz www.finviz.com") - print(" marketwatch www.marketwatch.com") - print(" fool www.fool.com") - print(" businessinsider www.markets.businessinsider.com") - print(" fmp www.financialmodelingprep.com") - print(" fidelity www.eresearch.fidelity.com") - print(" tradingview www.tradingview.com") - print(" marketchameleon www.marketchameleon.com") - print(" stockrow www.stockrow.com") - print(" barchart www.barchart.com") - print(" grufity www.grufity.com") - print(" fintel www.fintel.com") - print(" zacks www.zacks.com") - print(" macrotrends www.macrotrends.net") - print(" newsfilter www.newsfilter.io") - print(" stockanalysis www.stockanalysis.com") - print("") - print(" resources trading analysis, tips and research") - print("") - - -# pylint: disable=too-many-branches -def res_menu(s_ticker, s_start, s_interval): - # Add list of arguments that the research parser accepts - res_parser = argparse.ArgumentParser(add_help=False, prog="discovery") - res_parser.add_argument( - "cmd", - choices=[ - "help", - "q", - "quit", - "macroaxis", - "yahoo", - "finviz", - "marketwatch", - "fool", - "businessinsider", - "fmp", - "fidelity", - "tradingview", - "marketchameleon", - "stockrow", - "barchart", - "grufity", - "fintel", - "zacks", - "macrotrends", - "newsfilter", - "resources", - "stockanalysis", - ], - ) - - print_research(s_ticker, s_start, s_interval) - - # Loop forever and ever - while True: - # Get input command from user - as_input = input("> ") - - # Parse fundamental analysis command of the list of possible commands - try: - (ns_known_args, _) = res_parser.parse_known_args(as_input.split()) - except SystemExit: - print("The command selected doesn't exist\n") - continue - - try: - if ns_known_args.cmd == "help": - print_research(s_ticker, s_start, s_interval) - - elif ns_known_args.cmd == "q": - # Just leave the RES menu - return False - - elif ns_known_args.cmd == "quit": - # Abandon the program - return True - - elif ns_known_args.cmd == "macroaxis": - webbrowser.open(f"https://www.macroaxis.com/invest/market/{s_ticker}") - - elif ns_known_args.cmd == "yahoo": - webbrowser.open(f"https://finance.yahoo.com/quote/{s_ticker}") - - elif ns_known_args.cmd == "finviz": - webbrowser.open(f"https://finviz.com/quote.ashx?t={s_ticker}") - - elif ns_known_args.cmd == "marketwatch": - webbrowser.open( - f"https://www.marketwatch.com/investing/stock/{s_ticker}" - ) - - elif ns_known_args.cmd == "fool": - webbrowser.open(f"https://www.fool.com/quote/{s_ticker}") - - elif ns_known_args.cmd == "businessinsider": - webbrowser.open( - f"https://markets.businessinsider.com/stocks/{s_ticker}-stock/" - ) - - elif ns_known_args.cmd == "fmp": - webbrowser.open( - f"https://financialmodelingprep.com/financial-summary/{s_ticker}" - ) - - elif ns_known_args.cmd == "fidelity": - webbrowser.open( - f"https://eresearch.fidelity.com/eresearch/goto/evaluate/snapshot.jhtml?symbols={s_ticker}" - ) - - elif ns_known_args.cmd == "tradingview": - webbrowser.open(f"https://www.tradingview.com/symbols/{s_ticker}") - - elif ns_known_args.cmd == "marketchameleon": - webbrowser.open(f"https://marketchameleon.com/Overview/{s_ticker}") - - elif ns_known_args.cmd == "stockrow": - webbrowser.open(f"https://stockrow.com/{s_ticker}") - - elif ns_known_args.cmd == "barchart": - webbrowser.open( - f"https://www.barchart.com/stocks/quotes/{s_ticker}/overview" - ) - - elif ns_known_args.cmd == "grufity": - webbrowser.open(f"https://grufity.com/stock/{s_ticker}") - - elif ns_known_args.cmd == "fintel": - webbrowser.open(f"https://fintel.io/s/us/{s_ticker}") - - elif ns_known_args.cmd == "zacks": - webbrowser.open(f"https://www.zacks.com/stock/quote/{s_ticker}") - - elif ns_known_args.cmd == "macrotrends": - webbrowser.open( - f"https://www.macrotrends.net/stocks/charts/{s_ticker}/{s_ticker}/market-cap" - ) - - elif ns_known_args.cmd == "newsfilter": - webbrowser.open(f"https://newsfilter.io/search?query={s_ticker}") - - elif ns_known_args.cmd == "stockanalysis": - webbrowser.open(f"https://stockanalysis.com/stocks/{s_ticker}") - - elif ns_known_args.cmd == "resources": - # webbrowser.open(f"https://www.tradinganalysisresources.com/2020/05/free-references-and-resources.html") - webbrowser.open( - "https://moongangcapital.com/free-stock-market-resources/" - ) - - else: - print("Command not recognized!") - - print("") - - except SystemExit: - print("") - return False From 37365ae9264f37f173d8960bc14e6124cbc687c6 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 21:00:09 +0100 Subject: [PATCH 25/35] Improve some bits here and there --- gamestonk_terminal/main_helper.py | 4 +- .../resource_collection/rc_controller.py | 109 ++++++++++++++++++ terminal.py | 8 +- 3 files changed, 115 insertions(+), 6 deletions(-) create mode 100644 gamestonk_terminal/resource_collection/rc_controller.py diff --git a/gamestonk_terminal/main_helper.py b/gamestonk_terminal/main_helper.py index aff4c88a3b7..824e14918b2 100644 --- a/gamestonk_terminal/main_helper.py +++ b/gamestonk_terminal/main_helper.py @@ -64,7 +64,7 @@ def print_help(s_ticker, s_start, s_interval, b_is_market_open): " > po portfolio optimization, \t optimal portfolio weights from pyportfolioopt" ) print(" > fx forex menu, \t\t\t forex support through Oanda") - print(" > rsrc resources menu, \t\t e.g. hf letters") + print(" > rc resource collection, \t\t e.g. hf letters") if s_ticker: print( @@ -98,7 +98,7 @@ def print_help(s_ticker, s_start, s_interval, b_is_market_open): " > ra residuals analysis, \t e.g.: model fit, qqplot, hypothesis test" ) print( - " > op options info, \t e.g.: volume and open interest" + " > op options info , \t e.g.: volume and open interest" ) print("") diff --git a/gamestonk_terminal/resource_collection/rc_controller.py b/gamestonk_terminal/resource_collection/rc_controller.py new file mode 100644 index 00000000000..0a3c5b4d6d8 --- /dev/null +++ b/gamestonk_terminal/resource_collection/rc_controller.py @@ -0,0 +1,109 @@ +"""Resource Collection Controller Module""" +__docformat__ = "numpy" + +import argparse +import webbrowser +from typing import List +from prompt_toolkit.completion import NestedCompleter +from gamestonk_terminal import feature_flags as gtff +from gamestonk_terminal.helper_funcs import get_flair +from gamestonk_terminal.menu import session + + +class ResourceCollectionController: + """Resources Controller class""" + + # Command choices + CHOICES = ["help", "q", "quit", "hfletters", "learn"] + + def __init__(self): + """Constructor""" + self.rc_parser = argparse.ArgumentParser(add_help=False, prog="rc") + self.rc_parser.add_argument( + "cmd", + choices=self.CHOICES, + ) + + @staticmethod + def print_help(): + """Print help""" + + print("\nResources:") + print(" help show this behavioural analysis menu again") + print(" q quit this menu, and shows back to main menu") + print(" quit quit to abandon program") + print("") + print(" hfletters hedge fund letters or reports") + print(" learn trading analysis, tips and resources") + print("") + + def switch(self, an_input: str): + """Process and dispatch input + + Returns + ------- + True, False or None + False - quit the menu + True - quit the program + None - continue in the menu + """ + (known_args, other_args) = self.rc_parser.parse_known_args(an_input.split()) + + if other_args: + print(f"The following args were unexpected: {other_args}") + + return getattr( + self, "call_" + known_args.cmd, lambda: "Command not recognized!" + )(other_args) + + def call_help(self, _): + """Process Help command""" + self.print_help() + + def call_q(self, _): + """Process Q command - quit the menu""" + return False + + def call_quit(self, _): + """Process Quit command - quit the program""" + return True + + def call_hfletters(self, other_args: List[str]): + """Process hfletters command""" + webbrowser.open(f"https://miltonfmr.com/hedge-fund-letters/") + print("") + + def call_learn(self, other_args: List[str]): + """Process learn command""" + webbrowser.open("https://moongangcapital.com/free-stock-market-resources/") + print("") + + +def menu(): + """Resource Collection Menu""" + + rc_controller = ResourceCollectionController() + rc_controller.call_help(None) + + while True: + # Get input command from user + if session and gtff.USE_PROMPT_TOOLKIT: + completer = NestedCompleter.from_nested_dict( + {c: None for c in rc_controller.CHOICES} + ) + an_input = session.prompt( + f"{get_flair()} (rc)> ", + completer=completer, + ) + else: + an_input = input(f"{get_flair()} (rc)> ") + + try: + process_input = rc_controller.switch(an_input) + + if process_input is not None: + return process_input + + except SystemExit: + print("The command selected doesn't exist\n") + continue diff --git a/terminal.py b/terminal.py index 875a9ea1b11..69e6e6f5919 100644 --- a/terminal.py +++ b/terminal.py @@ -41,7 +41,7 @@ from gamestonk_terminal.screener import screener_controller from gamestonk_terminal.portfolio_optimization import po_controller from gamestonk_terminal.forex import fx_controller from gamestonk_terminal.backtesting import bt_controller -from gamestonk_terminal.resources import rsrc_controller +from gamestonk_terminal.resource_collection import rc_controller from gamestonk_terminal.research import res_controller @@ -98,7 +98,7 @@ def main(): "ra", "po", "fx", - "rsrc", + "rc", ] menu_parser.add_argument("opt", choices=choices) @@ -375,8 +375,8 @@ def main(): s_ticker.split(".")[0] if "." in s_ticker else s_ticker, s_start ) - elif ns_known_args.opt == "rsrc": - b_quit = rsrc_controller.menu() + elif ns_known_args.opt == "rc": + b_quit = rc_controller.menu() else: print("Shouldn't see this command!") From e5a1c229760841bb72c3382dd5681edbb89246a7 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 21:01:17 +0100 Subject: [PATCH 26/35] Remove old resource collection controller --- .../backtesting/bt_controller.py | 2 +- .../resources/rsrc_controller.py | 109 ------------------ 2 files changed, 1 insertion(+), 110 deletions(-) delete mode 100644 gamestonk_terminal/resources/rsrc_controller.py diff --git a/gamestonk_terminal/backtesting/bt_controller.py b/gamestonk_terminal/backtesting/bt_controller.py index efeaefd6226..a4f05589987 100644 --- a/gamestonk_terminal/backtesting/bt_controller.py +++ b/gamestonk_terminal/backtesting/bt_controller.py @@ -43,7 +43,7 @@ class BacktestingController: def print_help(self): """Print help""" - print("Back Testing Menu\n") + print("\nBacktesting:") print(" help show this backtesting menu again") print(" q quit this menu, and shows back to main menu") print(" quit quit to abandon program") diff --git a/gamestonk_terminal/resources/rsrc_controller.py b/gamestonk_terminal/resources/rsrc_controller.py deleted file mode 100644 index fecb39826e0..00000000000 --- a/gamestonk_terminal/resources/rsrc_controller.py +++ /dev/null @@ -1,109 +0,0 @@ -"""Resources Controller Module""" -__docformat__ = "numpy" - -import argparse -import webbrowser -from typing import List -from prompt_toolkit.completion import NestedCompleter -from gamestonk_terminal import feature_flags as gtff -from gamestonk_terminal.helper_funcs import get_flair -from gamestonk_terminal.menu import session - - -class ResourcesController: - """Resources Controller class""" - - # Command choices - CHOICES = ["help", "q", "quit", "hfletters", "learn"] - - def __init__(self): - """Constructor""" - self.rsrc_parser = argparse.ArgumentParser(add_help=False, prog="rsrc") - self.rsrc_parser.add_argument( - "cmd", - choices=self.CHOICES, - ) - - @staticmethod - def print_help(): - """Print help""" - - print("\nResources:") - print(" help show this behavioural analysis menu again") - print(" q quit this menu, and shows back to main menu") - print(" quit quit to abandon program") - print("") - print(" hfletters hedge fund letters or reports") - print(" learn trading analysis, tips and resources") - print("") - - def switch(self, an_input: str): - """Process and dispatch input - - Returns - ------- - True, False or None - False - quit the menu - True - quit the program - None - continue in the menu - """ - (known_args, other_args) = self.rsrc_parser.parse_known_args(an_input.split()) - - if other_args: - print(f"The following args were unexpected: {other_args}") - - return getattr( - self, "call_" + known_args.cmd, lambda: "Command not recognized!" - )(other_args) - - def call_help(self, _): - """Process Help command""" - self.print_help() - - def call_q(self, _): - """Process Q command - quit the menu""" - return False - - def call_quit(self, _): - """Process Quit command - quit the program""" - return True - - def call_hfletters(self, other_args: List[str]): - """Process hfletters command""" - webbrowser.open(f"https://miltonfmr.com/hedge-fund-letters/") - print("") - - def call_learn(self, other_args: List[str]): - """Process learn command""" - webbrowser.open("https://moongangcapital.com/free-stock-market-resources/") - print("") - - -def menu(): - """Resources Menu""" - - rsrc_controller = ResourcesController() - rsrc_controller.call_help(None) - - while True: - # Get input command from user - if session and gtff.USE_PROMPT_TOOLKIT: - completer = NestedCompleter.from_nested_dict( - {c: None for c in rsrc_controller.CHOICES} - ) - an_input = session.prompt( - f"{get_flair()} (rsrc)> ", - completer=completer, - ) - else: - an_input = input(f"{get_flair()} (rsrc)> ") - - try: - process_input = rsrc_controller.switch(an_input) - - if process_input is not None: - return process_input - - except SystemExit: - print("The command selected doesn't exist\n") - continue From b66965d9dfb422dcdfc8744f497faf98927224df Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 21:03:06 +0100 Subject: [PATCH 27/35] fix flake8 --- gamestonk_terminal/resource_collection/rc_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamestonk_terminal/resource_collection/rc_controller.py b/gamestonk_terminal/resource_collection/rc_controller.py index 0a3c5b4d6d8..4ba30e38107 100644 --- a/gamestonk_terminal/resource_collection/rc_controller.py +++ b/gamestonk_terminal/resource_collection/rc_controller.py @@ -70,7 +70,7 @@ class ResourceCollectionController: def call_hfletters(self, other_args: List[str]): """Process hfletters command""" - webbrowser.open(f"https://miltonfmr.com/hedge-fund-letters/") + webbrowser.open("https://miltonfmr.com/hedge-fund-letters/") print("") def call_learn(self, other_args: List[str]): From 0a5d5510d6d05b49e2aff195b7bdbfce67dcd7ad Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 1 May 2021 21:06:09 +0100 Subject: [PATCH 28/35] flake8 complaints --- gamestonk_terminal/research/res_controller.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/gamestonk_terminal/research/res_controller.py b/gamestonk_terminal/research/res_controller.py index 06b21d7307e..a5f2bf68346 100644 --- a/gamestonk_terminal/research/res_controller.py +++ b/gamestonk_terminal/research/res_controller.py @@ -3,10 +3,7 @@ __docformat__ = "numpy" import argparse import webbrowser -from typing import List from datetime import datetime -import pandas as pd -from typing import List from prompt_toolkit.completion import NestedCompleter from gamestonk_terminal import feature_flags as gtff from gamestonk_terminal.helper_funcs import get_flair From 643912f389d5c4967d0436f3582786159503fda4 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 21:16:40 +0100 Subject: [PATCH 29/35] Create README.md --- .../resource_collection/README.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 gamestonk_terminal/resource_collection/README.md diff --git a/gamestonk_terminal/resource_collection/README.md b/gamestonk_terminal/resource_collection/README.md new file mode 100644 index 00000000000..80a2ba94580 --- /dev/null +++ b/gamestonk_terminal/resource_collection/README.md @@ -0,0 +1,28 @@ +# RESOURCE COLLECTION + +This menu aims to store a collection of useful resources that can't be scraped, or extracted in a "useful" manner, and the usage of the following commands along with an example will be exploited below. + +* [hfletters](#hfletters) + * hedge fund letters or reports +* [learn](#learn) + * trading analysis, tips and resources + + +## hfletters + +```text +usage: hfletters +``` + +Captura de ecrã 2021-05-01, às 21 13 22 +Captura de ecrã 2021-05-01, às 21 14 08 + + +## learn + +```text +usage: learn +``` + +Captura de ecrã 2021-05-01, às 21 16 07 + From 3bf28b26cf54f9990314330a43d89c4bf9e0e635 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 21:21:06 +0100 Subject: [PATCH 30/35] Update README.md --- gamestonk_terminal/README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/gamestonk_terminal/README.md b/gamestonk_terminal/README.md index 498881d5a53..110e6e60f37 100644 --- a/gamestonk_terminal/README.md +++ b/gamestonk_terminal/README.md @@ -3,7 +3,7 @@ ### Table of contents * [Discover Stocks](#Discover-Stocks-) * [Behavioural Analysis](#Behavioural-Analysis-) -* [Research Web pages](#Research-Web-pages) +* [Research](#Research) * [Fundamental Analysis](#Fundamental-Analysis-) * [Technical Analysis](#Technical-Analysis-) * [Due Diligence](#Due-Diligence-) @@ -19,6 +19,7 @@ * [Screener](#Screener-) * [Forex](#Forex-) * [Backtesting](#Backtesting-) +* [Resource Collection](#Resource-Collection-) ## Main @@ -116,7 +117,7 @@ Command|Description   -## Research Web pages +## Research [»](research/README.md) Command|Website ----|---- `macroaxis` |www.macroaxis.com @@ -137,11 +138,10 @@ Command|Website `macrotrends` |www.macrotrends.net `newsfilter` |www.newsfilter.io `stockanalysis` |www.stockanalysis.com -`resources` |www.tradinganalysisresources.com   -### Fundamental Analysis [»](fundamental_analysis/README.md) +## Fundamental Analysis [»](fundamental_analysis/README.md) Command|Description ----- | --------- @@ -399,3 +399,15 @@ Command|Description `ema` | buy when price exceeds EMA(l) `ema_cross` | buy when EMA(short) > EMA(long) `rsi` | buy when RSI < low and sell when RSI > high + + + +## Resource Collection [»](resource_collection/README.md) +Command|Website +----|---- +`hfletters` |https://miltonfmr.com/hedge-fund-letters/ +`learn` |https://moongangcapital.com/free-stock-market-resources/ + +  + + From d1b3a0f34868665e3b6f6fb75998cfdd863a4ca7 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 21:21:44 +0100 Subject: [PATCH 31/35] Update README.md --- gamestonk_terminal/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamestonk_terminal/README.md b/gamestonk_terminal/README.md index 110e6e60f37..5034728b90c 100644 --- a/gamestonk_terminal/README.md +++ b/gamestonk_terminal/README.md @@ -3,7 +3,7 @@ ### Table of contents * [Discover Stocks](#Discover-Stocks-) * [Behavioural Analysis](#Behavioural-Analysis-) -* [Research](#Research) +* [Research](#Research-) * [Fundamental Analysis](#Fundamental-Analysis-) * [Technical Analysis](#Technical-Analysis-) * [Due Diligence](#Due-Diligence-) From 71db7ca5b02fed8113b40ade65355cf474a89e89 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 21:28:06 +0100 Subject: [PATCH 32/35] Create README.md --- gamestonk_terminal/research/README.md | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 gamestonk_terminal/research/README.md diff --git a/gamestonk_terminal/research/README.md b/gamestonk_terminal/research/README.md new file mode 100644 index 00000000000..e32f91071cb --- /dev/null +++ b/gamestonk_terminal/research/README.md @@ -0,0 +1,28 @@ +# RESEARCH + +This menu aims to investigate a stock from a website of reference. The list of the supported websites is displayed below. + +
+ +Command|Website + ----|---- +`macroaxis` |www.macroaxis.com +`yahoo` |www.finance.yahoo.com +`finviz` |www.finviz.com +`marketwatch` |www.marketwatch.com +`fool` |www.fool.com +`businessinsider` |www.markets.businessinsider.com +`fmp` |www.financialmodelingprep.com +`fidelity` |www.eresearch.fidelity.com +`tradingview` |www.tradingview.com +`marketchameleon` |www.marketchameleon.com +`stockrow` |www.stockrow.com +`barchart` |www.barchart.com +`grufity` |www.grufity.com +`fintel` |www.fintel.com +`zacks` |www.zacks.com +`macrotrends` |www.macrotrends.net +`newsfilter` |www.newsfilter.io +`stockanalysis` |www.stockanalysis.com + +
From cd447ccfb66e6d602b4a7e2a1dea29033467993b Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 21:33:20 +0100 Subject: [PATCH 33/35] Update ROADMAP.md --- ROADMAP.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index 3127e8822a7..f872efde669 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -22,6 +22,7 @@ * [Screener](#Screener) * [Forex](#Forex) * [Backtesting](#Backtesting) +* [Resource Collection](#Resource-Collection) ## Additional @@ -222,6 +223,17 @@ ___ **NEXT** + +--- + +## Resource Collection +* [x] Add hfletters and learn commands to resource collection (@didier) - [PR #427](https://github.com/DidierRLopes/GamestonkTerminal/pull/427) + + +**NEXT** + +--- + ## Backtesting * [x] Add simple backtest menu with simple strategies and benchmarks (@jmaslek) [PR #415](https://github.com/DidierRLopes/GamestonkTerminal/pull/415) From 578d177b3263f7f7556b316e779fcbd68d5cdb33 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 22:12:08 +0100 Subject: [PATCH 34/35] Add files via upload --- images/gst_logo_rGreen.png | Bin 0 -> 146407 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/gst_logo_rGreen.png diff --git a/images/gst_logo_rGreen.png b/images/gst_logo_rGreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c33253803a1f05c1b5124bbcec41e4be36ce4128 GIT binary patch literal 146407 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Γ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²&$1`LA&+Ucjs|@pT5jH=^!ueUqESCsiywb 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%0DS-QuMKgH2HDGFN=V*BG+TCuj=NOxE~w13Z* z1wyCslY_Tnv_y&)kyZi88A^+*y%z**9@OQgrGKuqe0c0yy@-ua2)RdfDj6G&#fK(1 zo>}g$cKoR?AKl2@D&X6B2EXJ`&mY%1l46Ceb4!FFA6XHe8697j_8A#Yxn(x7ggX HVn+TKtzGux literal 0 HcmV?d00001 From 2fbe4771286f434c32fc7fb6fd03b87f8e218e3c Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Sat, 1 May 2021 22:12:30 +0100 Subject: [PATCH 35/35] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8762e803001..4e558e73cf5 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@

Gamestonk Terminal 🚀

- Logo + Logo