diff options
author | Eric Li <38477812+EricLi-Dev@users.noreply.github.com> | 2024-01-22 12:06:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-22 17:06:41 +0000 |
commit | 7f657d9867af3cdc48d6229192214ddef14a1342 (patch) | |
tree | 24aa4de43e89497185c7f6a8b46a92cfb91a847c | |
parent | 7fccc1546af6b0fe9c6b134a1249fa2602547643 (diff) |
Hotfix/th etfs (#5959)
* added etf trading hours
* black formatter
---------
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>
-rw-r--r-- | openbb_terminal/stocks/tradinghours/tradinghours_controller.py | 26 | ||||
-rw-r--r-- | openbb_terminal/stocks/tradinghours/tradinghours_helper.py | 8 |
2 files changed, 34 insertions, 0 deletions
diff --git a/openbb_terminal/stocks/tradinghours/tradinghours_controller.py b/openbb_terminal/stocks/tradinghours/tradinghours_controller.py index f893ffedca6..175eff06d28 100644 --- a/openbb_terminal/stocks/tradinghours/tradinghours_controller.py +++ b/openbb_terminal/stocks/tradinghours/tradinghours_controller.py @@ -25,6 +25,7 @@ from openbb_terminal.stocks.tradinghours.pandas_market_cal_view import ( from openbb_terminal.stocks.tradinghours.tradinghours_helper import ( get_exchanges_short_names, get_fd_equities_list, + get_fd_etfs_list, ) logger = logging.getLogger(__name__) @@ -46,6 +47,7 @@ class TradingHoursController(BaseController): super().__init__(queue) self.equities = get_fd_equities_list() + self.etfs = get_fd_etfs_list() self.equity_tickers = sorted(list(self.equities.keys())) short_names_df = get_exchanges_short_names() short_names_index = short_names_df.index.values @@ -71,6 +73,15 @@ class TradingHoursController(BaseController): self.symbol_market_open = True else: self.symbol_market_open = False + elif ticker in self.etfs.index: + self.symbol = ticker + self.symbol_name = self.etfs.loc[ticker]["name"] + self.exchange = self.etfs.loc[ticker]["exchange"] + open_ex = get_open() + if self.exchange in open_ex.index: + self.symbol_market_open = True + else: + self.symbol_market_open = False else: console.print(f"The ticker {ticker} was not found in the database.") @@ -132,6 +143,7 @@ class TradingHoursController(BaseController): ns_parser = self.parse_known_args_and_warn(parser, other_args) if ns_parser: self.symbol = ns_parser.symbol + if ns_parser.symbol in self.equities.index: self.symbol_name = self.equities.loc[self.symbol]["name"] self.exchange = self.equities.loc[self.symbol]["exchange"] @@ -146,6 +158,20 @@ class TradingHoursController(BaseController): f"Name: {self.symbol_name}\n" f"Market open: {self.symbol_market_open}\n" ) + elif ns_parser.symbol in self.etfs.index: + self.symbol_name = self.etfs.loc[self.symbol]["name"] + self.exchange = self.etfs.loc[self.symbol]["exchange"] + open_ex = get_open() + if self.exchange in open_ex.index: + self.symbol_market_open = True + else: + self.symbol_market_open = False + + console.print( + f"\nSelected symbol\nSymbol: {self.symbol}\n" + f"Name: {self.symbol_name}\n" + f"Market open: {self.symbol_market_open}\n" + ) else: console.print("[red]Symbol not found on database.[/red]\n") diff --git a/openbb_terminal/stocks/tradinghours/tradinghours_helper.py b/openbb_terminal/stocks/tradinghours/tradinghours_helper.py index 76b93774f1b..e141b02c8eb 100644 --- a/openbb_terminal/stocks/tradinghours/tradinghours_helper.py +++ b/openbb_terminal/stocks/tradinghours/tradinghours_helper.py @@ -18,6 +18,14 @@ def get_fd_equities_list() -> List: @log_start_end(log=logger) +def get_fd_etfs_list() -> List: + """Load FD list of etf symbols""" + etfs = fd.ETFs().select(exclude_exchanges=False) + + return etfs + + +@log_start_end(log=logger) def get_exchanges_short_names() -> List: """Load FD list of equity symbols.""" shorts = get_all_exchange_short_names() |