diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 66acb0c80f9..0291c8b7c98 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: codespell entry: codespell - args: [ '--ignore-words-list=mape,ba,hist', '--quiet-level=2', '--skip=".git,*.html,*.yaml,*.json,./tests"' ] + args: [ '--ignore-words-list=mape,ba,hist,Press,COUP,Navigation,Set,Build,built,Operation', '--quiet-level=2', '--skip=".git,*.html,*.yaml,*.json,./tests"' ] - repo: https://github.com/pre-commit/mirrors-mypy rev: 'v0.812' hooks: diff --git a/gamestonk_terminal/README.md b/gamestonk_terminal/README.md index 2f22eb0c8ea..4e06f5f025f 100644 --- a/gamestonk_terminal/README.md +++ b/gamestonk_terminal/README.md @@ -19,6 +19,7 @@ * [Economy](#Economy) * [Options](#Options-) * [Screener](#Screener-) +* [Insider](#Insider-) * [Forex](#Forex-) * [Backtesting](#Backtesting-) * [Resource Collection](#Resource-Collection-) @@ -450,6 +451,38 @@ signals |view filter signals (e.g. -s top_gainers)   +## Insider [»](insider/README.md) + +Command|Description|Source +------ | --------|---- +view |view available presets | [presets](insider/presets/README.md) +set |set one of the available presets +filter |filter insiders based on preset | [Open Insider](http://openinsider.com) +Latest | +lcb |latest cluster boys +lpsb | latest penny stock buys +lit | latest insider trading (all filings) +lip | latest insider purchases +blip | big latest insider purchases ($25k+) +blop | big latest officer purchases ($25k+) +blcp | big latest CEO/CFO purchases ($25k+) +lis | latest insider sales +blis | big latest insider sales ($100k+) +blos | big latest officer sales ($100k+) +blcs | big latest CEO/CFO sales ($100k+) +Top | +topt | top officer purchases today +toppw | top officer purchases past week +toppm | top officer purchases past month +tipt | top insider purchases today +tippw | top insider purchases past week +tippm | top insider purchases past month +tist | top insider sales today +tispw | top insider sales past week +tispm | top insider sales past month + +  + ## Forex [»](forex/README.md) Command|Description diff --git a/gamestonk_terminal/insider/README.md b/gamestonk_terminal/insider/README.md index 5e8553dd5c4..c40e65291c5 100644 --- a/gamestonk_terminal/insider/README.md +++ b/gamestonk_terminal/insider/README.md @@ -2,6 +2,12 @@ This menu aims to get some insights regarding insider trading, and the usage of the following commands along with an example will be exploited below. This data has been provided by [OpenInsider](http://openinsider.com). +* [view](#view) + * view available presets +* [set](#set) + * set one of the available presets +* [filter](#filter) + * filter insiders based on preset #### LATEST @@ -49,6 +55,47 @@ This menu aims to get some insights regarding insider trading, and the usage of * [tispm](#tispm) * top insider sales past month + +## view + +```text +usage: view [-p {template,sexy_year,...}] +``` +View available presets under [presets folder](/gamestonk_terminal/insider/presets/). + +* -p : View specific preset filters. + +Captura de ecrã 2021-07-23, às 21 38 46 + + +## set + +```text +usage: set [-p {template,whales,...}] +``` + +Set preset from under [presets folder](/gamestonk_terminal/insider/presets/). + +* -p : Filter presets + + +## filter + +```text +usage: filter [-n NUM] [-t TICKER] [-l] +``` + +Print open insider filtered data using loaded preset, or selected ticker. [Source: OpenInsider] + +* -n : Number of datarows to display (default: 20) +* -t : Filter latest insiders from this ticker (default: ) +* -l : Flag to show hyperlinks (default: False) + +Captura de ecrã 2021-07-23, às 21 41 57 + +Captura de ecrã 2021-07-23, às 21 42 18 + + #### LATEST ## lcb diff --git a/gamestonk_terminal/insider/insider_controller.py b/gamestonk_terminal/insider/insider_controller.py index f977afbf19c..6e7637b2b71 100644 --- a/gamestonk_terminal/insider/insider_controller.py +++ b/gamestonk_terminal/insider/insider_controller.py @@ -3,13 +3,16 @@ __docformat__ = "numpy" import os import argparse +import configparser from typing import List from prompt_toolkit.completion import NestedCompleter -from gamestonk_terminal.helper_funcs import get_flair +from gamestonk_terminal.helper_funcs import get_flair, parse_known_args_and_warn from gamestonk_terminal.menu import session from gamestonk_terminal import feature_flags as gtff from gamestonk_terminal.insider import openinsider_view +presets_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "presets/") + class InsiderController: """Screener Controller class""" @@ -20,6 +23,9 @@ class InsiderController: "?", "help", "q", + "view", + "set", + "filter", "quit", "lcb", "lpsb", @@ -45,6 +51,7 @@ class InsiderController: def __init__(self): """Constructor""" + self.preset = "template" self.insider_parser = argparse.ArgumentParser(add_help=False, prog="ins") self.insider_parser.add_argument( "cmd", @@ -62,6 +69,13 @@ class InsiderController: print(" q quit this menu, and shows back to main menu") print(" quit quit to abandon program") print("") + print(" view view available presets") + print(" set set one of the available presets") + print("") + print(f"PRESET: {self.preset}") + print("") + print(" filter filter insiders based on preset") + print("") print("Latest:") print(" lcb latest cluster boys") print(" lpsb latest penny stock buys") @@ -87,6 +101,126 @@ class InsiderController: print(" tispm top insider sales past month") print("") + @staticmethod + def view_available_presets(other_args: List[str]): + """View available presets.""" + parser = argparse.ArgumentParser( + add_help=False, + prog="view", + description="""View available presets under presets folder.""", + ) + parser.add_argument( + "-p", + "--preset", + action="store", + dest="preset", + type=str, + help="View specific preset", + default="", + choices=[ + preset.split(".")[0] + for preset in os.listdir(presets_path) + if preset[-4:] == ".ini" + ], + ) + + try: + if other_args: + if "-" not in other_args[0]: + other_args.insert(0, "-p") + ns_parser = parse_known_args_and_warn(parser, other_args) + if not ns_parser: + return + + if ns_parser.preset: + preset_filter = configparser.RawConfigParser() + preset_filter.optionxform = str # type: ignore + preset_filter.read(presets_path + ns_parser.preset + ".ini") + + filters_headers = [ + "General", + "Date", + "TransactionFiling", + "Industry", + "InsiderTitle", + "Others", + "CompanyTotals", + ] + + print("") + for filter_header in filters_headers: + print(f" - {filter_header} -") + d_filters = {**preset_filter[filter_header]} + d_filters = {k: v for k, v in d_filters.items() if v} + if d_filters: + max_len = len(max(d_filters, key=len)) + for key, value in d_filters.items(): + print(f"{key}{(max_len-len(key))*' '}: {value}") + print("") + + else: + presets = [ + preset.split(".")[0] + for preset in os.listdir(presets_path) + if preset[-4:] == ".ini" + ] + + for preset in presets: + with open( + presets_path + preset + ".ini", + encoding="utf8", + ) as f: + description = "" + for line in f: + if line.strip() == "[General]": + break + description += line.strip() + print(f"\nPRESET: {preset}") + print(description.split("Description: ")[1].replace("#", "")) + print("") + + except Exception as e: + print(e) + + def set_preset(self, other_args: List[str]): + """Set preset""" + parser = argparse.ArgumentParser( + add_help=False, + prog="set", + description="""Set preset from under presets folder.""", + ) + parser.add_argument( + "-p", + "--preset", + action="store", + dest="preset", + type=str, + default="template", + help="Filter presets", + choices=[ + preset.split(".")[0] + for preset in os.listdir(presets_path) + if preset[-4:] == ".ini" + ], + ) + + try: + if other_args: + if "-" not in other_args[0]: + other_args.insert(0, "-p") + + ns_parser = parse_known_args_and_warn(parser, other_args) + if not ns_parser: + return + + self.preset = ns_parser.preset + + except Exception as e: + print(e) + + print("") + return + def switch(self, an_input: str): """Process and dispatch input @@ -133,6 +267,18 @@ class InsiderController: """Process Quit command - quit the program""" return True + def call_view(self, other_args: List[str]): + """Process view command""" + self.view_available_presets(other_args) + + def call_set(self, other_args: List[str]): + """Process set command""" + self.set_preset(other_args) + + def call_filter(self, other_args: List[str]): + """Process filter command""" + return openinsider_view.print_insider_filter(other_args, self.preset) + def call_lcb(self, other_args: List[str]): """Process latest-cluster-buys""" return openinsider_view.print_insider_data(other_args, "lcb") diff --git a/gamestonk_terminal/insider/openinsider_model.py b/gamestonk_terminal/insider/openinsider_model.py new file mode 100644 index 00000000000..63e81ba5cdd --- /dev/null +++ b/gamestonk_terminal/insider/openinsider_model.py @@ -0,0 +1,1347 @@ +from datetime import datetime +from typing import Dict, List +import os +import configparser +import requests +from bs4 import BeautifulSoup +import pandas as pd + +presets_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "presets/") + + +# pylint: disable=too-many-branches,line-too-long,C0302 +# flake8: noqa + + +d_SectorSubsectorIndustry = { + "All Sectors (except Funds)": "sic1=-1&sicl=100&sich=9999", + "Agriculture, Forestry, Fish": "sic1=1&sic2=1&sicl=100&sich=199", + "Agriculture, Forestry, Fish -> Crops": "sic1=1&sic2=1&sicl=100&sich=199", + "Agriculture, Forestry, Fish -> Livestock & Animal Specialties": "sic1=1&sic2=2&sicl=200&sich=699", + "Agriculture, Forestry, Fish -> Agriculture Services": "sic1=1&sic2=7&sicl=700&sich=799", + "Agriculture, Forestry, Fish -> Forestry": "sic1=1&sic2=8&sicl=800&sich=899", + "Agriculture, Forestry, Fish -> Fishing, Hunting & Trapping": "sic1=1&sic2=9&sicl=900&sich=999", + "Mining": "sic1=10&sic2=0&sicl=1000&sich=1499", + "Mining -> Metal Mining": "sic1=10&sic2=10&sic3=1000&sicl=1000&sich=1039", + "Mining -> Metal Mining -> Gold & Silver Ores": "sic1=10&sic2=10&sic3=1040&sicl=1040&sich=1089", + "Mining -> Metal Mining -> Miscellaneous Metal Ores": "sic1=10&sic2=10&sic3=1090&sicl=1090&sich=1219", + "Mining -> Coal Mining": "sic1=10&sic2=12&sic3=0&sicl=1200&sich=1299", + "Mining -> Coal Mining -> Bituminous Coal & Lignite Mining": "sic1=10&sic2=12&sic3=1220&sicl=1220&sich=1220", + "Mining -> Coal Mining -> Bituminous Coal & Lignite Surfac": "sic1=10&sic2=12&sic3=1221&sicl=1221&sich=1310", + "Mining -> Oil & Gas Extraction": "sic1=10&sic2=13&sic3=0&sicl=1300&sich=1399", + "Mining -> Oil & Gas Extraction -> Crude Petroleum & Natural Gas": "sic1=10&sic2=13&sic3=1311&sicl=1311&sich=1380", + "Mining -> Oil & Gas Extraction -> Drilling Oil & Gas Wells": "sic1=10&sic2=13&sic3=1381&sicl=1381&sich=1381", + "Mining -> Oil & Gas Extraction -> Oil & Gas Field Exploration Serv": "sic1=10&sic2=13&sic3=1382&sicl=1382&sich=1388", + "Mining -> Oil & Gas Extraction -> Oil & Gas Field Services": "sic1=10&sic2=13&sic3=1389&sicl=1389&sich=1399", + "Mining -> Mining Non-metallic Minerals": "sic1=10&sic2=14&sicl=1400&sich=1519", + "Construction": "sic1=15&sic2=0&sicl=1500&sich=1799", + "Construction -> General Contractors & Builders": "sic1=15&sic2=15&sicl=1500&sich=1599", + "Construction -> General Contractors & Builders -> Residential Bldg Contractors": "sic1=15&sic2=15&sic3=1520&sicl=1520&sich=1530", + "Construction -> General Contractors & Builders -> Operative Builders": "sic1=15&sic2=15&sic3=1531&sicl=1531&sich=1539", + "Construction -> General Contractors & Builders -> Nonresidential Bldg Contractors": "sic1=15&sic2=15&sic3=1540&sicl=1540&sich=1599", + "Construction -> Heavy Construction": "sic1=15&sic2=16&sic3=0&sicl=1600&sich=1699", + "Construction -> Heavy Construction -> Heavy Construction Non-Bldg Cont": "sic1=15&sic2=16&sic3=1600&sicl=1600&sich=1622", + "Construction -> Heavy Construction -> Water, Sewer, Pipeline, Comm & P": "sic1=15&sic2=16&sic3=1623&sicl=1623&sich=1699", + "Construction -> Special Trade Contractors": "sic1=15&sic2=17&sic3=0&sicl=1700&sich=1999", + "Construction -> Special Trade Contractors -> Special Trade Contractors": "sic1=15&sic2=17&sic3=1700&sicl=1700&sich=1730", + "Construction -> Special Trade Contractors -> Electrical Work": "sic1=15&sic2=17&sic3=1731&sicl=1731&sich=1999", + "Manufacturing": "sic1=20&sic2=0&sicl=2000&sich=3999", + "Manufacturing -> Food": "sic1=20&sic2=20&sic3=0&sicl=2000&sich=2099", + "Manufacturing -> Food -> Food & Kindred Products": "sic1=20&sic2=20&sic3=2000&sicl=2000&sich=2010", + "Manufacturing -> Food -> Meat Packing Plants": "sic1=20&sic2=20&sic3=2011&sicl=2011&sich=2012", + "Manufacturing -> Food -> Sausage & Other Prepared Meat P": "sic1=20&sic2=20&sic3=2013&sicl=2013&sich=2014", + "Manufacturing -> Food -> Poultry Slaughtering & Processin": "sic1=20&sic2=20&sic3=2015&sicl=2015&sich=2019", + "Manufacturing -> Food -> Dairy Products": "sic1=20&sic2=20&sic3=2020&sicl=2020&sich=2023", + "Manufacturing -> Food -> Ice Cream & Froze Desserts": "sic1=20&sic2=20&sic3=2024&sicl=2024&sich=2029", + "Manufacturing -> Food -> Canned, Frozen & Preservd Fruit": "sic1=20&sic2=20&sic3=2030&sicl=2030&sich=2032", + "Manufacturing -> Food -> Canned, Fruits, Veg, Preserves": "sic1=20&sic2=20&sic3=2033&sicl=2033&sich=2039", + "Manufacturing -> Food -> Grain Mill Products": "sic1=20&sic2=20&sic3=2040&sicl=2040&sich=2049", + "Manufacturing -> Food -> Bakery Products": "sic1=20&sic2=20&sic3=2050&sicl=2050&sich=2051", + "Manufacturing -> Food -> Cookies & Crackers": "sic1=20&sic2=20&sic3=2052&sicl=2052&sich=2059", + "Manufacturing -> Food -> Sugar & Confectionery Products": "sic1=20&sic2=20&sic3=2060&sicl=2060&sich=2069", + "Manufacturing -> Food -> Fats & Oils": "sic1=20&sic2=20&sic3=2070&sicl=2070&sich=2079", + "Manufacturing -> Food -> Beverages": "sic1=20&sic2=20&sic3=2080&sicl=2080&sich=2081", + "Manufacturing -> Food -> Malt Beverages": "sic1=20&sic2=20&sic3=2082&sicl=2082&sich=2085", + "Manufacturing -> Food -> Bottled & Canned Soft Drinks & C": "sic1=20&sic2=20&sic3=2086&sicl=2086&sich=2089", + "Manufacturing -> Food -> Miscellaneous Food Preparations": "sic1=20&sic2=20&sic3=2090&sicl=2090&sich=2091", + "Manufacturing -> Food -> Prepared Fresh or Frozen Fish &": "sic1=20&sic2=20&sic3=2092&sicl=2092&sich=2099", + "Manufacturing -> Tobacco": "sic1=20&sic2=21&sic3=0&sicl=2100&sich=2199", + "Manufacturing -> Tobacco -> Tobacco Products": "sic1=20&sic2=21&sic3=2100&sicl=2100&sich=2110", + "Manufacturing -> Tobacco -> Cigarettes": "sic1=20&sic2=21&sic3=2111&sicl=2111&sich=2199", + "Manufacturing -> Textile Mill Products": "sic1=20&sic2=22&sic3=0&sicl=2200&sich=2299", + "Manufacturing -> Textile Mill Products -> Textile Mill Products": "sic1=20&sic2=22&sic3=2200&sicl=2200&sich=2210", + "Manufacturing -> Textile Mill Products -> Broadwoven Fabric Mills, Cotton": "sic1=20&sic2=22&sic3=2211&sicl=2211&sich=2220", + "Manufacturing -> Textile Mill Products -> Broadwoven Fabric Mills, Man Mad": "sic1=20&sic2=22&sic3=2221&sicl=2221&sich=2249", + "Manufacturing -> Textile Mill Products -> Knitting Mills": "sic1=20&sic2=22&sic3=2250&sicl=2250&sich=2252", + "Manufacturing -> Textile Mill Products -> Knit Outerwear Mills": "sic1=20&sic2=22&sic3=2253&sicl=2253&sich=2272", + "Manufacturing -> Textile Mill Products -> Carpets & Rugs": "sic1=20&sic2=22&sic3=2273&sicl=2273&sich=2299", + "Manufacturing -> Apparel": "sic1=20&sic2=23&sic3=0&sicl=2300&sich=2399", + "Manufacturing -> Apparel -> Other Finishd Prods of": "sic1=20&sic2=23&sic3=2300&sicl=2300&sich=2319", + "Manufacturing -> Apparel -> Men’s & Boy’s Furnishgs, Work Cl": "sic1=20&sic2=23&sic3=2320&sicl=2320&sich=2329", + "Manufacturing -> Apparel -> Women’s, Misses’, & Juniors Oute": "sic1=20&sic2=23&sic3=2330&sicl=2330&sich=2339", + "Manufacturing -> Apparel -> Women’s, Misses’, Children’s & l": "sic1=20&sic2=23&sic3=2340&sicl=2340&sich=2389", + "Manufacturing -> Apparel -> Miscellaneous Fabric": "sic1=20&sic2=23&sic3=2390&sicl=2390&sich=2399", + "Manufacturing -> Lumber": "sic1=20&sic2=24&sic3=0&sicl=2400&sich=2499", + "Manufacturing -> Lumber -> Lumber & Wood Products (No Furni)": "sic1=20&sic2=24&sic3=2400&sicl=2400&sich=2420", + "Manufacturing -> Lumber -> Sawmills & Planting Mills, Gener": "sic1=20&sic2=24&sic3=2421&sicl=2421&sich=2429", + "Manufacturing -> Lumber -> Millwood, Veneer, Plywood & Str": "sic1=20&sic2=24&sic3=2430&sicl=2430&sich=2450", + "Manufacturing -> Lumber -> Mobile Homes": "sic1=20&sic2=24&sic3=2451&sicl=2451&sich=2451", + "Manufacturing -> Lumber -> Prefabricated Wood Bldgs & Compo": "sic1=20&sic2=24&sic3=2452&sicl=2452&sich=2509", + "Manufacturing -> Furniture": "sic1=20&sic2=25&sic3=0&sicl=2500&sich=2599", + "Manufacturing -> Furniture -> Household Furniture": "sic1=20&sic2=25&sic3=2510&sicl=2510&sich=2510", + "Manufacturing -> Furniture -> Wood Household Furniture, (no Up)": "sic1=20&sic2=25&sic3=2511&sicl=2511&sich=2519", + "Manufacturing -> Furniture -> Office Furniture": "sic1=20&sic2=25&sic3=2520&sicl=2520&sich=2521", + "Manufacturing -> Furniture -> Office Furniture (No Wood)": "sic1=20&sic2=25&sic3=2522&sicl=2522&sich=2530", + "Manufacturing -> Furniture -> Public Bldg & Related Furniture": "sic1=20&sic2=25&sic3=2531&sicl=2531&sich=2539", + "Manufacturing -> Furniture -> Partitions, Shelvg, Lockers & O": "sic1=20&sic2=25&sic3=2540&sicl=2540&sich=2589", + "Manufacturing -> Furniture -> Miscellaneous Furniture & Fixtur": "sic1=20&sic2=25&sic3=2590&sicl=2590&sich=2599", + "Manufacturing -> Paper": "sic1=20&sic2=26&sic3=0&sicl=2600&sich=2699", + "Manufacturing -> Paper -> Papers & Allied Products": "sic1=20&sic2=26&sic3=2600&sicl=2600&sich=2610", + "Manufacturing -> Paper -> Pulp Mills": "sic1=20&sic2=26&sic3=2611&sicl=2611&sich=2620", + "Manufacturing -> Paper -> Paper Mills": "sic1=20&sic2=26&sic3=2621&sicl=2621&sich=2630", + "Manufacturing -> Paper -> Paperboard Mills": "sic1=20&sic2=26&sic3=2631&sicl=2631&sich=2649", + "Manufacturing -> Paper -> Paperboard Containers & Boxes": "sic1=20&sic2=26&sic3=2650&sicl=2650&sich=2669", + "Manufacturing -> Paper -> Converted Paper & Paperboard Pro": "sic1=20&sic2=26&sic3=2670&sicl=2670&sich=2672", + "Manufacturing -> Paper -> Plastics, Foils & Coated Paper Ba": "sic1=20&sic2=26&sic3=2673&sicl=2673&sich=2710", + "Manufacturing -> Printing & Publishing": "sic1=20&sic2=27&sic3=0&sicl=2700&sich=2799", + "Manufacturing -> Printing & Publishing -> Newspapers: Publishing or Publis": "sic1=20&sic2=27&sic3=2711&sicl=2711&sich=2720", + "Manufacturing -> Printing & Publishing -> Periodicals: Publishing or Publi": "sic1=20&sic2=27&sic3=2721&sicl=2721&sich=2730", + "Manufacturing -> Printing & Publishing -> Books: Publishing or Publishing": "sic1=20&sic2=27&sic3=2731&sicl=2731&sich=2731", + "Manufacturing -> Printing & Publishing -> Book Printing": "sic1=20&sic2=27&sic3=2732&sicl=2732&sich=2740", + "Manufacturing -> Printing & Publishing -> Miscellaneous Publishing": "sic1=20&sic2=27&sic3=2741&sicl=2741&sich=2749", + "Manufacturing -> Printing & Publishing -> Commercial Printing": "sic1=20&sic2=27&sic3=2750&sicl=2750&sich=2760", + "Manufacturing -> Printing & Publishing -> Manifold Business Forms": "sic1=20&sic2=27&sic3=2761&sicl=2761&sich=2770", + "Manufacturing -> Printing & Publishing -> Greeting Cards": "sic1=20&sic2=27&sic3=2771&sicl=2771&sich=2779", + "Manufacturing -> Printing & Publishing -> Blankbooks, Looseleaf Binders &": "sic1=20&sic2=27&sic3=2780&sicl=2780&sich=2789", + "Manufacturing -> Printing & Publishing ->Service Industries For The Print": "sic1=20&sic2=27&sic3=2790&sicl=2790&sich=2799", + "Manufacturing -> Chemicals": "sic1=20&sic2=28&sic3=0&sicl=2800&sich=2899", + "Manufacturing -> Chemicals -> Chemicals & Allied Products": "sic1=20&sic2=28&sic3=2800&sicl=2800&sich=2809", + "Manufacturing -> Chemicals -> Industrial Inorganic Chemicals": "sic1=20&sic2=28&sic3=2810&sicl=2810&sich=2819", + "Manufacturing -> Chemicals -> Plastic Material, Synth Resin/Ru": "sic1=20&sic2=28&sic3=2820&sicl=2820&sich=2820", + "Manufacturing -> Chemicals -> Plastic Material, Synth Resins": "sic1=20&sic2=28&sic3=2821&sicl=2821&sich=2832", + "Manufacturing -> Chemicals -> Medicinal Chemicals & Botanical": "sic1=20&sic2=28&sic3=2833&sicl=2833&sich=2833", + "Manufacturing -> Chemicals -> Pharmaceutical Preparations": "sic1=20&sic2=28&sic3=2834&sicl=2834&sich=2834", + "Manufacturing -> Chemicals -> In Vitro & In Vito Diagnostic Su": "sic1=20&sic2=28&sic3=2835&sicl=2835&sich=2835", + "Manufacturing -> Chemicals -> Biological Products ,(No Diagnos": "sic1=20&sic2=28&sic3=2836&sicl=2836&sich=2839", + "Manufacturing -> Chemicals -> Soap, Detergents, Cleaning, Perf": "sic1=20&sic2=28&sic3=2840&sicl=2840&sich=2841", + "Manufacturing -> Chemicals -> Specialty Cleaning, Polishing &": "sic1=20&sic2=28&sic3=2842&sicl=2842&sich=2843", + "Manufacturing -> Chemicals -> Perfumes, Cosmetics & Other Toil": "sic1=20&sic2=28&sic3=2844&sicl=2844&sich=2850", + "Manufacturing -> Chemicals -> Paints, Varnishes, Lacquers, Ena": "sic1=20&sic2=28&sic3=2851&sicl=2851&sich=2859", + "Manufacturing -> Chemicals -> Industrial Organic Chemicals": "sic1=20&sic2=28&sic3=2860&sicl=2860&sich=2869", + "Manufacturing -> Chemicals ->Agriculture Chemicals": "sic1=20&sic2=28&sic3=2870&sicl=2870&sich=2889", + "Manufacturing -> Chemicals -> Miscellaneous Chemical Products": "sic1=20&sic2=28&sic3=2890&sicl=2890&sich=2890", + "Manufacturing -> Chemicals -> Adhesives & Sealants": "sic1=20&sic2=28&sic3=2891&sicl=2891&sich=2910", + "Manufacturing -> Petroleum Refining": "sic1=20&sic2=29&sic3=0&sicl=2900&sich=2999", + "Manufacturing -> Petroleum Refining -> Petroleum Refining": "sic1=20&sic2=29&sic3=2911&sicl=2911&sich=2949", + "Manufacturing -> Petroleum Refining -> Asphalt Paving & Roofing Materia": "sic1=20&sic2=29&sic3=2950&sicl=2950&sich=2989", + "Manufacturing -> Petroleum Refining -> Miscellaneous Products of Petrol": "sic1=20&sic2=29&sic3=2990&sicl=2990&sich=3010", + "Manufacturing -> Rubber & Plastic": "sic1=20&sic2=30&sic3=0&sicl=3000&sich=3099", + "Manufacturing -> Rubber & Plastic -> Tires & Inner Tubes": "sic1=20&sic2=30&sic3=3011&sicl=3011&sich=3020", + "Manufacturing -> Rubber & Plastic -> Rubber & Plastics Footwear": "sic1=20&sic2=30&sic3=3021&sicl=3021&sich=3049", + "Manufacturing -> Rubber & Plastic -> Gaskets & Packg & Sealg Devices &": "sic1=20&sic2=30&sic3=3050&sicl=3050&sich=3059", + "Manufacturing -> Rubber & Plastic -> Fabricated Rubber Products": "sic1=20&sic2=30&sic3=3060&sicl=3060&sich=3079", + "Manufacturing -> Rubber & Plastic -> Miscellaneous Plastics Products": "sic1=20&sic2=30&sic3=3080&sicl=3080&sich=3080", + "Manufacturing -> Rubber & Plastic -> Unsupported Plastics Film & Shee": "sic1=20&sic2=30&sic3=3081&sicl=3081&sich=3085", + "Manufacturing -> Rubber & Plastic -> Plastics Foam Products": "sic1=20&sic2=30&sic3=3086&sicl=3086&sich=3088", + "Manufacturing -> Rubber & Plastic -> Plastics Products": "sic1=20&sic2=30&sic3=3089&sicl=3089&sich=3099", + "Manufacturing -> Leather": "sic1=20&sic2=31&sic3=0&sicl=3100&sich=3199", + "Manufacturing -> Leather -> Leather Products": "sic1=20&sic2=31&sic3=3100&sicl=3100&sich=3139", + "Manufacturing -> Leather -> Footwear, (No Rubber)": "sic1=20&sic2=31&sic3=3140&sicl=3140&sich=3210", + "Manufacturing -> Stone, Clay, Glass & Concrete": "sic1=20&sic2=32&sic3=0&sicl=3200&sich=3299", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Flat Glass": "sic1=20&sic2=32&sic3=3211&sicl=3211&sich=3219", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Glass & Glasswear, Pressed or Bl": "sic1=20&sic2=32&sic3=3220&sicl=3220&sich=3220", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Glass Containers": "sic1=20&sic2=32&sic3=3221&sicl=3221&sich=3230", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Glass Products Made of Purchase": "sic1=20&sic2=32&sic3=3231&sicl=3231&sich=3240", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Cements, Hydrallic": "sic1=20&sic2=32&sic3=3241&sicl=3241&sich=3249", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Structural Clay Products": "sic1=20&sic2=32&sic3=3250&sicl=3250&sich=3259", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Pottery & Related Products": "sic1=20&sic2=32&sic3=3260&sicl=3260&sich=3269", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Concreate, Gypsum & Plaster Produ": "sic1=20&sic2=32&sic3=3270&sicl=3270&sich=3271", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Concrete Products, Except Block": "sic1=20&sic2=32&sic3=3272&sicl=3272&sich=3280", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Cut Stone & Stone Products": "sic1=20&sic2=32&sic3=3281&sicl=3281&sich=3289", + "Manufacturing -> Stone, Clay, Glass & Concrete -> Abrasive, Asbestos & Misc Nonmet": "sic1=20&sic2=32&sic3=3290&sicl=3290&sich=3309", + "Manufacturing -> Primary Metal": "sic1=20&sic2=33&sic3=0&sicl=3300&sich=3399", + "Manufacturing -> Primary Metal -> Steel Works, Blast Furnaces & Ro": "sic1=20&sic2=33&sic3=3310&sicl=3310&sich=3311", + "Manufacturing -> Primary Metal -> Steel Works, Blast Furnaces & R": "sic1=20&sic2=33&sic3=3312&sicl=3312&sich=3316", + "Manufacturing -> Primary Metal -> Steel Pipe & Tubes": "sic1=20&sic2=33&sic3=3317&sicl=3317&sich=3319", + "Manufacturing -> Primary Metal -> Iron & Steel Foundries": "sic1=20&sic2=33&sic3=3320&sicl=3320&sich=3329", + "Manufacturing -> Primary Metal -> Primary Smelting & Refining of N": "sic1=20&sic2=33&sic3=3330&sicl=3330&sich=3333", + "Manufacturing -> Primary Metal -> Primary Production of Aluminium": "sic1=20&sic2=33&sic3=3334&sicl=3334&sich=3340", + "Manufacturing -> Primary Metal -> Secondary Smelting & Refining of": "sic1=20&sic2=33&sic3=3341&sicl=3341&sich=3349", + "Manufacturing -> Primary Metal -> Rolling Drawing & Extruding of N": "sic1=20&sic2=33&sic3=3350&sicl=3350&sich=3356", + "Manufacturing -> Primary Metal -> Drawing & Insulating of Non Ferro": "sic1=20&sic2=33&sic3=3357&sicl=3357&sich=3359", + "Manufacturing -> Primary Metal -> Nonferrous Foundries (Castings)": "sic1=20&sic2=33&sic3=3360&sicl=3360&sich=3389", + "Manufacturing -> Primary Metal -> Miscellaneous Primary Metal Prod": "sic1=20&sic2=33&sic3=3390&sicl=3390&sich=3410", + "Manufacturing -> Fabricated Metal Products": "sic1=20&sic2=34&sic3=0&sicl=3400&sich=3499", + "Manufacturing -> Fabricated Metal Products -> Metal Cans": "sic1=20&sic2=34&sic3=3411&sicl=3411&sich=3411", + "Manufacturing -> Fabricated Metal Products -> Metal Shipping Barrels, Drums, K": "sic1=20&sic2=34&sic3=3412&sicl=3412&sich=3419", + "Manufacturing -> Fabricated Metal Products -> Cutlery, Handtools & General Har": "sic1=20&sic2=34&sic3=3420&sicl=3420&sich=3429", + "Manufacturing -> Fabricated Metal Products -> Hearing Equip, Except Elec & War": "sic1=20&sic2=34&sic3=3430&sicl=3430&sich=3432", + "Manufacturing -> Fabricated Metal Products -> Heating Equipment, Except Electr": "sic1=20&sic2=34&sic3=3433&sicl=3433&sich=3439", + "Manufacturing -> Fabricated Metal Products -> Fabricated Structural Metal Prod": "sic1=20&sic2=34&sic3=3440&sicl=3440&sich=3441", + "Manufacturing -> Fabricated Metal Products -> Metal Doors, Sash, Frames, Moldi": "sic1=20&sic2=34&sic3=3442&sicl=3442&sich=3442", + "Manufacturing -> Fabricated Metal Products -> Fabricated Plate Work (Boiler Sh": "sic1=20&sic2=34&sic3=3443&sicl=3443&sich=3443", + "Manufacturing -> Fabricated Metal Products -> Sheet Metal Work": "sic1=20&sic2=34&sic3=3444&sicl=3444&sich=3447", + "Manufacturing -> Fabricated Metal Products -> Prefabricated Metal Buildings &": "sic1=20&sic2=34&sic3=3448&sicl=3448&sich=3450", + "Manufacturing -> Fabricated Metal Products -> Screw Machine Products": "sic1=20&sic2=34&sic3=3451&sicl=3451&sich=3451", + "Manufacturing -> Fabricated Metal Products -> Bolts, Nuts, Screws, Rivets & Wa": "sic1=20&sic2=34&sic3=3452&sicl=3452&sich=3459", + "Manufacturing -> Fabricated Metal Products -> Metal Forgings & Stampings": "sic1=20&sic2=34&sic3=3460&sicl=3460&sich=3469", + "Manufacturing -> Fabricated Metal Products -> Coating, Engraving & Allied Serv": "sic1=20&sic2=34&sic3=3470&sicl=3470&sich=3479", + "Manufacturing -> Fabricated Metal Products -> Ordnance & Accessories, (No Vehi": "sic1=20&sic2=34&sic3=3480&sicl=3480&sich=3489", + "Manufacturing -> Fabricated Metal Products -> Miscellaneous Fabricated Metal P": "sic1=20&sic2=34&sic3=3490&sicl=3490&sich=3509", + "Manufacturing -> Ind Machinery & Computers": "sic1=20&sic2=35&sicl=3500&sich=3599", + "Manufacturing -> Ind Machinery & Computers -> Engines & Turbines": "sic1=20&sic2=35&sic3=3510&sicl=3510&sich=3522", + "Manufacturing -> Ind Machinery & Computers -> Farm Machinery & Equipment": "sic1=20&sic2=35&sic3=3523&sicl=3523&sich=3523", + "Manufacturing -> Ind Machinery & Computers -> Lawn & Garden Tractors & Home La": "sic1=20&sic2=35&sic3=3524&sicl=3524&sich=3529", + "Manufacturing -> Ind Machinery & Computers -> Construction, Mining & Materials": "sic1=20&sic2=35&sic3=3530&sicl=3530&sich=3530", + "Manufacturing -> Ind Machinery & Computers -> Construction Machinery & Equip": "sic1=20&sic2=35&sic3=3531&sicl=3531&sich=3531", + "Manufacturing -> Ind Machinery & Computers -> Mining Machinery & Equip (No Oil": "sic1=20&sic2=35&sic3=3532&sicl=3532&sich=3532", + "Manufacturing -> Ind Machinery & Computers -> Oil & Gas Field Machinery & Equi": "sic1=20&sic2=35&sic3=3533&sicl=3533&sich=3536", + "Manufacturing -> Ind Machinery & Computers -> Industrial Trucks, Tractors, Tra": "sic1=20&sic2=35&sic3=3537&sicl=3537&sich=3539", + "Manufacturing -> Ind Machinery & Computers -> Metalworking Machinery & Equipment": "sic1=20&sic2=35&sic3=3540&sicl=3540&sich=3540", + "Manufacturing -> Ind Machinery & Computers -> Machine Tools, Metal Cutting Typ": "sic1=20&sic2=35&sic3=3541&sicl=3541&sich=3549", + "Manufacturing -> Ind Machinery & Computers -> Special Industry Machinery (No M": "sic1=20&sic2=35&sic3=3550&sicl=3550&sich=3554", + "Manufacturing -> Ind Machinery & Computers -> Printing Trades Machinery & Equi": "sic1=20&sic2=35&sic3=3555&sicl=3555&sich=3558", + "Manufacturing -> Ind Machinery & Computers -> Special Industry Machinery": "sic1=20&sic2=35&sic3=3559&sicl=3559&sich=3559", + "Manufacturing -> Ind Machinery & Computers -> General Industrial Machinery & E": "sic1=20&sic2=35&sic3=3560&sicl=3560&sich=3560", + "Manufacturing -> Ind Machinery & Computers -> Pumps & Pumping Equipment": "sic1=20&sic2=35&sic3=3561&sicl=3561&sich=3561", + "Manufacturing -> Ind Machinery & Computers -> Ball & Roller Bearings": "sic1=20&sic2=35&sic3=3562&sicl=3562&sich=3563", + "Manufacturing -> Ind Machinery & Computers -> Industrial & Commercial Fans & B": "sic1=20&sic2=35&sic3=3564&sicl=3564&sich=3566", + "Manufacturing -> Ind Machinery & Computers -> Industrial Process Furnaces & Ov": "sic1=20&sic2=35&sic3=3567&sicl=3567&sich=3568", + # "Manufacturing -> Ind Machinery & Computers -> General Industrial Machinery & E": "sic1=20&sic2=35&sic3=3569&sicl=3569&sich=3569", + "Manufacturing -> Ind Machinery & Computers -> Computer & Office Equipment": "sic1=20&sic2=35&sic3=3570&sicl=3570&sich=3570", + "Manufacturing -> Ind Machinery & Computers -> Electronic Computers": "sic1=20&sic2=35&sic3=3571&sicl=3571&sich=3571", + "Manufacturing -> Ind Machinery & Computers -> Computer Storage Devices": "sic1=20&sic2=35&sic3=3572&sicl=3572&sich=3574", + "Manufacturing -> Ind Machinery & Computers -> Computer Terminals": "sic1=20&sic2=35&sic3=3575&sicl=3575&sich=3575", + "Manufacturing -> Ind Machinery & Computers -> Computer Communications Equipmen": "sic1=20&sic2=35&sic3=3576&sicl=3576&sich=3576", + "Manufacturing -> Ind Machinery & Computers -> Computer Peripheral Equipment": "sic1=20&sic2=35&sic3=3577&sicl=3577&sich=3577", + "Manufacturing -> Ind Machinery & Computers -> Calculating & Accounting Machine": "sic1=20&sic2=35&sic3=3578&sicl=3578&sich=3578", + "Manufacturing -> Ind Machinery & Computers -> Office Machines": "sic1=20&sic2=35&sic3=3579&sicl=3579&sich=3579", + "Manufacturing -> Ind Machinery & Computers -> Refrigeration & Service Industry": "sic1=20&sic2=35&sic3=3580&sicl=3580&sich=3584", + "Manufacturing -> Ind Machinery & Computers -> Air-Cond & Warm Air Heatg Equip": "sic1=20&sic2=35&sic3=3585&sicl=3585&sich=3589", + "Manufacturing -> Ind Machinery & Computers -> Misc Industrial & Commercial Mac": "sic1=20&sic2=35&sic3=3590&sicl=3590&sich=3599", + "Manufacturing -> Electronics": "sic1=20&sic2=36&sic3=0&sicl=3600&sich=3699", + "Manufacturing -> Electronics -> Electronic & Other Electrical Eq": "sic1=20&sic2=36&sic3=3600&sicl=3600&sich=3611", + "Manufacturing -> Electronics -> Power, Distribution & Specialty": "sic1=20&sic2=36&sic3=3612&sicl=3612&sich=3612", + "Manufacturing -> Electronics -> Switchgear & Switchboard Apparat": "sic1=20&sic2=36&sic3=3613&sicl=3613&sich=3619", + "Manufacturing -> Electronics -> Electrical Industrial Apparatus": "sic1=20&sic2=36&sic3=3620&sicl=3620&sich=3620", + "Manufacturing -> Electronics -> Motors & Generators": "sic1=20&sic2=36&sic3=3621&sicl=3621&sich=3629", + "Manufacturing -> Electronics -> Household Appliances": "sic1=20&sic2=36&sic3=3630&sicl=3630&sich=3633", + "Manufacturing -> Electronics -> Electric Housewares & Fans": "sic1=20&sic2=36&sic3=3634&sicl=3634&sich=3639", + "Manufacturing -> Electronics -> Electric Lighting & Wiring Equip": "sic1=20&sic2=36&sic3=3640&sicl=3640&sich=3650", + "Manufacturing -> Electronics -> Household Audio & Video Equipmen": "sic1=20&sic2=36&sic3=3651&sicl=3651&sich=3651", + "Manufacturing -> Electronics -> Phonograph Records & Prerecorded": "sic1=20&sic2=36&sic3=3652&sicl=3652&sich=3660", + "Manufacturing -> Electronics -> Telephone & Telegraph Apparatus": "sic1=20&sic2=36&sic3=3661&sicl=3661&sich=3662", + "Manufacturing -> Electronics -> Radio & Tv Broadcasting & Commun": "sic1=20&sic2=36&sic3=3663&sicl=3663&sich=3668", + "Manufacturing -> Electronics -> Communications Equipment": "sic1=20&sic2=36&sic3=3669&sicl=3669&sich=3669", + "Manufacturing -> Electronics -> Electronic Components & Accessor": "sic1=20&sic2=36&sic3=3670&sicl=3670&sich=3671", + "Manufacturing -> Electronics -> Printed Circuit Boards": "sic1=20&sic2=36&sic3=3672&sicl=3672&sich=3673", + "Manufacturing -> Electronics -> Semiconductors & Related Devices": "sic1=20&sic2=36&sic3=3674&sicl=3674&sich=3676", + "Manufacturing -> Electronics -> Electronic Coils & Transformers &": "sic1=20&sic2=36&sic3=3677&sicl=3677&sich=3677", + "Manufacturing -> Electronics -> Electronic Connectors": "sic1=20&sic2=36&sic3=3678&sicl=3678&sich=3678", + "Manufacturing -> Electronics -> Electronic Components": "sic1=20&sic2=36&sic3=3679&sicl=3679&sich=3689", + "Manufacturing -> Electronics -> Miscellaneous Electrical Machine": "sic1=20&sic2=36&sic3=3690&sicl=3690&sich=3694", + "Manufacturing -> Electronics -> Magnetic & Optical Recording Med": "sic1=20&sic2=36&sic3=3695&sicl=3695&sich=3710", + "Manufacturing -> Transportation Equipment": "sic1=20&sic2=37&sic3=0&sicl=3700&sich=3799", + "Manufacturing -> Transportation Equipment -> Motor Vehicles & Passenger Car B": "sic1=20&sic2=37&sic3=3711&sicl=3711&sich=3712", + "Manufacturing -> Transportation Equipment -> Truck & Bus Bodies": "sic1=20&sic2=37&sic3=3713&sicl=3713&sich=3713", + "Manufacturing -> Transportation Equipment -> Motor Vehicle Parts & Accessorie": "sic1=20&sic2=37&sic3=3714&sicl=3714&sich=3714", + "Manufacturing -> Transportation Equipment -> Truck Trailers": "sic1=20&sic2=37&sic3=3715&sicl=3715&sich=3715", + "Manufacturing -> Transportation Equipment -> Motor Homes": "sic1=20&sic2=37&sic3=3716&sicl=3716&sich=3719", + "Manufacturing -> Transportation Equipment -> Aircraft & Parts": "sic1=20&sic2=37&sic3=3720&sicl=3720&sich=3720", + "Manufacturing -> Transportation Equipment -> Aircraft": "sic1=20&sic2=37&sic3=3721&sicl=3721&sich=3723", + "Manufacturing -> Transportation Equipment -> Aircraft Engines & Engine Parts": "sic1=20&sic2=37&sic3=3724&sicl=3724&sich=3727", + "Manufacturing -> Transportation Equipment -> Aircraft Parts & Auxiliary Equip": "sic1=20&sic2=37&sic3=3728&sicl=3728&sich=3729", + "Manufacturing -> Transportation Equipment -> Ship & Boat Building & Repairing": "sic1=20&sic2=37&sic3=3730&sicl=3730&sich=3742", + "Manufacturing -> Transportation Equipment -> Railroad Equipment": "sic1=20&sic2=37&sic3=3743&sicl=3743&sich=3750", + "Manufacturing -> Transportation Equipment -> Motorcycles, Bicycles & Parts": "sic1=20&sic2=37&sic3=3751&sicl=3751&sich=3759", + "Manufacturing -> Transportation Equipment -> Guided Missiles & Space Vehicles": "sic1=20&sic2=37&sic3=3760&sicl=3760&sich=3789", + "Manufacturing -> Transportation Equipment -> Miscellaneous Transportation Equ": "sic1=20&sic2=37&sic3=3790&sicl=3790&sich=3811", + "Manufacturing -> Specialty Instruments": "sic1=20&sic2=38&sicl=3800&sich=3899", + "Manufacturing -> Specialty Instruments -> Search, Detection, Navagation, G": "sic1=20&sic2=38&sic3=3812&sicl=3812&sich=3820", + "Manufacturing -> Specialty Instruments -> Laboratory Apparatus & Furniture": "sic1=20&sic2=38&sic3=3821&sicl=3821&sich=3821", + "Manufacturing -> Specialty Instruments -> Auto Controls For Regulating Res": "sic1=20&sic2=38&sic3=3822&sicl=3822&sich=3822", + "Manufacturing -> Specialty Instruments -> Industrial Instruments For Measu": "sic1=20&sic2=38&sic3=3823&sicl=3823&sich=3823", + "Manufacturing -> Specialty Instruments -> Totalizing Fluid & Counti": "sic1=20&sic2=38&sic3=3824&sicl=3824&sich=3824", + "Manufacturing -> Specialty Instruments -> Instruments For Meas & Testing o": "sic1=20&sic2=38&sic3=3825&sicl=3825&sich=3825", + "Manufacturing -> Specialty Instruments -> Laboratory Analytical Instrument": "sic1=20&sic2=38&sic3=3826&sicl=3826&sich=3826", + "Manufacturing -> Specialty Instruments -> Optical Instruments & Lenses": "sic1=20&sic2=38&sic3=3827&sicl=3827&sich=3828", + "Manufacturing -> Specialty Instruments -> Measuring & Controlling Devices": "sic1=20&sic2=38&sic3=3829&sicl=3829&sich=3840", + "Manufacturing -> Specialty Instruments -> Surgical & Medical Instruments &": "sic1=20&sic2=38&sic3=3841&sicl=3841&sich=3841", + "Manufacturing -> Specialty Instruments -> Orthopedic, Prosthetic & Surgica": "sic1=20&sic2=38&sic3=3842&sicl=3842&sich=3842", + "Manufacturing -> Specialty Instruments -> Dental Equipment & Supplies": "sic1=20&sic2=38&sic3=3843&sicl=3843&sich=3843", + "Manufacturing -> Specialty Instruments -> X-Ray Apparatus & Tubes & Relate": "sic1=20&sic2=38&sic3=3844&sicl=3844&sich=3844", + "Manufacturing -> Specialty Instruments -> Electromedical & Electrotherapeu": "sic1=20&sic2=38&sic3=3845&sicl=3845&sich=3850", + "Manufacturing -> Specialty Instruments -> Ophthalmic Goods": "sic1=20&sic2=38&sic3=3851&sicl=3851&sich=3860", + "Manufacturing -> Specialty Instruments -> Photographic Equipment & Supplie": "sic1=20&sic2=38&sic3=3861&sicl=3861&sich=3872", + "Manufacturing -> Specialty Instruments -> Watches, Clocks, Clockwork Opera": "sic1=20&sic2=38&sic3=3873&sicl=3873&sich=3909", + "Manufacturing -> Miscellaneous Manufacturing": "sic1=20&sic2=39&sic3=0&sicl=3900&sich=3999", + "Manufacturing -> Miscellaneous Manufacturing -> Jewelry, Silverware & Plated War": "sic1=20&sic2=39&sic3=3910&sicl=3910&sich=3910", + "Manufacturing -> Miscellaneous Manufacturing -> Jewelry, Precious Metal": "sic1=20&sic2=39&sic3=3911&sicl=3911&sich=3930", + "Manufacturing -> Miscellaneous Manufacturing -> Musical Instruments": "sic1=20&sic2=39&sic3=3931&sicl=3931&sich=3941", + "Manufacturing -> Miscellaneous Manufacturing -> Dolls & Stuffed Toys": "sic1=20&sic2=39&sic3=3942&sicl=3942&sich=3943", + "Manufacturing -> Miscellaneous Manufacturing -> Games, Toys & Children’s Vehicle": "sic1=20&sic2=39&sic3=3944&sicl=3944&sich=3948", + "Manufacturing -> Miscellaneous Manufacturing -> Sporting & Athletic Goods": "sic1=20&sic2=39&sic3=3949&sicl=3949&sich=3949", + "Manufacturing -> Miscellaneous Manufacturing -> Pens, Pencils & Other Artists’ M": "sic1=20&sic2=39&sic3=3950&sicl=3950&sich=3959", + "Manufacturing -> Miscellaneous Manufacturing -> Costumes Jewelry & Novelties": "sic1=20&sic2=39&sic3=3960&sicl=3960&sich=3989", + "Manufacturing -> Miscellaneous Manufacturing -> Miscellaneous Manufacturing Indu": "sic1=20&sic2=39&sic3=3990&sicl=3990&sich=4010", + "Transportation & Utilities": "sic1=40&sic2=0&sicl=4000&sich=4999", + "Transportation & Utilities -> Railroads": "sic1=40&sic2=40&sicl=4000&sich=4099", + "Transportation & Utilities -> Railroads -> Railroads, Line-Haul Operating": "sic1=40&sic2=40&sic3=4011&sicl=4011&sich=4012", + "Transportation & Utilities -> Railroads -> Railroad Switching & Terminal Es": "sic1=40&sic2=40&sic3=4013&sicl=4013&sich=4099", + "Transportation & Utilities -> Passenger Road Transportation": "sic1=40&sic2=41&sicl=4100&sich=4209", + "Transportation & Utilities -> Road Freight Transportation": "sic1=40&sic2=42&sic3=0&sicl=4200&sich=4299", + "Transportation & Utilities -> Road Freight Transportation -> Trucking & Courier Services (No": "sic1=40&sic2=42&sic3=4210&sicl=4210&sich=4212", + "Transportation & Utilities -> Road Freight Transportation -> Trucking (No Local)": "sic1=40&sic2=42&sic3=4213&sicl=4213&sich=4219", + "Transportation & Utilities -> Road Freight Transportation -> Public Warehousing & Storage": "sic1=40&sic2=42&sic3=4220&sicl=4220&sich=4230", + "Transportation & Utilities -> Road Freight Transportation -> Terminal Maintenance Facilities": "sic1=40&sic2=42&sic3=4231&sicl=4231&sich=4399", + "Transportation & Utilities -> USPS": "sic1=40&sic2=43&sicl=4300&sich=4399", + "Transportation & Utilities -> Water Transportation": "sic1=40&sic2=44&sic3=0&sicl=4400&sich=4499", + "Transportation & Utilities -> Water Transportation -> Water Transportation": "sic1=40&sic2=44&sic3=4400&sicl=4400&sich=4411", + "Transportation & Utilities -> Water Transportation -> Deep Sea Foreign Transportation": "sic1=40&sic2=44&sic3=4412&sicl=4412&sich=4511", + "Transportation & Utilities -> Air Transportation": "sic1=40&sic2=45&sic3=0&sicl=4500&sich=4599", + "Transportation & Utilities -> Air Transportation -> Air Transportation, Scheduled": "sic1=40&sic2=45&sic3=4512&sicl=4512&sich=4512", + "Transportation & Utilities -> Air Transportation -> Air Courier Services": "sic1=40&sic2=45&sic3=4513&sicl=4513&sich=4521", + "Transportation & Utilities -> Air Transportation -> Air Transportation, Nonscheduled": "sic1=40&sic2=45&sic3=4522&sicl=4522&sich=4580", + "Transportation & Utilities -> Air Transportation -> Airports, Flying Fields & Airpor": "sic1=40&sic2=45&sic3=4581&sicl=4581&sich=4609", + "Transportation & Utilities -> Pipelines": "sic1=40&sic2=46&sicl=4610&sich=4699", + "Transportation & Utilities -> Transportation Services": "sic1=40&sic2=47&sic3=0&sicl=4700&sich=4799", + "Transportation & Utilities -> Transportation Services -> Transportation Services": "sic1=40&sic2=47&sic3=4700&sicl=4700&sich=4730", + "Transportation & Utilities -> Transportation Services -> Arrangement of Transportation of": "sic1=40&sic2=47&sic3=4731&sicl=4731&sich=4811", + "Transportation & Utilities -> Communications": "sic1=40&sic2=48&sic3=0&sicl=4800&sich=4899", + "Transportation & Utilities -> Communications -> Radiotelephone Communications": "sic1=40&sic2=48&sic3=4812&sicl=4812&sich=4812", + "Transportation & Utilities -> Communications -> Telephone Communications (No Rad": "sic1=40&sic2=48&sic3=4813&sicl=4813&sich=4821", + "Transportation & Utilities -> Communications -> Telegraph & Other Message Commun": "sic1=40&sic2=48&sic3=4822&sicl=4822&sich=4831", + "Transportation & Utilities -> Communications -> Radio Broadcasting Stations": "sic1=40&sic2=48&sic3=4832&sicl=4832&sich=4832", + "Transportation & Utilities -> Communications -> Television Broadcasting Stations": "sic1=40&sic2=48&sic3=4833&sicl=4833&sich=4840", + "Transportation & Utilities -> Communications -> Cable & Other Pay Television Ser": "sic1=40&sic2=48&sic3=4841&sicl=4841&sich=4898", + "Transportation & Utilities -> Communications -> Communications Services": "sic1=40&sic2=48&sic3=4899&sicl=4899&sich=4899", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs": "sic1=40&sic2=49&sic3=0&sicl=4900&sich=4999", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric, Gas, & Sanitary Svcs": "sic1=40&sic2=49&sic3=4900&sicl=4900&sich=4910", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric Services": "sic1=40&sic2=49&sic3=4911&sicl=4911&sich=4921", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Transmission": "sic1=40&sic2=49&sic3=4922&sicl=4922&sich=4922", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Transmission & Distr": "sic1=40&sic2=49&sic3=4923&sicl=4923&sich=4923", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Distribution": "sic1=40&sic2=49&sic3=4924&sicl=4924&sich=4930", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric & Other Services Combin": "sic1=40&sic2=49&sic3=4931&sicl=4931&sich=4931", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Gas & Other Services Combined": "sic1=40&sic2=49&sic3=4932&sicl=4932&sich=4940", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Water Supply": "sic1=40&sic2=49&sic3=4941&sicl=4941&sich=4949", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Sanitary Services": "sic1=40&sic2=49&sic3=4950&sicl=4950&sich=4952", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Refuse Systems": "sic1=40&sic2=49&sic3=4953&sicl=4953&sich=4954", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Hazardous Waste Management": "sic1=40&sic2=49&sic3=4955&sicl=4955&sich=4960", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Steam & Air-Conditioning Supply": "sic1=40&sic2=49&sic3=4961&sicl=4961&sich=4990", + "Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Cogeneration Services & Small Po": "sic1=40&sic2=49&sic3=4991&sicl=4991&sich=4999", + "Wholesale Trade": "sic1=50&sic2=0&sicl=5000&sich=5199", + "Wholesale Trade -> Durable Goods -> Durable Goods": "sic1=50&sic2=50&sic3=5000&sicl=5000&sich=5009", + "Wholesale Trade -> Durable Goods -> Motor Vehicles & Motor Vehicle P": "sic1=50&sic2=50&sic3=5010&sicl=5010&sich=5012", + "Wholesale Trade -> Durable Goods -> Motor Vehicles Supplies & New Par": "sic1=50&sic2=50&sic3=5013&sicl=5013&sich=5019", + "Wholesale Trade -> Durable Goods -> Furniture & Home Furnishings": "sic1=50&sic2=50&sic3=5020&sicl=5020&sich=5029", + "Wholesale Trade -> Durable Goods -> Lumber & Other Construction Mate": "sic1=50&sic2=50&sic3=5030&sicl=5030&sich=5030", + "Wholesale Trade -> Durable Goods -> Lumber, Plywood, Millwork & Wood": "sic1=50&sic2=50&sic3=5031&sicl=5031&sich=5039", + "Wholesale Trade -> Durable Goods -> Professional & Commercial Equipm": "sic1=50&sic2=50&sic3=5040&sicl=5040&sich=5044", + "Wholesale Trade -> Durable Goods -> Computers & Peripheral Equipment": "sic1=50&sic2=50&sic3=5045&sicl=5045&sich=5046", + "Wholesale Trade -> Durable Goods -> Medical, Dental & Hospital Equip": "sic1=50&sic2=50&sic3=5047&sicl=5047&sich=5049", + "Wholesale Trade -> Durable Goods -> Metals & Minerals (No Petroleum)": "sic1=50&sic2=50&sic3=5050&sicl=5050&sich=5050", + "Wholesale Trade -> Durable Goods -> Metals Services Centers & Offices": "sic1=50&sic2=50&sic3=5051&sicl=5051&sich=5062", + "Wholesale Trade -> Durable Goods -> Electrical Apparatus & Equipment": "sic1=50&sic2=50&sic3=5063&sicl=5063&sich=5063", + "Wholesale Trade -> Durable Goods -> Electrical Appliances, Tv & Radi": "sic1=50&sic2=50&sic3=5064&sicl=5064&sich=5064", + "Wholesale Trade -> Durable Goods -> Electronic Parts & Equipment": "sic1=50&sic2=50&sic3=5065&sicl=5065&sich=5069", + "Wholesale Trade -> Durable Goods -> Hardware & Plumbing & Heating Eq": "sic1=50&sic2=50&sic3=5070&sicl=5070&sich=5071", + "Wholesale Trade -> Durable Goods -> Hardware": "sic1=50&sic2=50&sic3=5072&sicl=5072&sich=5079", + "Wholesale Trade -> Durable Goods -> Machinery, Equipment & Supplies": "sic1=50&sic2=50&sic3=5080&sicl=5080&sich=5081", + "Wholesale Trade -> Durable Goods -> Construction & Mining (No Petro)": "sic1=50&sic2=50&sic3=5082&sicl=5082&sich=5083", + "Wholesale Trade -> Durable Goods -> Industrial Machinery & Equipment": "sic1=50&sic2=50&sic3=5084&sicl=5084&sich=5089", + "Wholesale Trade -> Durable Goods -> Misc Durable Goods": "sic1=50&sic2=50&sic3=5090&sicl=5090&sich=5093", + "Wholesale Trade -> Durable Goods -> Jewelry, Watches, Precious Stone": "sic1=50&sic2=50&sic3=5094&sicl=5094&sich=5098", + # "Wholesale Trade -> Durable Goods -> Durable Goods": "sic1=50&sic2=50&sic3=5099&sicl=5099&sich=5109", + "Wholesale Trade -> Nondurable Goods": "sic1=50&sic2=51&sic3=0&sicl=5100&sich=5199", + "Wholesale Trade -> Nondurable Goods -> Paper & Paper Products": "sic1=50&sic2=51&sic3=5110&sicl=5110&sich=5121", + "Wholesale Trade -> Nondurable Goods -> Drugs, Proprietaries & Druggists": "sic1=50&sic2=51&sic3=5122&sicl=5122&sich=5129", + "Wholesale Trade -> Nondurable Goods -> Apparel, Piece Goods & Notions": "sic1=50&sic2=51&sic3=5130&sicl=5130&sich=5139", + "Wholesale Trade -> Nondurable Goods -> Groceries & Related Products": "sic1=50&sic2=51&sic3=5140&sicl=5140&sich=5140", + "Wholesale Trade -> Nondurable Goods -> Groceries, General Line": "sic1=50&sic2=51&sic3=5141&sicl=5141&sich=5149", + "Wholesale Trade -> Nondurable Goods -> Farm Product Raw Materials": "sic1=50&sic2=51&sic3=5150&sicl=5150&sich=5159", + "Wholesale Trade -> Nondurable Goods -> Chemicals & Allied Products": "sic1=50&sic2=51&sic3=5160&sicl=5160&sich=5170", + "Wholesale Trade -> Nondurable Goods -> Petroleum Bulk Stations & Termin": "sic1=50&sic2=51&sic3=5171&sicl=5171&sich=5171", + "Wholesale Trade -> Nondurable Goods -> Petroleum & Petroleum Products (": "sic1=50&sic2=51&sic3=5172&sicl=5172&sich=5179", + "Wholesale Trade -> Nondurable Goods -> Beer, Wine & Distilled Alcoholic": "sic1=50&sic2=51&sic3=5180&sicl=5180&sich=5189", + "Wholesale Trade -> Nondurable Goods -> Miscellaneous Nondurable Goods": "sic1=50&sic2=51&sic3=5190&sicl=5190&sich=5199", + "Retail Trade": "sic1=52&sic2=0&sicl=5200&sich=5999", + "Retail Trade -> Building Materials": "sic1=52&sic2=52&sic3=0&sicl=5200&sich=5299", + "Retail Trade -> Building Materials -> Building Materials, Hardware, Ga": "sic1=52&sic2=52&sic3=5200&sicl=5200&sich=5210", + "Retail Trade -> Building Materials -> Lumber & Other Buildings Material": "sic1=52&sic2=52&sic3=5211&sicl=5211&sich=5270", + "Retail Trade -> Building Materials -> Mobile Home Dealers": "sic1=52&sic2=52&sic3=5271&sicl=5271&sich=5310", + "Retail Trade -> General Merchandise": "sic1=52&sic2=53&sicl=5300&sich=5399", + "Retail Trade -> General Merchandise -> Department Stores": "sic1=52&sic2=53&sic3=5311&sicl=5311&sich=5330", + "Retail Trade -> General Merchandise -> Variety Stores": "sic1=52&sic2=53&sic3=5331&sicl=5331&sich=5398", + "Retail Trade -> General Merchandise -> Misc General Merchandise Stores": "sic1=52&sic2=53&sic3=5399&sicl=5399&sich=5399", + "Retail Trade -> Grocery": "sic1=52&sic2=54&sic3=0&sicl=5400&sich=5499", + "Retail Trade -> Grocery -> Food Stores": "sic1=52&sic2=54&sic3=5400&sicl=5400&sich=5410", + "Retail Trade -> Grocery -> Grocery Stores": "sic1=52&sic2=54&sic3=5411&sicl=5411&sich=5411", + "Retail Trade -> Grocery -> Convenience Stores": "sic1=52&sic2=54&sic3=5412&sicl=5412&sich=5499", + "Retail Trade -> Auto Dealers & Service Stations": "sic1=52&sic2=55&sic3=0&sicl=5500&sich=5599", + "Retail Trade -> Auto Dealers & Service Stations -> Auto Dealers & Gasoline Stations": "sic1=52&sic2=55&sic3=5500&sicl=5500&sich=5530", + "Retail Trade -> Auto Dealers & Service Stations -> Auto & Home Supply Stores": "sic1=52&sic2=55&sic3=5531&sicl=5531&sich=5599", + "Retail Trade -> Apparel & Accessory Stores": "sic1=52&sic2=56&sic3=0&sicl=5600&sich=5699", + "Retail Trade -> Apparel & Accessory Stores -> Apparel & Accessory Stores": "sic1=52&sic2=56&sic3=5600&sicl=5600&sich=5620", + "Retail Trade -> Apparel & Accessory Stores -> Women’s Clothing Stores": "sic1=52&sic2=56&sic3=5621&sicl=5621&sich=5650", + "Retail Trade -> Apparel & Accessory Stores -> Family Clothing Stores": "sic1=52&sic2=56&sic3=5651&sicl=5651&sich=5660", + "Retail Trade -> Apparel & Accessory Stores -> Shoe Stores": "sic1=52&sic2=56&sic3=5661&sicl=5661&sich=5699", + "Retail Trade -> Home Furniture": "sic1=52&sic2=57&sic3=0&sicl=5700&sich=5799", + "Retail Trade -> Home Furniture -> Home Furniture, Furnishings & Eq": "sic1=52&sic2=57&sic3=5700&sicl=5700&sich=5711", + "Retail Trade -> Home Furniture -> Furniture Stores": "sic1=52&sic2=57&sic3=5712&sicl=5712&sich=5730", + "Retail Trade -> Home Furniture -> Ratio, Tv & Consumer Electronics": "sic1=52&sic2=57&sic3=5731&sicl=5731&sich=5733", + "Retail Trade -> Home Furniture -> Computer & Computer Software Sto": "sic1=52&sic2=57&sic3=5734&sicl=5734&sich=5734", + "Retail Trade -> Home Furniture -> Record & Prerecord Tape Stores": "sic1=52&sic2=57&sic3=5735&sicl=5735&sich=5809", + "Retail Trade -> Eating & Drinking Places": "sic1=52&sic2=58&sic3=0&sicl=5800&sich=5899", + "Retail Trade -> Eating & Drinking Places -> Eating & Drinking Places": "sic1=52&sic2=58&sic3=5810&sicl=5810&sich=5811", + "Retail Trade -> Eating & Drinking Places -> Eating Places": "sic1=52&sic2=58&sic3=5812&sicl=5812&sich=5899", + "Retail Trade -> Miscellaneous Retail": "sic1=52&sic2=59&sic3=0&sicl=5900&sich=5999", + "Retail Trade -> Miscellaneous Retail -> Miscellaneous Retail": "sic1=52&sic2=59&sic3=5900&sicl=5900&sich=5911", + "Retail Trade -> Miscellaneous Retail -> Drug Stores & Proprietary Stores": "sic1=52&sic2=59&sic3=5912&sicl=5912&sich=5939", + "Retail Trade -> Miscellaneous Retail -> Miscellaneous Shopping Goods Sto": "sic1=52&sic2=59&sic3=5940&sicl=5940&sich=5943", + "Retail Trade -> Miscellaneous Retail -> Jewelry Stores": "sic1=52&sic2=59&sic3=5944&sicl=5944&sich=5944", + "Retail Trade -> Miscellaneous Retail -> Hobby, Toy & Game Shops": "sic1=52&sic2=59&sic3=5945&sicl=5945&sich=5959", + "Retail Trade -> Miscellaneous Retail -> Nonstore Retailers": "sic1=52&sic2=59&sic3=5960&sicl=5960&sich=5960", + "Retail Trade -> Miscellaneous Retail -> Catalog & Mail-Order Houses": "sic1=52&sic2=59&sic3=5961&sicl=5961&sich=5989", + "Retail Trade -> Miscellaneous Retail -> Retail Stores": "sic1=52&sic2=59&sic3=5990&sicl=5990&sich=6020", + "Financial": "sic1=60&sic2=0&sicl=6000&sich=6799", + "Financial -> Depository Institutions": "sic1=60&sic2=60&sicl=6000&sich=6099", + "Financial -> Depository Institutions -> National Commercial Banks": "sic1=60&sic2=60&sic3=6021&sicl=6021&sich=6021", + "Financial -> Depository Institutions -> State Commercial Banks": "sic1=60&sic2=60&sic3=6022&sicl=6022&sich=6028", + "Financial -> Depository Institutions -> Commercial Banks": "sic1=60&sic2=60&sic3=6029&sicl=6029&sich=6034", + "Financial -> Depository Institutions -> Savings Institution, Federally C": "sic1=60&sic2=60&sic3=6035&sicl=6035&sich=6035", + "Financial -> Depository Institutions -> Savings Institution, Not Federa": "sic1=60&sic2=60&sic3=6036&sicl=6036&sich=6098", + "Financial -> Depository Institutions -> Functions Related to Despository": "sic1=60&sic2=60&sic3=6099&sicl=6099&sich=6110", + "Financial -> Non-depository Credit Inst": "sic1=60&sic2=61&sic3=0&sicl=6100&sich=6199", + "Financial -> Non-depository Credit Inst -> Federal & Federally-Sponsored Cr": "sic1=60&sic2=61&sic3=6111&sicl=6111&sich=6140", + "Financial -> Non-depository Credit Inst -> Personal Credit Institutions": "sic1=60&sic2=61&sic3=6141&sicl=6141&sich=6152", + "Financial -> Non-depository Credit Inst -> Short-Term Business Credit Insti": "sic1=60&sic2=61&sic3=6153&sicl=6153&sich=6158", + "Financial -> Non-depository Credit Inst -> Miscellaneous Business Credit In": "sic1=60&sic2=61&sic3=6159&sicl=6159&sich=6161", + "Financial -> Non-depository Credit Inst -> Mortgage Bankers & Loan Correspo": "sic1=60&sic2=61&sic3=6162&sicl=6162&sich=6162", + "Financial -> Non-depository Credit Inst -> Loan Brokers": "sic1=60&sic2=61&sic3=6163&sicl=6163&sich=6171", + "Financial -> Non-depository Credit Inst -> Finance Lessors": "sic1=60&sic2=61&sic3=6172&sicl=6172&sich=6188", + "Financial -> Non-depository Credit Inst -> Asset-Backed Securities": "sic1=60&sic2=61&sic3=6189&sicl=6189&sich=6198", + "Financial -> Non-depository Credit Inst -> Finance Services": "sic1=60&sic2=61&sic3=6199&sicl=6199&sich=6199", + "Financial -> Security & Commodity Brokers": "sic1=60&sic2=62&sic3=0&sicl=6200&sich=6299", + "Financial -> Security & Commodity Brokers -> Security & Commodity Brokers, De": "sic1=60&sic2=62&sic3=6200&sicl=6200&sich=6210", + "Financial -> Security & Commodity Brokers -> Security Brokers, Dealers & Flot": "sic1=60&sic2=62&sic3=6211&sicl=6211&sich=6220", + "Financial -> Security & Commodity Brokers -> Commodity Contracts Brokers & De": "sic1=60&sic2=62&sic3=6221&sicl=6221&sich=6281", + "Financial -> Security & Commodity Brokers -> Investment Advice": "sic1=60&sic2=62&sic3=6282&sicl=6282&sich=6310", + "Financial -> Insurance Carriers": "sic1=60&sic2=63&sic3=0&sicl=6300&sich=6399", + "Financial -> Insurance Carriers -> Life Insurance": "sic1=60&sic2=63&sic3=6311&sicl=6311&sich=6320", + "Financial -> Insurance Carriers -> Accident & Health Insurance": "sic1=60&sic2=63&sic3=6321&sicl=6321&sich=6323", + "Financial -> Insurance Carriers -> Hospital & Medical Service Plans": "sic1=60&sic2=63&sic3=6324&sicl=6324&sich=6330", + "Financial -> Insurance Carriers -> Fire, Marine & Casualty Insuranc": "sic1=60&sic2=63&sic3=6331&sicl=6331&sich=6350", + "Financial -> Insurance Carriers -> Surety Insurance": "sic1=60&sic2=63&sic3=6351&sicl=6351&sich=6360", + "Financial -> Insurance Carriers -> Title Insurance": "sic1=60&sic2=63&sic3=6361&sicl=6361&sich=6398", + "Financial -> Insurance Carriers -> Insurance Carriers": "sic1=60&sic2=63&sic3=6399&sicl=6399&sich=6410", + "Financial -> Insurance Agents": "sic1=60&sic2=64&sicl=6411&sich=6499", + "Financial -> Real Estate": "sic1=60&sic2=65&sic3=0&sicl=6500&sich=6699", + "Financial -> Real Estate -> Real Estate": "sic1=60&sic2=65&sic3=6500&sicl=6500&sich=6509", + "Financial -> Real Estate -> Real Estate Operators (No Develo": "sic1=60&sic2=65&sic3=6510&sicl=6510&sich=6511", + "Financial -> Real Estate -> Operators of Nonresidential Buil": "sic1=60&sic2=65&sic3=6512&sicl=6512&sich=6512", + "Financial -> Real Estate -> Operators of Apartment Buildings": "sic1=60&sic2=65&sic3=6513&sicl=6513&sich=6518", + "Financial -> Real Estate -> Lessors of Real Property": "sic1=60&sic2=65&sic3=6519&sicl=6519&sich=6530", + "Financial -> Real Estate -> Real Estate Agents & Managers": "sic1=60&sic2=65&sic3=6531&sicl=6531&sich=6531", + "Financial -> Real Estate -> Real Estate Dealers (For Their O": "sic1=60&sic2=65&sic3=6532&sicl=6532&sich=6551", + "Financial -> Real Estate -> Land Subdividers & Developers (N": "sic1=60&sic2=65&sic3=6552&sicl=6552&sich=6769", + "Financial -> Holding & Investment Offices": "sic1=60&sic2=67&sic3=0&sicl=6700&sich=6999", + "Financial -> Holding & Investment Offices -> Blank Checks": "sic1=60&sic2=67&sic3=6770&sicl=6770&sich=6791", + "Financial -> Holding & Investment Offices -> Oil Royalty Traders": "sic1=60&sic2=67&sic3=6792&sicl=6792&sich=6793", + "Financial -> Holding & Investment Offices -> Patent Owners & Lessors": "sic1=60&sic2=67&sic3=6794&sicl=6794&sich=6794", + "Financial -> Holding & Investment Offices -> Mineral Royalty Traders": "sic1=60&sic2=67&sic3=6795&sicl=6795&sich=6797", + "Financial -> Holding & Investment Offices -> Real Estate Investment Trusts": "sic1=60&sic2=67&sic3=6798&sicl=6798&sich=6798", + "Financial -> Holding & Investment Offices -> Investors": "sic1=60&sic2=67&sic3=6799&sicl=6799&sich=6999", + "Services": "sic1=70&sic2=0&sicl=7000&sich=8999", + "Services -> Hotels": "sic1=70&sic2=70&sic3=0&sicl=7000&sich=7199", + "Services -> Hotels -> Hotels, Rooming Houses, Camps &": "sic1=70&sic2=70&sic3=7000&sicl=7000&sich=7010", + "Services -> Hotels -> Hotels & Motels": "sic1=70&sic2=70&sic3=7011&sicl=7011&sich=7199", + "Services -> Personal Services": "sic1=70&sic2=72&sicl=7200&sich=7309", + "Services -> Business Services": "sic1=70&sic2=73&sic3=0&sicl=7300&sich=7499", + "Services -> Business Services -> Advertising": "sic1=70&sic2=73&sic3=7310&sicl=7310&sich=7310", + "Services -> Business Services -> Advertising Agencies": "sic1=70&sic2=73&sic3=7311&sicl=7311&sich=7319", + "Services -> Business Services -> Consumer Credit Reporting, Colle": "sic1=70&sic2=73&sic3=7320&sicl=7320&sich=7329", + "Services -> Business Services -> Mailing, Reproduction, Commercia": "sic1=70&sic2=73&sic3=7330&sicl=7330&sich=7330", + "Services -> Business Services -> Direct Mail Advertising Services": "sic1=70&sic2=73&sic3=7331&sicl=7331&sich=7339", + "Services -> Business Services -> To Dwellings & Other Buildings": "sic1=70&sic2=73&sic3=7340&sicl=7340&sich=7349", + "Services -> Business Services -> Miscellaneous Equipment Rental &": "sic1=70&sic2=73&sic3=7350&sicl=7350&sich=7358", + "Services -> Business Services -> Equipment Rental & Leasing": "sic1=70&sic2=73&sic3=7359&sicl=7359&sich=7360", + "Services -> Business Services -> Employment Agencies": "sic1=70&sic2=73&sic3=7361&sicl=7361&sich=7362", + "Services -> Business Services -> Help Supply Services": "sic1=70&sic2=73&sic3=7363&sicl=7363&sich=7369", + "Services -> Business Services -> Computer Programming, Data Proce": "sic1=70&sic2=73&sic3=7370&sicl=7370&sich=7370", + "Services -> Business Services -> Computer Programming Services": "sic1=70&sic2=73&sic3=7371&sicl=7371&sich=7371", + "Services -> Business Services -> Prepackaged Software": "sic1=70&sic2=73&sic3=7372&sicl=7372&sich=7372", + "Services -> Business Services -> Computer Integrated Systems Desi": "sic1=70&sic2=73&sic3=7373&sicl=7373&sich=7373", + "Services -> Business Services -> Computer Processing & Data Prepa": "sic1=70&sic2=73&sic3=7374&sicl=7374&sich=7376", + "Services -> Business Services -> Computer Rental & Leasing": "sic1=70&sic2=73&sic3=7377&sicl=7377&sich=7379", + "Services -> Business Services -> Miscellaneous Business Services": "sic1=70&sic2=73&sic3=7380&sicl=7380&sich=7380", + "Services -> Business Services -> Detective, Guard & Armored Car S": "sic1=70&sic2=73&sic3=7381&sicl=7381&sich=7383", + "Services -> Business Services -> Photofinishing Laboratories": "sic1=70&sic2=73&sic3=7384&sicl=7384&sich=7384", + "Services -> Business Services -> Telephone Interconnect Systems": "sic1=70&sic2=73&sic3=7385&sicl=7385&sich=7388", + "Services -> Business Services -> Business Services": "sic1=70&sic2=73&sic3=7389&sicl=7389&sich=7499", + "Services -> Automotive Repair": "sic1=70&sic2=75&sic3=0&sicl=7500&sich=7599", + "Services -> Automotive Repair -> Automotive Repair, Services & Pa": "sic1=70&sic2=75&sic3=7500&sicl=7500&sich=7509", + "Services -> Automotive Repair -> Auto Rental & Leasing (No Driver": "sic1=70&sic2=75&sic3=7510&sicl=7510&sich=7599", + "Services -> Miscellaneous Repair": "sic1=70&sic2=76&sicl=7600&sich=7811", + "Services -> Motion Pictures": "sic1=70&sic2=78&sic3=0&sicl=7800&sich=7899", + "Services -> Motion Pictures -> Motion Picture & Video Tape Prod": "sic1=70&sic2=78&sic3=7812&sicl=7812&sich=7818", + "Services -> Motion Pictures -> Allied to Motion Picture Product": "sic1=70&sic2=78&sic3=7819&sicl=7819&sich=7821", + "Services -> Motion Pictures -> Motion Picture & Video Tape Dist": "sic1=70&sic2=78&sic3=7822&sicl=7822&sich=7828", + "Services -> Motion Pictures -> Allied to Motion Picture Distrib": "sic1=70&sic2=78&sic3=7829&sicl=7829&sich=7829", + "Services -> Motion Pictures -> Motion Picture Theaters": "sic1=70&sic2=78&sic3=7830&sicl=7830&sich=7840", + "Services -> Motion Pictures -> Video Tape Rental": "sic1=70&sic2=78&sic3=7841&sicl=7841&sich=7899", + "Services -> Amusement & Rec Svcs": "sic1=70&sic2=79&sic3=0&sicl=7900&sich=7999", + "Services -> Amusement & Rec Svcs -> Amusement Recreation Services": "sic1=70&sic2=79&sic3=7900&sicl=7900&sich=7947", + "Services -> Amusement & Rec Svcs -> Racing, Including Track Operatio": "sic1=70&sic2=79&sic3=7948&sicl=7948&sich=7989", + "Services -> Amusement & Rec Svcs -> Miscellaneous Amusement & Recrea": "sic1=70&sic2=79&sic3=7990&sicl=7990&sich=7996", + "Services -> Amusement & Rec Svcs -> Membership Sports & Recreation C": "sic1=70&sic2=79&sic3=7997&sicl=7997&sich=7999", + "Services -> Health Services": "sic1=70&sic2=80&sic3=0&sicl=8000&sich=8099", + "Services -> Health Services -> Health Services": "sic1=70&sic2=80&sic3=8000&sicl=8000&sich=8010", + "Services -> Health Services -> Offices & Clinics of Doctors of": "sic1=70&sic2=80&sic3=8011&sicl=8011&sich=8049", + "Services -> Health Services -> Nursing & Personal Care Faciliti": "sic1=70&sic2=80&sic3=8050&sicl=8050&sich=8050", + "Services -> Health Services -> Skilled Nursing Care Facilities": "sic1=70&sic2=80&sic3=8051&sicl=8051&sich=8059", + "Services -> Health Services -> Hospitals": "sic1=70&sic2=80&sic3=8060&sicl=8060&sich=8061", + "Services -> Health Services -> General Medical & Surgical Hospi": "sic1=70&sic2=80&sic3=8062&sicl=8062&sich=8070", + "Services -> Health Services -> Medical Laboratories": "sic1=70&sic2=80&sic3=8071&sicl=8071&sich=8081", + "Services -> Health Services -> Home Health Care Services": "sic1=70&sic2=80&sic3=8082&sicl=8082&sich=8089", + "Services -> Health Services -> Misc Health & Allied Services": "sic1=70&sic2=80&sic3=8090&sicl=8090&sich=8092", + "Services -> Health Services -> Specialty Outpatient Facilities": "sic1=70&sic2=80&sic3=8093&sicl=8093&sich=8110", + "Services -> Legal Services": "sic1=70&sic2=81&sicl=8111&sich=8199", + "Services -> Educational Services": "sic1=70&sic2=82&sicl=8200&sich=8299", + "Services -> Social Services": "sic1=70&sic2=83&sic3=0&sicl=8300&sich=8399", + "Services -> Social Services -> Social Services": "sic1=70&sic2=83&sic3=8300&sicl=8300&sich=8350", + "Services -> Social Services -> Child Day Care Services": "sic1=70&sic2=83&sic3=8351&sicl=8351&sich=8599", + "Services -> Museums": "sic1=70&sic2=84&sicl=8400&sich=8599", + "Services -> Membership Organizations": "sic1=70&sic2=86&sicl=8600&sich=8699", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs": "sic1=70&sic2=87&sic3=0&sicl=8700&sich=8899", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Engineering, Accounting, Research": "sic1=70&sic2=87&sic3=8700&sicl=8700&sich=8710", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Engineering Services": "sic1=70&sic2=87&sic3=8711&sicl=8711&sich=8730", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Commercial Physical & Biological": "sic1=70&sic2=87&sic3=8731&sicl=8731&sich=8733", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Testing Laboratories": "sic1=70&sic2=87&sic3=8734&sicl=8734&sich=8740", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Management Services": "sic1=70&sic2=87&sic3=8741&sicl=8741&sich=8741", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Management Consulting Services": "sic1=70&sic2=87&sic3=8742&sicl=8742&sich=8743", + "Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Facilities Support Management Se": "sic1=70&sic2=87&sic3=8744&sicl=8744&sich=8879", + "Services -> Miscellaneous Services": "sic1=70&sic2=89&sicl=8900&sich=9720", + "Closed-End Funds": "sic1=0&sicl=0&sich=99", +} + + +def check_valid_range( + category: str, field: str, val: str, min_range: int, max_range: int +) -> str: + """Check valid range of data being used + + Parameters + ---------- + category : str + category of open insider screener + field : str + field from category of open insider screener + val : str + value's field of category from open insider screener + min_range : int + min value to allow + max_range : int + max value to allow + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = "" + if val: + try: + ival = int(val) + + if ival < min_range or ival > max_range: + error = ( + f"Invalid {category}.{field} '{str(ival)}'. " + f"Choose value between {min_range} and {max_range}, inclusive." + ) + + except ValueError: + error = f"Invalid {category}.{field} '{val}'. Not a valid integer.\n" + + return error + + +def check_dates(d_date: Dict) -> str: + """Check valid dates + + Parameters + ---------- + d_date : Dict + dictionary with dates from open insider + + Returns + ---------- + error : str + error message. If empty, no error. + """ + possible_dates = [ + "All dates", + "Custom", + "Latest Day", + "Last 3 days", + "Last 1 week", + "Last 2 weeks", + "Last 1 month", + "Last 2 months", + "Last 3 months", + "Last 6 months", + "Last 1 year", + "Last 2 years", + "Last 4 years", + ] + + error = "" + + if d_date["FilingDate"] not in possible_dates: + error += ( + f"Invalid FilingDate '{d_date['FilingDate']}'. " + f"Choose one of the following options: {', '.join(possible_dates)}.\n" + ) + else: + if d_date["FilingDate"] == "Custom": + try: + datetime.strptime(d_date["FilingDateFrom"], "%d/%m/%Y") + except ValueError: + error += f"Invalid FilingDateFrom '{d_date['FilingDateFrom']}' (format: dd/mm/yyyy).\n" + try: + datetime.strptime(d_date["FilingDateTo"], "%d/%m/%Y") + except ValueError: + error += f"Invalid FilingDateTo '{d_date['FilingDateTo']}' (format: dd/mm/yyyy).\n" + + if d_date["TradingDate"] not in possible_dates: + error += ( + f"Invalid TradingDate '{d_date['TradingDate']}'. " + f"Choose one of the following options: {', '.join(possible_dates)}.\n" + ) + else: + if d_date["TradingDate"] == "Custom": + try: + datetime.strptime(d_date["TradingDateFrom"], "%d/%m/%Y") + except ValueError: + error += f"Invalid TradingDateFrom '{d_date['TradingDateFrom']}' (format: dd/mm/yyyy).\n" + + try: + datetime.strptime(d_date["TradingDateTo"], "%d/%m/%Y") + except ValueError: + error += f"Invalid TradingDateTo '{d_date['TradingDateTo']}' (format: dd/mm/yyyy).\n" + + return error + + +def check_valid_multiple(category: str, field: str, val: str, multiple: int) -> str: + """Check valid value being a multiple + + Parameters + ---------- + category : str + category of open insider screener + field : str + field from category of open insider screener + val : str + value's field of category from open insider screener + multiple : int + value must be multiple of this number + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = "" + if val: + try: + ival = int(val) + + if ival % multiple != 0: + error = f"Invalid {category}.{field} '{str(ival)}'. Choose value multiple of {str(multiple)}.\n" + + except ValueError: + error = f"Invalid {category}.{field} '{val}'. Not a valid integer.\n" + + return error + + +def check_boolean_list(category: str, d_data: Dict, l_fields_to_check: List) -> str: + """Check list of fields being bools + + Parameters + ---------- + category : str + category of open insider screener + d_data : Dict + data dictionary + l_fields_to_check : List[str] + list of fields from data dictionary to check if they are bool + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = "" + + for field in l_fields_to_check: + if d_data[field] not in ["true", ""]: + error += f"Invalid {category}.{field} '{d_data[field]}'. Needs to be either 'true' or '' (empty).\n" + + return error + + +def check_in_list( + category: str, field: str, val: int, l_possible_vals: List[str] +) -> str: + """Check value being in possible list + + Parameters + ---------- + category : str + category of open insider screener + field : str + field from category of open insider screener + val : str + value's field of category from open insider screener + l_possible_vals : List[str] + list of possible values that should be allowed + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = "" + + if val: + if val not in l_possible_vals: + error += ( + f"Invalid {category}.{field} '{val}'. " + f"Choose one of the following options: {', '.join(l_possible_vals)}.\n" + ) + + return error + + +def check_int_in_list( + category: str, field: str, val: str, l_possible_vals: List[int] +) -> str: + """Check int value being in possible list + + Parameters + ---------- + category : str + category of open insider screener + field : str + field from category of open insider screener + val : str + value's field of category from open insider screener + l_possible_vals : List[str] + list of possible values that should be allowed + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = "" + + if val: + try: + ival = int(val) + + if ival not in l_possible_vals: + error += ( + f"Invalid {category}.{field} '{val}'. " + f"Choose one of the following options: {', '.join([str(x) for x in l_possible_vals])}.\n" + ) + + except ValueError: + error += f"Invalid {category}.{field} '{val}'. Not a valid integer.\n" + + return error + + +def check_open_insider_general(d_general) -> str: + """Check valid open insider general + + Parameters + ---------- + d_date : Dict + dictionary of general + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = check_valid_range( + "General", "SharePriceMin", d_general["SharePriceMin"], 0, 9999 + ) + + error += check_valid_range( + "General", "SharePriceMax", d_general["SharePriceMax"], 0, 9999 + ) + + error += check_valid_range( + "General", "LiquidityMinM", d_general["LiquidityMinM"], 0, 9999 + ) + + error += check_valid_range( + "General", "LiquidityMaxM", d_general["LiquidityMaxM"], 0, 9999 + ) + + return error + + +def check_open_insider_date(d_date: Dict) -> str: + """Check valid open insider date + + Parameters + ---------- + d_date : Dict + dictionary of date + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = check_dates(d_date) + error += check_valid_range( + "Date", "FilingDelayMin", d_date["FilingDelayMin"], 0, 99 + ) + error += check_valid_range( + "Date", "FilingDelayMax", d_date["FilingDelayMax"], 0, 99 + ) + error += check_valid_range("Date", "NDaysAgo", d_date["NDaysAgo"], 0, 99) + + return error + + +def check_open_insider_transaction_filing(d_transaction_filing: Dict) -> str: + """Check valid open insider transaction filing + + Parameters + ---------- + d_transaction_filing : Dict + dictionary of transaction filing + + Returns + ---------- + error : str + error message. If empty, no error. + """ + filings_to_check = [ + "P_Purchase", + "S_Sale", + "A_Grant", + "D_SaleToLoss", + "G_Gift", + "NoDeriv", + "F_Tax", + "M_OptionEx", + "X_OptionEx", + "C_CnvDeriv", + "W_Inherited", + "MultipleDays", + ] + + error = check_boolean_list( + "TransactionFiling", d_transaction_filing, filings_to_check + ) + error += check_valid_multiple( + "TransactionFiling", "TradedMinK", d_transaction_filing["TradedMinK"], 5 + ) + error += check_valid_multiple( + "TransactionFiling", "TradedMaxK", d_transaction_filing["TradedMaxK"], 5 + ) + error += check_valid_range( + "TransactionFiling", + "OwnChangeMinPct", + d_transaction_filing["OwnChangeMinPct"], + 0, + 99, + ) + error += check_valid_range( + "TransactionFiling", + "OwnChangeMaxPct", + d_transaction_filing["OwnChangeMaxPct"], + 0, + 99, + ) + + return error + + +def check_open_insider_industry(d_industry: Dict) -> str: + """Check valid open insider industry + + Parameters + ---------- + d_industry : Dict + dictionary of industry + + Returns + ---------- + error : str + error message. If empty, no error. + """ + industry = d_industry["SectorSubsectorIndustry"] + if industry not in d_SectorSubsectorIndustry.keys(): + return f"Invalid Industry.SectorSubsectorIndustry '{industry}'. See comments at the end of template.ini file.\n" + + return "" + + +def check_open_insider_insider_title(d_insider_title: Dict) -> str: + """Check valid open insider title + + Parameters + ---------- + d_insider_title : Dict + dictionary of title + + Returns + ---------- + error : str + error message. If empty, no error. + """ + titles_to_check = [ + "COB", + "CEO", + "Pres", + "COO", + "CFO", + "GC", + "VP", + "Officer", + "Director", + "10PctOwn", + "Other", + ] + + error = check_boolean_list("InsiderTitle", d_insider_title, titles_to_check) + + return error + + +def check_open_insider_others(d_others: Dict) -> str: + """Check valid open insider others + + Parameters + ---------- + d_others : Dict + dictionary of others + + Returns + ---------- + error : str + error message. If empty, no error. + """ + possible_groupby = ["Filing", "Company"] + error = check_in_list("Others", "GroupBy", d_others["GroupBy"], possible_groupby) + + possible_sortby = ["Filing Date", "Trade Date", "Ticker Symbol", "Trade Value"] + error = check_in_list("Others", "SortBy", d_others["SortBy"], possible_sortby) + + possible_maxresults = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000] + error += check_int_in_list( + "Others", "MaxResults", d_others["MaxResults"], possible_maxresults + ) + + error += check_valid_range("Others", "Page", d_others["Page"], 0, 99) + + return error + + +def check_open_insider_company_totals(d_company_totals: Dict) -> str: + """Check valid open insider company totals + + Parameters + ---------- + d_company_totals : Dict + dictionary of company totals + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = check_valid_range( + "CompanyTotals", "FilingsMin", d_company_totals["FilingsMin"], 0, 99 + ) + + error += check_valid_range( + "CompanyTotals", "FilingsMax", d_company_totals["FilingsMax"], 0, 99 + ) + + error += check_valid_range( + "CompanyTotals", "InsidersMin", d_company_totals["InsidersMin"], 0, 9 + ) + + error += check_valid_range( + "CompanyTotals", "InsidersMax", d_company_totals["InsidersMax"], 0, 9 + ) + + error += check_valid_range( + "CompanyTotals", "OfficersMin", d_company_totals["OfficersMin"], 0, 9 + ) + + error += check_valid_range( + "CompanyTotals", "OfficersMax", d_company_totals["OfficersMax"], 0, 9 + ) + + error += check_valid_multiple( + "CompanyTotals", "TradedMinK", d_company_totals["TradedMinK"], 5 + ) + + error += check_valid_multiple( + "CompanyTotals", "TradedMaxK", d_company_totals["TradedMaxK"], 5 + ) + + error += check_valid_range( + "CompanyTotals", "OwnChangeMinPct", d_company_totals["OwnChangeMinPct"], 0, 99 + ) + + error += check_valid_range( + "CompanyTotals", "OwnChangeMaxPct", d_company_totals["OwnChangeMaxPct"], 0, 99 + ) + + return error + + +def check_open_insider_screener( + d_general: Dict, + d_date: Dict, + d_transaction_filing: Dict, + d_industry: Dict, + d_insider_title: Dict, + d_others: Dict, + d_company_totals: Dict, +) -> str: + """Check valid open insider screener + + Parameters + ---------- + d_general : Dict + dictionary of general + d_date : Dict + dictionary of date + d_transaction_filing : Dict + dictionary of transaction filing + d_industry : Dict + dictionary of industry + d_insider_title : Dict + dictionary of insider title + d_others : Dict + dictionary of others + d_company_totals : Dict + dictionary of company totals + + Returns + ---------- + error : str + error message. If empty, no error. + """ + error = check_open_insider_general(d_general) + error += check_open_insider_date(d_date) + error += check_open_insider_transaction_filing(d_transaction_filing) + error += check_open_insider_industry(d_industry) + error += check_open_insider_insider_title(d_insider_title) + error += check_open_insider_others(d_others) + if d_others["GroupBy"] == "Company": + error += check_open_insider_company_totals(d_company_totals) + + return error + + +def get_open_insider_link(preset_loaded: str) -> str: + """Get open insider link + + Parameters + ---------- + preset_loaded: str + Loaded preset filter + + Returns + ---------- + link : str + open insider filtered link + """ + preset = configparser.RawConfigParser() + preset.optionxform = str # type: ignore + preset.read(presets_path + preset_loaded + ".ini") + + d_general = dict(preset["General"]) + d_date = dict(preset["Date"]) + d_transaction_filing = dict(preset["TransactionFiling"]) + d_industry = dict(preset["Industry"]) + d_insider_title = dict(preset["InsiderTitle"]) + d_others = dict(preset["Others"]) + d_company_totals = dict(preset["CompanyTotals"]) + + result = check_open_insider_screener( + d_general, + d_date, + d_transaction_filing, + d_industry, + d_insider_title, + d_others, + d_company_totals, + ) + + if result: + print(result) + return "" + + d_FilingTradingDate = { + "All dates": "0", + "Custom": "-1", + "Latest Day": "1", + "Last 3 days": "3", + "Last 1 week": "7", + "Last 2 weeks": "14", + "Last 1 month": "30", + "Last 2 months": "60", + "Last 3 months": "90", + "Last 6 months": "180", + "Last 1 year": "365", + "Last 2 years": "730", + "Last 4 years": "1461", + } + d_GroupBy = { + "Filing": "0", + "Company": "2", + } + d_SortBy = { + "Filing Date": 0, + "Trade Date": 1, + "Ticker Symbol": 2, + "Trade Value": 8, + } + + link = "http://openinsider.com/screener?" + + # General + link += f"s={d_general['Tickers'].replace(' ', '+')}&" + link += f"o={d_general['Insider'].replace(' ', '+')}&" + link += f"pl={d_general['SharePriceMin']}&" + link += f"ph={d_general['SharePriceMax']}&" + link += f"ll={d_general['LiquidityMinM']}&" + link += f"lh={d_general['LiquidityMaxM']}&" + + # Date + link += f"fd={d_FilingTradingDate[d_date['FilingDate']]}&" + if d_date["FilingDate"] == "Custom": + link += f"fdr={d_date['FilingDateFrom'].replace('/','%2F')}-{d_date['FilingDateTo'].replace('/','%2F')}&" + else: + link += "fdr=&" + link += f"td={d_FilingTradingDate[d_date['TradingDate']]}&" + if d_date["TradingDate"] == "Custom": + link += f"tdr={d_date['TradingDateFrom'].replace('/','%2F')}-{d_date['TradingDateTo'].replace('/','%2F')}&" + else: + link += "tdr=&" + link += f"fdlyl={d_date['FilingDelayMin']}&" + link += f"fdlyh={d_date['FilingDelayMax']}&" + link += f"daysago={d_date['NDaysAgo']}&" + + # Transaction Filing + link += f"xp={'1' if d_transaction_filing['P_Purchase'] == 'true' else ''}&" + link += f"xs={'1' if d_transaction_filing['S_Sale'] == 'true' else ''}&" + if d_transaction_filing["A_Grant"] == "true": + link += "xa=1&" + if d_transaction_filing["D_SaleToLoss"] == "true": + link += "xd=1&" + if d_transaction_filing["G_Gift"] == "true": + link += "xg=1&" + if d_transaction_filing["NoDeriv"] == "true": + link += "excludeDerivRelated=1&" + if d_transaction_filing["F_Tax"] == "true": + link += "xf=1&" + if d_transaction_filing["M_OptionEx"] == "true": + link += "xm=1&" + if d_transaction_filing["X_OptionEx"] == "true": + link += "xx=1&" + if d_transaction_filing["C_CnvDeriv"] == "true": + link += "xc=1&" + if d_transaction_filing["W_Inherited"] == "true": + link += "xw=1&" + if d_transaction_filing["MultipleDays"] == "true": + link += "tmult=1&" + link += f"vl={d_transaction_filing['TradedMinK']}&" + link += f"vh={d_transaction_filing['TradedMaxK']}&" + link += f"ocl={d_transaction_filing['OwnChangeMinPct']}&" + link += f"och={d_transaction_filing['OwnChangeMaxPct']}&" + + # Industry + link += f"{d_SectorSubsectorIndustry[d_industry['SectorSubsectorIndustry']]}&" + + # Insider Title + if d_insider_title["Officer"] == "true": + link += "isofficer=1&" + if d_insider_title["COB"] == "true": + link += "iscob=1&" + if d_insider_title["CEO"] == "true": + link += "isceo=1&" + if d_insider_title["Pres"] == "true": + link += "ispres=1&" + if d_insider_title["COO"] == "true": + link += "iscoo=1&" + if d_insider_title["CFO"] == "true": + link += "iscfo=1&" + if d_insider_title["GC"] == "true": + link += "isgc=1&" + if d_insider_title["VP"] == "true": + link += "isvp=1&" + if d_insider_title["Director"] == "true": + link += "isdirector=1&" + if d_insider_title["10PctOwn"] == "true": + link += "istenpercent=1&" + if d_insider_title["Other"] == "true": + link += "isother=1&" + + # Others + link += f"grp={d_GroupBy[d_others['GroupBy']]}&" + + # Company Totals + link += f"nfl={d_company_totals['FilingsMin']}&" + link += f"nfh={d_company_totals['FilingsMax']}&" + link += f"nil={d_company_totals['InsidersMin']}&" + link += f"nih={d_company_totals['InsidersMax']}&" + link += f"nol={d_company_totals['OfficersMin']}&" + link += f"noh={d_company_totals['OfficersMax']}&" + link += f"v2l={d_company_totals['TradedMinK']}&" + link += f"v2h={d_company_totals['TradedMaxK']}&" + link += f"oc2l={d_company_totals['OwnChangeMinPct']}&" + link += f"oc2h={d_company_totals['OwnChangeMaxPct']}&" + + # Others + link += f"sortcol={d_SortBy[d_others['SortBy']]}&" + link += f"cnt={d_others['MaxResults']}&" + link += f"page={d_others['Page']}" + + return link + + +def get_open_insider_data(url: str, has_company_name: bool) -> pd.DataFrame: + """Get open insider link + + Parameters + ---------- + url: str + open insider link with filters to retrieve data from + has_company_name: bool + contains company name columns + + Returns + ---------- + data : pd.DataFrame + open insider filtered data + """ + text_soup_open_insider = BeautifulSoup(requests.get(url).text, "lxml") + + if len(text_soup_open_insider.find_all("tbody")) == 0: + print("No insider trading found.") + return pd.DataFrame() + + l_filing_link = list() + l_ticker_link = list() + l_insider_link = list() + + idx = 0 + for val in text_soup_open_insider.find_all("tbody")[1].find_all("a"): + if idx == 0: + l_filing_link.append(val["href"]) + idx += 1 + elif idx == 1: + l_ticker_link.append("http://openinsider.com" + val["href"]) + idx += 1 + elif idx == 2 and has_company_name: + idx += 1 + else: + l_insider_link.append("http://openinsider.com" + val["href"]) + idx = 0 + + l_X = list() + l_filing_date = list() + l_trading_date = list() + l_ticker = list() + l_company = list() + l_insider = list() + l_title = list() + l_trade_type = list() + l_price = list() + l_quantity = list() + l_owned = list() + l_delta_own = list() + l_value = list() + + idx = 0 + for val in text_soup_open_insider.find_all("tbody")[1].find_all("td"): + if idx == 0: + l_X.append(val.text) + idx += 1 + elif idx == 1: + l_filing_date.append(val.text) + idx += 1 + elif idx == 2: + l_trading_date.append(val.text) + idx += 1 + elif idx == 3: + l_ticker.append(val.text.strip()) + idx += 1 + elif idx == 4 and has_company_name: + l_company.append(val.text) + idx += 1 + elif idx == (5 - int(not has_company_name)): + l_insider.append(val.text) + idx += 1 + elif idx == (6 - int(not has_company_name)): + l_title.append(val.text) + idx += 1 + elif idx == (7 - int(not has_company_name)): + l_trade_type.append(val.text) + idx += 1 + elif idx == (8 - int(not has_company_name)): + l_price.append(val.text) + idx += 1 + elif idx == (9 - int(not has_company_name)): + l_quantity.append(val.text) + idx += 1 + elif idx == (10 - int(not has_company_name)): + l_owned.append(val.text) + idx += 1 + elif idx == (11 - int(not has_company_name)): + l_delta_own.append(val.text) + idx += 1 + elif idx == (12 - int(not has_company_name)): + l_value.append(val.text) + idx += 1 + elif idx < (16 - int(not has_company_name)): + idx += 1 + else: + idx = 0 + + d_open_insider = { + "X": l_X, + "Filing Date": l_filing_date, + "Trading Date": l_trading_date, + "Ticker": l_ticker, + "Insider": l_insider, + "Title": l_title, + "Trade Type": l_trade_type, + "Price": l_price, + "Quantity": l_quantity, + "Owned": l_owned, + "Delta Own": l_delta_own, + "Value": l_value, + "Filing Link": l_filing_link, + "Ticker Link": l_ticker_link, + "Insider Link": l_insider_link, + } + if has_company_name: + d_open_insider["Company"] = l_company + + return pd.DataFrame(d_open_insider) diff --git a/gamestonk_terminal/insider/openinsider_view.py b/gamestonk_terminal/insider/openinsider_view.py index 88f6c0dc0f8..3fb2ac65618 100644 --- a/gamestonk_terminal/insider/openinsider_view.py +++ b/gamestonk_terminal/insider/openinsider_view.py @@ -7,7 +7,17 @@ import requests import numpy as np import pandas as pd from tabulate import tabulate -from gamestonk_terminal.helper_funcs import check_positive, parse_known_args_and_warn +from colorama import Fore, Style +from gamestonk_terminal.helper_funcs import ( + check_positive, + parse_known_args_and_warn, + patch_pandas_text_adjustment, +) +from gamestonk_terminal.insider.openinsider_model import ( + get_open_insider_link, + get_open_insider_data, +) +from gamestonk_terminal import feature_flags as gtff d_open_insider = { "lcb": "latest-cluster-buys", @@ -39,9 +49,83 @@ d_notes = { "M": "M: Multiple transactions in filing; earliest reported transaction date and weighted average transaction price", } +d_trade_types = { + "S - Sale": f"{Fore.RED}S - Sale: Sale of securities on an exchange or to another person{Style.RESET_ALL}", + "S - Sale+OE": f"{Fore.YELLOW}S - Sale+OE: Sale of securities " + f"on an exchange or to another person (after option exercise){Style.RESET_ALL}", + "F - Tax": f"{Fore.MAGENTA}F - Tax: Payment of exercise price or " + f"tax liability using portion of securities received from the company{Style.RESET_ALL}", + "P - Purchase": f"{Fore.GREEN}P - Purchase: Purchase of securities on " + f"an exchange or from another person{Style.RESET_ALL}", +} + + +def red_highlight(values): + """Red highlight + + Parameters + ---------- + values : List[str] + dataframe values to color + + Returns + ---------- + List[str] + colored dataframes values + """ + return [f"{Fore.RED}{val}{Style.RESET_ALL}" for val in values] + + +def yellow_highlight(values): + """Yellow highlight + + Parameters + ---------- + values : List[str] + dataframe values to color + + Returns + ---------- + List[str] + colored dataframes values + """ + return [f"{Fore.YELLOW}{val}{Style.RESET_ALL}" for val in values] + + +def magenta_highlight(values): + """Magenta highlight + + Parameters + ---------- + values : List[str] + dataframe values to color + + Returns + ---------- + List[str] + colored dataframes values + """ + return [f"{Fore.MAGENTA}{val}{Style.RESET_ALL}" for val in values] + + +def green_highlight(values): + """Green highlight + + Parameters + ---------- + values : List[str] + dataframe values to color + + Returns + ---------- + List[str] + colored dataframes values + """ + return [f"{Fore.GREEN}{val}{Style.RESET_ALL}" for val in values] + def print_insider_data(other_args: List[str], type_insider: str): - """Corporate lobbying details + """Print insider data Parameters ---------- @@ -147,3 +231,129 @@ def print_insider_data(other_args: List[str], type_insider: str): except Exception as e: print(e, "\n") + + +def print_insider_filter(other_args: List[str], preset_loaded: str): + """Print insider filter based on loaded preset + + Parameters + ---------- + other_args : List[str] + Command line arguments to be processed with argparse + preset_loaded: str + Loaded preset filter + """ + parser = argparse.ArgumentParser( + add_help=False, + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog="filter", + description="Print open insider filtered data using loaded preset, or selected ticker. [Source: OpenInsider]", + ) + parser.add_argument( + "-n", + "--num", + action="store", + dest="num", + type=check_positive, + default=20, + help="Number of datarows to display", + ) + parser.add_argument( + "-t", + "--ticker", + action="store", + dest="ticker", + type=str, + default="", + help="Filter latest insiders from this ticker", + ) + parser.add_argument( + "-l", + "--links", + action="store_true", + default=False, + help="Flag to show hyperlinks", + dest="links", + ) + + try: + ns_parser = parse_known_args_and_warn(parser, other_args) + if not ns_parser: + return + + if ns_parser.ticker: + link = f"http://openinsider.com/screener?s={ns_parser.ticker}" + else: + link = get_open_insider_link(preset_loaded) + + if not link: + print("") + return + + df_insider = get_open_insider_data( + link, has_company_name=bool(not ns_parser.ticker) + ) + df_insider_orig = df_insider.copy() + + if df_insider.empty: + print("") + return + + if ns_parser.links: + df_insider = df_insider[ + ["Ticker Link", "Insider Link", "Filing Link"] + ].head(ns_parser.num) + else: + df_insider = df_insider.drop( + columns=["Filing Link", "Ticker Link", "Insider Link"] + ).head(ns_parser.num) + + if gtff.USE_COLOR and not ns_parser.links: + if not df_insider[df_insider["Trade Type"] == "S - Sale"].empty: + df_insider[df_insider["Trade Type"] == "S - Sale"] = df_insider[ + df_insider["Trade Type"] == "S - Sale" + ].apply(red_highlight) + if not df_insider[df_insider["Trade Type"] == "S - Sale+OE"].empty: + df_insider[df_insider["Trade Type"] == "S - Sale+OE"] = df_insider[ + df_insider["Trade Type"] == "S - Sale+OE" + ].apply(yellow_highlight) + if not df_insider[df_insider["Trade Type"] == "F - Tax"].empty: + df_insider[df_insider["Trade Type"] == "F - Tax"] = df_insider[ + df_insider["Trade Type"] == "F - Tax" + ].apply(magenta_highlight) + if not df_insider[df_insider["Trade Type"] == "P - Purchase"].empty: + df_insider[df_insider["Trade Type"] == "P - Purchase"] = df_insider[ + df_insider["Trade Type"] == "P - Purchase" + ].apply(green_highlight) + + patch_pandas_text_adjustment() + pd.set_option("display.max_colwidth", 0) + pd.set_option("display.max_rows", None) + + # needs to be done because table is too large :( + df_insider = df_insider.drop(columns=["Filing Date", "Trade Type"]) + + else: + # needs to be done because table is too large :( + df_insider = df_insider.drop(columns=["Filing Date"]) + + print("") + print(df_insider.to_string(index=False)) + + if not ns_parser.links: + l_chars = [list(chars) for chars in df_insider_orig["X"].values] + l_uchars = np.unique(list(itertools.chain(*l_chars))) + print("") + for char in l_uchars: + print(d_notes[char]) + + l_tradetype = df_insider_orig["Trade Type"].values + l_utradetype = np.unique(l_tradetype) + print("") + for tradetype in l_utradetype: + print(d_trade_types[tradetype]) + + print("") + + except Exception as e: + print(e, "\n") diff --git a/gamestonk_terminal/insider/presets/template.ini b/gamestonk_terminal/insider/presets/template.ini new file mode 100644 index 00000000000..9637a10e075 --- /dev/null +++ b/gamestonk_terminal/insider/presets/template.ini @@ -0,0 +1,617 @@ +# Author of preset: Sexy Year +# Description: The user that adds the preset can add a description for what type of insiders this is meant. + +[General] +# Symbols or CIKs +Tickers = +# Insider Name or CIK +Insider = +SharePriceMin = +SharePriceMax = +LiquidityMinM = +LiquidityMaxM = + +[Date] +# All dates, Custom, Latest Day, Last 3 days, Last 1 week, Last 2 weeks, Last 1 month, Last 2 months, Last 3 months, Last 6 months, Last 1 year, Last 2 years, Last 4 years. +FilingDate = All dates +# This is only regarded if FillingDate = Custom, format: dd/mm/yyyy +FilingDateFrom = +FilingDateTo = +# All dates, Custom, Latest Day, Last 3 days, Last 1 week, Last 2 weeks, Last 1 month, Last 2 months, Last 3 months, Last 6 months, Last 1 year, Last 2 years, Last 4 years. +TradingDate = All dates +# This is only regarded if FillingDate = Custom, format: dd/mm/yyyy +TradingDateFrom = +TradingDateTo = +# These values need to be smaller than 100 +FilingDelayMin = +FilingDelayMax = +NDaysAgo = + +[TransactionFiling] +# The following values are meant to be either: 'true' or empty for False. +P_Purchase = true +S_Sale = true +A_Grant = +D_SaleToLoss = +G_Gift = +NoDeriv = +F_Tax = +M_OptionEx = +X_OptionEx = +C_CnvDeriv = +W_Inherited = +MultipleDays = +# These values need to be multiples of 5 +TradedMinK = +TradedMaxK = +# These values need to be between 0 and 100% +OwnChangeMinPct = +OwnChangeMaxPct = + +[Industry] +# Available industry options at bottom of the file. +# Sector -> Subsector -> Industry +SectorSubsectorIndustry = All Sectors (except Funds) + +[InsiderTitle] +# The following values are meant to be either: 'true' or empty for False. +COB = +CEO = +Pres = +COO = +CFO = +GC = +VP = +# 'Officer' inclues all of the above: COB, CEO, Pres, COO, CFO, GC, VP +Officer = +Director = +10PctOwn = +Other = + +[Others] +# Filing, Company. +GroupBy = Filing +# Filing Date, Trade Date, Ticker Symbol, Trade Value. +SortBy = Filing Date +# 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000. +MaxResults = 100 +# Between 1 and 99, inclusive. +Page = 1 + +# This only exists if GroupBy = Company +[CompanyTotals] +# These values need to be smaller than 100 +FilingsMin = +FilingsMax = +# These values need to be smaller than 10 +InsidersMin = +InsidersMax = +OfficersMin = +OfficersMax = +# These values need to be multiples of 5 +TradedMinK = +TradedMaxK = +# These values need to be between 0 and 100% +OwnChangeMinPct = +OwnChangeMaxPct = + + +# Available SectorSubsectorIndustry options below: +# All Sectors (except Funds) + +# Agriculture, Forestry, Fish +# Agriculture, Forestry, Fish -> Crops +# Agriculture, Forestry, Fish -> Livestock & Animal Specialties +# Agriculture, Forestry, Fish -> Agriculture Services +# Agriculture, Forestry, Fish -> Forestry +# Agriculture, Forestry, Fish -> Fishing, Hunting & Trapping + +# Mining +# Mining -> Metal Mining +# Mining -> Metal Mining -> Gold & Silver Ores +# Mining -> Metal Mining -> Miscellaneous Metal Ores +# Mining -> Coal Mining +# Mining -> Coal Mining -> Bituminous Coal & Lignite Mining +# Mining -> Coal Mining -> Bituminous Coal & Lignite Surfac +# Mining -> Oil & Gas Extraction +# Mining -> Oil & Gas Extraction -> Crude Petroleum & Natural Gas +# Mining -> Oil & Gas Extraction -> Drilling Oil & Gas Wells +# Mining -> Oil & Gas Extraction -> Oil & Gas Field Exploration Serv +# Mining -> Oil & Gas Extraction -> Oil & Gas Field Services +# Mining -> Mining Non-metallic Minerals + +# Construction +# Construction -> General Contractors & Builders +# Construction -> General Contractors & Builders -> Residential Bldg Contractors +# Construction -> General Contractors & Builders -> Operative Builders +# Construction -> General Contractors & Builders -> Nonresidential Bldg Contractors +# Construction -> Heavy Construction +# Construction -> Heavy Construction -> Heavy Construction Non-Bldg Cont +# Construction -> Heavy Construction -> Water, Sewer, Pipeline, Comm & P +# Construction -> Special Trade Contractors +# Construction -> Special Trade Contractors -> Special Trade Contractors +# Construction -> Special Trade Contractors -> Electrical Work + +# Manufacturing +# Manufacturing -> Food +# Manufacturing -> Food -> Food & Kindred Products +# Manufacturing -> Food -> Meat Packing Plants +# Manufacturing -> Food -> Sausage & Other Prepared Meat P +# Manufacturing -> Food -> Poultry Slaughtering & Processin +# Manufacturing -> Food -> Dairy Products +# Manufacturing -> Food -> Ice Cream & Froze Desserts +# Manufacturing -> Food -> Canned, Frozen & Preservd Fruit +# Manufacturing -> Food -> Canned, Fruits, Veg, Preserves +# Manufacturing -> Food -> Grain Mill Products +# Manufacturing -> Food -> Bakery Products +# Manufacturing -> Food -> Cookies & Crackers +# Manufacturing -> Food -> Sugar & Confectionery Products +# Manufacturing -> Food -> Fats & Oils +# Manufacturing -> Food -> Beverages +# Manufacturing -> Food -> Malt Beverages +# Manufacturing -> Food -> Bottled & Canned Soft Drinks & C +# Manufacturing -> Food -> Miscellaneous Food Preparations +# Manufacturing -> Food -> Prepared Fresh or Frozen Fish & +# Manufacturing -> Tobacco +# Manufacturing -> Tobacco -> Tobacco Products +# Manufacturing -> Tobacco -> Cigarettes +# Manufacturing -> Textile Mill Products +# Manufacturing -> Textile Mill Products -> Textile Mill Products +# Manufacturing -> Textile Mill Products -> Broadwoven Fabric Mills, Cotton +# Manufacturing -> Textile Mill Products -> Broadwoven Fabric Mills, Man Mad +# Manufacturing -> Textile Mill Products -> Knitting Mills +# Manufacturing -> Textile Mill Products -> Knit Outerwear Mills +# Manufacturing -> Textile Mill Products -> Carpets & Rugs +# Manufacturing -> Apparel +# Manufacturing -> Apparel -> Other Finishd Prods of +# Manufacturing -> Apparel -> Men’s & Boy’s Furnishgs, Work Cl +# Manufacturing -> Apparel -> Women’s, Misses’, & Juniors Oute +# Manufacturing -> Apparel -> Women’s, Misses’, Children’s & l +# Manufacturing -> Apparel -> Miscellaneous Fabric +# Manufacturing -> Lumber +# Manufacturing -> Lumber -> Lumber & Wood Products (No Furni) +# Manufacturing -> Lumber -> Sawmills & Planting Mills, Gener +# Manufacturing -> Lumber -> Millwood, Veneer, Plywood & Str +# Manufacturing -> Lumber -> Mobile Homes +# Manufacturing -> Lumber -> Prefabricated Wood Bldgs & Compo +# Manufacturing -> Furniture +# Manufacturing -> Furniture -> Household Furniture +# Manufacturing -> Furniture -> Wood Household Furniture, (no Up) +# Manufacturing -> Furniture -> Office Furniture +# Manufacturing -> Furniture -> Office Furniture (No Wood) +# Manufacturing -> Furniture -> Public Bldg & Related Furniture +# Manufacturing -> Furniture -> Partitions, Shelvg, Lockers & O +# Manufacturing -> Furniture -> Miscellaneous Furniture & Fixtur +# Manufacturing -> Paper +# Manufacturing -> Paper -> Papers & Allied Products +# Manufacturing -> Paper -> Pulp Mills +# Manufacturing -> Paper -> Paper Mills +# Manufacturing -> Paper -> Paperboard Mills +# Manufacturing -> Paper -> Paperboard Containers & Boxes +# Manufacturing -> Paper -> Converted Paper & Paperboard Pro +# Manufacturing -> Paper -> Plastics, Foils & Coated Paper Ba +# Manufacturing -> Printing & Publishing +# Manufacturing -> Printing & Publishing -> Newspapers: Publishing or Publis +# Manufacturing -> Printing & Publishing -> Periodicals: Publishing or Publi +# Manufacturing -> Printing & Publishing -> Books: Publishing or Publishing +# Manufacturing -> Printing & Publishing -> Book Printing +# Manufacturing -> Printing & Publishing -> Miscellaneous Publishing +# Manufacturing -> Printing & Publishing -> Commercial Printing +# Manufacturing -> Printing & Publishing -> Manifold Business Forms +# Manufacturing -> Printing & Publishing -> Greeting Cards +# Manufacturing -> Printing & Publishing -> Blankbooks, Looseleaf Binders & +# Manufacturing -> Printing & Publishing ->Service Industries For The Print +# Manufacturing -> Chemicals +# Manufacturing -> Chemicals -> Chemicals & Allied Products +# Manufacturing -> Chemicals -> Industrial Inorganic Chemicals +# Manufacturing -> Chemicals -> Plastic Material, Synth Resin/Ru +# Manufacturing -> Chemicals -> Plastic Material, Synth Resins +# Manufacturing -> Chemicals -> Medicinal Chemicals & Botanical +# Manufacturing -> Chemicals -> Pharmaceutical Preparations +# Manufacturing -> Chemicals -> In Vitro & In Vito Diagnostic Su +# Manufacturing -> Chemicals -> Biological Products ,(No Diagnos +# Manufacturing -> Chemicals -> Soap, Detergents, Cleaning, Perf +# Manufacturing -> Chemicals -> Specialty Cleaning, Polishing & +# Manufacturing -> Chemicals -> Perfumes, Cosmetics & Other Toil +# Manufacturing -> Chemicals -> Paints, Varnishes, Lacquers, Ena +# Manufacturing -> Chemicals -> Industrial Organic Chemicals +# Manufacturing -> Chemicals ->Agriculture Chemicals +# Manufacturing -> Chemicals -> Miscellaneous Chemical Products +# Manufacturing -> Chemicals -> Adhesives & Sealants +# Manufacturing -> Petroleum Refining +# Manufacturing -> Petroleum Refining -> Petroleum Refining +# Manufacturing -> Petroleum Refining -> Asphalt Paving & Roofing Materia +# Manufacturing -> Petroleum Refining -> Miscellaneous Products of Petrol +# Manufacturing -> Rubber & Plastic +# Manufacturing -> Rubber & Plastic -> Tires & Inner Tubes +# Manufacturing -> Rubber & Plastic -> Rubber & Plastics Footwear +# Manufacturing -> Rubber & Plastic -> Gaskets & Packg & Sealg Devices & +# Manufacturing -> Rubber & Plastic -> Fabricated Rubber Products +# Manufacturing -> Rubber & Plastic -> Miscellaneous Plastics Products +# Manufacturing -> Rubber & Plastic -> Unsupported Plastics Film & Shee +# Manufacturing -> Rubber & Plastic -> Plastics Foam Products +# Manufacturing -> Rubber & Plastic -> Plastics Products +# Manufacturing -> Leather +# Manufacturing -> Leather -> Leather Products +# Manufacturing -> Leather -> Footwear, (No Rubber) +# Manufacturing -> Stone, Clay, Glass & Concrete +# Manufacturing -> Stone, Clay, Glass & Concrete -> Flat Glass +# Manufacturing -> Stone, Clay, Glass & Concrete -> Glass & Glasswear, Pressed or Bl +# Manufacturing -> Stone, Clay, Glass & Concrete -> Glass Containers +# Manufacturing -> Stone, Clay, Glass & Concrete -> Glass Products Made of Purchase +# Manufacturing -> Stone, Clay, Glass & Concrete -> Cements, Hydrallic +# Manufacturing -> Stone, Clay, Glass & Concrete -> Structural Clay Products +# Manufacturing -> Stone, Clay, Glass & Concrete -> Pottery & Related Products +# Manufacturing -> Stone, Clay, Glass & Concrete -> Concreate, Gypsum & Plaster Produ +# Manufacturing -> Stone, Clay, Glass & Concrete -> Concrete Products, Except Block +# Manufacturing -> Stone, Clay, Glass & Concrete -> Cut Stone & Stone Products +# Manufacturing -> Stone, Clay, Glass & Concrete -> Abrasive, Asbestos & Misc Nonmet +# Manufacturing -> Primary Metal +# Manufacturing -> Primary Metal -> Steel Works, Blast Furnaces & Ro +# Manufacturing -> Primary Metal -> Steel Works, Blast Furnaces & Ro +# Manufacturing -> Primary Metal -> Steel Pipe & Tubes +# Manufacturing -> Primary Metal -> Iron & Steel Foundries +# Manufacturing -> Primary Metal -> Primary Smelting & Refining of N +# Manufacturing -> Primary Metal -> Primary Production of Aluminium +# Manufacturing -> Primary Metal -> Secondary Smelting & Refining of +# Manufacturing -> Primary Metal -> Rolling Drawing & Extruding of N +# Manufacturing -> Primary Metal -> Drawing & Insulating of Non Ferro +# Manufacturing -> Primary Metal -> Nonferrous Foundries (Castings) +# Manufacturing -> Primary Metal -> Miscellaneous Primary Metal Prod +# Manufacturing -> Fabricated Metal Products +# Manufacturing -> Fabricated Metal Products -> Metal Cans +# Manufacturing -> Fabricated Metal Products -> Metal Shipping Barrels, Drums, K +# Manufacturing -> Fabricated Metal Products -> Cutlery, Handtools & General Har +# Manufacturing -> Fabricated Metal Products -> Hearing Equip, Except Elec & War +# Manufacturing -> Fabricated Metal Products -> Heating Equipment, Except Electr +# Manufacturing -> Fabricated Metal Products -> Fabricated Structural Metal Prod +# Manufacturing -> Fabricated Metal Products -> Metal Doors, Sash, Frames, Moldi +# Manufacturing -> Fabricated Metal Products -> Fabricated Plate Work (Boiler Sh +# Manufacturing -> Fabricated Metal Products -> Sheet Metal Work +# Manufacturing -> Fabricated Metal Products -> Prefabricated Metal Buildings & +# Manufacturing -> Fabricated Metal Products -> Screw Machine Products +# Manufacturing -> Fabricated Metal Products -> Bolts, Nuts, Screws, Rivets & Wa +# Manufacturing -> Fabricated Metal Products -> Metal Forgings & Stampings +# Manufacturing -> Fabricated Metal Products -> Coating, Engraving & Allied Serv +# Manufacturing -> Fabricated Metal Products -> Ordnance & Accessories, (No Vehi +# Manufacturing -> Fabricated Metal Products -> Miscellaneous Fabricated Metal P +# Manufacturing -> Ind Machinery & Computers +# Manufacturing -> Ind Machinery & Computers -> Engines & Turbines +# Manufacturing -> Ind Machinery & Computers -> Farm Machinery & Equipment +# Manufacturing -> Ind Machinery & Computers -> Lawn & Garden Tractors & Home La +# Manufacturing -> Ind Machinery & Computers -> Construction, Mining & Materials +# Manufacturing -> Ind Machinery & Computers -> Construction Machinery & Equip +# Manufacturing -> Ind Machinery & Computers -> Mining Machinery & Equip (No Oil +# Manufacturing -> Ind Machinery & Computers -> Oil & Gas Field Machinery & Equi +# Manufacturing -> Ind Machinery & Computers -> Industrial Trucks, Tractors, Tra +# Manufacturing -> Ind Machinery & Computers -> Metalworking Machinery & Equipment +# Manufacturing -> Ind Machinery & Computers -> Machine Tools, Metal Cutting Typ +# Manufacturing -> Ind Machinery & Computers -> Special Industry Machinery (No M +# Manufacturing -> Ind Machinery & Computers -> Printing Trades Machinery & Equi +# Manufacturing -> Ind Machinery & Computers -> Special Industry Machinery +# Manufacturing -> Ind Machinery & Computers -> General Industrial Machinery & E +# Manufacturing -> Ind Machinery & Computers -> Pumps & Pumping Equipment +# Manufacturing -> Ind Machinery & Computers -> Ball & Roller Bearings +# Manufacturing -> Ind Machinery & Computers -> Industrial & Commercial Fans & B +# Manufacturing -> Ind Machinery & Computers -> Industrial Process Furnaces & Ov +# Manufacturing -> Ind Machinery & Computers -> General Industrial Machinery & E +# Manufacturing -> Ind Machinery & Computers -> Computer & Office Equipment +# Manufacturing -> Ind Machinery & Computers -> Electronic Computers +# Manufacturing -> Ind Machinery & Computers -> Computer Storage Devices +# Manufacturing -> Ind Machinery & Computers -> Computer Terminals +# Manufacturing -> Ind Machinery & Computers -> Computer Communications Equipmen +# Manufacturing -> Ind Machinery & Computers -> Computer Peripheral Equipment +# Manufacturing -> Ind Machinery & Computers -> Calculating & Accounting Machine +# Manufacturing -> Ind Machinery & Computers -> Office Machines +# Manufacturing -> Ind Machinery & Computers -> Refrigeration & Service Industry +# Manufacturing -> Ind Machinery & Computers -> Air-Cond & Warm Air Heatg Equip +# Manufacturing -> Ind Machinery & Computers -> Misc Industrial & Commercial Mac +# Manufacturing -> Electronics +# Manufacturing -> Electronics -> Electronic & Other Electrical Eq +# Manufacturing -> Electronics -> Power, Distribution & Specialty +# Manufacturing -> Electronics -> Switchgear & Switchboard Apparat +# Manufacturing -> Electronics -> Electrical Industrial Apparatus +# Manufacturing -> Electronics -> Motors & Generators +# Manufacturing -> Electronics -> Household Appliances +# Manufacturing -> Electronics -> Electric Housewares & Fans +# Manufacturing -> Electronics -> Electric Lighting & Wiring Equip +# Manufacturing -> Electronics -> Household Audio & Video Equipmen +# Manufacturing -> Electronics -> Phonograph Records & Prerecorded +# Manufacturing -> Electronics -> Telephone & Telegraph Apparatus +# Manufacturing -> Electronics -> Radio & Tv Broadcasting & Commun +# Manufacturing -> Electronics -> Communications Equipment +# Manufacturing -> Electronics -> Electronic Components & Accessor +# Manufacturing -> Electronics -> Printed Circuit Boards +# Manufacturing -> Electronics -> Semiconductors & Related Devices +# Manufacturing -> Electronics -> Electronic Coils & Transformers & +# Manufacturing -> Electronics -> Electronic Connectors +# Manufacturing -> Electronics -> Electronic Components +# Manufacturing -> Electronics -> Miscellaneous Electrical Machine +# Manufacturing -> Electronics -> Magnetic & Optical Recording Med +# Manufacturing -> Transportation Equipment +# Manufacturing -> Transportation Equipment -> Motor Vehicles & Passenger Car B +# Manufacturing -> Transportation Equipment -> Truck & Bus Bodies +# Manufacturing -> Transportation Equipment -> Motor Vehicle Parts & Accessorie +# Manufacturing -> Transportation Equipment -> Truck Trailers +# Manufacturing -> Transportation Equipment -> Motor Homes +# Manufacturing -> Transportation Equipment -> Aircraft & Parts +# Manufacturing -> Transportation Equipment -> Aircraft +# Manufacturing -> Transportation Equipment -> Aircraft Engines & Engine Parts +# Manufacturing -> Transportation Equipment -> Aircraft Parts & Auxiliary Equip +# Manufacturing -> Transportation Equipment -> Ship & Boat Building & Repairing +# Manufacturing -> Transportation Equipment -> Railroad Equipment +# Manufacturing -> Transportation Equipment -> Motorcycles, Bicycles & Parts +# Manufacturing -> Transportation Equipment -> Guided Missiles & Space Vehicles +# Manufacturing -> Transportation Equipment -> Miscellaneous Transportation Equ +# Manufacturing -> Specialty Instruments +# Manufacturing -> Specialty Instruments -> Search, Detection, Navagation, G +# Manufacturing -> Specialty Instruments -> Laboratory Apparatus & Furniture +# Manufacturing -> Specialty Instruments -> Auto Controls For Regulating Res +# Manufacturing -> Specialty Instruments -> Industrial Instruments For Measu +# Manufacturing -> Specialty Instruments -> Totalizing Fluid & Counti +# Manufacturing -> Specialty Instruments -> Instruments For Meas & Testing o +# Manufacturing -> Specialty Instruments -> Laboratory Analytical Instrument +# Manufacturing -> Specialty Instruments -> Optical Instruments & Lenses +# Manufacturing -> Specialty Instruments -> Measuring & Controlling Devices +# Manufacturing -> Specialty Instruments -> Surgical & Medical Instruments & +# Manufacturing -> Specialty Instruments -> Orthopedic, Prosthetic & Surgica +# Manufacturing -> Specialty Instruments -> Dental Equipment & Supplies +# Manufacturing -> Specialty Instruments -> X-Ray Apparatus & Tubes & Relate +# Manufacturing -> Specialty Instruments -> Electromedical & Electrotherapeu +# Manufacturing -> Specialty Instruments -> Ophthalmic Goods +# Manufacturing -> Specialty Instruments -> Photographic Equipment & Supplie +# Manufacturing -> Specialty Instruments -> Watches, Clocks, Clockwork Opera +# Manufacturing -> Miscellaneous Manufacturing +# Manufacturing -> Miscellaneous Manufacturing -> Jewelry, Silverware & Plated War +# Manufacturing -> Miscellaneous Manufacturing -> Jewelry, Precious Metal +# Manufacturing -> Miscellaneous Manufacturing -> Musical Instruments +# Manufacturing -> Miscellaneous Manufacturing -> Dolls & Stuffed Toys +# Manufacturing -> Miscellaneous Manufacturing -> Games, Toys & Children’s Vehicle +# Manufacturing -> Miscellaneous Manufacturing -> Sporting & Athletic Goods +# Manufacturing -> Miscellaneous Manufacturing -> Pens, Pencils & Other Artists’ M +# Manufacturing -> Miscellaneous Manufacturing -> Costumes Jewelry & Novelties +# Manufacturing -> Miscellaneous Manufacturing -> Miscellaneous Manufacturing Indu + +# Transportation & Utilities +# Transportation & Utilities -> Railroads +# Transportation & Utilities -> Railroads -> Railroads, Line-Haul Operating +# Transportation & Utilities -> Railroads -> Railroad Switching & Terminal Es +# Transportation & Utilities -> Passenger Road Transportation +# Transportation & Utilities -> Road Freight Transportation +# Transportation & Utilities -> Road Freight Transportation -> Trucking & Courier Services (No +# Transportation & Utilities -> Road Freight Transportation -> Trucking (No Local) +# Transportation & Utilities -> Road Freight Transportation -> Public Warehousing & Storage +# Transportation & Utilities -> Road Freight Transportation -> Terminal Maintenance Facilities +# Transportation & Utilities -> USPS +# Transportation & Utilities -> Water Transportation +# Transportation & Utilities -> Water Transportation -> Water Transportation +# Transportation & Utilities -> Water Transportation -> Deep Sea Foreign Transportation +# Transportation & Utilities -> Air Transportation +# Transportation & Utilities -> Air Transportation -> Air Transportation, Scheduled +# Transportation & Utilities -> Air Transportation -> Air Courier Services +# Transportation & Utilities -> Air Transportation -> Air Transportation, Nonscheduled +# Transportation & Utilities -> Air Transportation -> Airports, Flying Fields & Airpor +# Transportation & Utilities -> Pipelines +# Transportation & Utilities -> Transportation Services +# Transportation & Utilities -> Transportation Services -> Transportation Services +# Transportation & Utilities -> Transportation Services -> Arrangement of Transportation of +# Transportation & Utilities -> Communications +# Transportation & Utilities -> Communications -> Radiotelephone Communications +# Transportation & Utilities -> Communications -> Telephone Communications (No Rad +# Transportation & Utilities -> Communications -> Telegraph & Other Message Commun +# Transportation & Utilities -> Communications -> Radio Broadcasting Stations +# Transportation & Utilities -> Communications -> Television Broadcasting Stations +# Transportation & Utilities -> Communications -> Cable & Other Pay Television Ser +# Transportation & Utilities -> Communications -> Communications Services +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric, Gas, & Sanitary Svcs +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric Services +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Transmission +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Transmission & Distr +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Distribution +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric & Other Services Combin +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Gas & Other Services Combined +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Water Supply +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Sanitary Services +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Refuse Systems +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Hazardous Waste Management +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Steam & Air-Conditioning Supply +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Cogeneration Services & Small Po + +# Wholesale Trade +# Wholesale Trade -> Durable Goods -> Durable Goods +# Wholesale Trade -> Durable Goods -> Motor Vehicles & Motor Vehicle P +# Wholesale Trade -> Durable Goods -> Motor Vehicles Supplies & New Par +# Wholesale Trade -> Durable Goods -> Furniture & Home Furnishings +# Wholesale Trade -> Durable Goods -> Lumber & Other Construction Mate +# Wholesale Trade -> Durable Goods -> Lumber, Plywood, Millwork & Wood +# Wholesale Trade -> Durable Goods -> Professional & Commercial Equipm +# Wholesale Trade -> Durable Goods -> Computers & Peripheral Equipment +# Wholesale Trade -> Durable Goods -> Medical, Dental & Hospital Equip +# Wholesale Trade -> Durable Goods -> Metals & Minerals (No Petroleum) +# Wholesale Trade -> Durable Goods -> Metals Services Centers & Offices +# Wholesale Trade -> Durable Goods -> Electrical Apparatus & Equipment +# Wholesale Trade -> Durable Goods -> Electrical Appliances, Tv & Radi +# Wholesale Trade -> Durable Goods -> Electronic Parts & Equipment +# Wholesale Trade -> Durable Goods -> Hardware & Plumbing & Heating Eq +# Wholesale Trade -> Durable Goods -> Hardware +# Wholesale Trade -> Durable Goods -> Machinery, Equipment & Supplies +# Wholesale Trade -> Durable Goods -> Construction & Mining (No Petro) +# Wholesale Trade -> Durable Goods -> Industrial Machinery & Equipment +# Wholesale Trade -> Durable Goods -> Misc Durable Goods +# Wholesale Trade -> Durable Goods -> Jewelry, Watches, Precious Stone +# Wholesale Trade -> Durable Goods -> Durable Goods +# Wholesale Trade -> Nondurable Goods +# Wholesale Trade -> Nondurable Goods -> Paper & Paper Products +# Wholesale Trade -> Nondurable Goods -> Drugs, Proprietaries & Druggists +# Wholesale Trade -> Nondurable Goods -> Apparel, Piece Goods & Notions +# Wholesale Trade -> Nondurable Goods -> Groceries & Related Products +# Wholesale Trade -> Nondurable Goods -> Groceries, General Line +# Wholesale Trade -> Nondurable Goods -> Farm Product Raw Materials +# Wholesale Trade -> Nondurable Goods -> Chemicals & Allied Products +# Wholesale Trade -> Nondurable Goods -> Petroleum Bulk Stations & Termin +# Wholesale Trade -> Nondurable Goods -> Petroleum & Petroleum Products ( +# Wholesale Trade -> Nondurable Goods -> Beer, Wine & Distilled Alcoholic +# Wholesale Trade -> Nondurable Goods -> Miscellaneous Nondurable Goods + +# Retail Trade +# Retail Trade -> Building Materials +# Retail Trade -> Building Materials -> Building Materials, Hardware, Ga +# Retail Trade -> Building Materials -> Lumber & Other Buildings Material +# Retail Trade -> Building Materials -> Mobile Home Dealers +# Retail Trade -> General Merchandise +# Retail Trade -> General Merchandise -> Department Stores +# Retail Trade -> General Merchandise -> Variety Stores +# Retail Trade -> General Merchandise -> Misc General Merchandise Stores +# Retail Trade -> Grocery +# Retail Trade -> Grocery -> Food Stores +# Retail Trade -> Grocery -> Grocery Stores +# Retail Trade -> Grocery -> Convenience Stores +# Retail Trade -> Auto Dealers & Service Stations +# Retail Trade -> Auto Dealers & Service Stations -> Auto Dealers & Gasoline Stations +# Retail Trade -> Auto Dealers & Service Stations -> Auto & Home Supply Stores +# Retail Trade -> Apparel & Accessory Stores +# Retail Trade -> Apparel & Accessory Stores -> Apparel & Accessory Stores +# Retail Trade -> Apparel & Accessory Stores -> Women’s Clothing Stores +# Retail Trade -> Apparel & Accessory Stores -> Family Clothing Stores +# Retail Trade -> Apparel & Accessory Stores -> Shoe Stores +# Retail Trade -> Home Furniture +# Retail Trade -> Home Furniture -> Home Furniture, Furnishings & Eq +# Retail Trade -> Home Furniture -> Furniture Stores +# Retail Trade -> Home Furniture -> Ratio, Tv & Consumer Electronics +# Retail Trade -> Home Furniture -> Computer & Computer Software Sto +# Retail Trade -> Home Furniture -> Record & Prerecord Tape Stores +# Retail Trade -> Eating & Drinking Places +# Retail Trade -> Eating & Drinking Places -> Eating & Drinking Places +# Retail Trade -> Eating & Drinking Places -> Eating Places +# Retail Trade -> Miscellaneous Retail +# Retail Trade -> Miscellaneous Retail -> Miscellaneous Retail +# Retail Trade -> Miscellaneous Retail -> Drug Stores & Proprietary Stores +# Retail Trade -> Miscellaneous Retail -> Miscellaneous Shopping Goods Sto +# Retail Trade -> Miscellaneous Retail -> Jewelry Stores +# Retail Trade -> Miscellaneous Retail -> Hobby, Toy & Game Shops +# Retail Trade -> Miscellaneous Retail -> Nonstore Retailers +# Retail Trade -> Miscellaneous Retail -> Catalog & Mail-Order Houses +# Retail Trade -> Miscellaneous Retail -> Retail Stores + +# Financial +# Financial -> Depository Institutions +# Financial -> Depository Institutions -> National Commercial Banks +# Financial -> Depository Institutions -> State Commercial Banks +# Financial -> Depository Institutions -> Commercial Banks +# Financial -> Depository Institutions -> Savings Institution, Federally C +# Financial -> Depository Institutions -> Savings Institution, Not Federa +# Financial -> Depository Institutions -> Functions Related to Despository +# Financial -> Non-depository Credit Inst +# Financial -> Non-depository Credit Inst -> Federal & Federally-Sponsored Cr +# Financial -> Non-depository Credit Inst -> Personal Credit Institutions +# Financial -> Non-depository Credit Inst -> Short-Term Business Credit Insti +# Financial -> Non-depository Credit Inst -> Miscellaneous Business Credit In +# Financial -> Non-depository Credit Inst -> Mortgage Bankers & Loan Correspo +# Financial -> Non-depository Credit Inst -> Loan Brokers +# Financial -> Non-depository Credit Inst -> Finance Lessors +# Financial -> Non-depository Credit Inst -> Asset-Backed Securities +# Financial -> Non-depository Credit Inst -> Finance Services +# Financial -> Security & Commodity Brokers +# Financial -> Security & Commodity Brokers -> Security & Commodity Brokers, De +# Financial -> Security & Commodity Brokers -> Security Brokers, Dealers & Flot +# Financial -> Security & Commodity Brokers -> Commodity Contracts Brokers & De +# Financial -> Security & Commodity Brokers -> Investment Advice +# Financial -> Insurance Carriers +# Financial -> Insurance Carriers -> Life Insurance +# Financial -> Insurance Carriers -> Accident & Health Insurance +# Financial -> Insurance Carriers -> Hospital & Medical Service Plans +# Financial -> Insurance Carriers -> Fire, Marine & Casualty Insuranc +# Financial -> Insurance Carriers -> Surety Insurance +# Financial -> Insurance Carriers -> Title Insurance +# Financial -> Insurance Carriers -> Insurance Carriers +# Financial -> Insurance Agents +# Financial -> Real Estate +# Financial -> Real Estate -> Real Estate +# Financial -> Real Estate -> Real Estate Operators (No Develo +# Financial -> Real Estate -> Operators of Nonresidential Buil +# Financial -> Real Estate -> Operators of Apartment Buildings +# Financial -> Real Estate -> Lessors of Real Property +# Financial -> Real Estate -> Real Estate Agents & Managers +# Financial -> Real Estate -> Real Estate Dealers (For Their O +# Financial -> Real Estate -> Land Subdividers & Developers (N +# Financial -> Holding & Investment Offices +# Financial -> Holding & Investment Offices -> Blank Checks +# Financial -> Holding & Investment Offices -> Oil Royalty Traders +# Financial -> Holding & Investment Offices -> Patent Owners & Lessors +# Financial -> Holding & Investment Offices -> Mineral Royalty Traders +# Financial -> Holding & Investment Offices -> Real Estate Investment Trusts +# Financial -> Holding & Investment Offices -> Investors + +# Services +# Services -> Hotels +# Services -> Hotels -> Hotels, Rooming Houses, Camps & +# Services -> Hotels -> Hotels & Motels +# Services -> Personal Services +# Services -> Business Services +# Services -> Business Services -> Advertising +# Services -> Business Services -> Advertising Agencies +# Services -> Business Services -> Consumer Credit Reporting, Colle +# Services -> Business Services -> Mailing, Reproduction, Commercia +# Services -> Business Services -> Direct Mail Advertising Services +# Services -> Business Services -> To Dwellings & Other Buildings +# Services -> Business Services -> Miscellaneous Equipment Rental & +# Services -> Business Services -> Equipment Rental & Leasing +# Services -> Business Services -> Employment Agencies +# Services -> Business Services -> Help Supply Services +# Services -> Business Services -> Computer Programming, Data Proce +# Services -> Business Services -> Computer Programming Services +# Services -> Business Services -> Prepackaged Software +# Services -> Business Services -> Computer Integrated Systems Desi +# Services -> Business Services -> Computer Processing & Data Prepa +# Services -> Business Services -> Computer Rental & Leasing +# Services -> Business Services -> Miscellaneous Business Services +# Services -> Business Services -> Detective, Guard & Armored Car S +# Services -> Business Services -> Photofinishing Laboratories +# Services -> Business Services -> Telephone Interconnect Systems +# Services -> Business Services -> Business Services +# Services -> Automotive Repair +# Services -> Automotive Repair -> Automotive Repair, Services & Pa +# Services -> Automotive Repair -> Auto Rental & Leasing (No Driver +# Services -> Miscellaneous Repair +# Services -> Motion Pictures +# Services -> Motion Pictures -> Motion Picture & Video Tape Prod +# Services -> Motion Pictures -> Allied to Motion Picture Product +# Services -> Motion Pictures -> Motion Picture & Video Tape Dist +# Services -> Motion Pictures -> Allied to Motion Picture Distrib +# Services -> Motion Pictures -> Motion Picture Theaters +# Services -> Motion Pictures -> Video Tape Rental +# Services -> Amusement & Rec Svcs +# Services -> Amusement & Rec Svcs -> Amusement Recreation Services +# Services -> Amusement & Rec Svcs -> Racing, Including Track Operatio +# Services -> Amusement & Rec Svcs -> Miscellaneous Amusement & Recrea +# Services -> Amusement & Rec Svcs -> Membership Sports & Recreation C +# Services -> Health Services +# Services -> Health Services -> Health Services +# Services -> Health Services -> Offices & Clinics of Doctors of +# Services -> Health Services -> Nursing & Personal Care Faciliti +# Services -> Health Services -> Skilled Nursing Care Facilities +# Services -> Health Services -> Hospitals +# Services -> Health Services -> General Medical & Surgical Hospi +# Services -> Health Services -> Medical Laboratories +# Services -> Health Services -> Home Health Care Services +# Services -> Health Services -> Misc Health & Allied Services +# Services -> Health Services -> Specialty Outpatient Facilities +# Services -> Legal Services +# Services -> Educational Services +# Services -> Social Services +# Services -> Social Services -> Social Services +# Services -> Social Services -> Child Day Care Services +# Services -> Museums +# Services -> Membership Organizations +# Services -> Engr, Acct, Rsrch, Mgmt Svcs +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Engineering, Accounting, Research +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Engineering Services +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Commercial Physical & Biological +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Testing Laboratories +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Management Services +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Management Consulting Services +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Facilities Support Management Se +# Services -> Miscellaneous Services + +# Closed-End Funds diff --git a/gamestonk_terminal/insider/presets/whales.ini b/gamestonk_terminal/insider/presets/whales.ini new file mode 100644 index 00000000000..4d3ab3ae9b3 --- /dev/null +++ b/gamestonk_terminal/insider/presets/whales.ini @@ -0,0 +1,617 @@ +# Author of preset: Sexy Year +# Description: Tries to catch whales that have traded a minimum of 100M$ with a stock with a minimum share price of 20$ in the past 2 weeks. + +[General] +# Symbols or CIKs +Tickers = +# Insider Name or CIK +Insider = +SharePriceMin = 20 +SharePriceMax = +LiquidityMinM = +LiquidityMaxM = + +[Date] +# All dates, Custom, Latest Day, Last 3 days, Last 1 week, Last 2 weeks, Last 1 month, Last 2 months, Last 3 months, Last 6 months, Last 1 year, Last 2 years, Last 4 years. +FilingDate = All dates +# This is only regarded if FillingDate = Custom, format: dd/mm/yyyy +FilingDateFrom = +FilingDateTo = +# All dates, Custom, Latest Day, Last 3 days, Last 1 week, Last 2 weeks, Last 1 month, Last 2 months, Last 3 months, Last 6 months, Last 1 year, Last 2 years, Last 4 years. +TradingDate = Last 2 weeks +# This is only regarded if FillingDate = Custom, format: dd/mm/yyyy +TradingDateFrom = +TradingDateTo = +# These values need to be smaller than 100 +FilingDelayMin = +FilingDelayMax = +NDaysAgo = + +[TransactionFiling] +# The following values are meant to be either: 'true' or empty for False. +P_Purchase = true +S_Sale = true +A_Grant = +D_SaleToLoss = +G_Gift = +NoDeriv = +F_Tax = +M_OptionEx = +X_OptionEx = +C_CnvDeriv = +W_Inherited = +MultipleDays = +# These values need to be multiples of 5 +TradedMinK = 100000 +TradedMaxK = +# These values need to be between 0 and 100% +OwnChangeMinPct = +OwnChangeMaxPct = + +[Industry] +# Available industry options at bottom of the file. +# Sector -> Subsector -> Industry +SectorSubsectorIndustry = All Sectors (except Funds) + +[InsiderTitle] +# The following values are meant to be either: 'true' or empty for False. +COB = +CEO = +Pres = +COO = +CFO = +GC = +VP = +# 'Officer' inclues all of the above: COB, CEO, Pres, COO, CFO, GC, VP +Officer = +Director = +10PctOwn = +Other = + +[Others] +# Filing, Company. +GroupBy = Filing +# Filing Date, Trade Date, Ticker Symbol, Trade Value. +SortBy = Filing Date +# 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000. +MaxResults = 100 +# Between 1 and 99, inclusive. +Page = 1 + +# This only exists if GroupBy = Company +[CompanyTotals] +# These values need to be smaller than 100 +FilingsMin = +FilingsMax = +# These values need to be smaller than 10 +InsidersMin = +InsidersMax = +OfficersMin = +OfficersMax = +# These values need to be multiples of 5 +TradedMinK = +TradedMaxK = +# These values need to be between 0 and 100% +OwnChangeMinPct = +OwnChangeMaxPct = + + +# Available SectorSubsectorIndustry options below: +# All Sectors (except Funds) + +# Agriculture, Forestry, Fish +# Agriculture, Forestry, Fish -> Crops +# Agriculture, Forestry, Fish -> Livestock & Animal Specialties +# Agriculture, Forestry, Fish -> Agriculture Services +# Agriculture, Forestry, Fish -> Forestry +# Agriculture, Forestry, Fish -> Fishing, Hunting & Trapping + +# Mining +# Mining -> Metal Mining +# Mining -> Metal Mining -> Gold & Silver Ores +# Mining -> Metal Mining -> Miscellaneous Metal Ores +# Mining -> Coal Mining +# Mining -> Coal Mining -> Bituminous Coal & Lignite Mining +# Mining -> Coal Mining -> Bituminous Coal & Lignite Surfac +# Mining -> Oil & Gas Extraction +# Mining -> Oil & Gas Extraction -> Crude Petroleum & Natural Gas +# Mining -> Oil & Gas Extraction -> Drilling Oil & Gas Wells +# Mining -> Oil & Gas Extraction -> Oil & Gas Field Exploration Serv +# Mining -> Oil & Gas Extraction -> Oil & Gas Field Services +# Mining -> Mining Non-metallic Minerals + +# Construction +# Construction -> General Contractors & Builders +# Construction -> General Contractors & Builders -> Residential Bldg Contractors +# Construction -> General Contractors & Builders -> Operative Builders +# Construction -> General Contractors & Builders -> Nonresidential Bldg Contractors +# Construction -> Heavy Construction +# Construction -> Heavy Construction -> Heavy Construction Non-Bldg Cont +# Construction -> Heavy Construction -> Water, Sewer, Pipeline, Comm & P +# Construction -> Special Trade Contractors +# Construction -> Special Trade Contractors -> Special Trade Contractors +# Construction -> Special Trade Contractors -> Electrical Work + +# Manufacturing +# Manufacturing -> Food +# Manufacturing -> Food -> Food & Kindred Products +# Manufacturing -> Food -> Meat Packing Plants +# Manufacturing -> Food -> Sausage & Other Prepared Meat P +# Manufacturing -> Food -> Poultry Slaughtering & Processin +# Manufacturing -> Food -> Dairy Products +# Manufacturing -> Food -> Ice Cream & Froze Desserts +# Manufacturing -> Food -> Canned, Frozen & Preservd Fruit +# Manufacturing -> Food -> Canned, Fruits, Veg, Preserves +# Manufacturing -> Food -> Grain Mill Products +# Manufacturing -> Food -> Bakery Products +# Manufacturing -> Food -> Cookies & Crackers +# Manufacturing -> Food -> Sugar & Confectionery Products +# Manufacturing -> Food -> Fats & Oils +# Manufacturing -> Food -> Beverages +# Manufacturing -> Food -> Malt Beverages +# Manufacturing -> Food -> Bottled & Canned Soft Drinks & C +# Manufacturing -> Food -> Miscellaneous Food Preparations +# Manufacturing -> Food -> Prepared Fresh or Frozen Fish & +# Manufacturing -> Tobacco +# Manufacturing -> Tobacco -> Tobacco Products +# Manufacturing -> Tobacco -> Cigarettes +# Manufacturing -> Textile Mill Products +# Manufacturing -> Textile Mill Products -> Textile Mill Products +# Manufacturing -> Textile Mill Products -> Broadwoven Fabric Mills, Cotton +# Manufacturing -> Textile Mill Products -> Broadwoven Fabric Mills, Man Mad +# Manufacturing -> Textile Mill Products -> Knitting Mills +# Manufacturing -> Textile Mill Products -> Knit Outerwear Mills +# Manufacturing -> Textile Mill Products -> Carpets & Rugs +# Manufacturing -> Apparel +# Manufacturing -> Apparel -> Other Finishd Prods of +# Manufacturing -> Apparel -> Men’s & Boy’s Furnishgs, Work Cl +# Manufacturing -> Apparel -> Women’s, Misses’, & Juniors Oute +# Manufacturing -> Apparel -> Women’s, Misses’, Children’s & l +# Manufacturing -> Apparel -> Miscellaneous Fabric +# Manufacturing -> Lumber +# Manufacturing -> Lumber -> Lumber & Wood Products (No Furni) +# Manufacturing -> Lumber -> Sawmills & Planting Mills, Gener +# Manufacturing -> Lumber -> Millwood, Veneer, Plywood & Str +# Manufacturing -> Lumber -> Mobile Homes +# Manufacturing -> Lumber -> Prefabricated Wood Bldgs & Compo +# Manufacturing -> Furniture +# Manufacturing -> Furniture -> Household Furniture +# Manufacturing -> Furniture -> Wood Household Furniture, (no Up) +# Manufacturing -> Furniture -> Office Furniture +# Manufacturing -> Furniture -> Office Furniture (No Wood) +# Manufacturing -> Furniture -> Public Bldg & Related Furniture +# Manufacturing -> Furniture -> Partitions, Shelvg, Lockers & O +# Manufacturing -> Furniture -> Miscellaneous Furniture & Fixtur +# Manufacturing -> Paper +# Manufacturing -> Paper -> Papers & Allied Products +# Manufacturing -> Paper -> Pulp Mills +# Manufacturing -> Paper -> Paper Mills +# Manufacturing -> Paper -> Paperboard Mills +# Manufacturing -> Paper -> Paperboard Containers & Boxes +# Manufacturing -> Paper -> Converted Paper & Paperboard Pro +# Manufacturing -> Paper -> Plastics, Foils & Coated Paper Ba +# Manufacturing -> Printing & Publishing +# Manufacturing -> Printing & Publishing -> Newspapers: Publishing or Publis +# Manufacturing -> Printing & Publishing -> Periodicals: Publishing or Publi +# Manufacturing -> Printing & Publishing -> Books: Publishing or Publishing +# Manufacturing -> Printing & Publishing -> Book Printing +# Manufacturing -> Printing & Publishing -> Miscellaneous Publishing +# Manufacturing -> Printing & Publishing -> Commercial Printing +# Manufacturing -> Printing & Publishing -> Manifold Business Forms +# Manufacturing -> Printing & Publishing -> Greeting Cards +# Manufacturing -> Printing & Publishing -> Blankbooks, Looseleaf Binders & +# Manufacturing -> Printing & Publishing ->Service Industries For The Print +# Manufacturing -> Chemicals +# Manufacturing -> Chemicals -> Chemicals & Allied Products +# Manufacturing -> Chemicals -> Industrial Inorganic Chemicals +# Manufacturing -> Chemicals -> Plastic Material, Synth Resin/Ru +# Manufacturing -> Chemicals -> Plastic Material, Synth Resins +# Manufacturing -> Chemicals -> Medicinal Chemicals & Botanical +# Manufacturing -> Chemicals -> Pharmaceutical Preparations +# Manufacturing -> Chemicals -> In Vitro & In Vito Diagnostic Su +# Manufacturing -> Chemicals -> Biological Products ,(No Diagnos +# Manufacturing -> Chemicals -> Soap, Detergents, Cleaning, Perf +# Manufacturing -> Chemicals -> Specialty Cleaning, Polishing & +# Manufacturing -> Chemicals -> Perfumes, Cosmetics & Other Toil +# Manufacturing -> Chemicals -> Paints, Varnishes, Lacquers, Ena +# Manufacturing -> Chemicals -> Industrial Organic Chemicals +# Manufacturing -> Chemicals ->Agriculture Chemicals +# Manufacturing -> Chemicals -> Miscellaneous Chemical Products +# Manufacturing -> Chemicals -> Adhesives & Sealants +# Manufacturing -> Petroleum Refining +# Manufacturing -> Petroleum Refining -> Petroleum Refining +# Manufacturing -> Petroleum Refining -> Asphalt Paving & Roofing Materia +# Manufacturing -> Petroleum Refining -> Miscellaneous Products of Petrol +# Manufacturing -> Rubber & Plastic +# Manufacturing -> Rubber & Plastic -> Tires & Inner Tubes +# Manufacturing -> Rubber & Plastic -> Rubber & Plastics Footwear +# Manufacturing -> Rubber & Plastic -> Gaskets & Packg & Sealg Devices & +# Manufacturing -> Rubber & Plastic -> Fabricated Rubber Products +# Manufacturing -> Rubber & Plastic -> Miscellaneous Plastics Products +# Manufacturing -> Rubber & Plastic -> Unsupported Plastics Film & Shee +# Manufacturing -> Rubber & Plastic -> Plastics Foam Products +# Manufacturing -> Rubber & Plastic -> Plastics Products +# Manufacturing -> Leather +# Manufacturing -> Leather -> Leather Products +# Manufacturing -> Leather -> Footwear, (No Rubber) +# Manufacturing -> Stone, Clay, Glass & Concrete +# Manufacturing -> Stone, Clay, Glass & Concrete -> Flat Glass +# Manufacturing -> Stone, Clay, Glass & Concrete -> Glass & Glasswear, Pressed or Bl +# Manufacturing -> Stone, Clay, Glass & Concrete -> Glass Containers +# Manufacturing -> Stone, Clay, Glass & Concrete -> Glass Products Made of Purchase +# Manufacturing -> Stone, Clay, Glass & Concrete -> Cements, Hydrallic +# Manufacturing -> Stone, Clay, Glass & Concrete -> Structural Clay Products +# Manufacturing -> Stone, Clay, Glass & Concrete -> Pottery & Related Products +# Manufacturing -> Stone, Clay, Glass & Concrete -> Concreate, Gypsum & Plaster Produ +# Manufacturing -> Stone, Clay, Glass & Concrete -> Concrete Products, Except Block +# Manufacturing -> Stone, Clay, Glass & Concrete -> Cut Stone & Stone Products +# Manufacturing -> Stone, Clay, Glass & Concrete -> Abrasive, Asbestos & Misc Nonmet +# Manufacturing -> Primary Metal +# Manufacturing -> Primary Metal -> Steel Works, Blast Furnaces & Ro +# Manufacturing -> Primary Metal -> Steel Works, Blast Furnaces & Ro +# Manufacturing -> Primary Metal -> Steel Pipe & Tubes +# Manufacturing -> Primary Metal -> Iron & Steel Foundries +# Manufacturing -> Primary Metal -> Primary Smelting & Refining of N +# Manufacturing -> Primary Metal -> Primary Production of Aluminium +# Manufacturing -> Primary Metal -> Secondary Smelting & Refining of +# Manufacturing -> Primary Metal -> Rolling Drawing & Extruding of N +# Manufacturing -> Primary Metal -> Drawing & Insulating of Non Ferro +# Manufacturing -> Primary Metal -> Nonferrous Foundries (Castings) +# Manufacturing -> Primary Metal -> Miscellaneous Primary Metal Prod +# Manufacturing -> Fabricated Metal Products +# Manufacturing -> Fabricated Metal Products -> Metal Cans +# Manufacturing -> Fabricated Metal Products -> Metal Shipping Barrels, Drums, K +# Manufacturing -> Fabricated Metal Products -> Cutlery, Handtools & General Har +# Manufacturing -> Fabricated Metal Products -> Hearing Equip, Except Elec & War +# Manufacturing -> Fabricated Metal Products -> Heating Equipment, Except Electr +# Manufacturing -> Fabricated Metal Products -> Fabricated Structural Metal Prod +# Manufacturing -> Fabricated Metal Products -> Metal Doors, Sash, Frames, Moldi +# Manufacturing -> Fabricated Metal Products -> Fabricated Plate Work (Boiler Sh +# Manufacturing -> Fabricated Metal Products -> Sheet Metal Work +# Manufacturing -> Fabricated Metal Products -> Prefabricated Metal Buildings & +# Manufacturing -> Fabricated Metal Products -> Screw Machine Products +# Manufacturing -> Fabricated Metal Products -> Bolts, Nuts, Screws, Rivets & Wa +# Manufacturing -> Fabricated Metal Products -> Metal Forgings & Stampings +# Manufacturing -> Fabricated Metal Products -> Coating, Engraving & Allied Serv +# Manufacturing -> Fabricated Metal Products -> Ordnance & Accessories, (No Vehi +# Manufacturing -> Fabricated Metal Products -> Miscellaneous Fabricated Metal P +# Manufacturing -> Ind Machinery & Computers +# Manufacturing -> Ind Machinery & Computers -> Engines & Turbines +# Manufacturing -> Ind Machinery & Computers -> Farm Machinery & Equipment +# Manufacturing -> Ind Machinery & Computers -> Lawn & Garden Tractors & Home La +# Manufacturing -> Ind Machinery & Computers -> Construction, Mining & Materials +# Manufacturing -> Ind Machinery & Computers -> Construction Machinery & Equip +# Manufacturing -> Ind Machinery & Computers -> Mining Machinery & Equip (No Oil +# Manufacturing -> Ind Machinery & Computers -> Oil & Gas Field Machinery & Equi +# Manufacturing -> Ind Machinery & Computers -> Industrial Trucks, Tractors, Tra +# Manufacturing -> Ind Machinery & Computers -> Metalworking Machinery & Equipment +# Manufacturing -> Ind Machinery & Computers -> Machine Tools, Metal Cutting Typ +# Manufacturing -> Ind Machinery & Computers -> Special Industry Machinery (No M +# Manufacturing -> Ind Machinery & Computers -> Printing Trades Machinery & Equi +# Manufacturing -> Ind Machinery & Computers -> Special Industry Machinery +# Manufacturing -> Ind Machinery & Computers -> General Industrial Machinery & E +# Manufacturing -> Ind Machinery & Computers -> Pumps & Pumping Equipment +# Manufacturing -> Ind Machinery & Computers -> Ball & Roller Bearings +# Manufacturing -> Ind Machinery & Computers -> Industrial & Commercial Fans & B +# Manufacturing -> Ind Machinery & Computers -> Industrial Process Furnaces & Ov +# Manufacturing -> Ind Machinery & Computers -> General Industrial Machinery & E +# Manufacturing -> Ind Machinery & Computers -> Computer & Office Equipment +# Manufacturing -> Ind Machinery & Computers -> Electronic Computers +# Manufacturing -> Ind Machinery & Computers -> Computer Storage Devices +# Manufacturing -> Ind Machinery & Computers -> Computer Terminals +# Manufacturing -> Ind Machinery & Computers -> Computer Communications Equipmen +# Manufacturing -> Ind Machinery & Computers -> Computer Peripheral Equipment +# Manufacturing -> Ind Machinery & Computers -> Calculating & Accounting Machine +# Manufacturing -> Ind Machinery & Computers -> Office Machines +# Manufacturing -> Ind Machinery & Computers -> Refrigeration & Service Industry +# Manufacturing -> Ind Machinery & Computers -> Air-Cond & Warm Air Heatg Equip +# Manufacturing -> Ind Machinery & Computers -> Misc Industrial & Commercial Mac +# Manufacturing -> Electronics +# Manufacturing -> Electronics -> Electronic & Other Electrical Eq +# Manufacturing -> Electronics -> Power, Distribution & Specialty +# Manufacturing -> Electronics -> Switchgear & Switchboard Apparat +# Manufacturing -> Electronics -> Electrical Industrial Apparatus +# Manufacturing -> Electronics -> Motors & Generators +# Manufacturing -> Electronics -> Household Appliances +# Manufacturing -> Electronics -> Electric Housewares & Fans +# Manufacturing -> Electronics -> Electric Lighting & Wiring Equip +# Manufacturing -> Electronics -> Household Audio & Video Equipmen +# Manufacturing -> Electronics -> Phonograph Records & Prerecorded +# Manufacturing -> Electronics -> Telephone & Telegraph Apparatus +# Manufacturing -> Electronics -> Radio & Tv Broadcasting & Commun +# Manufacturing -> Electronics -> Communications Equipment +# Manufacturing -> Electronics -> Electronic Components & Accessor +# Manufacturing -> Electronics -> Printed Circuit Boards +# Manufacturing -> Electronics -> Semiconductors & Related Devices +# Manufacturing -> Electronics -> Electronic Coils & Transformers & +# Manufacturing -> Electronics -> Electronic Connectors +# Manufacturing -> Electronics -> Electronic Components +# Manufacturing -> Electronics -> Miscellaneous Electrical Machine +# Manufacturing -> Electronics -> Magnetic & Optical Recording Med +# Manufacturing -> Transportation Equipment +# Manufacturing -> Transportation Equipment -> Motor Vehicles & Passenger Car B +# Manufacturing -> Transportation Equipment -> Truck & Bus Bodies +# Manufacturing -> Transportation Equipment -> Motor Vehicle Parts & Accessorie +# Manufacturing -> Transportation Equipment -> Truck Trailers +# Manufacturing -> Transportation Equipment -> Motor Homes +# Manufacturing -> Transportation Equipment -> Aircraft & Parts +# Manufacturing -> Transportation Equipment -> Aircraft +# Manufacturing -> Transportation Equipment -> Aircraft Engines & Engine Parts +# Manufacturing -> Transportation Equipment -> Aircraft Parts & Auxiliary Equip +# Manufacturing -> Transportation Equipment -> Ship & Boat Building & Repairing +# Manufacturing -> Transportation Equipment -> Railroad Equipment +# Manufacturing -> Transportation Equipment -> Motorcycles, Bicycles & Parts +# Manufacturing -> Transportation Equipment -> Guided Missiles & Space Vehicles +# Manufacturing -> Transportation Equipment -> Miscellaneous Transportation Equ +# Manufacturing -> Specialty Instruments +# Manufacturing -> Specialty Instruments -> Search, Detection, Navagation, G +# Manufacturing -> Specialty Instruments -> Laboratory Apparatus & Furniture +# Manufacturing -> Specialty Instruments -> Auto Controls For Regulating Res +# Manufacturing -> Specialty Instruments -> Industrial Instruments For Measu +# Manufacturing -> Specialty Instruments -> Totalizing Fluid & Counti +# Manufacturing -> Specialty Instruments -> Instruments For Meas & Testing o +# Manufacturing -> Specialty Instruments -> Laboratory Analytical Instrument +# Manufacturing -> Specialty Instruments -> Optical Instruments & Lenses +# Manufacturing -> Specialty Instruments -> Measuring & Controlling Devices +# Manufacturing -> Specialty Instruments -> Surgical & Medical Instruments & +# Manufacturing -> Specialty Instruments -> Orthopedic, Prosthetic & Surgica +# Manufacturing -> Specialty Instruments -> Dental Equipment & Supplies +# Manufacturing -> Specialty Instruments -> X-Ray Apparatus & Tubes & Relate +# Manufacturing -> Specialty Instruments -> Electromedical & Electrotherapeu +# Manufacturing -> Specialty Instruments -> Ophthalmic Goods +# Manufacturing -> Specialty Instruments -> Photographic Equipment & Supplie +# Manufacturing -> Specialty Instruments -> Watches, Clocks, Clockwork Opera +# Manufacturing -> Miscellaneous Manufacturing +# Manufacturing -> Miscellaneous Manufacturing -> Jewelry, Silverware & Plated War +# Manufacturing -> Miscellaneous Manufacturing -> Jewelry, Precious Metal +# Manufacturing -> Miscellaneous Manufacturing -> Musical Instruments +# Manufacturing -> Miscellaneous Manufacturing -> Dolls & Stuffed Toys +# Manufacturing -> Miscellaneous Manufacturing -> Games, Toys & Children’s Vehicle +# Manufacturing -> Miscellaneous Manufacturing -> Sporting & Athletic Goods +# Manufacturing -> Miscellaneous Manufacturing -> Pens, Pencils & Other Artists’ M +# Manufacturing -> Miscellaneous Manufacturing -> Costumes Jewelry & Novelties +# Manufacturing -> Miscellaneous Manufacturing -> Miscellaneous Manufacturing Indu + +# Transportation & Utilities +# Transportation & Utilities -> Railroads +# Transportation & Utilities -> Railroads -> Railroads, Line-Haul Operating +# Transportation & Utilities -> Railroads -> Railroad Switching & Terminal Es +# Transportation & Utilities -> Passenger Road Transportation +# Transportation & Utilities -> Road Freight Transportation +# Transportation & Utilities -> Road Freight Transportation -> Trucking & Courier Services (No +# Transportation & Utilities -> Road Freight Transportation -> Trucking (No Local) +# Transportation & Utilities -> Road Freight Transportation -> Public Warehousing & Storage +# Transportation & Utilities -> Road Freight Transportation -> Terminal Maintenance Facilities +# Transportation & Utilities -> USPS +# Transportation & Utilities -> Water Transportation +# Transportation & Utilities -> Water Transportation -> Water Transportation +# Transportation & Utilities -> Water Transportation -> Deep Sea Foreign Transportation +# Transportation & Utilities -> Air Transportation +# Transportation & Utilities -> Air Transportation -> Air Transportation, Scheduled +# Transportation & Utilities -> Air Transportation -> Air Courier Services +# Transportation & Utilities -> Air Transportation -> Air Transportation, Nonscheduled +# Transportation & Utilities -> Air Transportation -> Airports, Flying Fields & Airpor +# Transportation & Utilities -> Pipelines +# Transportation & Utilities -> Transportation Services +# Transportation & Utilities -> Transportation Services -> Transportation Services +# Transportation & Utilities -> Transportation Services -> Arrangement of Transportation of +# Transportation & Utilities -> Communications +# Transportation & Utilities -> Communications -> Radiotelephone Communications +# Transportation & Utilities -> Communications -> Telephone Communications (No Rad +# Transportation & Utilities -> Communications -> Telegraph & Other Message Commun +# Transportation & Utilities -> Communications -> Radio Broadcasting Stations +# Transportation & Utilities -> Communications -> Television Broadcasting Stations +# Transportation & Utilities -> Communications -> Cable & Other Pay Television Ser +# Transportation & Utilities -> Communications -> Communications Services +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric, Gas, & Sanitary Svcs +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric Services +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Transmission +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Transmission & Distr +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Natural Gas Distribution +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Electric & Other Services Combin +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Gas & Other Services Combined +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Water Supply +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Sanitary Services +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Refuse Systems +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Hazardous Waste Management +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Steam & Air-Conditioning Supply +# Transportation & Utilities -> Electric, Gas, & Sanitary Svcs -> Cogeneration Services & Small Po + +# Wholesale Trade +# Wholesale Trade -> Durable Goods -> Durable Goods +# Wholesale Trade -> Durable Goods -> Motor Vehicles & Motor Vehicle P +# Wholesale Trade -> Durable Goods -> Motor Vehicles Supplies & New Par +# Wholesale Trade -> Durable Goods -> Furniture & Home Furnishings +# Wholesale Trade -> Durable Goods -> Lumber & Other Construction Mate +# Wholesale Trade -> Durable Goods -> Lumber, Plywood, Millwork & Wood +# Wholesale Trade -> Durable Goods -> Professional & Commercial Equipm +# Wholesale Trade -> Durable Goods -> Computers & Peripheral Equipment +# Wholesale Trade -> Durable Goods -> Medical, Dental & Hospital Equip +# Wholesale Trade -> Durable Goods -> Metals & Minerals (No Petroleum) +# Wholesale Trade -> Durable Goods -> Metals Services Centers & Offices +# Wholesale Trade -> Durable Goods -> Electrical Apparatus & Equipment +# Wholesale Trade -> Durable Goods -> Electrical Appliances, Tv & Radi +# Wholesale Trade -> Durable Goods -> Electronic Parts & Equipment +# Wholesale Trade -> Durable Goods -> Hardware & Plumbing & Heating Eq +# Wholesale Trade -> Durable Goods -> Hardware +# Wholesale Trade -> Durable Goods -> Machinery, Equipment & Supplies +# Wholesale Trade -> Durable Goods -> Construction & Mining (No Petro) +# Wholesale Trade -> Durable Goods -> Industrial Machinery & Equipment +# Wholesale Trade -> Durable Goods -> Misc Durable Goods +# Wholesale Trade -> Durable Goods -> Jewelry, Watches, Precious Stone +# Wholesale Trade -> Durable Goods -> Durable Goods +# Wholesale Trade -> Nondurable Goods +# Wholesale Trade -> Nondurable Goods -> Paper & Paper Products +# Wholesale Trade -> Nondurable Goods -> Drugs, Proprietaries & Druggists +# Wholesale Trade -> Nondurable Goods -> Apparel, Piece Goods & Notions +# Wholesale Trade -> Nondurable Goods -> Groceries & Related Products +# Wholesale Trade -> Nondurable Goods -> Groceries, General Line +# Wholesale Trade -> Nondurable Goods -> Farm Product Raw Materials +# Wholesale Trade -> Nondurable Goods -> Chemicals & Allied Products +# Wholesale Trade -> Nondurable Goods -> Petroleum Bulk Stations & Termin +# Wholesale Trade -> Nondurable Goods -> Petroleum & Petroleum Products ( +# Wholesale Trade -> Nondurable Goods -> Beer, Wine & Distilled Alcoholic +# Wholesale Trade -> Nondurable Goods -> Miscellaneous Nondurable Goods + +# Retail Trade +# Retail Trade -> Building Materials +# Retail Trade -> Building Materials -> Building Materials, Hardware, Ga +# Retail Trade -> Building Materials -> Lumber & Other Buildings Material +# Retail Trade -> Building Materials -> Mobile Home Dealers +# Retail Trade -> General Merchandise +# Retail Trade -> General Merchandise -> Department Stores +# Retail Trade -> General Merchandise -> Variety Stores +# Retail Trade -> General Merchandise -> Misc General Merchandise Stores +# Retail Trade -> Grocery +# Retail Trade -> Grocery -> Food Stores +# Retail Trade -> Grocery -> Grocery Stores +# Retail Trade -> Grocery -> Convenience Stores +# Retail Trade -> Auto Dealers & Service Stations +# Retail Trade -> Auto Dealers & Service Stations -> Auto Dealers & Gasoline Stations +# Retail Trade -> Auto Dealers & Service Stations -> Auto & Home Supply Stores +# Retail Trade -> Apparel & Accessory Stores +# Retail Trade -> Apparel & Accessory Stores -> Apparel & Accessory Stores +# Retail Trade -> Apparel & Accessory Stores -> Women’s Clothing Stores +# Retail Trade -> Apparel & Accessory Stores -> Family Clothing Stores +# Retail Trade -> Apparel & Accessory Stores -> Shoe Stores +# Retail Trade -> Home Furniture +# Retail Trade -> Home Furniture -> Home Furniture, Furnishings & Eq +# Retail Trade -> Home Furniture -> Furniture Stores +# Retail Trade -> Home Furniture -> Ratio, Tv & Consumer Electronics +# Retail Trade -> Home Furniture -> Computer & Computer Software Sto +# Retail Trade -> Home Furniture -> Record & Prerecord Tape Stores +# Retail Trade -> Eating & Drinking Places +# Retail Trade -> Eating & Drinking Places -> Eating & Drinking Places +# Retail Trade -> Eating & Drinking Places -> Eating Places +# Retail Trade -> Miscellaneous Retail +# Retail Trade -> Miscellaneous Retail -> Miscellaneous Retail +# Retail Trade -> Miscellaneous Retail -> Drug Stores & Proprietary Stores +# Retail Trade -> Miscellaneous Retail -> Miscellaneous Shopping Goods Sto +# Retail Trade -> Miscellaneous Retail -> Jewelry Stores +# Retail Trade -> Miscellaneous Retail -> Hobby, Toy & Game Shops +# Retail Trade -> Miscellaneous Retail -> Nonstore Retailers +# Retail Trade -> Miscellaneous Retail -> Catalog & Mail-Order Houses +# Retail Trade -> Miscellaneous Retail -> Retail Stores + +# Financial +# Financial -> Depository Institutions +# Financial -> Depository Institutions -> National Commercial Banks +# Financial -> Depository Institutions -> State Commercial Banks +# Financial -> Depository Institutions -> Commercial Banks +# Financial -> Depository Institutions -> Savings Institution, Federally C +# Financial -> Depository Institutions -> Savings Institution, Not Federa +# Financial -> Depository Institutions -> Functions Related to Despository +# Financial -> Non-depository Credit Inst +# Financial -> Non-depository Credit Inst -> Federal & Federally-Sponsored Cr +# Financial -> Non-depository Credit Inst -> Personal Credit Institutions +# Financial -> Non-depository Credit Inst -> Short-Term Business Credit Insti +# Financial -> Non-depository Credit Inst -> Miscellaneous Business Credit In +# Financial -> Non-depository Credit Inst -> Mortgage Bankers & Loan Correspo +# Financial -> Non-depository Credit Inst -> Loan Brokers +# Financial -> Non-depository Credit Inst -> Finance Lessors +# Financial -> Non-depository Credit Inst -> Asset-Backed Securities +# Financial -> Non-depository Credit Inst -> Finance Services +# Financial -> Security & Commodity Brokers +# Financial -> Security & Commodity Brokers -> Security & Commodity Brokers, De +# Financial -> Security & Commodity Brokers -> Security Brokers, Dealers & Flot +# Financial -> Security & Commodity Brokers -> Commodity Contracts Brokers & De +# Financial -> Security & Commodity Brokers -> Investment Advice +# Financial -> Insurance Carriers +# Financial -> Insurance Carriers -> Life Insurance +# Financial -> Insurance Carriers -> Accident & Health Insurance +# Financial -> Insurance Carriers -> Hospital & Medical Service Plans +# Financial -> Insurance Carriers -> Fire, Marine & Casualty Insuranc +# Financial -> Insurance Carriers -> Surety Insurance +# Financial -> Insurance Carriers -> Title Insurance +# Financial -> Insurance Carriers -> Insurance Carriers +# Financial -> Insurance Agents +# Financial -> Real Estate +# Financial -> Real Estate -> Real Estate +# Financial -> Real Estate -> Real Estate Operators (No Develo +# Financial -> Real Estate -> Operators of Nonresidential Buil +# Financial -> Real Estate -> Operators of Apartment Buildings +# Financial -> Real Estate -> Lessors of Real Property +# Financial -> Real Estate -> Real Estate Agents & Managers +# Financial -> Real Estate -> Real Estate Dealers (For Their O +# Financial -> Real Estate -> Land Subdividers & Developers (N +# Financial -> Holding & Investment Offices +# Financial -> Holding & Investment Offices -> Blank Checks +# Financial -> Holding & Investment Offices -> Oil Royalty Traders +# Financial -> Holding & Investment Offices -> Patent Owners & Lessors +# Financial -> Holding & Investment Offices -> Mineral Royalty Traders +# Financial -> Holding & Investment Offices -> Real Estate Investment Trusts +# Financial -> Holding & Investment Offices -> Investors + +# Services +# Services -> Hotels +# Services -> Hotels -> Hotels, Rooming Houses, Camps & +# Services -> Hotels -> Hotels & Motels +# Services -> Personal Services +# Services -> Business Services +# Services -> Business Services -> Advertising +# Services -> Business Services -> Advertising Agencies +# Services -> Business Services -> Consumer Credit Reporting, Colle +# Services -> Business Services -> Mailing, Reproduction, Commercia +# Services -> Business Services -> Direct Mail Advertising Services +# Services -> Business Services -> To Dwellings & Other Buildings +# Services -> Business Services -> Miscellaneous Equipment Rental & +# Services -> Business Services -> Equipment Rental & Leasing +# Services -> Business Services -> Employment Agencies +# Services -> Business Services -> Help Supply Services +# Services -> Business Services -> Computer Programming, Data Proce +# Services -> Business Services -> Computer Programming Services +# Services -> Business Services -> Prepackaged Software +# Services -> Business Services -> Computer Integrated Systems Desi +# Services -> Business Services -> Computer Processing & Data Prepa +# Services -> Business Services -> Computer Rental & Leasing +# Services -> Business Services -> Miscellaneous Business Services +# Services -> Business Services -> Detective, Guard & Armored Car S +# Services -> Business Services -> Photofinishing Laboratories +# Services -> Business Services -> Telephone Interconnect Systems +# Services -> Business Services -> Business Services +# Services -> Automotive Repair +# Services -> Automotive Repair -> Automotive Repair, Services & Pa +# Services -> Automotive Repair -> Auto Rental & Leasing (No Driver +# Services -> Miscellaneous Repair +# Services -> Motion Pictures +# Services -> Motion Pictures -> Motion Picture & Video Tape Prod +# Services -> Motion Pictures -> Allied to Motion Picture Product +# Services -> Motion Pictures -> Motion Picture & Video Tape Dist +# Services -> Motion Pictures -> Allied to Motion Picture Distrib +# Services -> Motion Pictures -> Motion Picture Theaters +# Services -> Motion Pictures -> Video Tape Rental +# Services -> Amusement & Rec Svcs +# Services -> Amusement & Rec Svcs -> Amusement Recreation Services +# Services -> Amusement & Rec Svcs -> Racing, Including Track Operatio +# Services -> Amusement & Rec Svcs -> Miscellaneous Amusement & Recrea +# Services -> Amusement & Rec Svcs -> Membership Sports & Recreation C +# Services -> Health Services +# Services -> Health Services -> Health Services +# Services -> Health Services -> Offices & Clinics of Doctors of +# Services -> Health Services -> Nursing & Personal Care Faciliti +# Services -> Health Services -> Skilled Nursing Care Facilities +# Services -> Health Services -> Hospitals +# Services -> Health Services -> General Medical & Surgical Hospi +# Services -> Health Services -> Medical Laboratories +# Services -> Health Services -> Home Health Care Services +# Services -> Health Services -> Misc Health & Allied Services +# Services -> Health Services -> Specialty Outpatient Facilities +# Services -> Legal Services +# Services -> Educational Services +# Services -> Social Services +# Services -> Social Services -> Social Services +# Services -> Social Services -> Child Day Care Services +# Services -> Museums +# Services -> Membership Organizations +# Services -> Engr, Acct, Rsrch, Mgmt Svcs +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Engineering, Accounting, Research +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Engineering Services +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Commercial Physical & Biological +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Testing Laboratories +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Management Services +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Management Consulting Services +# Services -> Engr, Acct, Rsrch, Mgmt Svcs -> Facilities Support Management Se +# Services -> Miscellaneous Services + +# Closed-End Funds