From aa53f4967f94c80898723c8679dec6706db3636f Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Sat, 18 Jun 2022 01:38:51 -0700 Subject: [PATCH] Adds Introduction Guide to Stock Screener (#1950) * Adds Introduction Guide to Stock Screener Adds Introduction Guide to Stock Screener * adds a demo routine for the Stock Screener * Improved Discovery Menu Demo Routine * Improves functionality of autocomplete by changing value field to use underscore instead of dash * black * spelling Co-authored-by: james --- openbb_terminal/economy/yfinance_model.py | 561 ++++++++++++------ routines/discovery_demo.openbb | 21 +- routines/stock_screener_demo.openbb | 47 ++ .../terminal/stocks/screener/_index.md | 46 +- 4 files changed, 501 insertions(+), 174 deletions(-) create mode 100644 routines/stock_screener_demo.openbb diff --git a/openbb_terminal/economy/yfinance_model.py b/openbb_terminal/economy/yfinance_model.py index d393ea2160f0..760bb18547f7 100644 --- a/openbb_terminal/economy/yfinance_model.py +++ b/openbb_terminal/economy/yfinance_model.py @@ -16,247 +16,470 @@ "sp400": {"name": "S&P 400 Mid Cap Index", "ticker": "^SP400"}, "sp600": {"name": "S&P 600 Small Cap Index", "ticker": "^SP600"}, "sp500tr": {"name": "S&P 500 TR Index", "ticker": "^SP500TR"}, - "sp-xsp": {"name": "S&P 500 Mini SPX Options Index", "ticker": "^XSP"}, - "nyse-ny": {"name": "NYSE US 100 Index", "ticker": "^NY"}, - "dow-djus": {"name": "Dow Jones US Index", "ticker": "^DJUS"}, + "sp_xsp": {"name": "S&P 500 Mini SPX Options Index", "ticker": "^XSP"}, + "nyse_ny": {"name": "NYSE US 100 Index", "ticker": "^NY"}, + "dow_djus": {"name": "Dow Jones US Index", "ticker": "^DJUS"}, "nyse": {"name": "NYSE Composite Index", "ticker": "^NYA"}, "amex": {"name": "NYSE-AMEX Composite Index", "ticker": "^XAX"}, "nasdaq": {"name": "Nasdaq Composite Index", "ticker": "^IXIC"}, + "nasdaq100": {"name": "NASDAQ 100", "ticker": "^NDX"}, + "nasdaq100_ew": {"name": "NASDAQ 100 Equal Weighted Index", "ticker": "^NDXE"}, + "nasdaq50": {"name": "NASDAQ Q50 Index", "ticker": "^NXTQ"}, "russell1000": {"name": "Russell 1000 Index", "ticker": "^RUI"}, "russell2000": {"name": "Russell 2000 Index", "ticker": "^RUT"}, - "cboe-bxr": {"name": "CBOE Russell 2000 Buy-Write Index", "ticker": "^BXR"}, - "cboe-bxrt": { + "cboe_bxr": {"name": "CBOE Russell 2000 Buy-Write Index", "ticker": "^BXR"}, + "cboe_bxrt": { "name": "CBOE Russell 2000 30-Delta Buy-Write Index", "ticker": "^BXRT", }, "russell3000": {"name": "Russell 3000 Index", "ticker": "^RUA"}, "russellvalue": {"name": "Russell 2000 Value Index", "ticker": "^RUJ"}, "russellgrowth": {"name": "Russell 2000 Growth Index", "ticker": "^RUO"}, - "dow-dja": {"name": "Dow Jones Composite Average Index", "ticker": "^DJA"}, - "dow-dji": {"name": "Dow Jones Industrial Average Index", "ticker": "^DJI"}, - "ca-tsx": {"name": "TSX Composite Index (CAD)", "ticker": "^GSPTSE"}, - "mx-ipc": {"name": "IPC Mexico Index (MXN)", "ticker": "^MXX"}, - "arca-mxy": {"name": "NYSE ARCA Mexico Index (USD)", "ticker": "^MXY"}, - "br-bvsp": {"name": "IBOVESPA Sao Paulo Brazil Index (BRL)", "ticker": "^BVSP"}, - "eu-fteu1": {"name": "FTSE Eurotop 100 Index (EUR)", "ticker": "^FTEU1"}, - "eu-speup": {"name": "S&P Europe 350 Index (EUR)", "ticker": "^SPEUP"}, - "eu-n100": {"name": "Euronext 100 Index (EUR)", "ticker": "^N100"}, + "w5000": {"name": "Wilshire 5000", "ticker": "^W5000"}, + "w5000flt": {"name": "Wilshire 5000 Float Adjusted Index", "ticker": "^W5000FLT"}, + "dow_dja": {"name": "Dow Jones Composite Average Index", "ticker": "^DJA"}, + "dow_dji": {"name": "Dow Jones Industrial Average Index", "ticker": "^DJI"}, + "ca_tsx": {"name": "TSX Composite Index (CAD)", "ticker": "^GSPTSE"}, + "mx_ipc": {"name": "IPC Mexico Index (MXN)", "ticker": "^MXX"}, + "arca_mxy": {"name": "NYSE ARCA Mexico Index (USD)", "ticker": "^MXY"}, + "br_bvsp": {"name": "IBOVESPA Sao Paulo Brazil Index (BRL)", "ticker": "^BVSP"}, + "eu_fteu1": {"name": "FTSE Eurotop 100 Index (EUR)", "ticker": "^FTEU1"}, + "eu_speup": {"name": "S&P Europe 350 Index (EUR)", "ticker": "^SPEUP"}, + "eu_n100": {"name": "Euronext 100 Index (EUR)", "ticker": "^N100"}, "ftse100": {"name": "FTSE Global 100 Index (GBP)", "ticker": "^FTSE"}, "ftse250": {"name": "FTSE Global 250 Index (GBP)", "ticker": "^FTMC"}, "ftse350": {"name": "FTSE Global 350 Index (GBP)", "ticker": "^FTLC"}, "ftai": {"name": "FTSE AIM All-Share Global Index (GBP)", "ticker": "^FTAI"}, - "uk-ftas": {"name": "UK FTSE All-Share Index (GBP)", "ticker": "^FTAS"}, - "uk-spuk": {"name": "S&P United Kingdom Index (PDS)", "ticker": "^SPUK"}, - "uk100": {"name": "CBOE UK 100 Index (GBP)", "ticker": "^BUK100P"}, - "ie-iseq": {"name": "ISEQ Irish All Shares Index (EUR)", "ticker": "^ISEQ"}, - "nl-aex": {"name": "Euronext Dutch 25 Index (EUR)", "ticker": "^AEX"}, - "nl-amx": {"name": "Euronext Dutch Mid Cap Index (EUR)", "ticker": "^AMX"}, - "at-atx": {"name": "Wiener Börse Austrian 20 Index (EUR)", "ticker": "^ATX"}, - "at-bat20p": { - "name": "CME Austria 20 Price Return Index (EUR)", - "ticker": "^BAT20P", - }, - "at-bat20n": { - "name": "CME Austria 20 Net Total Return Index (EUR)", - "ticker": "^BAT20N", - }, - "ch-stoxx": {"name": "Zurich STXE 600 PR Index (EUR)", "ticker": "^STOXX"}, - "ch-stoxx50e": {"name": "Zurich ESTX 50 PR Index (EUR)", "ticker": "^STOXX50E"}, - "ch-ssip": {"name": "Swiss All Shares Index (CHF)", "ticker": "SSIP.SW"}, - "ch-airlines": {"name": "STXE TM Airlines Index (EUR)", "ticker": "U0A.Z"}, - "omxn40": {"name": "OMX Nordic 40 (EUR)", "ticker": "^OMXN40"}, - "se-omx30": {"name": "OMX Stockholm 30 Index (SEK)", "ticker": "^OMX"}, - "se-omxspi": {"name": "OMX Stockholm All Share PI (SEK)", "ticker": "^OMXSPI"}, - "se-benchmark": {"name": "OMX Stockholm Benchmark GI (SEK)", "ticker": "^OMXSBGI"}, - "dk-benchmark": {"name": "OMX Copenhagen Benchamrk GI (DKK)", "ticker": "^OMXCBGI"}, - "dk-omxc25": {"name": "OMX Copenhagen 25 Index (DKK)", "ticker": "^OMXC25"}, - "fi-omxhbgi": {"name": "OMX Helsinki Benchmark GI (EUR)", "ticker": "^OMXHPI"}, - "fi-omxh25": {"name": "OMX Helsinki 25 (EUR)", "ticker": "^OMXH25"}, - "de-dax40": {"name": "DAX Performance Index (EUR)", "ticker": "^GDAXI"}, - "de-mdax60": {"name": "DAX Mid Cap Performance Index (EUR)", "ticker": "^MDAXI"}, - "de-sdax70": {"name": "DAX Small Cap Performance Index (EUR)", "ticker": "^SDAXI"}, - "de-tecdax30": {"name": "DAX Tech Sector TR Index (EUR)", "ticker": "^TECDAX"}, - "fr-cac40": {"name": "CAC 40 PR Index (EUR)", "ticker": "^FCHI"}, - "fr-next20": {"name": "CAC Next 20 Index (EUR)", "ticker": "^CN20"}, - "fr-sbf120": {"name": "Paris SBF 120 Index (EUR)", "ticker": "^SBF120"}, - "it-mib40": {"name": "FTSE MIB 40 Index (EUR)", "ticker": "FTSEMIB.MI"}, - "be-bel20": {"name": "BEL 20 Brussels Index (EUR)", "ticker": "^BFX"}, - "pt-bvlg": { + "uk_ftas": {"name": "UK FTSE All-Share Index (GBP)", "ticker": "^FTAS"}, + "uk_spuk": {"name": "S&P United Kingdom Index (PDS)", "ticker": "^SPUK"}, + "uk_100": {"name": "CBOE UK 100 Index (GBP)", "ticker": "^BUK100P"}, + "ie_iseq": {"name": "ISEQ Irish All Shares Index (EUR)", "ticker": "^ISEQ"}, + "nl_aex": {"name": "Euronext Dutch 25 Index (EUR)", "ticker": "^AEX"}, + "nl_amx": {"name": "Euronext Dutch Mid Cap Index (EUR)", "ticker": "^AMX"}, + "at_atx": {"name": "Wiener Börse Austrian 20 Index (EUR)", "ticker": "^ATX"}, + "ch_stoxx": {"name": "Zurich STXE 600 PR Index (EUR)", "ticker": "^STOXX"}, + "ch_stoxx50e": {"name": "Zurich ESTX 50 PR Index (EUR)", "ticker": "^STOXX50E"}, + "se_omx30": {"name": "OMX Stockholm 30 Index (SEK)", "ticker": "^OMX"}, + "se_omxspi": {"name": "OMX Stockholm All Share PI (SEK)", "ticker": "^OMXSPI"}, + "se_benchmark": {"name": "OMX Stockholm Benchmark GI (SEK)", "ticker": "^OMXSBGI"}, + "dk_benchmark": {"name": "OMX Copenhagen Benchamrk GI (DKK)", "ticker": "^OMXCBGI"}, + "dk_omxc25": {"name": "OMX Copenhagen 25 Index (DKK)", "ticker": "^OMXC25"}, + "fi_omxh25": {"name": "OMX Helsinki 25 (EUR)", "ticker": "^OMXH25"}, + "de_dax40": {"name": "DAX Performance Index (EUR)", "ticker": "^GDAXI"}, + "de_mdax60": {"name": "DAX Mid Cap Performance Index (EUR)", "ticker": "^MDAXI"}, + "de_sdax70": {"name": "DAX Small Cap Performance Index (EUR)", "ticker": "^SDAXI"}, + "de_tecdax30": {"name": "DAX Tech Sector TR Index (EUR)", "ticker": "^TECDAX"}, + "fr_cac40": {"name": "CAC 40 PR Index (EUR)", "ticker": "^FCHI"}, + "fr_next20": {"name": "CAC Next 20 Index (EUR)", "ticker": "^CN20"}, + "it_mib40": {"name": "FTSE MIB 40 Index (EUR)", "ticker": "FTSEMIB.MI"}, + "be_bel20": {"name": "BEL 20 Brussels Index (EUR)", "ticker": "^BFX"}, + "pt_bvlg": { "name": "Lisbon PSI All-Share Index GR (EUR)", "ticker": "^BVLG", }, - "es-ibex35": {"name": "IBEX 35 - Madrid CATS (EUR)", "ticker": "^IBEX"}, - "in-bse": {"name": "S&P Bombay SENSEX (INR)", "ticker": "^BSESN"}, - "in-bse-mcap": { + "es_ibex35": {"name": "IBEX 35 - Madrid CATS (EUR)", "ticker": "^IBEX"}, + "in_bse": {"name": "S&P Bombay SENSEX (INR)", "ticker": "^BSESN"}, + "in_bse_mcap": { "name": "S&P Bombay Mid Cap Index (INR)", "ticker": "BSE-MIDCAP.BO", }, - "in-bse-scap": { + "in_bse_scap": { "name": "S&P Bombay Small Cap Index (INR)", "ticker": "BSE-SMLCAP.BO", }, - "in-nse50": {"name": "NSE Nifty 50 Index (INR)", "ticker": "^NSEI"}, - "in-nse-mcap": {"name": "NSE Nifty 50 Mid Cap Index (INR)", "ticker": "^NSEMDCP50"}, - "in-nse-bank": { + "in_nse50": {"name": "NSE Nifty 50 Index (INR)", "ticker": "^NSEI"}, + "in_nse_mcap": {"name": "NSE Nifty 50 Mid Cap Index (INR)", "ticker": "^NSEMDCP50"}, + "in_nse_bank": { "name": "NSE Nifty Bank Industry Index (INR)", "ticker": "^NSEBANK", }, - "in-nse500": {"name": "NSE Nifty 500 Index (INR)", "ticker": "^CRSLDX"}, - "il-ta125": {"name": "Tel-Aviv 125 Index (ILS)", "ticker": "^TA125.TA"}, - "za-shariah": { + "in_nse500": {"name": "NSE Nifty 500 Index (INR)", "ticker": "^CRSLDX"}, + "il_ta125": {"name": "Tel-Aviv 125 Index (ILS)", "ticker": "^TA125.TA"}, + "za_shariah": { "name": "Johannesburg Shariah All Share Index (ZAR)", "ticker": "^J143.JO", }, - "za-jo": {"name": "Johannesburg All Share Index (ZAR)", "ticker": "^J203.JO"}, - "za-jo-mcap": { + "za_jo": {"name": "Johannesburg All Share Index (ZAR)", "ticker": "^J203.JO"}, + "za_jo_mcap": { "name": "Johannesburg Large and Mid Cap Index (ZAR)", - "ticker": "^JO206.JO", + "ticker": "^J206.JO", }, - "za-jo-altex": { + "za_jo_altex": { "name": "Johannesburg Alt Exchange Index (ZAR)", - "ticker": "^J232.JP", + "ticker": "^J232.JO", }, - "ru-moex": {"name": "MOEX Russia Index (RUB)", "ticker": "IMOEX.ME"}, - "au-asx200": {"name": "S&P/ASX 200 Index (AUD)", "ticker": "^AXJO"}, - "au-aord": {"name": "Australia All Ordinary Share Index (AUD)", "ticker": "^AORD"}, + "ru_moex": {"name": "MOEX Russia Index (RUB)", "ticker": "IMOEX.ME"}, + "au_asx200": {"name": "S&P/ASX 200 Index (AUD)", "ticker": "^AXJO"}, + "au_aord": {"name": "Australia All Ordinary Share Index (AUD)", "ticker": "^AORD"}, "nz50": {"name": "S&P New Zealand 50 Index (NZD)", "ticker": "^nz50"}, - "kr-kospi": {"name": "KOSPI Composite Index (KRW)", "ticker": "^KS11"}, - "jp-arca": {"name": "NYSE ARCA Japan Index (JPY)", "ticker": "^JPN"}, - "jp-n225": {"name": "Nikkei 255 Index (JPY)", "ticker": "^N225"}, - "jp-n300": {"name": "Nikkei 300 Index (JPY)", "ticker": "^N300"}, - "jp-nknr": {"name": "Nikkei Avg Net TR Index (JPY)", "ticker": "^NKVI.OS"}, - "jp-nkrc": {"name": "Nikkei Avg Risk Control Index (JPY)", "ticker": "^NKRC.OS"}, - "jp-nklv": {"name": "Nikkei Avg Leverage Index (JPY)", "ticker": "^NKLV.OS"}, - "jp-nkcc": {"name": "Nikkei Avg Covered Call Index (JPY)", "ticker": "^NKCC.OS"}, - "jp-nkhd": { + "kr_kospi": {"name": "KOSPI Composite Index (KRW)", "ticker": "^KS11"}, + "jp_arca": {"name": "NYSE ARCA Japan Index (JPY)", "ticker": "^JPN"}, + "jp_n225": {"name": "Nikkei 255 Index (JPY)", "ticker": "^N225"}, + "jp_n300": {"name": "Nikkei 300 Index (JPY)", "ticker": "^N300"}, + "jp_nknr": {"name": "Nikkei Avg Net TR Index (JPY)", "ticker": "^NKVI.OS"}, + "jp_nkrc": {"name": "Nikkei Avg Risk Control Index (JPY)", "ticker": "^NKRC.OS"}, + "jp_nklv": {"name": "Nikkei Avg Leverage Index (JPY)", "ticker": "^NKLV.OS"}, + "jp_nkcc": {"name": "Nikkei Avg Covered Call Index (JPY)", "ticker": "^NKCC.OS"}, + "jp_nkhd": { "name": "Nikkei Avg High Dividend Yield Index (JPY)", "ticker": "^NKHD.OS", }, - "jp-auto": { + "jp_auto": { "name": "Nikkei 500 Auto & Auto Parts Index (JPY)", "ticker": "^NG17.OS", }, - "jp-fintech": { + "jp_fintech": { "name": "Global Fintech Japan Hedged Index (JPY)", "ticker": "^FDSFTPRJPY", }, - "jp-nkdh": {"name": "Nikkei Average USD Hedge Index (JPY)", "ticker": "^NKDH.OS"}, - "jp-nkeh": {"name": "Nikkei Average EUR Hedghe Index (JPY)", "ticker": "^NKEH.OS"}, - "cn-sse-comp": {"name": "SSE Composite Index (CNY)", "ticker": "000001.SS"}, - "cn-sse-a": {"name": "SSE A Share Index (CNY)", "ticker": "000002.SS"}, - "cn-szse-comp": {"name": "SZSE Component Index (CNY)", "ticker": "399001.SZ"}, - "cn-szse-a": {"name": "SZSE A-Shares Index (CNY)", "ticker": "399107.SZ"}, - "tw-twii": {"name": "TSEC Weighted Index (TWD)", "ticker": "^TWII"}, - "tw-tpai": {"name": "TSEC Paper and Pulp Subindex (TWD)", "ticker": "^TPAI"}, - "hk-hsi": {"name": "Hang Seng Index (HKD)", "ticker": "^HSI"}, - "hk-hko": {"name": "NYSE ARCA Hong Kong Options Index (USD)", "ticker": "^HKO"}, - "id-jkse": {"name": "Jakarta Composite Index (IDR)", "ticker": "^JKSE"}, - "my-klci": {"name": "FTSE Kuala Lumpur Composite Index (MYR)", "ticker": "^KLSE"}, - "ph-psei": {"name": "Philippine Stock Exchange Index (PHP)", "ticker": "PSEI.PS"}, - "sg-sti": {"name": "STI Singapore Index (SGD)", "ticker": "^STI"}, - "th-set": {"name": "Thailand SET Index (THB)", "ticker": "^SET.BK"}, - "sp-materials": {"name": "S&P 500 Materials Sector Index", "ticker": "^SP500-15"}, - "sp-industrials": { + "jp_nkdh": {"name": "Nikkei Average USD Hedge Index (JPY)", "ticker": "^NKDH.OS"}, + "jp_nkeh": {"name": "Nikkei Average EUR Hedge Index (JPY)", "ticker": "^NKEH.OS"}, + "jp_ndiv": { + "name": "Nikkei Average Double Inverse Index (JPY)", + "ticker": "^NDIV.OS", + }, + "cn_csi300": {"name": "China CSI 300 Index (CNY)", "ticker": "000300.SS"}, + "cn_sse_comp": {"name": "SSE Composite Index (CNY)", "ticker": "000001.SS"}, + "cn_sse_a": {"name": "SSE A Share Index (CNY)", "ticker": "000002.SS"}, + "cn_szse_comp": {"name": "SZSE Component Index (CNY)", "ticker": "399001.SZ"}, + "cn_szse_a": {"name": "SZSE A-Shares Index (CNY)", "ticker": "399107.SZ"}, + "tw_twii": {"name": "TSEC Weighted Index (TWD)", "ticker": "^TWII"}, + "tw_tpai": {"name": "TSEC Paper and Pulp Subindex (TWD)", "ticker": "^TPAI"}, + "hk_hsi": {"name": "Hang Seng Index (HKD)", "ticker": "^HSI"}, + "hk_hko": {"name": "NYSE ARCA Hong Kong Options Index (USD)", "ticker": "^HKO"}, + "id_jkse": {"name": "Jakarta Composite Index (IDR)", "ticker": "^JKSE"}, + "my_klci": {"name": "FTSE Kuala Lumpur Composite Index (MYR)", "ticker": "^KLSE"}, + "ph_psei": {"name": "Philippine Stock Exchange Index (PHP)", "ticker": "PSEI.PS"}, + "sg_sti": {"name": "STI Singapore Index (SGD)", "ticker": "^STI"}, + "th_set": {"name": "Thailand SET Index (THB)", "ticker": "^SET.BK"}, + "sp_energy_ig": { + "name": "S&P 500 Energy (Industry Group) Index", + "ticker": "^SP500-1010", + }, + "sp_energy_equipment": { + "name": "S&P 500 Energy Equipment & Services Industry Index", + "ticker": "^SP500-101010", + }, + "sp_energy_oil": { + "name": "S&P 500 Oil, Gas & Consumable Fuels Industry Index", + "ticker": "^SP500-101020", + }, + "sp_materials_sector": { + "name": "S&P 500 Materials Sector Index", + "ticker": "^SP500-15", + }, + "sp_materials_ig": { + "name": "S&P 500 Materials (Industry Group) Index", + "ticker": "^SP500-1510", + }, + "sp_materials_construction": { + "name": "S&P 500 Construction Materials Industry Index", + "ticker": "^SP500-151020", + }, + "sp_materials_metals": { + "name": "S&P 500 Mining & Metals Industry Index", + "ticker": "^SP500-151040", + }, + "sp_industrials_sector": { "name": "S&P 500 Industrials Sector Index", "ticker": "^SP500-20", }, - "sp-discretionary": { + "sp_industrials_goods_ig": { + "name": "S&P 500 Capital Goods (Industry Group) Index", + "ticker": "^SP500-2010", + }, + "sp_industrials_aerospace": { + "name": "S&P 500 Aerospace & Defense Industry Index", + "ticker": "^SP500-201010", + }, + "sp_industrials_building": { + "name": "S&P 500 Building Products Industry Index", + "ticker": "^SP500-201020", + }, + "sp_industrials_construction": { + "name": "S&P 500 Construction & Engineering Industry Index", + "ticker": "^SP500-201030", + }, + "sp_industrials_electrical": { + "name": "S&P 500 Electrical Equipment Industry Index", + "ticker": "^SP500-201040", + }, + "sp_industrials_conglomerates": { + "name": "S&P 500 Industrial Conglomerates Industry Index", + "ticker": "^SP500-201050", + }, + "sp_industrials_machinery": { + "name": "S&P 500 Machinery Industry Index", + "ticker": "^SP500-201060", + }, + "sp_industrials_distributors": { + "name": "S&P 500 Trading Companies & Distributors Industry Index", + "ticker": "^SP500-201070", + }, + "sp_industrials_services_ig": { + "name": "S&P 500 Commercial & Professional Services (Industry Group) Index", + "ticker": "^SP500-2020", + }, + "sp_industrials_services_supplies": { + "name": "S&P 500 Commercial Services & Supplies Industry Index", + "ticker": "^SP500-202010", + }, + "sp_industrials_transport_ig": { + "name": "S&P 500 Transportation (Industry Group) Index", + "ticker": "^SP500-2030", + }, + "sp_industrials_transport_air": { + "name": "S&P 500 Air Freight & Logistics Industry", + "ticker": "^SP500-203010", + }, + "sp_industrials_transport_airlines": { + "name": "S&P 500 Airlines Industry Index", + "ticker": "^SP500-203020", + }, + "sp_industrials_transport_ground": { + "name": "S&P 500 Road & Rail Industry Index", + "ticker": "^SP500-203040", + }, + "sp_discretionary_sector": { "name": "S&P 500 Consumer Discretionary Index", "ticker": "^SP500-25", }, - "sp-staples": { + "sp_discretionary_autos-ig": { + "name": "S&P 500 Automobiles and Components (Industry Group) Index", + "ticker": "^SP500-2510", + }, + "sp_discretionary_auto_components": { + "name": "S&P 500 Auto Components Industry Index", + "ticker": "^SP500-251010", + }, + "sp_discretionary_autos": { + "name": "S&P 500 Automobiles Industry Index", + "ticker": "^SP500-251020", + }, + "sp_discretionary_durables_ig": { + "name": "S&P 500 Consumer Durables & Apparel (Industry Group) Index", + "ticker": "^SP500-2520", + }, + "sp_discretionary_durables_household": { + "name": "S&P 500 Household Durables Industry Index", + "ticker": "^SP500-252010", + }, + "sp_discretionary_leisure": { + "name": "S&P 500 Leisure Products Industry Index", + "ticker": "^SP500-252020", + }, + "sp_discretionary_textiles": { + "name": "S&P 500 Textiles, Apparel & Luxury Goods Industry Index", + "ticker": "^SP500-252030", + }, + "sp_discretionary_services_consumer": { + "name": "S&P 500 Consumer Services (Industry Group) Index", + "ticker": "^SP500-2530", + }, + "sp_staples_sector": { "name": "S&P 500 Consumer Staples Sector Index", "ticker": "^SP500-30", }, - "sp-health": {"name": "S&P 500 Health Care Sector Index", "ticker": "^SP500-35"}, - "sp-financials": {"name": "S&P 500 Financials Sector Index", "ticker": "^SP500-40"}, - "sp-it": {"name": "S&P 500 IT Sector Index", "ticker": "^SP500-45"}, - "sp-communications": { + "sp_staples_retail_ig": { + "name": "S&P 500 Food & Staples Retailing (Industry Group) Index", + "ticker": "^SP500-3010", + }, + "sp_staples_food_ig": { + "name": "S&P 500 Food Beverage & Tobacco (Industry Group) Index", + "ticker": "^SP500-3020", + }, + "sp_staples_beverages": { + "name": "S&P 500 Beverages Industry Index", + "ticker": "^SP500-302010", + }, + "sp_staples_products_food": { + "name": "S&P 500 Food Products Industry Index", + "ticker": "^SP500-302020", + }, + "sp_staples_tobacco": { + "name": "S&P 500 Tobacco Industry Index", + "ticker": "^SP500-302030", + }, + "sp_staples_household_ig": { + "name": "S&P 500 Household & Personal Products (Industry Group) Index", + "ticker": "^SP500-3030", + }, + "sp_staples_products_household": { + "name": "S&P 500 Household Products Industry Index", + "ticker": "^SP500-303010", + }, + "sp_staples_products_personal": { + "name": "S&P 500 Personal Products Industry Index", + "ticker": "^SP500-303020", + }, + "sp_health_sector": { + "name": "S&P 500 Health Care Sector Index", + "ticker": "^SP500-35", + }, + "sp_health_equipment": { + "name": "S&P 500 Health Care Equipment & Services (Industry Group) Index", + "ticker": "^SP500-3510", + }, + "sp_health_supplies": { + "name": "S&P 500 Health Care Equipment & Supplies Industry Index", + "ticker": "^SP500-351010", + }, + "sp_health_providers": { + "name": "S&P 500 Health Care Providers & Services Industry Index", + "ticker": "^SP500-351020", + }, + "sp_health_sciences": { + "name": "S&P 500 Pharmaceuticals, Biotechnology & Life Sciences (Industry Group) Index", + "ticker": "^SP500-3520", + }, + "sp_health_biotech": { + "name": "S&P 500 Biotechnology Industry Index", + "ticker": "^SP500-352010", + }, + "sp_health_pharma": { + "name": "S&P 500 Pharmaceuticals Industry Index", + "ticker": "^SP500-352020", + }, + "sp_financials_sector": { + "name": "S&P 500 Financials Sector Index", + "ticker": "^SP500-40", + }, + "sp_financials_diversified_ig": { + "name": "S&P 500 Diversified Financials (Industry Group) Index", + "ticker": "^SP500-4020", + }, + "sp_financials_services": { + "name": "S&P 500 Diversified Financial Services Industry Index", + "ticker": "^SP500-402010", + }, + "sp_financials_consumer": { + "name": "S&P 500 Consumer Finance Industry Index", + "ticker": "^SP500-402020", + }, + "sp_financials_capital": { + "name": "S&P 500 Capital Markets Industry Index", + "ticker": "^SP500-402030", + }, + "sp_it_sector": { + "name": "S&P 500 IT Sector Index", + "ticker": "^SP500-45", + }, + "sp_it_saas_ig": { + "name": "S&P 500 Software and Services (Industry Group) Index", + "ticker": "^SP500-4510", + }, + "sp_it_software": { + "name": "S&P 500 Software Industry Index", + "ticker": "^SP500-451030", + }, + "sp_it_hardware": { + "name": "S&P 500 Technology Hardware Equipment (Industry Group) Index", + "ticker": "^SP500-4520", + }, + "sp_it_semi": { + "name": "S&P 500 Semiconductor & Semiconductor Equipment Industry", + "ticker": "^SP500-453010", + }, + "sp_communications_sector": { "name": "S&P 500 Communications Sector Index", "ticker": "^SP500-50", }, - "sp-utilities": {"name": "S&P 500 Utilities Sector Index", "ticker": "^SP500-55"}, - "sp-real_estate": { + "sp_communications_telecom": { + "name": "S&P 500 Diversified Telecommunications Services Industry Index", + "ticker": "^SP500-501010", + }, + "sp_utilities_sector": { + "name": "S&P 500 Utilities Sector Index", + "ticker": "^SP500-55", + }, + "sp_utilities_electricity": { + "name": "S&P 500 Electric Utilities Index", + "ticker": "^SP500-551010", + }, + "sp_utilities_multis": { + "name": "S&P 500 Multi-Utilities Industry Index", + "ticker": "^SP500-551030", + }, + "sp_re_sector": { "name": "S&P 500 Real Estate Sector Index", "ticker": "^SP500-60", }, - "sp-airlines": { - "name": "S&P 500 Airlines Industry Index", - "ticker": "^SP500-203020", - }, - "sp-tech_hardware": { - "name": "S&P 500 Technology Hardware Industry", - "ticker": "^SP500-452020", + "sp_re_ig": { + "name": "S&P 500 Real Estate (Industry Group) Index", + "ticker": "^SP500-6010", }, "sphyda": {"name": "S&P High Yield Aristocrats Index", "ticker": "^SPHYDA"}, - "dow-djt": {"name": "Dow Jones Transportation Average Index", "ticker": "^DJT"}, - "dow-dju": {"name": "Dow Jones Utility Average Index", "ticker": "^DJU"}, - "dow-rci": {"name": "Dow Jones Composite All REIT Index", "ticker": "^RCI"}, - "reit-fnar": {"name": "FTSE Nareit All Equity REITs Index", "ticker": "^FNAR"}, - "nq-q50": {"name": "NASDAQ Q50 Index", "ticker": "^NXTQ"}, - "nq-ixch": {"name": "NASDAQ Health Care Index", "ticker": "^IXCH"}, - "nq-tech": {"name": "NASDAQ 100 Technology Sector Index", "ticker": "^NDXT"}, - "nq-ex-tech": {"name": "NASDAQ 100 Ex-Tech Total Return Index", "ticker": "^NXTR"}, - "nq-ixtc": {"name": "NASDAQ Telecommunications Index", "ticker": "^IXTC"}, - "nq-inds": {"name": "NASDAQ Industrial Index", "ticker": "^INDS"}, - "nq-ixco": {"name": "NASDAQ Computer Index", "ticker": "^INCO"}, - "nq-bank": {"name": "NASDAQ Bank Index", "ticker": "^BANK"}, - "nq-tran": {"name": "NASDAQ Transportation Index", "ticker": "^TRAN"}, - "ice-auto": {"name": "ICE FactSet Global NextGen Auto Index", "ticker": "^ICEFSNA"}, - "ice-comm": { + "dow_djt": {"name": "Dow Jones Transportation Average Index", "ticker": "^DJT"}, + "dow_dju": {"name": "Dow Jones Utility Average Index", "ticker": "^DJU"}, + "dow_rci": {"name": "Dow Jones Composite All REIT Index", "ticker": "^RCI"}, + "reit_fnar": {"name": "FTSE Nareit All Equity REITs Index", "ticker": "^FNAR"}, + "nq_ixch": {"name": "NASDAQ Health Care Index", "ticker": "^IXCH"}, + "nq_nbi": {"name": "NASDAQ Biotech Index", "ticker": "^NBI"}, + "nq_tech": {"name": "NASDAQ 100 Technology Sector Index", "ticker": "^NDXT"}, + "nq_ex_tech": {"name": "NASDAQ 100 Ex-Tech Sector Index", "ticker": "^NDXX"}, + "nq_ixtc": {"name": "NASDAQ Telecommunications Index", "ticker": "^IXTC"}, + "nq_inds": {"name": "NASDAQ Industrial Index", "ticker": "^INDS"}, + "nq_ixco": {"name": "NASDAQ Computer Index", "ticker": "^INCO"}, + "nq_bank": {"name": "NASDAQ Bank Index", "ticker": "^BANK"}, + "nq_bkx": {"name": "KBW NASDAQ Bank Index", "ticker": "^BKX"}, + "nq_krx": {"name": "KBW NASDAQ Regional Bank Index", "ticker": "^KRX"}, + "nq_kix": {"name": "KBW NASDAQ Insurance Index", "ticker": "^KIX"}, + "nq_ksx": {"name": "KBW NASDAQ Capital Markets Index", "ticker": "^KSX"}, + "nq_tran": {"name": "NASDAQ Transportation Index", "ticker": "^TRAN"}, + "ice_auto": {"name": "ICE FactSet Global NextGen Auto Index", "ticker": "^ICEFSNA"}, + "ice_comm": { "name": "ICE FactSet Global NextGen Communications Index", "ticker": "^ICEFSNC", }, - "nyse-nyl": {"name": "NYSE World Leaders Index", "ticker": "^NYL"}, - "nyse-nyi": {"name": "NYSE International 100 Index", "ticker": "^NYI"}, - "nyse-nyy": {"name": "NYSE TMT Index", "ticker": "^NYY"}, - "arca-xmi": {"name": "NYSE ARCA Major Market Index", "ticker": "^XMI"}, - "arca-xbd": {"name": "NYSE ARCA Securities Broker/Dealer Index", "ticker": "^XBD"}, - "arca-xii": {"name": "NYSE ARCA Institutional Index", "ticker": "^XII"}, - "arca-xoi": {"name": "NYSE ARCA Oil and Gas Index", "ticker": "^XOI"}, - "arca-xng": {"name": "NYSE ARCA Natural Gas Index", "ticker": "^XNG"}, - "arca-hui": {"name": "NYSE ARCA Gold Bugs Index", "ticker": "^HUI"}, - "arca-ixb": {"name": "NYSE Materials Select Sector Index", "ticker": "^IXB"}, - "arca-drg": {"name": "NYSE ARCA Phramaceutical Index", "ticker": "^DRG"}, - "arca-btk": {"name": "NYSE ARCA Biotech Index", "ticker": "^BKT"}, - "arca-pse": {"name": "NYSE ARCA Tech 100 Index", "ticker": "^PSE"}, - "arca-nwx": {"name": "NYSE ARCA Networking Index", "ticker": "^NWX"}, - "arca-xci": {"name": "NYSE ARCA Computer Tech Index", "ticker": "^XCI"}, - "arca-xal": {"name": "NYSE ARCA Airline Index", "ticker": "^XAL"}, - "arca-xtc": {"name": "NYSE ARCA N.A. Telecom Industry Index", "ticker": "^XTC"}, - "phlx-sox": {"name": "PHLX Semiconductor Index", "ticker": "^SOX"}, - "phlx-xau": {"name": "PHLX Gold/Silver Index", "ticker": "^XAU"}, - "phlx-hgx": {"name": "PHLX Housing Sector Index", "ticker": "^HGX"}, - "phlx-osx": {"name": "PHLX Oil Services Sector Index", "ticker": "^OSX"}, - "phlx-uty": {"name": "PHLX Utility Sector Index", "ticker": "^UTY"}, - "w5000": {"name": "Wilshire 5000", "ticker": "^W5000"}, - "w5000flt": {"name": "Wilshire 5000 Float Adjusted Index", "ticker": "^W5000FLT"}, + "nyse_nyl": {"name": "NYSE World Leaders Index", "ticker": "^NYL"}, + "nyse_nyi": {"name": "NYSE International 100 Index", "ticker": "^NYI"}, + "nyse_nyy": {"name": "NYSE TMT Index", "ticker": "^NYY"}, + "arca_xmi": {"name": "NYSE ARCA Major Market Index", "ticker": "^XMI"}, + "arca_xbd": {"name": "NYSE ARCA Securities Broker/Dealer Index", "ticker": "^XBD"}, + "arca_xii": {"name": "NYSE ARCA Institutional Index", "ticker": "^XII"}, + "arca_xoi": {"name": "NYSE ARCA Oil and Gas Index", "ticker": "^XOI"}, + "arca_xng": {"name": "NYSE ARCA Natural Gas Index", "ticker": "^XNG"}, + "arca_hui": {"name": "NYSE ARCA Gold Bugs Index", "ticker": "^HUI"}, + "arca_ixb": {"name": "NYSE Materials Select Sector Index", "ticker": "^IXB"}, + "arca_drg": {"name": "NYSE ARCA Phramaceutical Index", "ticker": "^DRG"}, + "arca_btk": {"name": "NYSE ARCA Biotech Index", "ticker": "^BKT"}, + "arca_pse": {"name": "NYSE ARCA Tech 100 Index", "ticker": "^PSE"}, + "arca_nwx": {"name": "NYSE ARCA Networking Index", "ticker": "^NWX"}, + "arca_xci": {"name": "NYSE ARCA Computer Tech Index", "ticker": "^XCI"}, + "arca_xal": {"name": "NYSE ARCA Airline Index", "ticker": "^XAL"}, + "arca_xtc": {"name": "NYSE ARCA N.A. Telecom Industry Index", "ticker": "^XTC"}, + "phlx_sox": {"name": "PHLX Semiconductor Index", "ticker": "^SOX"}, + "phlx_xau": {"name": "PHLX Gold/Silver Index", "ticker": "^XAU"}, + "phlx_hgx": {"name": "PHLX Housing Sector Index", "ticker": "^HGX"}, + "phlx_osx": {"name": "PHLX Oil Services Sector Index", "ticker": "^OSX"}, + "phlx_uty": {"name": "PHLX Utility Sector Index", "ticker": "^UTY"}, "w5klcg": {"name": "Wilshire US Large Cap Growth Index", "ticker": "^W5KLCG"}, "w5klcv": {"name": "Wilshire US Large Cap Value Index", "ticker": "^W5KLCV"}, - "reit-wgreit": {"name": "Wilshire Global REIT Index", "ticker": "^WGREIT"}, - "reit-wgresi": { + "reit_wgreit": {"name": "Wilshire Global REIT Index", "ticker": "^WGREIT"}, + "reit_wgresi": { "name": "Wilshire Global Real Estate Sector Index", "ticker": "^WGRESI", }, - "reit-wilreit": {"name": "Wilshire US REIT Index", "ticker": "^WILREIT"}, - "reit-wilresi": { + "reit_wilreit": {"name": "Wilshire US REIT Index", "ticker": "^WILREIT"}, + "reit_wilresi": { "name": "Wilshire US Real Estate Security Index", "ticker": "^WILRESI", }, - "cboe-bxm": {"name": "CBOE Buy-Write Monthly Index", "ticker": "^BXM"}, - "cboe-vix": {"name": "CBOE Volatility Index", "ticker": "^VIX"}, - "cboe-vin": {"name": "CBOE Near-Term VIX Index", "ticker": "^VIN"}, - "cboe-vvix": {"name": "CBOE VIX Volatility Index", "ticker": "^VVIX"}, - "cboe-shortvol": {"name": "CBOE Short VIX Futures Index", "ticker": "^SHORTVOL"}, - "cboe-skew": {"name": "CBOE Skew Index", "ticker": "^SKEW"}, - "cboe-vxn": {"name": "CBOE NASDAQ 100 Volatility Index", "ticker": "^VXN"}, - "cboe-gvz": {"name": "CBOE Gold Volatility Index", "ticker": "^GVZ"}, - "cboe-ovx": {"name": "CBOE Crude Oil Volatility Index", "ticker": "^OVX"}, - "cboe-tnx": {"name": "CBOE Interest Rate 10 Year T-Note", "ticker": "^TNX"}, - "cboe-tyx": {"name": "CBOE 30 year Treasury Yields", "ticker": "^TYX"}, - "cboe-irx": {"name": "CBOE 13 Week Treasury Bill", "ticker": "^IRX"}, - "us-move": {"name": "ICE BofAML Move Index", "ticker": "^MOVE"}, - "us-dx-y": {"name": "US Dollar Index", "ticker": "DX-Y.NYB"}, + "cboe_bxm": {"name": "CBOE Buy-Write Monthly Index", "ticker": "^BXM"}, + "cboe_vix": {"name": "CBOE Volatility Index", "ticker": "^VIX"}, + "cboe_vin": {"name": "CBOE Near-Term VIX Index", "ticker": "^VIN"}, + "cboe_vvix": {"name": "CBOE VIX Volatility Index", "ticker": "^VVIX"}, + "cboe_shortvol": {"name": "CBOE Short VIX Futures Index", "ticker": "^SHORTVOL"}, + "cboe_skew": {"name": "CBOE Skew Index", "ticker": "^SKEW"}, + "cboe_vxn": {"name": "CBOE NASDAQ 100 Volatility Index", "ticker": "^VXN"}, + "cboe_gvz": {"name": "CBOE Gold Volatility Index", "ticker": "^GVZ"}, + "cboe_ovx": {"name": "CBOE Crude Oil Volatility Index", "ticker": "^OVX"}, + "cboe_tnx": {"name": "CBOE Interest Rate 10 Year T-Note", "ticker": "^TNX"}, + "cboe_tyx": {"name": "CBOE 30 year Treasury Yields", "ticker": "^TYX"}, + "cboe_irx": {"name": "CBOE 13 Week Treasury Bill", "ticker": "^IRX"}, + "move": {"name": "ICE BofAML Move Index", "ticker": "^MOVE"}, + "dxy": {"name": "US Dollar Index", "ticker": "DX-Y.NYB"}, + "crypto200": {"name": "CMC Crypto 200 Index by Solacti", "ticker": "^CMC200"}, } diff --git a/routines/discovery_demo.openbb b/routines/discovery_demo.openbb index 97a9a791d4c4..d4a617012140 100644 --- a/routines/discovery_demo.openbb +++ b/routines/discovery_demo.openbb @@ -4,13 +4,26 @@ stocks/disc # Show a dividend calendar divcal -l 25 -# Show Ark trades -arkord # Show upcoming earnings upcoming +# Show Ark trades +arkord + # See news from Alpha Vantage cnews -t issuance +cnews -t m-a + +# Gainers and Losers from Yahoo +gainers +losers +active + +# Fidelity Order Flow +ford -l 25 + +# Next IPOs scheduled +fipo -# Return to home -/ \ No newline at end of file +# Hot Penny Stocks +hotpenny -l 25 diff --git a/routines/stock_screener_demo.openbb b/routines/stock_screener_demo.openbb new file mode 100644 index 000000000000..d2d2af3f1fd6 --- /dev/null +++ b/routines/stock_screener_demo.openbb @@ -0,0 +1,47 @@ +# Enter the Stock Screener menu +stocks/scr + +# Top Gainers +technical -s Gap +technical -s RSI +overview -s Volume + +# Strong Support Levels Preset +set stocks_strong_support_levels +overview +performance +financial + +# Multiple Bottom Preset +set multiple_bottom +technical -l 15 -s RSI + +# Cheap Dividend +set cheap_dividend +overview -l 20 -s Market Cap + +# Potential Reversals +set potential_reversals +performance -s Perf Week +overview -s Volume + +# Unusual Volume +set unusual_volume +performance -l 20 -s Volume +overview -l 20 -s Market Cap + +# Value stocks +set value_stocks +overview -s Market Cap +performance + +# Major News +set major_news +overview -l 20 -s Market Cap +performance -l 20 -s Volume + +# Display Correlation Heat Map of the last screened tickers +ca +hcorr -t r --display-full-matrix + +# Scroll back up the terminal screen to review the different outputs of the screeners diff --git a/website/content/terminal/stocks/screener/_index.md b/website/content/terminal/stocks/screener/_index.md index 093e02e215d7..5230ef3100a7 100755 --- a/website/content/terminal/stocks/screener/_index.md +++ b/website/content/terminal/stocks/screener/_index.md @@ -1,5 +1,49 @@ --- +title: Introduction to the Stock Screener +keywords: "screen, screener, stock, stocks, historical, overview, valuation, financial, ownership, performance, technical, view, set, preset, presets, ini, scan, compare, tickers, metrics" +date: "2022-06-13" +type: guides +status: publish +excerpt: "This guide introduces the Stock Screener, within the Stocks menu, briefly explains the features, and shows examples in context." geekdocCollapseSection: true --- -{{< toc-tree >}} +The Stock Screener is a diverse tool for discovery. Screeners are typically deployed in the preliminary phase of research; they provide creative methods for finding individual companies meeting the criteria of the investment thesis. There are categories of statistics to use as metrics to sort the criteria defined in the preset file. The preset files are `.ini` files stored locally in the application folder: `~\Applications\OpenBB\openbb_terminal\stocks\screener\presets\` and they can be modified in any text editor. Create custom presets and share them with the world! + +Get to the Stock Screener from the `Stocks` menu by typing `scr` and then pressing `enter` + +The Stock Screener submenu + +

How to use the Stock Screener

+ +The default preset is `top_gainers`. Use the commands `view` and `set` to select a new one. The file in the presets folder, `template.ini`, is a blank slate for creating something fresh. Modify individual parameters within the different presets to get more precision from a starting point. To get started, simply choose one of the categories to scour, like `technical`. + +Unusual Volume preset and the Technical category + +The columns can be sorted with the optional argument `-s`, and autocomplete will present a list of choices. + +Sorting results + +To see a description of each preset, use `view`, and autocomplete will allow the user to scroll presets with the arrow keys to `set` the choice. + +Autocomplete with the set function + +Unexpected results can be obtained through combining presets with the category of screen. + +

Examples

+ +Using the `modified_dremin` preset and the `financial` category, then sorting for return-on-investment. + +![modified_dremin preset with the financial category](https://user-images.githubusercontent.com/85772166/173903472-79988a7d-999e-454b-a7f9-96b071e3337a.png) + +Setting the preset to `short_squeeze_scan` and scanning with the `ownership` category. + +![Short squeeze scan and the ownership category](https://user-images.githubusercontent.com/85772166/173903741-4823f6ac-91f0-4e57-9fa1-a465af43a4f9.png) + +`set triangle_ascending`, show `techincal` & `overview` + +![triangle_ascending preset with technical and overview categories](https://user-images.githubusercontent.com/85772166/173903827-15d6852e-90bf-4ea3-b008-47ce3c482380.png) + +Enter `exe stock_screener_demo.openbb` from the main menu to play a demonstration of the Stock Screener in the Terminal. + +Back to the Introduction Guide to the Stocks Menu