From b77410e9ba6fc6e31886f7800efa23c5e2c0221b Mon Sep 17 00:00:00 2001 From: vince Date: Thu, 18 Mar 2021 18:12:03 +0100 Subject: [PATCH 01/28] Ajout ListWidget pour Articles --- app/data/dataset.json | 2 +- app/launcher.py | 18 ++++++- app/libs/articles_widget.py | 81 +++++++++----------------------- app/libs/tickers_dialog.py | 8 +++- app/libs/widgets/label.py | 11 +++++ app/libs/widgets/textbrowser.py | 9 ++++ app/libs/yahoo_fin/stock_info.py | 8 ++-- app/ui/articles.py | 59 +++++++++++++++++++++++ app/ui/articles.ui | 57 ++++++++++++++++++++++ app/ui/main_window.ui | 43 +++++------------ app/ui/run.py | 6 +++ app/view.py | 3 +- 12 files changed, 206 insertions(+), 99 deletions(-) create mode 100644 app/libs/widgets/label.py create mode 100644 app/libs/widgets/textbrowser.py create mode 100644 app/ui/articles.py create mode 100644 app/ui/articles.ui create mode 100644 app/ui/run.py diff --git a/app/data/dataset.json b/app/data/dataset.json index f9f24ef..601ab10 100644 --- a/app/data/dataset.json +++ b/app/data/dataset.json @@ -1 +1 @@ -{"AI.PA": "Air Liquide", "AIR.PA": "Airbus", "ALO.PA": "Alstom", "MT.AS": "ArcelorMittal", "ATO.PA": "Atos", "CS.PA": "AXA", "BNP.PA": "BNP Paribas", "EN.PA": "Bouygues", "CAP.PA": "Capgemini", "CA.PA": "Carrefour", "ACA.PA": "Cr\u00e9dit Agricole", "BN.PA": "Danone", "DSY.PA": "Dassault Syst\u00e8mes", "ENGI.PA": "Engie", "EL.PA": "EssilorLuxottica", "RMS.PA": "Herm\u00e8s", "KER.PA": "Kering", "OR.PA": "L'Or\u00e9al", "LR.PA": "Legrand", "MC.PA": "LVMH", "ML.PA": "Michelin", "ORA.PA": "Orange", "RI.PA": "Pernod Ricard", "PUB.PA": "Publicis", "RNO.PA": "Renault", "SAF.PA": "Safran", "SGO.PA": "Saint-Gobain", "SAN.PA": "Sanofi", "SU.PA": "Schneider Electric", "GLE.PA": "Soci\u00e9t\u00e9 G\u00e9n\u00e9rale", "STLA.PA": "Stellantis", "STM.PA": "STMicroelectronics", "TEP.PA": "Teleperformance", "HO.PA": "Thales", "FP.PA": "Total", "URW.AS": "Unibail-Rodamco-Westfield", "VIE.PA": "Veolia", "DG.PA": "Vinci", "VIV.PA": "Vivendi", "WLN.PA": "Worldline", "HON": "Honeywell Int'l Inc.", "KO": "Coca-Cola Company", "WBA": "Walgreens Boots Alliance", "CAT": "Caterpillar Inc.", "V": "Visa Inc.", "UNH": "UnitedHealth Group Inc.", "MMM": "3M Company", "PG": "Procter & Gamble", "MRK": "Merck & Co.", "VZ": "Verizon Communications", "DOW": "Dow Inc.", "AMGN": "Amgen Inc.", "CSCO": "Cisco Systems", "DIS": "The Walt Disney Company", "GS": "Goldman Sachs Group", "TRV": "The Travelers Companies", "CVX": "Chevron Corp.", "HD": "Home Depot", "MCD": "McDonald's Corp.", "IBM": "International Business Machines", "JNJ": "Johnson & Johnson", "JPM": "JPMorgan Chase & Co.", "WMT": "Walmart", "NKE": "Nike, Inc.", "INTC": "Intel Corp.", "AXP": "American Express", "BA": "Boeing Company", "AAPL": "Apple Inc.", "MSFT": "Microsoft Corp.", "CRM": "Salesforce.com", "AACG": "ATA Creativity Global - American Depositary Shares, each representing two common shares", "AACQ": "Artius Acquisition Inc. - Class A Common Stock", "AACQU": "Artius Acquisition Inc. - Unit consisting of one ordinary share and one third redeemable warrant", "AACQW": "Artius Acquisition Inc. - Warrant", "AAL": "American Airlines Group", "AAME": "Atlantic American Corporation - Common Stock", "AAOI": "Applied Optoelectronics, Inc. - Common Stock", "AAON": "AAON, Inc. - Common Stock", "AAWW": "Atlas Air Worldwide Holdings - Common Stock", "AAXJ": "iShares MSCI All Country Asia ex Japan Index Fund", "ABCB": "Ameris Bancorp - Common Stock", "ABCL": "AbCellera Biologics Inc. - Common Shares", "ABCM": "Abcam plc - American Depositary Shares", "ABEO": "Abeona Therapeutics Inc. - Common Stock", "ABGI": "ABG Acquisition Corp. I - Class A Ordinary Shares", "ABIO": "ARCA biopharma, Inc. - Common Stock", "ABMD": "Abiomed", "ABNB": "Airbnb, Inc. - Class A Common Stock", "ABST": "Absolute Software Corporation - Common Stock", "ABTX": "Allegiance Bancshares, Inc. - Common Stock", "ABUS": "Arbutus Biopharma Corporation - Common Stock", "ACAC": "Acies Acquisition Corp. - Class A Ordinary Share", "ACACU": "Acies Acquisition Corp. - Unit", "ACACW": "Acies Acquisition Corp. - Warrant", "ACAD": "ACADIA Pharmaceuticals Inc. - Common Stock", "ACBI": "Atlantic Capital Bancshares, Inc. - Common Stock", "ACCD": "Accolade, Inc. - common stock", "ACER": "Acer Therapeutics Inc. - Common Stock", "ACET": "Adicet Bio, Inc. - Common Stock", "ACEV": "ACE Convergence Acquisition Corp. - Class A Ordinary Shares", "ACEVU": "ACE Convergence Acquisition Corp. - Unit", "ACEVW": "ACE Convergence Acquisition Corp. - Warrant", "ACGL": "Arch Capital Group Ltd. - Common Stock", "ACGLO": "Arch Capital Group Ltd. - Depositary Shares Each Representing 1/1,000th Interest in a Share of5.45% Non-Cumulative Preferred Shares, Series F", "ACGLP": "Arch Capital Group Ltd. - Depositary Shares Representing Interest in 5.25% Non-Cumulative Preferred Series E Shrs", "ACHC": "Acadia Healthcare Company, Inc. - Common Stock", "ACHV": "Achieve Life Sciences, Inc. - Common Shares", "ACIU": "AC Immune SA - Common Stock", "ACIW": "ACI Worldwide, Inc. - Common Stock", "ACKIT": "Ackrell SPAC Partners I Co. - Subunits", "ACKIU": "Ackrell SPAC Partners I Co. - Units", "ACKIW": "Ackrell SPAC Partners I Co. - Warrants", "ACLS": "Axcelis Technologies, Inc. - Common Stock", "ACMR": "ACM Research, Inc. - Class A Common Stock", "ACNB": "ACNB Corporation - Common Stock", "ACOR": "Acorda Therapeutics, Inc. - Common Stock", "ACRS": "Aclaris Therapeutics, Inc. - Common Stock", "ACRX": "AcelRx Pharmaceuticals, Inc. - Common Stock", "ACST": "Acasti Pharma, Inc. - Class A Common Stock", "ACTC": "ArcLight Clean Transition Corp. - Class A Ordinary Shares", "ACTCU": "ArcLight Clean Transition Corp. - Unit", "ACTCW": "ArcLight Clean Transition Corp. - Warrant", "ACTG": "Acacia Research Corporation - Common Stock", "ACWI": "iShares MSCI ACWI Index Fund", "ACWX": "iShares MSCI ACWI ex US Index Fund", "ADAG": "Adagene Inc. - ADS, each representing 1.25 ordinary shares", "ADAP": "Adaptimmune Therapeutics plc - American Depositary Shares", "ADBE": "Adobe Inc.", "ADERU": "26 Capital Acquisition Corp. - Unit", "ADES": "Advanced Emissions Solutions, Inc. - Common Stock", "ADI": "Analog Devices, Inc.", "ADIL": "Adial Pharmaceuticals, Inc - Common Stock", "ADILW": "Adial Pharmaceuticals, Inc - Warrant", "ADMA": "ADMA Biologics Inc - Common Stock", "ADMP": "Adamis Pharmaceuticals Corporation - Common Stock", "ADMS": "Adamas Pharmaceuticals, Inc. - Common Stock", "ADN": "Advent Technologies Holdings, Inc. - Class A Common Stock", "ADNWW": "Advent Technologies Holdings, Inc. - Warrant", "ADOC": "Edoc Acquisition Corp. - Class A Ordinary Share", "ADOCR": "Edoc Acquisition Corp. - Right", "ADOCW": "Edoc Acquisition Corp. - Warrant", "ADP": "Automatic Data Processing", "ADPT": "Adaptive Biotechnologies Corporation - Common Stock", "ADRE": "Invesco BLDRS Emerging Markets 50 ADR Index Fund", "ADSK": "Autodesk Inc.", "ADTN": "ADTRAN, Inc. - Common Stock", "ADTX": "ADiTx Therapeutics, Inc. - Common Stock", "ADUS": "Addus HomeCare Corporation - Common Stock", "ADV": "Advantage Solutions Inc. - Class A Common Stock", "ADVM": "Adverum Biotechnologies, Inc. - Common Stock", "ADVWW": "Advantage Solutions Inc. - Warrant", "ADXN": "Addex Therapeutics Ltd - American Depositary Shares", "ADXS": "Advaxis, Inc. - Common Stock", "AEACU": "Authentic Equity Acquisition Corp. - Unit", "AEGN": "Aegion Corp - Class A Common Stock", "AEHL": "Antelope Enterprise Holdings Limited - Common Stock", "AEHR": "Aehr Test Systems - Common Stock", "AEI": "Alset EHome International Inc. - Common Stock", "AEIS": "Advanced Energy Industries, Inc. - Common Stock", "AEMD": "Aethlon Medical, Inc. - Common Stock", "AEP": "American Electric Power", "AEPPL": "American Electric Power Company, Inc. - Corporate Unit", "AEPPZ": "American Electric Power Company, Inc. - Corporate Unit", "AERI": "Aerie Pharmaceuticals, Inc. - Common Stock", "AESE": "Allied Esports Entertainment, Inc. - Common Stock", "AEY": "ADDvantage Technologies Group, Inc. - Common Stock", "AEYE": "AudioEye, Inc. - Common Stock", "AEZS": "Aeterna Zentaris Inc. - Common Stock", "AFBI": "Affinity Bancshares, Inc. - Common Stock", "AFIB": "Acutus Medical, Inc. - Common Stock", "AFIN": "American Finance Trust, Inc. - Class A Common Stock", "AFINO": "American Finance Trust, Inc. - 7.375% Series C Cumulative Redeemable Preferred Stock", "AFINP": "American Finance Trust, Inc. - 7.50% Series A Cumulative Redeemable Perpetual Preferred Stock", "AFMD": "Affimed N.V. - Common Stock", "AFRM": "Affirm Holdings, Inc. - Class A Common Stock", "AFYA": "Afya Limited - Class A Common Shares", "AGBA": "AGBA Acquisition Limited - Ordinary Share", "AGBAR": "AGBA Acquisition Limited - Right", "AGBAU": "AGBA Acquisition Limited - Unit", "AGBAW": "AGBA Acquisition Limited - Warrant", "AGC": "Altimeter Growth Corp. - Class A Ordinary Shares", "AGCUU": "Altimeter Growth Corp. - Unit", "AGCWW": "Altimeter Growth Corp. - Warrant", "AGEN": "Agenus Inc. - Common Stock", "AGFS": "AgroFresh Solutions, Inc. - Common Stock", "AGFY": "Agrify Corporation - Common Stock", "AGIO": "Agios Pharmaceuticals, Inc. - Common Stock", "AGLE": "Aeglea BioTherapeutics, Inc. - Common Stock", "AGMH": "AGM Group Holdings Inc. - Class A Ordinary Shares", "AGNC": "AGNC Investment Corp. - Common Stock", "AGNCM": "AGNC Investment Corp. - Depositary Shares rep 6.875% Series D Fixed-to-Floating Cumulative Redeemable Preferred Stock", "AGNCN": "AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 7.00% Series C Fixed-To-Floating Rate Cumulative Redeemable Preferred Stock", "AGNCO": "AGNC Investment Corp. - Depositary Shares, each representing a 1/1,000th interest in a share of Series E Fixed-to-Floating Cumulative Redeemable Preferred Stock", "AGNCP": "AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 6.125% Series F Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "AGRX": "Agile Therapeutics, Inc. - Common Stock", "AGTC": "Applied Genetic Technologies Corporation - Common Stock", "AGYS": "Agilysys, Inc. - Common Stock", "AGZD": "WisdomTree Interest Rate Hedged U.S. Aggregate Bond Fund", "AHAC": "Alpha Healthcare Acquisition Corp. - Common Stock", "AHACU": "Alpha Healthcare Acquisition Corp. - Unit", "AHACW": "Alpha Healthcare Acquisition Corp. - Warrant", "AHCO": "AdaptHealth Corp. - Class A Common Stock", "AHPI": "Allied Healthcare Products, Inc. - Common Stock", "AIA": "iShares Asia 50 ETF", "AIH": "Aesthetic Medical International Holdings Group Ltd. - American Depositary Shares", "AIHS": "Senmiao Technology Limited - Common Stock", "AIKI": "AIkido Pharma Inc. - Common Stock", "AIMC": "Altra Industrial Motion Corp. - Common Stock", "AINV": "Apollo Investment Corporation - Closed End Fund", "AIQ": "Global X Artificial Intelligence & Technology ETF", "AIRG": "Airgain, Inc. - Common Stock", "AIRR": "First Trust RBA American Industrial Renaissance ETF", "AIRT": "Air T, Inc. - Common Stock", "AIRTP": "Air T, Inc. - Trust Preferred Securities", "AIRTW": "Air T, Inc. - Air T Funding Warrants to Purchase Trust Preferred", "AKAM": "Akamai Technologies", "AKBA": "Akebia Therapeutics, Inc. - Common Stock", "AKER": "Akers Biosciences Inc. - Common Stock", "AKIC": "Sports Ventures Acquisition Corp. - Class A Ordinary Shares", "AKICU": "Sports Ventures Acquisition Corp. - Unit", "AKICW": "Sports Ventures Acquisition Corp. - Warrant", "AKRO": "Akero Therapeutics, Inc. - Common Stock", "AKTS": "Akoustis Technologies, Inc. - Common Stock", "AKTX": "Akari Therapeutics Plc - American Depositary Shares", "AKU": "Akumin Inc. - Common Shares", "AKUS": "Akouos, Inc. - Common Stock", "ALAC": "Alberton Acquisition Corporation - Ordinary Shares", "ALACR": "Alberton Acquisition Corporation - Rights", "ALACU": "Alberton Acquisition Corporation - Unit", "ALACW": "Alberton Acquisition Corporation - Warrant", "ALBO": "Albireo Pharma, Inc. - Common Stock", "ALCO": "Alico, Inc. - Common Stock", "ALDX": "Aldeyra Therapeutics, Inc. - Common Stock", "ALEC": "Alector, Inc. - Common Stock", "ALGM": "Allegro MicroSystems, Inc. - Common Stock", "ALGN": "Align Technology", "ALGS": "Aligos Therapeutics, Inc. - Common stock", "ALGT": "Allegiant Travel Company - Common Stock", "ALIM": "Alimera Sciences, Inc. - Common Stock", "ALJJ": "ALJ Regional Holdings, Inc. - Common Stock", "ALKS": "Alkermes plc - Ordinary Shares", "ALLK": "Allakos Inc. - Common Stock", "ALLO": "Allogene Therapeutics, Inc. - Common Stock", "ALLT": "Allot Ltd. - Ordinary Shares", "ALNA": "Allena Pharmaceuticals, Inc. - Common Stock", "ALNY": "Alnylam Pharmaceuticals, Inc. - Common Stock", "ALOT": "AstroNova, Inc. - Common Stock", "ALPN": "Alpine Immune Sciences, Inc. - Common Stock", "ALRM": "Alarm.com Holdings, Inc. - Common Stock", "ALRN": "Aileron Therapeutics, Inc. - Common Stock", "ALRS": "Alerus Financial Corporation - Common Stock", "ALSK": "Alaska Communications Systems Group, Inc. - Common Stock", "ALT": "Altimmune, Inc. - Common Stock", "ALTA": "Altabancorp - Common Stock", "ALTM": "Altus Midstream Company - Class A Common Stock", "ALTO": "Alto Ingredients, Inc. - Common Stock", "ALTR": "Altair Engineering Inc. - Class A Common Stock", "ALTU": "Altitude Acquisition Corp. - Class A Common Stock", "ALTUU": "Altitude Acquisition Corp. - Unit", "ALTUW": "Altitude Acquisition Corp. - Warrant", "ALTY": "Global X SuperDividend Alternatives ETF", "ALVR": "AlloVir, Inc. - Common Stock", "ALXN": "Alexion Pharmaceuticals", "ALXO": "ALX Oncology Holdings Inc. - Common Stock", "ALYA": "Alithya Group inc. - Class A subordinate voting shares", "AMAL": "Amalgamated Financial Corp. - Common Stock", "AMAT": "Applied Materials Inc.", "AMBA": "Ambarella, Inc. - Ordinary Shares", "AMCA": "iShares Russell 1000 Pure U.S. Revenue ETF", "AMCX": "AMC Networks Inc. - Class A Common Stock", "AMD": "Advanced Micro Devices", "AMED": "Amedisys Inc - Common Stock", "AMEH": "Apollo Medical Holdings, Inc. - Common Stock", "AMHC": "Amplitude Healthcare Acquisition Corporation - Class A Common Stock", "AMHCU": "Amplitude Healthcare Acquisition Corporation - Unit", "AMHCW": "Amplitude Healthcare Acquisition Corporation - Warrant", "AMKR": "Amkor Technology, Inc. - Common Stock", "AMNB": "American National Bankshares, Inc. - Common Stock", "AMOT": "Allied Motion Technologies, Inc. - Common Stock", "AMPG": "Amplitech Group, Inc. - Common Stock", "AMPGW": "Amplitech Group, Inc. - Warrants", "AMPH": "Amphastar Pharmaceuticals, Inc. - Common Stock", "AMRB": "American River Bankshares - Common Stock", "AMRK": "A-Mark Precious Metals, Inc. - Common Stock", "AMRN": "Amarin Corporation plc - American Depositary Shares, each representing one Ordinary Share", "AMRS": "Amyris, Inc. - Common Stock", "AMSC": "American Superconductor Corporation - Common Stock", "AMSF": "AMERISAFE, Inc. - Common Stock", "AMST": "Amesite Inc. - Common Stock", "AMSWA": "American Software, Inc. - Class A Common Stock", "AMTB": "Amerant Bancorp Inc. - Class A Common Stock", "AMTBB": "Amerant Bancorp Inc. - Class B Common Stock", "AMTI": "Applied Molecular Transport Inc. - common stock", "AMTX": "Aemetis, Inc - Common Stock", "AMWD": "American Woodmark Corporation - Common Stock", "AMYT": "Amryt Pharma plc - American Depositary Shares", "AMZN": "Amazon.com Inc.", "ANAB": "AnaptysBio, Inc. - Common Stock", "ANAT": "American National Group, Inc. - Common Stock", "ANCN": "Anchiano Therapeutics Ltd. - American Depositary Shares", "ANDA": "Andina Acquisition Corp. III - Ordinary Shares", "ANDAR": "Andina Acquisition Corp. III - Right", "ANDAU": "Andina Acquisition Corp. III - Unit", "ANDAW": "Andina Acquisition Corp. III - Warrant", "ANDE": "The Andersons, Inc. - Common Stock", "ANGI": "ANGI Homeservices Inc. - Class A Common Stock", "ANGL": "VanEck Vectors Fallen Angel High Yield Bond ETF", "ANGN": "Angion Biomedica Corp. - Common Stock", "ANGO": "AngioDynamics, Inc. - Common Stock", "ANIK": "Anika Therapeutics Inc. - Common Stock", "ANIP": "ANI Pharmaceuticals, Inc. - Common Stock", "ANIX": "Anixa Biosciences, Inc. - Common Stock", "ANNX": "Annexon, Inc. - common stock", "ANPC": "AnPac Bio-Medical Science Co., Ltd. - American Depositary Shares", "ANSS": "ANSYS, Inc.", "ANTE": "AirNet Technology Inc. - American Depositary Shares, each representing ten ordinary shares", "ANY": "Sphere 3D Corp. - Common Shares", "ANZUU": "Anzu Special Acquisition Corp I - Units", "AOSL": "Alpha and Omega Semiconductor Limited - Common Shares", "AOUT": "American Outdoor Brands, Inc. - Common Stock", "APA": "APA Corporation", "APDN": "Applied DNA Sciences, Inc. - Common Stock", "APEI": "American Public Education, Inc. - Common Stock", "APEN": "Apollo Endosurgery, Inc. - Common Stock", "APHA": "Aphria Inc. - Common Shares", "API": "Agora, Inc. - ADS", "APLS": "Apellis Pharmaceuticals, Inc. - Common Stock", "APLT": "Applied Therapeutics, Inc. - Common Stock", "APM": "Aptorum Group Limited - Class A Ordinary Shares", "APOG": "Apogee Enterprises, Inc. - Common Stock", "APOP": "Cellect Biotechnology Ltd. - American Depositary Shares", "APOPW": "Cellect Biotechnology Ltd. - Warrants to Purchase ADR (1 WT and $7.50 to purchase 0.2 ADS)", "APPF": "AppFolio, Inc. - Class A Common Stock", "APPH": "AppHarvest, Inc. - Common Stock", "APPHW": "AppHarvest, Inc. - Warrants", "APPN": "Appian Corporation - Class A Common Stock", "APPS": "Digital Turbine, Inc. - Common Stock", "APR": "Apria, Inc. - Common Stock", "APRE": "Aprea Therapeutics, Inc. - Common Stock", "APTO": "Aptose Biosciences, Inc. - Common Shares", "APTX": "Aptinyx Inc. - Common Stock", "APVO": "Aptevo Therapeutics Inc. - Common Stock", "APWC": "Asia Pacific Wire - Common shares, Par value .01 per share", "APXT": "Apex Technology Acquisition Corporation - Class A Common Stock", "APXTU": "Apex Technology Acquisition Corporation - Unit", "APXTW": "Apex Technology Acquisition Corporation - Warrant", "APYX": "Apyx Medical Corporation - Common Stock", "AQB": "AquaBounty Technologies, Inc. - Common Stock", "AQMS": "Aqua Metals, Inc. - Common Stock", "AQST": "Aquestive Therapeutics, Inc. - Common Stock", "ARAV": "Aravive, Inc. - Common Stock", "ARAY": "Accuray Incorporated - Common Stock", "ARBG": "Aequi Acquisition Corp. - common stock", "ARBGU": "Aequi Acquisition Corp. - Unit", "ARBGW": "Aequi Acquisition Corp. - warrants", "ARCB": "ArcBest Corporation - Common Stock", "ARCC": "Ares Capital Corporation - Closed End Fund", "ARCE": "Arco Platform Limited - Class A Common Shares", "ARCT": "Arcturus Therapeutics Holdings Inc. - Common Stock", "ARDS": "Aridis Pharmaceuticals Inc. - Common Stock", "ARDX": "Ardelyx, Inc. - Common Stock", "AREC": "American Resources Corporation - Class A Common Stock", "ARGX": "argenx SE - American Depositary Shares", "ARKIU": "Ark Global Acquisition Corp. - Unit", "ARKO": "ARKO Corp. - Common Stock", "ARKOW": "ARKO Corp. - Warrant", "ARKR": "Ark Restaurants Corp. - Common Stock", "ARLP": "Alliance Resource Partners, L.P. - Common Units Representing Limited Partnership Interests", "ARNA": "Arena Pharmaceuticals, Inc. - Common Stock", "AROW": "Arrow Financial Corporation - Common Stock", "ARPO": "Aerpio Pharmaceuticals, Inc. - Common Stock", "ARQT": "Arcutis Biotherapeutics, Inc. - Common stock", "ARRWU": "Arrowroot Acquisition Corp. - Unit", "ARRY": "Array Technologies, Inc. - Common Stock", "ARTL": "Artelo Biosciences, Inc. - Common Stock", "ARTLW": "Artelo Biosciences, Inc. - Warrant", "ARTNA": "Artesian Resources Corporation - Class A Non-Voting Common Stock", "ARTW": "Art's-Way Manufacturing Co., Inc. - Common Stock", "ARVN": "Arvinas, Inc. - Common Stock", "ARWR": "Arrowhead Pharmaceuticals, Inc. - Common Stock", "ARYA": "ARYA Sciences Acquisition Corp III - Class A Ordinary Shares", "ARYD": "ARYA Sciences Acquisition Corp IV - Class A Ordinary Shares", "ASAXU": "Astrea Acquisition Corp. - Unit", "ASET": "FlexShares Real Assets Allocation Index Fund", "ASLE": "AerSale Corporation - Common Stock", "ASLEW": "AerSale Corporation - Warrants", "ASLN": "ASLAN Pharmaceuticals Limited - American Depositary Shares", "ASMB": "Assembly Biosciences, Inc. - Common Stock", "ASML": "ASML Holding N.V. - New York Registry Shares", "ASND": "Ascendis Pharma A/S - American Depositary Shares", "ASO": "Academy Sports and Outdoors, Inc. - Common Stock", "ASPCU": "Alpha Capital Acquisition Company - Unit", "ASPS": "Altisource Portfolio Solutions S.A. - Common Stock", "ASPU": "Aspen Group Inc. - Common Stock", "ASRT": "Assertio Holdings, Inc. - Common Stock", "ASRV": "AmeriServ Financial Inc. - Common Stock", "ASRVP": "AmeriServ Financial Inc. - AmeriServ Financial Trust I - 8.45% Beneficial Unsecured Securities, Series A", "ASTC": "Astrotech Corporation - Common Stock", "ASTE": "Astec Industries, Inc. - Common Stock", "ASUR": "Asure Software Inc - Common Stock", "ASYS": "Amtech Systems, Inc. - Common Stock", "ATAX": "America First Multifamily Investors, L.P. - Beneficial Unit Certificates (BUCs) representing Limited Partnership Interests", "ATCX": "Atlas Technical Consultants, Inc. - Class A Common Stock", "ATEC": "Alphatec Holdings, Inc. - Common Stock", "ATEX": "Anterix Inc. - Common Stock", "ATHA": "Athira Pharma, Inc. - Common Stock", "ATHE": "Alterity Therapeutics Limited - American Depositary Shares", "ATHX": "Athersys, Inc. - Common Stock", "ATIF": "ATIF Holdings Limited - Ordinary Shares", "ATLC": "Atlanticus Holdings Corporation - Common Stock", "ATLO": "Ames National Corporation - Common Stock", "ATNF": "180 Life Sciences Corp. - Common Stock", "ATNFW": "180 Life Sciences Corp. - Warrant", "ATNI": "ATN International, Inc. - Common Stock", "ATNX": "Athenex, Inc. - Common Stock", "ATOM": "Atomera Incorporated - Common Stock", "ATOS": "Atossa Therapeutics, Inc. - Common Stock", "ATRA": "Atara Biotherapeutics, Inc. - Common Stock", "ATRC": "AtriCure, Inc. - Common Stock", "ATRI": "Atrion Corporation - Common Stock", "ATRO": "Astronics Corporation - Common Stock", "ATRS": "Antares Pharma, Inc. - Common Stock", "ATSG": "Air Transport Services Group, Inc - Common Stock", "ATVI": "Activision Blizzard", "ATXI": "Avenue Therapeutics, Inc. - Common Stock", "AUB": "Atlantic Union Bankshares Corporation - Common Stock", "AUBAP": "Atlantic Union Bankshares Corporation - Depositary Shares each representing a 1/400th ownership interest in a share of 6.875%Perpetual Non-Cumulative Preferred Stock, Series A", "AUBN": "Auburn National Bancorporation, Inc. - Common Stock", "AUDC": "AudioCodes Ltd. - Ordinary Shares", "AUPH": "Aurinia Pharmaceuticals Inc - Common Shares", "AUTL": "Autolus Therapeutics plc - American Depositary Shares", "AUTO": "AutoWeb, Inc. - Common Stock", "AUUD": "Auddia Inc. - Common Stock", "AUUDW": "Auddia Inc. - Warrants", "AUVI": "Applied UV, Inc. - Common Stock", "AVAV": "AeroVironment, Inc. - Common Stock", "AVCO": "Avalon GloboCare Corp. - Common Stock", "AVCT": "American Virtual Cloud Technologies, Inc. - Common Stock", "AVCTW": "American Virtual Cloud Technologies, Inc. - Warrant expiring 4/7/2020", "AVDL": "Avadel Pharmaceuticals plc - American Depositary Shares each representing one Ordinary Share", "AVEO": "AVEO Pharmaceuticals, Inc. - Common Stock", "AVGO": "Broadcom Inc.", "AVGOP": "Broadcom Inc. - 8.00% Mandatory Convertible Preferred Stock, Series A", "AVGR": "Avinger, Inc. - Common Stock", "AVID": "Avid Technology, Inc. - Common Stock", "AVIR": "Atea Pharmaceuticals, Inc. - common stock", "AVNW": "Aviat Networks, Inc. - Common Stock", "AVO": "Mission Produce, Inc. - Common Stock", "AVRO": "AVROBIO, Inc. - Common Stock", "AVT": "Avnet, Inc. - Common Stock", "AVXL": "Anavex Life Sciences Corp. - Common Stock", "AWH": "Aspira Women's Health Inc. - Common Stock", "AWRE": "Aware, Inc. - Common Stock", "AXAS": "Abraxas Petroleum Corporation - Common Stock", "AXDX": "Accelerate Diagnostics, Inc. - Common Stock", "AXGN": "Axogen, Inc. - Common Stock", "AXLA": "Axcella Health Inc. - Common Stock", "AXNX": "Axonics Modulation Technologies, Inc. - Common Stock", "AXON": "Axon Enterprise, Inc. - Common Stock", "AXSM": "Axsome Therapeutics, Inc. - Common Stock", "AXTI": "AXT Inc - Common Stock", "AY": "Atlantica Sustainable Infrastructure plc - Ordinary Shares", "AYLA": "Ayala Pharmaceuticals, Inc. - Common Stock", "AYRO": "AYRO, Inc. - Common Stock", "AYTU": "Aytu BioScience, Inc. - Common Stock", "AZN": "AstraZeneca PLC - American Depositary Shares", "AZPN": "Aspen Technology, Inc. - Common Stock", "AZRX": "AzurRx BioPharma, Inc. - Common Stock", "AZYO": "Aziyo Biologics, Inc. - Class A Common Stock", "BAND": "Bandwidth Inc. - Class A Common Stock", "BANF": "BancFirst Corporation - Common Stock", "BANFP": "BancFirst Corporation - 7.2% Cumulative Trust Preferred Securities", "BANR": "Banner Corporation - Common Stock", "BANX": "StoneCastle Financial Corp - Common Stock", "BAOS": "Baosheng Media Group Holdings Limited - Ordinary shares", "BASI": "Bioanalytical Systems, Inc. - Common Stock", "BATRA": "Liberty Media Corporation - Series A Liberty Braves Common Stock", "BATRK": "Liberty Media Corporation - Series C Liberty Braves Common Stock", "BBBY": "Bed Bath & Beyond Inc. - Common Stock", "BBCP": "Concrete Pumping Holdings, Inc. - Common Stock", "BBGI": "Beasley Broadcast Group, Inc. - Class A Common Stock", "BBH": "VanEck Vectors Biotech ETF", "BBI": "Brickell Biotech, Inc. - Common Stock", "BBIG": "Vinco Ventures, Inc. - Common Stock", "BBIO": "BridgeBio Pharma, Inc. - Common Stock", "BBQ": "BBQ Holdings, Inc. - Common Stock", "BBSI": "Barrett Business Services, Inc. - Common Stock", "BCAB": "BioAtla, Inc. - Common Stock", "BCAC": "Brookline Capital Acquisition Corp. - Common Stock", "BCACU": "Brookline Capital Acquisition Corp. - Units", "BCACW": "Brookline Capital Acquisition Corp. - Warrant", "BCBP": "BCB Bancorp, Inc. (NJ) - Common Stock", "BCDA": "BioCardia, Inc. - Common Stock", "BCDAW": "BioCardia, Inc. - Warrant", "BCEL": "Atreca, Inc. - Class A Common Stock", "BCLI": "Brainstorm Cell Therapeutics Inc. - Common Stock", "BCML": "BayCom Corp - Common Stock", "BCOR": "Blucora, Inc. - Common Stock", "BCOV": "Brightcove Inc. - Common Stock", "BCOW": "1895 Bancorp of Wisconsin, Inc. - Common Stock", "BCPC": "Balchem Corporation - Common Stock", "BCRX": "BioCryst Pharmaceuticals, Inc. - Common Stock", "BCTG": "BCTG Acquisition Corp. - Common Stock", "BCTX": "BriaCell Therapeutics Corp. - Common Shares", "BCTXW": "BriaCell Therapeutics Corp. - Warrant", "BCYC": "Bicycle Therapeutics plc - American Depositary Shares", "BCYP": "Big Cypress Acquisition Corp. - Common stock", "BCYPU": "Big Cypress Acquisition Corp. - Unit", "BCYPW": "Big Cypress Acquisition Corp. - Warrant", "BDSI": "BioDelivery Sciences International, Inc. - Common Stock", "BDSX": "Biodesix, Inc. - Common Stock", "BDTX": "Black Diamond Therapeutics, Inc. - Common Stock", "BEAM": "Beam Therapeutics Inc. - Common Stock", "BECN": "Beacon Roofing Supply, Inc. - Common Stock", "BEEM": "Beam Global - Common Stock", "BEEMW": "Beam Global - Warrant", "BELFA": "Bel Fuse Inc. - Class A Common Stock", "BELFB": "Bel Fuse Inc. - Class B Common Stock", "BENE": "Benessere Capital Acquisition Corp. - Class A Common Stock", "BENER": "Benessere Capital Acquisition Corp. - Right", "BENEU": "Benessere Capital Acquisition Corp. - Unit", "BENEW": "Benessere Capital Acquisition Corp. - Warrant", "BFC": "Bank First Corporation - Common Stock", "BFI": "BurgerFi International Inc - Common Stock", "BFIIW": "BurgerFi International Inc - Warrant", "BFIN": "BankFinancial Corporation - Common Stock", "BFIT": "Global X Health & Wellness Thematic ETF", "BFRA": "Biofrontera AG - American Depositary Shares", "BFST": "Business First Bancshares, Inc. - Common Stock", "BGCP": "BGC Partners, Inc. - Class A Common Stock", "BGFV": "Big 5 Sporting Goods Corporation - Common Stock", "BGNE": "BeiGene, Ltd. - American Depositary Shares", "BGRN": "iShares Global Green Bond ETF", "BHAT": "Blue Hat Interactive Entertainment Technology - Ordinary Shares", "BHF": "Brighthouse Financial, Inc. - Common Stock", "BHFAL": "Brighthouse Financial, Inc. - Junior Subordinated Debentures due 2058", "BHFAN": "Brighthouse Financial, Inc. - depositary shares, each representing a 1/1,000th interest in a share of 5.375% Non-Cumulative Preferred Stock, Series C", "BHFAO": "Brighthouse Financial, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 6.750% Non-Cumulative Preferred Stock, Series B", "BHFAP": "Brighthouse Financial, Inc. - Depositary Shares 6.6% Non-Cumulative Preferred Stock, Series A", "BHSE": "Bull Horn Holdings Corp. - Ordinary Shares", "BHSEU": "Bull Horn Holdings Corp. - Unit", "BHSEW": "Bull Horn Holdings Corp. - Warrants", "BHTG": "BioHiTech Global, Inc. - Common Stock", "BIB": "ProShares Ultra Nasdaq Biotechnology", "BICK": "First Trust BICK Index Fund", "BIDU": "Baidu, Inc. - American Depositary Shares, each representing one tenth Class A ordinary share", "BIGC": "BigCommerce Holdings, Inc. - Series 1 Common Stock", "BIIB": "Biogen Inc.", "BILI": "Bilibili Inc. - American Depositary Shares", "BIMI": "BOQI International Medical Inc. - Common Stock", "BIOC": "Biocept, Inc. - Common Stock", "BIOL": "Biolase, Inc. - Common Stock", "BIOTU": "Biotech Acquisition Company - Unit", "BIS": "ProShares UltraShort Nasdaq Biotechnology", "BIVI": "BioVie Inc. - Common stock", "BJK": "VanEck Vectors Gaming ETF", "BJRI": "BJ's Restaurants, Inc. - Common Stock", "BKCC": "BlackRock Capital Investment Corporation - Common Stock", "BKEP": "Blueknight Energy Partners L.P., L.L.C. - Common Units representing Limited Partner Interests", "BKEPP": "Blueknight Energy Partners L.P., L.L.C. - Series A Preferred Units", "BKNG": "Booking Holdings Inc", "BKSC": "Bank of South Carolina Corp. - Common Stock", "BKYI": "BIO-key International, Inc. - Common Stock", "BL": "BlackLine, Inc. - Common Stock", "BLBD": "Blue Bird Corporation - Common Stock", "BLCM": "Bellicum Pharmaceuticals, Inc. - Common Stock", "BLCN": "Siren Nasdaq NexGen Economy ETF", "BLCT": "BlueCity Holdings Limited - American Depositary Shares", "BLDP": "Ballard Power Systems, Inc. - Common Shares", "BLDR": "Builders FirstSource, Inc. - Common Stock", "BLFS": "BioLife Solutions, Inc. - Common Stock", "BLI": "Berkeley Lights, Inc. - Common Stock", "BLIN": "Bridgeline Digital, Inc. - Common Stock", "BLKB": "Blackbaud, Inc. - Common Stock", "BLMN": "Bloomin' Brands, Inc. - Common Stock", "BLNK": "Blink Charging Co. - Common Stock", "BLNKW": "Blink Charging Co. - Warrant", "BLPH": "Bellerophon Therapeutics, Inc. - Common Stock", "BLRX": "BioLineRx Ltd. - American Depositary Shares", "BLSA": "BCLS Acquisition Corp. - Class A Ordinary Shares", "BLTS": "Bright Lights Acquisition Corp. - Class A Common Stock", "BLTSU": "Bright Lights Acquisition Corp. - Unit", "BLTSW": "Bright Lights Acquisition Corp. - Warrant", "BLU": "BELLUS Health Inc. - Common Shares", "BLUE": "bluebird bio, Inc. - Common Stock", "BLUW": "Blue Water Acquisition Corp. - Class A Common Stock", "BLUWU": "Blue Water Acquisition Corp. - Unit", "BLUWW": "Blue Water Acquisition Corp. - Warrant", "BMBL": "Bumble Inc. - common stock", "BMLP": "Dorsey Wright MLP Index ETNs due December 10, 2036", "BMRA": "Biomerica, Inc. - Common Stock", "BMRC": "Bank of Marin Bancorp - Common Stock", "BMRN": "BioMarin Pharmaceutical Inc. - Common Stock", "BMTC": "Bryn Mawr Bank Corporation - Common Stock", "BND": "Vanguard Total Bond Market ETF", "BNDW": "Vanguard Total World Bond ETF", "BNDX": "Vanguard Total International Bond ETF", "BNFT": "Benefitfocus, Inc. - Common Stock", "BNGO": "Bionano Genomics, Inc. - Common Stock", "BNGOW": "Bionano Genomics, Inc. - Warrant", "BNR": "Burning Rock Biotech Limited - American Depositary Shares", "BNSO": "Bonso Electronics International, Inc. - Common Stock", "BNTC": "Benitec Biopharma Inc. - Common Stock", "BNTX": "BioNTech SE - American Depositary Shares", "BOCH": "Bank of Commerce Holdings (CA) - Common Stock", "BOKF": "BOK Financial Corporation - Common Stock", "BOKFL": "BOK Financial Corporation - 5.375% Subordinated Notes due 2056", "BOLT": "Bolt Biotherapeutics, Inc. - Common Stock", "BOMN": "Boston Omaha Corporation - Class A Common Stock", "BOOM": "DMC Global Inc. - Common Stock", "BOSC": "B.O.S. Better Online Solutions - Ordinary Shares", "BOTJ": "Bank of the James Financial Group, Inc. - Common Stock", "BOTZ": "Global X Robotics & Artificial Intelligence ETF", "BOWX": "BowX Acquisition Corp. - Class A Common Stock", "BOWXU": "BowX Acquisition Corp. - Unit", "BOWXW": "BowX Acquisition Corp. - Warrant", "BOXL": "Boxlight Corporation - Class A Common Stock", "BPFH": "Boston Private Financial Holdings, Inc. - Common Stock", "BPMC": "Blueprint Medicines Corporation - Common Stock", "BPOP": "Popular, Inc. - Common Stock", "BPOPM": "Popular, Inc. - Popular Capital Trust II - 6.125% Cumulative Monthly Income Trust Preferred Securities", "BPOPN": "Popular, Inc. - Popular Capital Trust I -6.70% Cumulative Monthly Income Trust Preferred Securities", "BPRN": "The Bank of Princeton - Common Stock", "BPTH": "Bio-Path Holdings, Inc. - Common Stock", "BPTS": "Biophytis SA - American Depositary Share", "BPY": "Brookfield Property Partners L.P. - Limited Partnership Units", "BPYPN": "Brookfield Property Partners L.P. - 5.750% Class A Cumulative Redeemable Perpetual Preferred Units, Series 3", "BPYPO": "Brookfield Property Partners L.P. - 6.375% Class A Cumulative Redeemable Perpetual Preferred Units, Series 2", "BPYPP": "Brookfield Property Partners L.P. - 6.50% Class A Cumulative Redeemable Perpetual Preferred Units", "BPYU": "Brookfield Property REIT Inc. - Class A Common Stock", "BPYUP": "Brookfield Property REIT Inc. - 6.375% Series A Preferred Stock", "BREZ": "Breeze Holdings Acquisition Corp. - Common Stock", "BREZR": "Breeze Holdings Acquisition Corp. - Right", "BREZW": "Breeze Holdings Acquisition Corp. - Warrant", "BRID": "Bridgford Foods Corporation - Common Stock", "BRKL": "Brookline Bancorp, Inc. - Common Stock", "BRKR": "Bruker Corporation - Common Stock", "BRKS": "Brooks Automation, Inc. - Common Stock", "BRLI": "Brilliant Acquisition Corporation - Ordinary Shares", "BRLIR": "Brilliant Acquisition Corporation - Rights", "BRLIU": "Brilliant Acquisition Corporation - Unit", "BRLIW": "Brilliant Acquisition Corporation - Warrants", "BROG": "Brooge Energy Limited - Ordinary Shares", "BROGW": "Brooge Energy Limited - Warrant", "BRP": "BRP Group, Inc. - Class A Common Stock", "BRPA": "Big Rock Partners Acquisition Corp. - Common Stock", "BRPAR": "Big Rock Partners Acquisition Corp. - Right", "BRPAU": "Big Rock Partners Acquisition Corp. - Unit", "BRPAW": "Big Rock Partners Acquisition Corp. - Warrant", "BRPMU": "B. Riley Principal 150 Merger Corp. - Unit", "BRQS": "Borqs Technologies, Inc. - Ordinary Shares", "BRY": "Berry Corporation (bry) - Common Stock", "BSAE": "Invesco BulletShares 2021 USD Emerging Markets Debt ETF", "BSBE": "Invesco BulletShares 2022 USD Emerging Markets Debt ETF", "BSBK": "Bogota Financial Corp. - Common Stock", "BSCE": "Invesco BulletShares 2023 USD Emerging Markets Debt ETF", "BSCL": "Invesco BulletShares 2021 Corporate Bond ETF", "BSCM": "Invesco BulletShares 2022 Corporate Bond ETF", "BSCN": "Invesco BulletShares 2023 Corporate Bond ETF", "BSCO": "Invesco BulletShares 2024 Corporate Bond ETF", "BSCP": "Invesco BulletShares 2025 Corporate Bond ETF", "BSCQ": "Invesco BulletShares 2026 Corporate Bond ETF", "BSCR": "Invesco BulletShares 2027 Corporate Bond ETF", "BSCS": "Invesco BulletShares 2028 Corporate Bond ETF", "BSCT": "Invesco BulletShares 2029 Corporate Bond ETF", "BSCU": "Invesco BulletShares 2030 Corporate Bond ETF", "BSDE": "Invesco BulletShares 2024 USD Emerging Markets Debt ETF", "BSET": "Bassett Furniture Industries, Incorporated - Common Stock", "BSGM": "BioSig Technologies, Inc. - Common Stock", "BSJL": "Invesco BulletShares 2021 High Yield Corporate Bond ETF", "BSJM": "Invesco BulletShares 2022 High Yield Corporate Bond ETF", "BSJN": "Invesco BulletShares 2023 High Yield Corporate Bond ETF", "BSJO": "Invesco BulletShares 2024 High Yield Corporate Bond ETF", "BSJP": "Invesco BulletShares 2025 High Yield Corporate Bond ETF", "BSJQ": "Invesco BulletShares 2026 High Yield Corporate Bond ETF", "BSJR": "Invesco BulletShares 2027 High Yield Corporate Bond ETF", "BSJS": "Invesco BulletShares 2028 High Yield Corporate Bond ETF", "BSML": "Invesco BulletShares 2021 Municipal Bond ETF", "BSMM": "Invesco BulletShares 2022 Municipal Bond ETF", "BSMN": "Invesco BulletShares 2023 Municipal Bond ETF", "BSMO": "Invesco BulletShares 2024 Municipal Bond ETF", "BSMP": "Invesco BulletShares 2025 Municipal Bond ETF", "BSMQ": "Invesco BulletShares 2026 Municipal Bond ETF", "BSMR": "Invesco BulletShares 2027 Municipal Bond ETF", "BSMS": "Invesco BulletShares 2028 Municipal Bond ETF", "BSMT": "Invesco BulletShares 2029 Municipal Bond ETF", "BSMU": "Invesco BulletShares 2030 Municipal Bond ETF", "BSPE": "Bespoke Capital Acquisition Corp. - Class A Restricted Voting Shares", "BSQR": "BSQUARE Corporation - Common Stock", "BSRR": "Sierra Bancorp - Common Stock", "BSVN": "Bank7 Corp. - Common stock", "BSY": "Bentley Systems, Incorporated - Class B Common Stock", "BTAI": "BioXcel Therapeutics, Inc. - Common Stock", "BTAQ": "Burgundy Technology Acquisition Corporation - Class A Ordinary Shares", "BTAQU": "Burgundy Technology Acquisition Corporation - Unit", "BTAQW": "Burgundy Technology Acquisition Corporation - Warrant", "BTBT": "Bit Digital, Inc. - Ordinary Share", "BTEC": "Principal Healthcare Innovators Index ETF", "BTNB": "Bridgetown 2 Holdings Limited - Class A Ordinary Shares", "BTRS": "BTRS Holdings Inc. - Class 1 Common Stock", "BTRSW": "BTRS Holdings Inc. - Warrants", "BTWN": "Bridgetown Holdings Limited - Class A Ordinary Shares", "BTWNU": "Bridgetown Holdings Limited - Units", "BTWNW": "Bridgetown Holdings Limited - Warrants", "BUG": "Global X Cybersecurity ETF", "BUSE": "First Busey Corporation - Common Stock", "BVS": "Bioventus Inc. - Class A Common Stock", "BVXV": "BiondVax Pharmaceuticals Ltd. - American Depositary Shares", "BWAC": "Better World Acquisition Corp. - Common Stock", "BWACU": "Better World Acquisition Corp. - Unit", "BWACW": "Better World Acquisition Corp. - Warrants", "BWAY": "Brainsway Ltd. - American Depositary Shares", "BWB": "Bridgewater Bancshares, Inc. - Common Stock", "BWEN": "Broadwind, Inc. - Common Stock", "BWFG": "Bankwell Financial Group, Inc. - Common Stock", "BWMX": "Betterware de Mexico, S.A.B de C.V. - Ordinary Shares", "BXRX": "Baudax Bio, Inc. - Common stock", "BYFC": "Broadway Financial Corporation - Common Stock", "BYND": "Beyond Meat, Inc. - Common stock", "BYSI": "BeyondSpring, Inc. - Ordinary Shares", "BZUN": "Baozun Inc. - American Depositary Shares", "CAAS": "China Automotive Systems, Inc. - Common Stock", "CABA": "Cabaletta Bio, Inc. - Common Stock", "CAC": "Camden National Corporation - Common Stock", "CACC": "Credit Acceptance Corporation - Common Stock", "CACG": "ClearBridge All Cap Growth ETF", "CAHCU": "CA Healthcare Acquisition Corp. - Unit", "CAKE": "The Cheesecake Factory Incorporated - Common Stock", "CALA": "Calithera Biosciences, Inc. - Common Stock", "CALB": "California BanCorp - Common Stock", "CALM": "Cal-Maine Foods, Inc. - Common Stock", "CALT": "Calliditas Therapeutics AB - American Depositary Shares", "CAMP": "CalAmp Corp. - Common Stock", "CAMT": "Camtek Ltd. - Ordinary Shares", "CAN": "Canaan Inc. - American Depositary Shares", "CAPA": "HighCape Capital Acquisition Corp. - Class A Common Stock", "CAPAU": "HighCape Capital Acquisition Corp. - Unit", "CAPAW": "HighCape Capital Acquisition Corp. - Warrant", "CAPR": "Capricor Therapeutics, Inc. - Common Stock", "CAR": "Avis Budget Group, Inc. - Common Stock", "CARA": "Cara Therapeutics, Inc. - Common Stock", "CARE": "Carter Bankshares, Inc. - Common Stock", "CARG": "CarGurus, Inc. - Class A Common Stock", "CARV": "Carver Bancorp, Inc. - Common Stock", "CARZ": "First Trust NASDAQ Global Auto Index Fund", "CASA": "Casa Systems, Inc. - Common Stock", "CASH": "Meta Financial Group, Inc. - Common Stock", "CASI": "CASI Pharmaceuticals, Inc. - Common Stock", "CASS": "Cass Information Systems, Inc - Common Stock", "CASY": "Caseys General Stores, Inc. - Common Stock", "CATB": "Catabasis Pharmaceuticals, Inc. - Common Stock", "CATC": "Cambridge Bancorp - Common Stock", "CATH": "Global X S&P 500 Catholic Values ETF", "CATM": "Cardtronics plc - Common Stock", "CATY": "Cathay General Bancorp - Common Stock", "CBAN": "Colony Bankcorp, Inc. - Common Stock", "CBAT": "CBAK Energy Technology, Inc. - Common Stock", "CBAY": "CymaBay Therapeutics Inc. - Common Stock", "CBFV": "CB Financial Services, Inc. - Common Stock", "CBIO": "Catalyst Biosciences, Inc. - Common Stock", "CBLI": "Cleveland BioLabs, Inc. - Common Stock", "CBMB": "CBM Bancorp, Inc. - Common Stock", "CBNK": "Capital Bancorp, Inc. - Common Stock", "CBPO": "China Biologic Products Holdings, Inc. - Common Stock", "CBRL": "Cracker Barrel Old Country Store, Inc. - Common Stock", "CBSH": "Commerce Bancshares, Inc. - Common Stock", "CBTX": "CBTX, Inc. - Common Stock", "CCAP": "Crescent Capital BDC, Inc. - Common Stock", "CCB": "Coastal Financial Corporation - Common Stock", "CCBG": "Capital City Bank Group - Common Stock", "CCCC": "C4 Therapeutics, Inc. - Common Stock", "CCD": "Calamos Dynamic Convertible & Income Fund - Common Shares", "CCLP": "CSI Compressco LP - common units", "CCMP": "CMC Materials, Inc. - Common Stock", "CCNC": "Code Chain New Continent Limited - Common Stock", "CCNE": "CNB Financial Corporation - Common Stock", "CCNEP": "CNB Financial Corporation - Depositary shares, each representing a 1/40th ownership interest in a share of 7.125% Series A Fixed- Rate Non-Cumulative Perpetual Preferred Stock", "CCOI": "Cogent Communications Holdings, Inc. - Common Stock", "CCRC": "China Customer Relations Centers, Inc. - Ordinary Shares", "CCRN": "Cross Country Healthcare, Inc. - Common Stock", "CCXI": "ChemoCentryx, Inc. - Common Stock", "CD": "Chindata Group Holdings Limited - American Depositary Shares", "CDAK": "Codiak BioSciences, Inc. - Common Stock", "CDC": "VictoryShares US EQ Income Enhanced Volatility Wtd ETF", "CDEV": "Centennial Resource Development, Inc. - Class A Common Stock", "CDK": "CDK Global, Inc. - Common Stock", "CDL": "VictoryShares US Large Cap High Div Volatility Wtd ETF", "CDLX": "Cardlytics, Inc. - Common Stock", "CDMO": "Avid Bioservices, Inc. - Common Stock", "CDMOP": "Avid Bioservices, Inc. - 10.50% Series E Convertible Preferred Stock", "CDNA": "CareDx, Inc. - Common Stock", "CDNS": "Cadence Design Systems", "CDTX": "Cidara Therapeutics, Inc. - Common Stock", "CDW": "CDW", "CDXC": "ChromaDex Corporation - Common Stock", "CDXS": "Codexis, Inc. - Common Stock", "CDZI": "Cadiz, Inc. - Common Stock", "CECE": "CECO Environmental Corp. - Common Stock", "CEFA": "Global X S&P Catholic Values Developed ex-U.S. ETF", "CELC": "Celcuity Inc. - Common Stock", "CELH": "Celsius Holdings, Inc. - Common Stock", "CEMI": "Chembio Diagnostics, Inc. - Common Stock", "CENHU": "Centricus Acquisition Corp. - Unit", "CENT": "Central Garden & Pet Company - Common Stock", "CENTA": "Central Garden & Pet Company - Class A Common Stock Nonvoting", "CENX": "Century Aluminum Company - Common Stock", "CERC": "Cerecor Inc. - Common Stock", "CERE": "Cerevel Therapeutics Holdings, Inc. - Common Stock", "CEREW": "Cerevel Therapeutics Holdings, Inc. - Warrant", "CERN": "Cerner", "CERS": "Cerus Corporation - Common Stock", "CERT": "Certara, Inc. - Common Stock", "CETX": "Cemtrex Inc. - Common Stock", "CETXP": "Cemtrex Inc. - Series 1 Preferred Stock", "CETXW": "Cemtrex Inc. - Series 1 Warrant", "CEVA": "CEVA, Inc. - Common Stock", "CEY": "VictoryShares Emerging Market High Div Volatility Wtd ETF", "CEZ": "VictoryShares Emerging Market Volatility Wtd ETF", "CFA": "VictoryShares US 500 Volatility Wtd ETF", "CFAC": "CF Finance Acquisition Corp. III - Common Stock", "CFACU": "CF Finance Acquisition Corp. III - Unit", "CFACW": "CF Finance Acquisition Corp. III - Warrant", "CFB": "CrossFirst Bankshares, Inc. - Common Stock", "CFBK": "CF Bankshares Inc. - Common Stock", "CFFI": "C&F Financial Corporation - Common Stock", "CFFN": "Capitol Federal Financial, Inc. - Common Stock", "CFFVU": "CF Acquisition Corp. V - Unit", "CFII": "CF Finance Acquisition Corp. II - Class A Common Stock", "CFIIU": "CF Finance Acquisition Corp. II - Unit", "CFIIW": "CF Finance Acquisition Corp. II - Warrant", "CFIV": "CF Acquisition Corp. IV - Class A common stock", "CFIVU": "CF Acquisition Corp. IV - Unit", "CFIVW": "CF Acquisition Corp. IV - Warrant", "CFMS": "Conformis, Inc. - Common Stock", "CFO": "VictoryShares US 500 Enhanced Volatility Wtd ETF", "CFRX": "ContraFect Corporation - Common Stock", "CFVIU": "CF Acquisition Corp. VI - Unit", "CG": "The Carlyle Group Inc. - Common Stock", "CGBD": "TCG BDC, Inc. - Common Stock", "CGC": "Canopy Growth Corporation - Common Shares", "CGEM": "Cullinan Oncology, Inc. - Common Stock", "CGEN": "Compugen Ltd. - Ordinary Shares", "CGIX": "Cancer Genetics, Inc. - Common Stock", "CGNT": "Cognyte Software Ltd. - Ordinary Shares", "CGNX": "Cognex Corporation - Common Stock", "CGO": "Calamos Global Total Return Fund - Common Stock", "CGRO": "Collective Growth Corporation - Class A Common Stock", "CGROU": "Collective Growth Corporation - Unit", "CGROW": "Collective Growth Corporation - Warrant", "CHB": "Global X China Biotech Innovation ETF", "CHCI": "Comstock Holding Companies, Inc. - Class A Common Stock", "CHCO": "City Holding Company - Common Stock", "CHDN": "Churchill Downs, Incorporated - Common Stock", "CHEF": "The Chefs' Warehouse, Inc. - Common Stock", "CHEK": "Check-Cap Ltd. - Ordinary Share", "CHEKZ": "Check-Cap Ltd. - Series C Warrant", "CHFS": "CHF Solutions, Inc. - Common Stock", "CHI": "Calamos Convertible Opportunities and Income Fund - Common Stock", "CHK": "Chesapeake Energy Corporation - Common Stock", "CHKEL": "Chesapeake Energy Corporation - Class C Warrants", "CHKEW": "Chesapeake Energy Corporation - Class A Warrants", "CHKEZ": "Chesapeake Energy Corporation - Class B Warrants", "CHKP": "Check Point Software Technologies Ltd. - Ordinary Shares", "CHMA": "Chiasma, Inc. - Common Stock", "CHMG": "Chemung Financial Corp - Common Stock", "CHNA": "Loncar China BioPharma ETF", "CHNG": "Change Healthcare Inc. - Common Stock", "CHNGU": "Change Healthcare Inc. - Tangible Equity Units", "CHNR": "China Natural Resources, Inc. - Common Stock", "CHPM": "CHP Merger Corp. - Class A Common Stock", "CHPMU": "CHP Merger Corp. - Unit", "CHPMW": "CHP Merger Corp. - Warrant", "CHRS": "Coherus BioSciences, Inc. - Common Stock", "CHRW": "C. H. Robinson Worldwide", "CHSCL": "CHS Inc - Class B Cumulative Redeemable Preferred Stock, Series 4", "CHSCM": "CHS Inc - Class B Reset Rate Cumulative Redeemable Preferred Stock, Series 3", "CHSCN": "CHS Inc - Preferred Class B Series 2 Reset Rate", "CHSCO": "CHS Inc - Class B Cumulative Redeemable Preferred Stock", "CHSCP": "CHS Inc - 8% Cumulative Redeemable Preferred Stock", "CHTR": "Charter Communications", "CHUY": "Chuy's Holdings, Inc. - Common Stock", "CHW": "Calamos Global Dynamic Income Fund - Common Stock", "CHX": "ChampionX Corporation - Common Stock", "CHY": "Calamos Convertible and High Income Fund - Common Stock", "CIBR": "First Trust NASDAQ Cybersecurity ETF", "CID": "VictoryShares International High Div Volatility Wtd ETF", "CIDM": "Cinedigm Corp - Class A Common Stock", "CIGI": "Colliers International Group Inc. - Subordinate Voting Shares", "CIH": "China Index Holdings Limited - American Depository Shares", "CIIC": "CIIG Merger Corp. - Class A Common Stock", "CIICU": "CIIG Merger Corp. - Units", "CIICW": "CIIG Merger Corp. - Warrants", "CIL": "VictoryShares International Volatility Wtd ETF", "CINF": "Cincinnati Financial", "CIVB": "Civista Bancshares, Inc. - Common Stock", "CIZ": "VictoryShares Developed Enhanced Volatility Wtd ETF", "CIZN": "Citizens Holding Company - Common Stock", "CJJD": "China Jo-Jo Drugstores, Inc. - Common Stock", "CKPT": "Checkpoint Therapeutics, Inc. - Common Stock", "CLAR": "Clarus Corporation - Common Stock", "CLBK": "Columbia Financial, Inc. - Common Stock", "CLBS": "Caladrius Biosciences, Inc. - Common Stock", "CLDB": "Cortland Bancorp - Common Stock", "CLDX": "Celldex Therapeutics, Inc. - Common Stock", "CLEU": "China Liberal Education Holdings Limited - Ordinary Shares", "CLFD": "Clearfield, Inc. - Common Stock", "CLGN": "CollPlant Biotechnologies Ltd. - American Depositary Shares", "CLIR": "ClearSign Technologies Corporation - Common Stock", "CLLS": "Cellectis S.A. - American Depositary Shares", "CLMT": "Calumet Specialty Products Partners, L.P. - Common units representing limited partner interests", "CLNE": "Clean Energy Fuels Corp. - Common Stock", "CLNN": "Clene Inc. - Common Stock", "CLNNW": "Clene Inc. - Warrant", "CLOU": "Global X Cloud Computing ETF", "CLOV": "Clover Health Investments, Corp. - Class A Common stock", "CLOVW": "Clover Health Investments, Corp. - Warrants", "CLPS": "CLPS Incorporation - Common Stock", "CLPT": "ClearPoint Neuro Inc. - Common Stock", "CLRB": "Cellectar Biosciences, Inc. - Common Stock", "CLRBZ": "Cellectar Biosciences, Inc. - Series A Warrants", "CLRG": "IQ Chaikin U.S. Large Cap ETF", "CLRMU": "Clarim Acquisition Corp. - Unit", "CLRO": "ClearOne, Inc. - Common Stock", "CLSD": "Clearside Biomedical, Inc. - Common Stock", "CLSK": "CleanSpark, Inc. - Common Stock", "CLSN": "Celsion Corporation - Common Stock", "CLVR": "Clever Leaves Holdings Inc. - Common Shares", "CLVRW": "Clever Leaves Holdings Inc. - Warrant", "CLVS": "Clovis Oncology, Inc. - Common Stock", "CLWT": "Euro Tech Holdings Company Limited - Ordinary Shares", "CLXT": "Calyxt, Inc. - Common Stock", "CMBM": "Cambium Networks Corporation - Ordinary Shares", "CMCO": "Columbus McKinnon Corporation - Common Stock", "CMCSA": "Comcast Corp.", "CMCT": "CIM Commercial Trust Corporation - Common Stock", "CMCTP": "CIM Commercial Trust Corporation - Series L Preferred Stock", "CME": "CME Group Inc.", "CMFNL": "Investcorp Credit Management BDC, Inc. - 6.125% Notes due 2023", "CMIIU": "CM Life Sciences II Inc. - Unit", "CMLF": "CM Life Sciences, Inc. - Class A Common Stock", "CMLFU": "CM Life Sciences, Inc. - Unit", "CMLFW": "CM Life Sciences, Inc. - Warrant", "CMLS": "Cumulus Media Inc. - Class A Common Stock", "CMPI": "Checkmate Pharmaceuticals, Inc. - Common Stock", "CMPR": "Cimpress plc - Ordinary Shares", "CMPS": "COMPASS Pathways Plc - American Depository Shares", "CMRX": "Chimerix, Inc. - Common Stock", "CMTL": "Comtech Telecommunications Corp. - Common Stock", "CNBKA": "Century Bancorp, Inc. - Class A Common Stock", "CNCE": "Concert Pharmaceuticals, Inc. - Common Stock", "CNCR": "Loncar Cancer Immunotherapy ETF", "CNDT": "Conduent Incorporated - Common Stock", "CNET": "ZW Data Action Technologies Inc. - Common Stock", "CNEY": "CN Energy Group Inc. - Ordinary Shares", "CNFR": "Conifer Holdings, Inc. - Common Stock", "CNFRL": "Conifer Holdings, Inc. - Senior Unsecured Notes", "CNNB": "Cincinnati Bancorp, Inc. - Common Stock", "CNOB": "ConnectOne Bancorp, Inc. - Common Stock", "CNSL": "Consolidated Communications Holdings, Inc. - Common Stock", "CNSP": "CNS Pharmaceuticals, Inc. - Common Stock", "CNST": "Constellation Pharmaceuticals, Inc. - Common Stock", "CNTG": "Centogene N.V. - Common Shares", "CNTY": "Century Casinos, Inc. - Common Stock", "CNXC": "Concentrix Corporation - Common Stock", "CNXN": "PC Connection, Inc. - Common Stock", "COCP": "Cocrystal Pharma, Inc. - Common Stock", "CODA": "Coda Octopus Group, Inc. - Common stock", "CODX": "Co-Diagnostics, Inc. - Common Stock", "COFS": "ChoiceOne Financial Services, Inc. - Common Stock", "COGT": "Cogent Biosciences, Inc. - Common Stock", "COHR": "Coherent, Inc. - Common Stock", "COHU": "Cohu, Inc. - Common Stock", "COKE": "Coca-Cola Consolidated, Inc. - Common Stock", "COLB": "Columbia Banking System, Inc. - Common Stock", "COLIU": "Colicity Inc. - Units", "COLL": "Collegium Pharmaceutical, Inc. - Common Stock", "COLM": "Columbia Sportswear Company - Common Stock", "COMM": "CommScope Holding Company, Inc. - Common Stock", "COMS": "ComSovereign Holding Corp. - Common Stock", "COMSW": "ComSovereign Holding Corp. - Warrants", "COMT": "iShares GSCI Commodity Dynamic Roll Strategy ETF", "CONE": "CyrusOne Inc - Common Stock", "CONN": "Conn's, Inc. - Common Stock", "CONX": "CONX Corp. - Class A Common Stock", "CONXU": "CONX Corp. - Unit", "CONXW": "CONX Corp. - Warrant", "COOL": "Corner Growth Acquisition Corp. - Class A Ordinary Shares", "COOLU": "Corner Growth Acquisition Corp. - Unit", "COOLW": "Corner Growth Acquisition Corp. - Warrant", "COOP": "Mr. Cooper Group Inc. - Common Stock", "CORE": "Core-Mark Holding Company, Inc. - Common Stock", "CORT": "Corcept Therapeutics Incorporated - Common Stock", "COST": "Costco Wholesale Corp.", "COUP": "Coupa Software Incorporated - Common Stock", "COVAU": "COVA Acquisition Corp. - Unit", "COWN": "Cowen Inc. - Class A Common Stock", "COWNL": "Cowen Inc. - 7.75% Senior Notes due 2033", "COWNZ": "Cowen Inc. - 7.35% Senior Notes Due 2027", "CPHC": "Canterbury Park Holding Corporation - Common Stock", "CPIX": "Cumberland Pharmaceuticals Inc. - Common Stock", "CPLP": "Capital Product Partners L.P. - common units representing limited partner interests", "CPRT": "Copart Inc", "CPRX": "Catalyst Pharmaceuticals, Inc. - Common Stock", "CPSH": "CPS Technologies Corp. - Common Stock", "CPSI": "Computer Programs and Systems, Inc. - Common Stock", "CPSS": "Consumer Portfolio Services, Inc. - Common Stock", "CPST": "Capstone Turbine Corporation - Common Stock", "CPTA": "Capitala Finance Corp. - Common Stock", "CPTAG": "Capitala Finance Corp. - 5.75% Convertible Notes Due 2022", "CPTAL": "Capitala Finance Corp. - 6% Notes Due 2022", "CPZ": "Calamos Long/Short Equity & Dynamic Income Trust - Common Stock", "CRAI": "CRA International,Inc. - Common Stock", "CRBP": "Corbus Pharmaceuticals Holdings, Inc. - Common Stock", "CRDF": "Cardiff Oncology, Inc. - Common Stock", "CREE": "Cree, Inc. - Common Stock", "CREG": "China Recycling Energy Corporation - Common Stock", "CRESY": "Cresud S.A.C.I.F. y A. - American Depositary Shares, each representing ten shares of Common Stock", "CREX": "Creative Realities, Inc. - Common Stock", "CREXW": "Creative Realities, Inc. - Warrant", "CRIS": "Curis, Inc. - Common Stock", "CRKN": "Crown Electrokinetics Corp. - Common Stock", "CRMD": "CorMedix Inc. - Common Stock", "CRMT": "America's Car-Mart, Inc. - Common Stock", "CRNC": "Cerence Inc. - Common Stock", "CRNT": "Ceragon Networks Ltd. - Ordinary Shares", "CRNX": "Crinetics Pharmaceuticals, Inc. - Common Stock", "CRON": "Cronos Group Inc. - Common Share", "CROX": "Crocs, Inc. - Common Stock", "CRSA": "Crescent Acquisition Corp - Class A Common Stock", "CRSAU": "Crescent Acquisition Corp - Unit", "CRSAW": "Crescent Acquisition Corp - Warrant", "CRSP": "CRISPR Therapeutics AG - Common Shares", "CRSR": "Corsair Gaming, Inc. - Common Stock", "CRTD": "Creatd Inc. - Common Stock", "CRTDW": "Creatd Inc. - Warrant", "CRTO": "Criteo S.A. - American Depositary Shares", "CRTX": "Cortexyme, Inc. - Common Stock", "CRUS": "Cirrus Logic, Inc. - Common Stock", "CRVL": "CorVel Corp. - Common Stock", "CRVS": "Corvus Pharmaceuticals, Inc. - Common Stock", "CRWD": "CrowdStrike Holdings, Inc. - Class A Common Stock", "CRWS": "Crown Crafts, Inc. - Common Stock", "CSA": "VictoryShares US Small Cap Volatility Wtd ETF", "CSB": "VictoryShares US Small Cap High Div Volatility Wtd ETF", "CSBR": "Champions Oncology, Inc. - Common Stock", "CSCW": "Color Star Technology Co. Ltd. - Ordinary Shares", "CSF": "VictoryShares US Discovery Enhanced Volatility Wtd ETF", "CSGP": "CoStar Group, Inc. - Common Stock", "CSGS": "CSG Systems International, Inc. - Common Stock", "CSII": "Cardiovascular Systems, Inc. - Common Stock", "CSIQ": "Canadian Solar Inc. - Common Shares", "CSML": "IQ Chaikin U.S. Small Cap ETF", "CSOD": "Cornerstone OnDemand, Inc. - Common Stock", "CSPI": "CSP Inc. - Common Stock", "CSQ": "Calamos Strategic Total Return Fund - Common Stock", "CSSE": "Chicken Soup for the Soul Entertainment, Inc. - Class A Common Stock", "CSSEN": "Chicken Soup for the Soul Entertainment, Inc. - 9.50% Notes due 2025", "CSSEP": "Chicken Soup for the Soul Entertainment, Inc. - 9.75% Series A Cumulative Redeemable Perpetual Preferred Stock", "CSTE": "Caesarstone Ltd. - Ordinary Shares", "CSTL": "Castle Biosciences, Inc. - Common stock", "CSTR": "CapStar Financial Holdings, Inc. - Common Stock", "CSWC": "Capital Southwest Corporation - Common Stock", "CSWI": "CSW Industrials, Inc. - Common Stock", "CSX": "CSX Corp.", "CTAQ": "Carney Technology Acquisition Corp. II - Class A Common Stock", "CTAQU": "Carney Technology Acquisition Corp. II - Units", "CTAQW": "Carney Technology Acquisition Corp. II - Warrant", "CTAS": "Cintas Corporation", "CTBI": "Community Trust Bancorp, Inc. - Common Stock", "CTEC": "Global X CleanTech ETF", "CTG": "Computer Task Group, Incorporated - Common Stock", "CTHR": "Charles & Colvard Ltd. - Common Stock", "CTIB": "Yunhong CTI Ltd. - Common Stock", "CTIC": "CTI BioPharma Corp. - Common Stock", "CTMX": "CytomX Therapeutics, Inc. - Common Stock", "CTRE": "CareTrust REIT, Inc. - Common Stock", "CTRM": "Castor Maritime Inc. - Common Shares", "CTRN": "Citi Trends, Inc. - Common Stock", "CTSH": "Cognizant Technology Solutions", "CTSO": "Cytosorbents Corporation - Common Stock", "CTXR": "Citius Pharmaceuticals, Inc. - Common Stock", "CTXRW": "Citius Pharmaceuticals, Inc. - Warrant", "CTXS": "Citrix Systems", "CUBA": "The Herzfeld Caribbean Basin Fund, Inc. - Closed End FUnd", "CUE": "Cue Biopharma, Inc. - Common Stock", "CUEN": "Cuentas, Inc. - Common Stock", "CUENW": "Cuentas, Inc. - Warrant", "CURI": "CuriosityStream Inc. - Class A Common Stock", "CURIW": "CuriosityStream Inc. - Warrant", "CUTR": "Cutera, Inc. - Common Stock", "CVAC": "CureVac N.V. - Ordinary Shares", "CVBF": "CVB Financial Corporation - Common Stock", "CVCO": "Cavco Industries, Inc. - Common Stock", "CVCY": "Central Valley Community Bancorp - Common Stock", "CVET": "Covetrus, Inc. - Common Stock", "CVGI": "Commercial Vehicle Group, Inc. - Common Stock", "CVGW": "Calavo Growers, Inc. - Common Stock", "CVLG": "Covenant Logistics Group, Inc. - Class A Common Stock", "CVLT": "Commvault Systems, Inc. - Common Stock", "CVLY": "Codorus Valley Bancorp, Inc - Common Stock", "CVV": "CVD Equipment Corporation - Common Stock", "CWBC": "Community West Bancshares - Common Stock", "CWBR": "CohBar, Inc. - Common Stock", "CWCO": "Consolidated Water Co. Ltd. - Ordinary Shares", "CWST": "Casella Waste Systems, Inc. - Class A Common Stock", "CXDC": "China XD Plastics Company Limited - Common Stock", "CXDO": "Crexendo, Inc. - Common Stock", "CXSE": "WisdomTree China ex-State-Owned Enterprises Fund", "CYAD": "Celyad Oncology SA - American Depositary Shares", "CYAN": "Cyanotech Corporation - Common Stock", "CYBE": "CyberOptics Corporation - Common Stock", "CYBR": "CyberArk Software Ltd. - Ordinary Shares", "CYCC": "Cyclacel Pharmaceuticals, Inc. - Common Stock", "CYCCP": "Cyclacel Pharmaceuticals, Inc. - 6% Convertible Preferred Stock", "CYCN": "Cyclerion Therapeutics, Inc. - Common Stock ", "CYRN": "CYREN Ltd. - Ordinary Shares", "CYRX": "CryoPort, Inc. - Common Stock", "CYTH": "Cyclo Therapeutics, Inc. - Common Stock", "CYTHW": "Cyclo Therapeutics, Inc. - Warrant", "CYTK": "Cytokinetics, Incorporated - Common Stock", "CZNC": "Citizens & Northern Corp - Common Stock", "CZR": "Caesars Entertainment, Inc. - Common Stock", "CZWI": "Citizens Community Bancorp, Inc. - Common Stock", "DADA": "Dada Nexus Limited - American Depositary Shares", "DAIO": "Data I/O Corporation - Common Stock", "DAKT": "Daktronics, Inc. - Common Stock", "DALI": "First Trust Dorsey Wright DALI 1 ETF", "DARE": "Dare Bioscience, Inc. - Common Stock", "DAX": "Global X DAX Germany ETF", "DBDR": "Roman DBDR Tech Acquisition Corp. - Class A Common Stock", "DBDRU": "Roman DBDR Tech Acquisition Corp. - Unit", "DBDRW": "Roman DBDR Tech Acquisition Corp. - Warrant", "DBTX": "Decibel Therapeutics, Inc. - Common Stock", "DBVT": "DBV Technologies S.A. - American Depositary Shares", "DBX": "Dropbox, Inc. - Class A Common Stock", "DCBO": "Docebo Inc. - Common Shares", "DCOM": "Dime Community Bancshares, Inc. - Common Stock", "DCOMP": "Dime Community Bancshares, Inc. - Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "DCPH": "Deciphera Pharmaceuticals, Inc. - Common Stock", "DCRB": "Decarbonization Plus Acquisition Corporation - Class A Common Stock", "DCRBU": "Decarbonization Plus Acquisition Corporation - Unit", "DCRBW": "Decarbonization Plus Acquisition Corporation - Warrant", "DCRNU": "Decarbonization Plus Acquisition Corporation II - Unit", "DCT": "Duck Creek Technologies, Inc. - Common Stock", "DCTH": "Delcath Systems, Inc. - Common Stock", "DDIV": "First Trust Dorsey Wright Momentum & Dividend ETF", "DDMX": "DD3 Acquisition Corp. II - Class A Common Stock", "DDMXU": "DD3 Acquisition Corp. II - Unit", "DDMXW": "DD3 Acquisition Corp. II - Warrant", "DDOG": "Datadog, Inc. - Class A Common Stock", "DEMZ": "DEMZ Political Contributions ETF", "DENN": "Denny's Corporation - Common Stock", "DFFN": "Diffusion Pharmaceuticals Inc. - Common Stock", "DFH": "Dream Finders Homes, Inc. - Class A Common Stock", "DFHT": "Deerfield Healthcare Technology Acquisitions Corp. - Class A Common Stock", "DFHTU": "Deerfield Healthcare Technology Acquisitions Corp. - Unit", "DFHTW": "Deerfield Healthcare Technology Acquisitions Corp. - Warrant", "DFNL": "Davis Select Financial ETF", "DFPH": "DFP Healthcare Acquisitions Corp. - Class A Common Stock", "DFPHU": "DFP Healthcare Acquisitions Corp. - Unit", "DFPHW": "DFP Healthcare Acquisitions Corp. - Warrant", "DGICA": "Donegal Group, Inc. - Class A Common Stock", "DGICB": "Donegal Group, Inc. - Class B Common Stock", "DGII": "Digi International Inc. - Common Stock", "DGLY": "Digital Ally, Inc. - Common Stock", "DGNS": "Dragoneer Growth Opportunities Corp. II - Class A Ordinary Shares", "DGRE": "WisdomTree Emerging Markets Quality Dividend Growth Fund", "DGRS": "WisdomTree U.S. SmallCap Quality Dividend Growth Fund", "DGRW": "WisdomTree U.S. Quality Dividend Growth Fund", "DHBCU": "DHB Capital Corp. - Unit", "DHC": "Diversified Healthcare Trust - Common Shares of Beneficial Interest", "DHCAU": "DHC Acquisition Corp. - Unit", "DHCNI": "Diversified Healthcare Trust - 5.625% Senior Notes due 2042", "DHCNL": "Diversified Healthcare Trust - 6.25% Senior Notes Due 2046", "DHHCU": "DiamondHead Holdings Corp. - Unit", "DHIL": "Diamond Hill Investment Group, Inc. - Class A Common Stock", "DINT": "Davis Select International ETF", "DIOD": "Diodes Incorporated - Common Stock", "DISCA": "Discovery, Inc. (Series A)", "DISCB": "Discovery, Inc. - Series B Common Stock", "DISCK": "Discovery, Inc. (Series C)", "DISH": "Dish Network", "DJCO": "Daily Journal Corp. (S.C.) - Common Stock", "DKNG": "DraftKings Inc. - Class A Common Stock", "DLCAU": "Deep Lake Capital Acquisition Corp. - Unit", "DLHC": "DLH Holdings Corp. - Common Stock", "DLPN": "Dolphin Entertainment, Inc. - Common Stock", "DLTH": "Duluth Holdings Inc. - Class B Common Stock", "DLTR": "Dollar Tree", "DMAC": "DiaMedica Therapeutics Inc. - Common Stock", "DMLP": "Dorchester Minerals, L.P. - Common Units Representing Limited Partnership Interests", "DMRC": "Digimarc Corporation - Common Stock", "DMTK": "DermTech, Inc. - Common Stock", "DMXF": "iShares ESG Advanced MSCI EAFE ETF", "DNLI": "Denali Therapeutics Inc. - Common Stock", "DOCU": "DocuSign, Inc. - Common Stock", "DOGZ": "Dogness (International) Corporation - Class A Common Stock", "DOMO": "Domo, Inc. - Class B Common Stock", "DOOO": "BRP Inc. - Common Subordinate Voting Shares", "DORM": "Dorman Products, Inc. - Common Stock", "DOX": "Amdocs Limited - Ordinary Shares", "DOYU": "DouYu International Holdings Limited - American Depositary Shares", "DRIO": "DarioHealth Corp. - Common Stock", "DRIOW": "DarioHealth Corp. - Warrant", "DRIV": "Global X Autonomous & Electric Vehicles ETF", "DRNA": "Dicerna Pharmaceuticals, Inc. - Common Stock", "DRRX": "DURECT Corporation - Common Stock", "DRTT": "DIRTT Environmental Solutions Ltd. - Common Shares", "DRVN": "Driven Brands Holdings Inc. - Common Stock", "DSAC": "Duddell Street Acquisition Corp. - Class A Ordinary Shares", "DSACU": "Duddell Street Acquisition Corp. - Unit", "DSACW": "Duddell Street Acquisition Corp. - Warrant", "DSGX": "The Descartes Systems Group Inc. - Common Stock", "DSKE": "Daseke, Inc. - Common Stock", "DSKEW": "Daseke, Inc. - Warrant", "DSP": "Viant Technology Inc. - common stock", "DSPG": "DSP Group, Inc. - Common Stock", "DSWL": "Deswell Industries, Inc. - Common Shares", "DTEA": "DAVIDsTEA Inc. - Common Stock", "DTIL": "Precision BioSciences, Inc. - Common Stock", "DTSS": "Datasea Inc. - Common Stock", "DUNE": "Dune Acquisition Corporation - Class A Common Stock", "DUNEU": "Dune Acquisition Corporation - Unit", "DUNEW": "Dune Acquisition Corporation - Warrant", "DUO": "Fangdd Network Group Ltd. - American Depositary Shares", "DUOT": "Duos Technologies Group, Inc. - Common Stock", "DUSA": "Davis Select U.S. Equity ETF", "DVAX": "Dynavax Technologies Corporation - Common Stock", "DVLU": "First Trust Dorsey Wright Momentum & Value ETF", "DVOL": "First Trust Dorsey Wright Momentum & Low Volatility ETF", "DVY": "iShares Select Dividend ETF", "DWAS": "Invesco DWA SmallCap Momentum ETF", "DWAT": "Arrow DWA Tactical: Macro ETF", "DWAW": "AdvisorShares Dorsey Wright FSM All Cap World ETF", "DWCR": "Arrow DWA Tactical: International ETF", "DWEQ": "AdvisorShares Dorsey Wright Alpha Equal Weight ETF", "DWFI": "SPDR Dorsey Wright Fixed Income Allocation ETF", "DWLD": "Davis Select Worldwide ETF", "DWMC": "AdvisorShares Dorsey Wright Micro-Cap ETF", "DWPP": "First Trust Dorsey Wright People's Portfolio ETF", "DWSH": "AdvisorShares Dorsey Wright Short ETF", "DWSN": "Dawson Geophysical Company - Common Stock", "DWUS": "AdvisorShares Dorsey Wright FSM US Core ETF", "DXCM": "DexCom", "DXGE": "WisdomTree Germany Hedged Equity Fund", "DXJS": "WisdomTree Japan Hedged SmallCap Equity Fund", "DXPE": "DXP Enterprises, Inc. - Common Stock", "DXYN": "The Dixie Group, Inc. - Common Stock", "DYAI": "Dyadic International, Inc. - Common Stock", "DYN": "Dyne Therapeutics, Inc. - Common Stock", "DYNT": "Dynatronics Corporation - Common Stock", "DZSI": "DZS Inc. - Common Stock", "EA": "Electronic Arts", "EAC": "Edify Acquisition Corp. - Class A Common Stock", "EACPU": "Edify Acquisition Corp. - Units", "EACPW": "Edify Acquisition Corp. - Warrant", "EAR": "Eargo, Inc. - Common Stock", "EARS": "Auris Medical Holding Ltd. - Common Shares", "EAST": "Eastside Distilling, Inc. - Common Stock", "EBAY": "eBay Inc.", "EBC": "Eastern Bankshares, Inc. - Common Stock", "EBIX": "Ebix, Inc. - Common Stock", "EBIZ": "Global X E-commerce ETF", "EBMT": "Eagle Bancorp Montana, Inc. - Common Stock", "EBON": "Ebang International Holdings Inc. - Class A Ordinary Shares", "EBSB": "Meridian Bancorp, Inc. - Common Stock", "EBTC": "Enterprise Bancorp Inc - Common Stock", "ECHO": "Echo Global Logistics, Inc. - Common Stock", "ECOL": "US Ecology, Inc. - Common Stock", "ECOLW": "US Ecology, Inc. - warrant", "ECOR": "electroCore, Inc. - Common Stock", "ECOW": "Pacer Emerging Markets Cash Cows 100 ETF", "ECPG": "Encore Capital Group Inc - Common Stock", "EDAP": "EDAP TMS S.A. - American Depositary Shares, each representing One Ordinary Share", "EDIT": "Editas Medicine, Inc. - Common Stock", "EDOC": "Global X Telemedicine & Digital Health ETF", "EDRY": "EuroDry Ltd. - Common Shares", "EDSA": "Edesa Biotech, Inc. - Common Shares", "EDTK": "Skillful Craftsman Education Technology Limited - Ordinary Share", "EDTX": "EdtechX Holdings Acquisition Corp. II - Class A common stock", "EDTXU": "EdtechX Holdings Acquisition Corp. II - Unit", "EDTXW": "EdtechX Holdings Acquisition Corp. II - Warrant", "EDUC": "Educational Development Corporation - Common Stock", "EDUT": "Global X Education ETF", "EEFT": "Euronet Worldwide, Inc. - Common Stock", "EEMA": "iShares MSCI Emerging Markets Asia ETF", "EFAS": "Global X MSCI SuperDividend EAFE ETF", "EFOI": "Energy Focus, Inc. - Common Stock", "EFSC": "Enterprise Financial Services Corporation - Common Stock", "EGAN": "eGain Corporation - Common Stock", "EGBN": "Eagle Bancorp, Inc. - Common Stock", "EGLE": "Eagle Bulk Shipping Inc. - Common Stock", "EGOV": "NIC Inc. - Common Stock", "EGRX": "Eagle Pharmaceuticals, Inc. - Common Stock", "EH": "EHang Holdings Limited - ADS", "EHTH": "eHealth, Inc. - Common Stock", "EIGR": "Eiger BioPharmaceuticals, Inc. - Common Stock", "EJFAU": "EJF Acquisition Corp. - Unit", "EKSO": "Ekso Bionics Holdings, Inc. - Common Stock", "ELDN": "Eledon Pharmaceuticals, Inc. - Common Stock", "ELOX": "Eloxx Pharmaceuticals, Inc. - Common Stock", "ELSE": "Electro-Sensors, Inc. - Common Stock", "ELTK": "Eltek Ltd. - Ordinary Shares", "ELYS": "Elys Game Technology, Corp. - Common Stock", "EMB": "iShares J.P. Morgan USD Emerging Markets Bond ETF", "EMCB": "WisdomTree Emerging Markets Corporate Bond Fund", "EMCF": "Emclaire Financial Corp - Common Stock", "EMIF": "iShares S&P Emerging Markets Infrastructure Index Fund", "EMKR": "EMCORE Corporation - Common Stock", "EML": "Eastern Company (The) - Common Stock", "EMXC": "iShares MSCI Emerging Markets ex China ETF", "EMXF": "iShares ESG Advanced MSCI EM ETF", "ENDP": "Endo International plc - Ordinary Shares", "ENFAU": "890 5th Avenue Partners, Inc. - Unit", "ENG": "ENGlobal Corporation - Common Stock", "ENLV": "Enlivex Therapeutics Ltd. - Ordinary Shares", "ENNVU": "ECP Environmental Growth Opportunities Corp. - Unit", "ENOB": "Enochian Biosciences, Inc. - Common Stock", "ENPH": "Enphase Energy", "ENSG": "The Ensign Group, Inc. - Common Stock", "ENTA": "Enanta Pharmaceuticals, Inc. - Common Stock", "ENTG": "Entegris, Inc. - Common Stock", "ENTX": "Entera Bio Ltd. - Ordinary Shares", "ENTXW": "Entera Bio Ltd. - Warrant", "ENVB": "Enveric Biosciences, Inc. - Common Stock", "ENVIU": "Environmental Impact Acquisition Corp. - Unit", "ENZL": "iShares MSCI New Zealand ETF", "EOLS": "Evolus, Inc. - Common Stock", "EOSE": "Eos Energy Enterprises, Inc. - Common Stock", "EOSEW": "Eos Energy Enterprises, Inc. - Warrant", "EPAY": "Bottomline Technologies, Inc. - Common Stock", "EPHY": "Epiphany Technology Acquisition Corp. - Class A Common Stock", "EPHYU": "Epiphany Technology Acquisition Corp. - Unit", "EPHYW": "Epiphany Technology Acquisition Corp. - Warrant", "EPIX": "ESSA Pharma Inc. - Common Stock", "EPSN": "Epsilon Energy Ltd. - Common Shares", "EPZM": "Epizyme, Inc. - Common Stock", "EQ": "Equillium, Inc. - Common Stock", "EQBK": "Equity Bancshares, Inc. - Class A Common Stock", "EQIX": "Equinix", "EQOS": "Diginex Limited - Ordinary Shares", "EQOSW": "Diginex Limited - Warrant", "EQRR": "ProShares Equities for Rising Rates ETF", "ERES": "East Resources Acquisition Company - Class A Common Stock", "ERESU": "East Resources Acquisition Company - Unit", "ERESW": "East Resources Acquisition Company - Warrant", "ERIC": "Ericsson - American Depositary Shares each representing 1 underlying Class B share", "ERIE": "Erie Indemnity Company - Class A Common Stock", "ERII": "Energy Recovery, Inc. - Common Stock", "ERYP": "Erytech Pharma S.A. - American Depositary Shares", "ESBK": "Elmira Savings Bank NY (The) - Common Stock", "ESCA": "Escalade, Incorporated - Common Stock", "ESEA": "Euroseas Ltd. - Common Stock", "ESGD": "iShares ESG Aware MSCI EAFE ETF", "ESGE": "iShares ESG Aware MSCI EM ETF", "ESGR": "Enstar Group Limited - Ordinary Shares", "ESGRO": "Enstar Group Limited - Depository Shares 7.00% Perpetual Non-Cumulative Preference Shares, Series E", "ESGRP": "Enstar Group Limited - Depositary Shares Each Representing 1/1000th of an interest in Preference Shares", "ESGU": "iShares ESG Aware MSCI USA ETF", "ESLT": "Elbit Systems Ltd. - Ordinary Shares", "ESPO": "VanEck Vectors Video Gaming and eSports ETF", "ESPR": "Esperion Therapeutics, Inc. - Common Stock", "ESQ": "Esquire Financial Holdings, Inc. - Common Stock", "ESSA": "ESSA Bancorp, Inc. - common stock", "ESSC": "East Stone Acquisition Corporation - Ordinary Shares", "ESSCR": "East Stone Acquisition Corporation - Right", "ESSCU": "East Stone Acquisition Corporation - Unit", "ESSCW": "East Stone Acquisition Corporation - Warrant", "ESTA": "Establishment Labs Holdings Inc. - Common Shares", "ESXB": "Community Bankers Trust Corporation. - Common Stock", "ETAC": "E.Merge Technology Acquisition Corp. - Class A Common stock", "ETACU": "E.Merge Technology Acquisition Corp. - Unit", "ETACW": "E.Merge Technology Acquisition Corp. - Warrant", "ETNB": "89bio, Inc. - Common Stock", "ETON": "Eton Pharmaceuticals, Inc. - Common Stock", "ETSY": "Etsy", "ETTX": "Entasis Therapeutics Holdings Inc. - Common Stock", "EUCR": "Eucrates Biomedical Acquisition Corp. - Ordinary Shares", "EUCRU": "Eucrates Biomedical Acquisition Corp. - Unit", "EUCRW": "Eucrates Biomedical Acquisition Corp. - Warrant", "EUFN": "iShares MSCI Europe Financials Sector Index Fund", "EUSGU": "European Sustainable Growth Acquisition Corp. - Unit", "EVAX": "Evaxion Biotech A/S - American Depositary Share", "EVBG": "Everbridge, Inc. - Common Stock", "EVER": "EverQuote, Inc. - Class A Common Stock", "EVFM": "Evofem Biosciences, Inc. - Common Stock", "EVGBC": "Eaton Vance Global Income Builder NextShares", "EVGN": "Evogene Ltd. - Ordinary Shares", "EVK": "Ever-Glory International Group, Inc. - Common Stock", "EVLMC": "Eaton Vance TABS 5-to-15 Year Laddered Municipal Bond NextShares", "EVLO": "Evelo Biosciences, Inc. - Common Stock", "EVOJU": "Evo Acquisition Corp. - Unit", "EVOK": "Evoke Pharma, Inc. - Common Stock", "EVOL": "Evolving Systems, Inc. - Common Stock", "EVOP": "EVO Payments, Inc. - Class A Common Stock", "EVSTC": "Eaton Vance Stock NextShares", "EWBC": "East West Bancorp, Inc. - Common Stock", "EWEB": "Global X Emerging Markets Internet & E-commerce ETF", "EWJE": "iShares MSCI Japan Equal Weighted ETF", "EWJV": "iShares MSCI Japan Value ETF", "EWZS": "iShares MSCI Brazil Small-Cap ETF", "EXAS": "Exact Sciences Corporation - Common Stock", "EXC": "Exelon Corp.", "EXEL": "Exelixis, Inc. - Common Stock", "EXFO": "EXFO Inc - Subordinate Voting Shares", "EXLS": "ExlService Holdings, Inc. - Common Stock", "EXPC": "Experience Investment Corp. - Class A Common Stock", "EXPCU": "Experience Investment Corp. - Unit", "EXPCW": "Experience Investment Corp. - Warrants", "EXPD": "Expeditors", "EXPE": "Expedia Group", "EXPI": "eXp World Holdings, Inc. - Common Stock", "EXPO": "Exponent, Inc. - Common Stock", "EXTR": "Extreme Networks, Inc. - Common Stock", "EYE": "National Vision Holdings, Inc. - Common Stock", "EYEG": "Eyegate Pharmaceuticals, Inc. - Common Stock", "EYEN": "Eyenovia, Inc. - Common Stock", "EYES": "Second Sight Medical Products, Inc. - Common Stock", "EYESW": "Second Sight Medical Products, Inc. - Warrants expiring 3/14/2024", "EYPT": "EyePoint Pharmaceuticals, Inc. - Common Stock", "EZGO": "EZGO Technologies Ltd. - Ordinary Shares", "EZPW": "EZCORP, Inc. - Class A Non-Voting Common Stock", "FAAR": "First Trust Alternative Absolute Return Strategy ETF", "FAB": "First Trust Multi Cap Value AlphaDEX Fund", "FAD": "First Trust Multi Cap Growth AlphaDEX Fund", "FALN": "iShares Fallen Angels USD Bond ETF", "FAMI": "Farmmi, INC. - Ordinary Shares", "FANG": "Diamondback Energy", "FANH": "Fanhua Inc. - American depositary shares, each representing 20 ordinary shares", "FARM": "Farmer Brothers Company - Common Stock", "FARO": "FARO Technologies, Inc. - Common Stock", "FAST": "Fastenal Co", "FAT": "FAT Brands Inc. - Common Stock", "FATBP": "FAT Brands Inc. - 8.25% Series B Cumulative Preferred Stock", "FATBW": "FAT Brands Inc. - Warrant", "FATE": "Fate Therapeutics, Inc. - Common Stock", "FB": "Facebook, Inc.", "FBIO": "Fortress Biotech, Inc. - Common Stock", "FBIOP": "Fortress Biotech, Inc. - 9.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "FBIZ": "First Business Financial Services, Inc. - Common Stock", "FBMS": "The First Bancshares, Inc. - Common Stock", "FBNC": "First Bancorp - Common Stock", "FBRX": "Forte Biosciences, Inc. - Common Stock", "FBSS": "Fauquier Bankshares, Inc. - Common Stock", "FBZ": "First Trust Brazil AlphaDEX Fund", "FCA": "First Trust China AlphaDEX Fund", "FCAC": "Falcon Capital Acquisition Corp. - Class A Common Stock", "FCACU": "Falcon Capital Acquisition Corp. - Unit", "FCACW": "Falcon Capital Acquisition Corp. - Warrant", "FCAL": "First Trust California Municipal High income ETF", "FCAP": "First Capital, Inc. - Common Stock", "FCBC": "First Community Bankshares, Inc. - Common Stock", "FCBP": "First Choice Bancorp - Common Stock", "FCCO": "First Community Corporation - Common Stock", "FCCY": "1st Constitution Bancorp (NJ) - Common Stock", "FCEF": "First Trust CEF Income Opportunity ETF", "FCEL": "FuelCell Energy, Inc. - Common Stock", "FCFS": "FirstCash, Inc. - Common Stock", "FCNCA": "First Citizens BancShares, Inc. - Class A Common Stock", "FCNCP": "First Citizens BancShares, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of 5.375% Non-Cumulative Perpetual Preferred Stock, Series A", "FCRD": "First Eagle Alternative Capital BDC, Inc. - Common Stock", "FCVT": "First Trust SSI Strategic Convertible Securities ETF", "FDBC": "Fidelity D & D Bancorp, Inc. - Common Stock", "FDIV": "First Trust Strategic Income ETF", "FDMT": "4D Molecular Therapeutics, Inc. - Common Stock", "FDNI": "First Trust Dow Jones International Internet ETF", "FDT": "First Trust Developed Markets Ex-US AlphaDEX Fund", "FDTS": "First Trust Developed Markets ex-US Small Cap AlphaDEX Fund", "FDUS": "Fidus Investment Corporation - Common Stock", "FDUSG": "Fidus Investment Corporation - 5.375% Notes Due 2024", "FDUSZ": "Fidus Investment Corporation - 6% Notes due 2024", "FEIM": "Frequency Electronics, Inc. - Common Stock", "FELE": "Franklin Electric Co., Inc. - Common Stock", "FEM": "First Trust Emerging Markets AlphaDEX Fund", "FEMB": "First Trust Emerging Markets Local Currency Bond ETF", "FEMS": "First Trust Emerging Markets Small Cap AlphaDEX Fund", "FENC": "Fennec Pharmaceuticals Inc. - Common Stock", "FEP": "First Trust Europe AlphaDEX Fund", "FEUZ": "First Trust Eurozone AlphaDEX ETF", "FEX": "First Trust Large Cap Core AlphaDEX Fund", "FEYE": "FireEye, Inc. - Common Stock", "FFBC": "First Financial Bancorp. - Common Stock", "FFBW": "FFBW, Inc. - Common Stock", "FFHL": "Fuwei Films (Holdings) Co., Ltd. - ORDINARY SHARES", "FFIC": "Flushing Financial Corporation - Common Stock", "FFIN": "First Financial Bankshares, Inc. - Common Stock", "FFIV": "F5 Networks", "FFNW": "First Financial Northwest, Inc. - Common Stock", "FFWM": "First Foundation Inc. - Common Stock", "FGBI": "First Guaranty Bancshares, Inc. - Common Stock", "FGEN": "FibroGen, Inc - Common Stock", "FGF": "FG Financial Group, Inc. - Common Stock", "FGFPP": "FG Financial Group, Inc. - 8.00% Cumulative Series A Preferred Stock", "FGM": "First Trust Germany AlphaDEX Fund", "FHB": "First Hawaiian, Inc. - Common Stock", "FHTX": "Foghorn Therapeutics Inc. - Common Stock", "FIBK": "First Interstate BancSystem, Inc. - Class A Common Stock", "FICS": "First Trust International Developed Capital Strength ETF", "FID": "First Trust S&P International Dividend Aristocrats ETF", "FIII": "Forum Merger III Corporation - Class A Common Stock", "FIIIU": "Forum Merger III Corporation - Units", "FIIIW": "Forum Merger III Corporation - Warrant", "FINMU": "Marlin Technology Corporation - Unit", "FINX": "Global X FinTech ETF", "FISI": "Financial Institutions, Inc. - Common Stock", "FISV": "Fiserv Inc", "FITB": "Fifth Third Bancorp", "FITBI": "Fifth Third Bancorp - Depositary Share repstg 1/1000th Ownership Interest Perp Pfd Series I", "FITBO": "Fifth Third Bancorp - Depositary Shares each representing a 1/1000th ownership interest in a share of Non-Cumulative Perpetual Preferred Stock, Series K", "FITBP": "Fifth Third Bancorp - Depositary Shares each representing 1/40th share of Fifth Third 6.00% Non-Cumulative Perpetual Class B Preferred Stock, Series A", "FIVE": "Five Below, Inc. - Common Stock", "FIVN": "Five9, Inc. - Common Stock", "FIXD": "First Trust TCW Opportunistic Fixed Income ETF", "FIXX": "Homology Medicines, Inc. - Common Stock", "FIZZ": "National Beverage Corp. - Common Stock", "FJP": "First Trust Japan AlphaDEX Fund", "FKU": "First Trust United Kingdom AlphaDEX Fund", "FLAC": "Frazier Lifesciences Acquisition Corporation - Class A Ordinary Shares", "FLACU": "Frazier Lifesciences Acquisition Corporation - Unit", "FLACW": "Frazier Lifesciences Acquisition Corporation - Warrant", "FLDM": "Fluidigm Corporation - Common Stock", "FLEX": "Flex Ltd. - Ordinary Shares", "FLGT": "Fulgent Genetics, Inc. - Common Stock", "FLIC": "The First of Long Island Corporation - Common Stock", "FLIR": "FLIR Systems", "FLL": "Full House Resorts, Inc. - Common Stock", "FLMN": "Falcon Minerals Corporation - Class A Common Stock", "FLMNW": "Falcon Minerals Corporation - Warrant", "FLN": "First Trust Latin America AlphaDEX Fund", "FLNT": "Fluent, Inc. - Common Stock", "FLUX": "Flux Power Holdings, Inc. - Common Stock", "FLWS": "1-800-FLOWERS.COM, Inc. - Class A Common Stock", "FLXN": "Flexion Therapeutics, Inc. - Common Stock", "FLXS": "Flexsteel Industries, Inc. - Common Stock", "FMAO": "Farmers & Merchants Bancorp, Inc. - Common Stock", "FMB": "First Trust Managed Municipal ETF", "FMBH": "First Mid Bancshares, Inc. - Common Stock", "FMBI": "First Midwest Bancorp, Inc. - Common Stock", "FMBIO": "First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series C", "FMBIP": "First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "FMHI": "First Trust Municipal High Income ETF", "FMNB": "Farmers National Banc Corp. - Common Stock", "FMTX": "Forma Therapeutics Holdings, Inc. - Common Stock", "FNCB": "FNCB Bancorp Inc. - Common Stock", "FNHC": "FedNat Holding Company - Common Stock", "FNK": "First Trust Mid Cap Value AlphaDEX Fund", "FNKO": "Funko, Inc. - Class A Common Stock", "FNLC": "First Bancorp, Inc (ME) - Common Stock", "FNWB": "First Northwest Bancorp - Common Stock", "FNX": "First Trust Mid Cap Core AlphaDEX Fund", "FNY": "First Trust Mid Cap Growth AlphaDEX Fund", "FOCS": "Focus Financial Partners Inc. - Common Stock", "FOLD": "Amicus Therapeutics, Inc. - Common Stock", "FONR": "Fonar Corporation - Common Stock", "FORA": "Forian Inc. - Common Stock", "FORD": "Forward Industries, Inc. - Common Stock", "FOREU": "Foresight Acquisition Corp. - Unit, consisting of one share of Class A Common Stock and one-third of one redeemable warrant", "FORM": "FormFactor, Inc. - Common Stock", "FORR": "Forrester Research, Inc. - Common Stock", "FORTY": "Formula Systems (1985) Ltd. - American Depositary Shares", "FOSL": "Fossil Group, Inc. - Common Stock", "FOX": "Fox Corporation (Class B)", "FOXA": "Fox Corporation (Class A)", "FOXF": "Fox Factory Holding Corp. - Common Stock", "FOXW": "FoxWayne Enterprises Acquisition Corp. - Class A common stock", "FOXWU": "FoxWayne Enterprises Acquisition Corp. - Unit", "FOXWW": "FoxWayne Enterprises Acquisition Corp. - Warrant", "FPA": "First Trust Asia Pacific Ex-Japan AlphaDEX Fund", "FPAY": "FlexShopper, Inc. - Common Stock", "FPRX": "Five Prime Therapeutics, Inc. - Common Stock", "FPXE": "First Trust IPOX Europe Equity Opportunities ETF", "FPXI": "First Trust International Equity Opportunities ETF", "FRAF": "Franklin Financial Services Corporation - Common Stock", "FRBA": "First Bank - Common Stock", "FRBK": "Republic First Bancorp, Inc. - Common Stock", "FREE": "Whole Earth Brands, Inc. - Class A Common Stock", "FREEW": "Whole Earth Brands, Inc. - Warrant", "FREQ": "Frequency Therapeutics, Inc. - Common Stock", "FRG": "Franchise Group, Inc. - Common Stock", "FRGAP": "Franchise Group, Inc. - 7.50% Series A Cumulative Perpetual Preferred Stock", "FRGI": "Fiesta Restaurant Group, Inc. - Common Stock", "FRHC": "Freedom Holding Corp. - Common Stock", "FRLN": "Freeline Therapeutics Holdings plc - ADSs", "FRME": "First Merchants Corporation - Common Stock", "FROG": "JFrog Ltd. - Ordinary shares", "FRPH": "FRP Holdings, Inc. - Common Stock", "FRPT": "Freshpet, Inc. - Common Stock", "FRSX": "Foresight Autonomous Holdings Ltd. - American Depositary Shares", "FRTA": "Forterra, Inc. - Common Stock", "FSBW": "FS Bancorp, Inc. - Common Stock", "FSEA": "First Seacoast Bancorp - Common Stock", "FSFG": "First Savings Financial Group, Inc. - Common Stock", "FSII": "FS Development Corp. II - Class A Common Stock", "FSLR": "First Solar, Inc. - Common Stock", "FSRV": "FinServ Acquisition Corp. - Class A Common Stock", "FSRVU": "FinServ Acquisition Corp. - Unit", "FSRVW": "FinServ Acquisition Corp. - Warrant", "FSRXU": "FinServ Acquisition Corp. II - Unit", "FSSIU": "Fortistar Sustainable Solutions Corp. - Unit", "FSTR": "L.B. Foster Company - Common Stock", "FSTX": "F-star Therapeutics, Inc. - Common Stock", "FSV": "FirstService Corporation - Common Shares", "FSZ": "First Trust Switzerland AlphaDEX Fund", "FTA": "First Trust Large Cap Value AlphaDEX Fund", "FTAAU": "FTAC Athena Acquisition Corp. - Unit", "FTAG": "First Trust Indxx Global Agriculture ETF", "FTC": "First Trust Large Cap Growth AlphaDEX Fund", "FTCS": "First Trust Capital Strength ETF", "FTCV": "FinTech Acquisition Corp. V - Class A Common Stock", "FTCVU": "FinTech Acquisition Corp. V - Unit", "FTCVW": "FinTech Acquisition Corp. V - Warrant", "FTDR": "frontdoor, inc. - Common Stock", "FTEK": "Fuel Tech, Inc. - Common Stock", "FTFT": "Future FinTech Group Inc. - Common Stock", "FTGC": "First Trust Global Tactical Commodity Strategy Fund", "FTHI": "First Trust BuyWrite Income ETF", "FTHM": "Fathom Holdings Inc. - Common Stock", "FTIV": "FinTech Acquisition Corp. IV - Class A Common Stock", "FTIVU": "FinTech Acquisition Corp. IV - Unit", "FTIVW": "FinTech Acquisition Corp. IV - Warrant", "FTLB": "First Trust Hedged BuyWrite Income ETF", "FTNT": "Fortinet", "FTOC": "FTAC Olympus Acquisition Corp. - Class A Ordinary Shares", "FTOCU": "FTAC Olympus Acquisition Corp. - Unit", "FTOCW": "FTAC Olympus Acquisition Corp. - Warrant", "FTRI": "First Trust Indxx Global Natural Resources Income ETF", "FTSL": "First Trust Senior Loan Fund ETF", "FTSM": "First Trust Enhanced Short Maturity ETF", "FTXD": "First Trust Nasdaq Retail ETF", "FTXG": "First Trust Nasdaq Food & Beverage ETF", "FTXH": "First Trust Nasdaq Pharmaceuticals ETF", "FTXL": "First Trust Nasdaq Semiconductor ETF", "FTXN": "First Trust Nasdaq Oil & Gas ETF", "FTXO": "First Trust Nasdaq Bank ETF", "FTXR": "First Trust Nasdaq Transportation ETF", "FULC": "Fulcrum Therapeutics, Inc. - Common Stock", "FULT": "Fulton Financial Corporation - Common Stock", "FULTP": "Fulton Financial Corporation - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "FUNC": "First United Corporation - Common Stock", "FUND": "Sprott Focus Trust, Inc. - Closed End Fund", "FUSB": "First US Bancshares, Inc. - Common Stock", "FUSN": "Fusion Pharmaceuticals Inc. - Common Shares", "FUTU": "Futu Holdings Limited - American Depositary Shares", "FUV": "Arcimoto, Inc. - Common Stock", "FV": "First Trust Dorsey Wright Focus 5 ETF", "FVAM": "5:01 Acquisition Corp. - Class A Common Stock", "FVC": "First Trust Dorsey Wright Dynamic Focus 5 ETF", "FVCB": "FVCBankcorp, Inc. - Common Stock", "FVE": "Five Star Senior Living Inc. - Common Shares", "FWAA": "Fifth Wall Acquisition Corp. I - Class A Common Stock", "FWONA": "Liberty Media Corporation - Series A Liberty Formula One Common Stock", "FWONK": "Liberty Media Corporation - Series C Liberty Formula One Common Stock", "FWP": "Forward Pharma A/S - American Depositary Shares", "FWRD": "Forward Air Corporation - Common Stock", "FXNC": "First National Corporation - Common Stock", "FYC": "First Trust Small Cap Growth AlphaDEX Fund", "FYT": "First Trust Small Cap Value AlphaDEX Fund", "FYX": "First Trust Small Cap Core AlphaDEX Fund", "GABC": "German American Bancorp, Inc. - Common Stock", "GAIA": "Gaia, Inc. - Class A Common Stock", "GAIN": "Gladstone Investment Corporation - Business Development Company", "GAINL": "Gladstone Investment Corporation - 6.375% Series E Cumulative Term Preferred Stock due 2025", "GALT": "Galectin Therapeutics Inc. - Common Stock", "GAN": "GAN Limited - Ordinary Shares", "GASS": "StealthGas, Inc. - common stock", "GBCI": "Glacier Bancorp, Inc. - Common Stock", "GBDC": "Golub Capital BDC, Inc. - Common Stock", "GBIO": "Generation Bio Co. - Common stock", "GBLI": "Global Indemnity Group, LLC - Class A Common Stock", "GBLIL": "Global Indemnity Group, LLC - 7.875% Subordinated Notes due 2047", "GBNY": "Generations Bancorp NY, Inc. - Common Stock", "GBOX": "Greenbox POS - Common Stock", "GBRGU": "Goldenbridge Acquisition Limited - Unit", "GBS": "GBS Inc. - Common Stock", "GBT": "Global Blood Therapeutics, Inc. - Common Stock", "GCACU": "Growth Capital Acquisition Corp. - Unit", "GCBC": "Greene County Bancorp, Inc. - Common Stock", "GCMG": "GCM Grosvenor Inc. - Class A Common Stock", "GCMGW": "GCM Grosvenor Inc. - Warrant", "GDEN": "Golden Entertainment, Inc. - Common Stock", "GDRX": "GoodRx Holdings, Inc. - Class A Common Stock", "GDS": "GDS Holdings Limited - American Depositary Shares", "GDYN": "Grid Dynamics Holdings, Inc. - Class A Common Stock", "GDYNW": "Grid Dynamics Holdings, Inc. - Warrant", "GECC": "Great Elm Capital Corp. - Common Stock", "GECCL": "Great Elm Capital Corp. - 6.50% Notes due 2022", "GECCM": "Great Elm Capital Corp. - 6.75% Notes Due 2025", "GECCN": "Great Elm Capital Corp. - Notes", "GEG": "Great Elm Group, Inc. - Common Stock", "GENC": "Gencor Industries Inc. - Common Stock", "GENE": "Genetic Technologies Ltd - American Depositary Shares representing 600 ordinary shares", "GENY": "Principal Millennials Index ETF", "GEOS": "Geospace Technologies Corporation - Common Stock", "GERN": "Geron Corporation - Common Stock", "GEVO": "Gevo, Inc. - Common Stock", "GFED": "Guaranty Federal Bancshares, Inc. - Common Stock", "GFN": "General Finance Corporation - Common Stock", "GFNCP": "General Finance Corporation - Cumulative Redeemable Perpetual Preferred Series C", "GFNSZ": "General Finance Corporation - 7.875% Senior Notes due 2025", "GGAL": "Grupo Financiero Galicia S.A. - American Depositary Shares, Class B Shares underlying", "GH": "Guardant Health, Inc. - Common Stock", "GHACU": "Gaming & Hospitality Acquisition Corp. - Unit", "GHSI": "Guardion Health Sciences, Inc. - Common Stock", "GHVI": "Gores Holdings VI, Inc. - Class A Common Stock", "GHVIU": "Gores Holdings VI, Inc. - Unit", "GHVIW": "Gores Holdings VI, Inc. - Warrant", "GIFI": "Gulf Island Fabrication, Inc. - Common Stock", "GIGE": "SoFi Gig Economy ETF", "GIGGU": "GigCapital4, Inc. - Unit", "GIGM": "GigaMedia Limited - Ordinary Shares", "GIII": "G-III Apparel Group, LTD. - Common Stock", "GIIXU": "Gores Holdings VIII, Inc. - Unit", "GILD": "Gilead Sciences", "GILT": "Gilat Satellite Networks Ltd. - Ordinary Shares", "GLAD": "Gladstone Capital Corporation - Common Stock", "GLADL": "Gladstone Capital Corporation - 5.375% Notes due 2024", "GLAQ": "Globis Acquisition Corp. - Common stock", "GLAQU": "Globis Acquisition Corp. - Unit", "GLAQW": "Globis Acquisition Corp. - Warrant", "GLBLU": "Cartesian Growth Corporation - Unit", "GLBS": "Globus Maritime Limited - Common Stock", "GLBZ": "Glen Burnie Bancorp - Common Stock", "GLDD": "Great Lakes Dredge & Dock Corporation - Common Stock", "GLDI": "Credit Suisse Gold Shares Covered Call Exchange Traded Notes", "GLG": "TD Holdings, Inc. - Common Stock", "GLMD": "Galmed Pharmaceuticals Ltd. - Ordinary Shares", "GLNG": "Golar LNG Limited - Common Shares", "GLPG": "Galapagos NV - American Depositary Shares", "GLPI": "Gaming and Leisure Properties, Inc. - Common Stock", "GLRE": "Greenlight Reinsurance, Ltd. - Class A Ordinary Shares", "GLSI": "Greenwich LifeSciences, Inc. - Common stock", "GLTO": "Galecto, Inc. - Common Stock", "GLUU": "Glu Mobile Inc. - Common Stock", "GLYC": "GlycoMimetics, Inc. - Common Stock", "GMAB": "Genmab A/S - American Depositary Shares", "GMBL": "Esports Entertainment Group Inc. - Common Stock", "GMBLW": "Esports Entertainment Group Inc. - Warrant", "GMBTU": "Queen's Gambit Growth Capital - Unit", "GMDA": "Gamida Cell Ltd. - Ordinary Shares", "GMIIU": "Gores Metropoulos II, Inc. - Unit", "GMLP": "Golar LNG Partners LP - Common Units Representing Limited Partnership", "GMLPP": "Golar LNG Partners LP - 8.75% Series A Cumulative Redeemable Preferred Units", "GMTX": "Gemini Therapeutics, Inc. - Common Stock", "GNACU": "Group Nine Acquisition Corp. - Unit", "GNCA": "Genocea Biosciences, Inc. - Common Stock", "GNFT": "GENFIT S.A. - American Depositary Shares", "GNLN": "Greenlane Holdings, Inc. - Class A Common Stock", "GNMA": "iShares GNMA Bond ETF", "GNMK": "GenMark Diagnostics, Inc. - Common Stock", "GNOG": "Golden Nugget Online Gaming, Inc. - Class A Common Stock", "GNOGW": "Golden Nugget Online Gaming, Inc. - Warrant", "GNOM": "Global X Genomics & Biotechnology ETF", "GNPX": "Genprex, Inc. - Common Stock", "GNRS": "Greenrose Acquisition Corp. - Common Stock", "GNRSU": "Greenrose Acquisition Corp. - Unit", "GNRSW": "Greenrose Acquisition Corp. - Warrant", "GNSS": "Genasys Inc. - Common Stock", "GNTX": "Gentex Corporation - Common Stock", "GNTY": "Guaranty Bancshares, Inc. - Common Stock", "GNUS": "Genius Brands International, Inc. - Common Stock", "GO": "Grocery Outlet Holding Corp. - Common Stock", "GOCO": "GoHealth, Inc. - Class A Common Stock", "GOEV": "Canoo Inc. - Class A Common Stock", "GOEVW": "Canoo Inc. - Warrant", "GOGL": "Golden Ocean Group Limited - Common Stock", "GOGO": "Gogo Inc. - Common Stock", "GOOD": "Gladstone Commercial Corporation - Real Estate Investment Trust", "GOODM": "Gladstone Commercial Corporation - Series D Cumulative Redeemable Preferred Stock", "GOODN": "Gladstone Commercial Corporation - 6.625% Series E Cumulative Redeemable Preferred Stock", "GOOG": "Alphabet Inc. (Class C)", "GOOGL": "Alphabet Inc. (Class A)", "GOSS": "Gossamer Bio, Inc. - Common Stock", "GOVX": "GeoVax Labs, Inc. - Common Stock", "GOVXW": "GeoVax Labs, Inc. - Warrants", "GP": "GreenPower Motor Company Inc. - Common Shares", "GPACU": "Global Partner Acquisition Corp II - Unit", "GPP": "Green Plains Partners LP - Common Units", "GPRE": "Green Plains, Inc. - Common Stock", "GPRO": "GoPro, Inc. - Class A Common Stock", "GRAY": "Graybug Vision, Inc. - Common Stock", "GRBK": "Green Brick Partners, Inc. - Common Stock", "GRCL": "Gracell Biotechnologies Inc. - American Depositary Shares", "GRCY": "Greencity Acquisition Corporation - Ordinary Shares", "GRCYU": "Greencity Acquisition Corporation - Unit", "GRCYW": "Greencity Acquisition Corporation - Warrants", "GRFS": "Grifols, S.A. - American Depositary Shares", "GRID": "First Trust NASDAQ Clean Edge Smart Grid Infrastructure Index Fund", "GRIL": "Muscle Maker, Inc - Common Stock", "GRIN": "Grindrod Shipping Holdings Ltd. - Ordinary Shares", "GRMN": "Garmin Ltd.", "GRNQ": "Greenpro Capital Corp. - Common Stock", "GRNV": "GreenVision Acquisition Corp - Common Stock", "GRNVR": "GreenVision Acquisition Corp - Rights", "GRNVU": "GreenVision Acquisition Corp - Unit", "GRNVW": "GreenVision Acquisition Corp - Warrant", "GROW": "U.S. Global Investors, Inc. - Class A Common Stock", "GRPN": "Groupon, Inc. - Common Stock", "GRSV": "Gores Holdings V, Inc. - Common stock", "GRSVU": "Gores Holdings V, Inc. - Unit", "GRSVW": "Gores Holdings V, Inc. - Warrant", "GRTS": "Gritstone Oncology, Inc. - Common Stock", "GRTX": "Galera Therapeutics, Inc. - Common Stock", "GRVY": "GRAVITY Co., Ltd. - American depositary shares, each representing one common share.", "GRWG": "GrowGeneration Corp. - Common Stock", "GSAQ": "Global Synergy Acquisition Corp. - Ordinary Shares", "GSAQU": "Global Synergy Acquisition Corp. - Units", "GSAQW": "Global Synergy Acquisition Corp. - Warrant", "GSBC": "Great Southern Bancorp, Inc. - Common Stock", "GSEVU": "Gores Holdings VII, Inc. - Units", "GSHD": "Goosehead Insurance, Inc. - Class A Common Stock", "GSIT": "GSI Technology, Inc. - Common Stock", "GSKY": "GreenSky, Inc. - Common Stock", "GSM": "Ferroglobe PLC - Ordinary Shares", "GSMG": "Glory Star New Media Group Holdings Limited - Ordinary Share", "GSMGW": "Glory Star New Media Group Holdings Limited - Warrant", "GSUM": "Gridsum Holding Inc. - American Depositary Shares", "GT": "The Goodyear Tire & Rubber Company - Common Stock", "GTBP": "GT Biopharma, Inc. - Common Stock", "GTEC": "Greenland Technologies Holding Corporation - Ordinary Shares", "GTH": "Genetron Holdings Limited - American Depositary Shares", "GTHX": "G1 Therapeutics, Inc. - Common Stock", "GTIM": "Good Times Restaurants Inc. - Common Stock", "GTYH": "GTY Technology Holdings, Inc. - Common Stock", "GURE": "Gulf Resources, Inc. - Common Stock", "GVP": "GSE Systems, Inc. - Common Stock", "GWAC": "Good Works Acquisition Corp. - Common Stock", "GWACW": "Good Works Acquisition Corp. - Warrant", "GWGH": "GWG Holdings, Inc - Common Stock", "GWPH": "GW Pharmaceuticals Plc - American Depositary Shares", "GWRS": "Global Water Resources, Inc. - common stock", "GXGX": "GX Acquisition Corp. - Class A Common Stock", "GXGXU": "GX Acquisition Corp. - Unit", "GXGXW": "GX Acquisition Corp. - Warrant", "GXTG": "Global X Thematic Growth ETF", "GYRO": "Gyrodyne , LLC - Common Stock", "HA": "Hawaiian Holdings, Inc. - Common Stock", "HAAC": "Health Assurance Acquisition Corp. - Class A Common Stock", "HAACU": "Health Assurance Acquisition Corp. - SAIL Securities", "HAACW": "Health Assurance Acquisition Corp. - Warrants", "HAFC": "Hanmi Financial Corporation - Common Stock", "HAIN": "The Hain Celestial Group, Inc. - Common Stock", "HALL": "Hallmark Financial Services, Inc. - Common Stock", "HALO": "Halozyme Therapeutics, Inc. - Common Stock", "HAPP": "Happiness Biotech Group Limited - Ordinary Shares", "HARP": "Harpoon Therapeutics, Inc. - Common Stock", "HAS": "Hasbro Inc.", "HAYN": "Haynes International, Inc. - Common Stock", "HBAN": "Huntington Bancshares", "HBANN": "Huntington Bancshares Incorporated - Depositary Shares each representing a 1/40th interest in a share of 5.875% Series C Non-Cumulative Perpetual Preferred Stock", "HBANO": "Huntington Bancshares Incorporated - Depositary Shares", "HBANP": "Huntington Bancshares Incorporated - Depositary Shares 4.500% Series H Non-Cumulative Perpetual Preferred Stock", "HBCP": "Home Bancorp, Inc. - Common Stock", "HBIO": "Harvard Bioscience, Inc. - Common Stock", "HBMD": "Howard Bancorp, Inc. - Common Stock", "HBNC": "Horizon Bancorp, Inc. - Common Stock", "HBP": "Huttig Building Products, Inc. - Common Stock", "HBT": "HBT Financial, Inc. - Common Stock", "HCAP": "Harvest Capital Credit Corporation - Common Stock", "HCAPZ": "Harvest Capital Credit Corporation - 6.125% Notes due 2022", "HCAQ": "HealthCor Catalio Acquisition Corp. - Class A Ordinary Shares", "HCAR": "Healthcare Services Acquisition Corporation - Class A Common Stock", "HCARU": "Healthcare Services Acquisition Corporation - Unit", "HCARW": "Healthcare Services Acquisition Corporation - Warrant", "HCAT": "Health Catalyst, Inc - Common stock", "HCCCU": "Healthcare Capital Corp. - Unit", "HCCI": "Heritage-Crystal Clean, Inc. - Common Stock", "HCDI": "Harbor Custom Development, Inc. - Common Stock", "HCICU": "Hennessy Capital Investment Corp. V Units - Unit", "HCIIU": "Hudson Executive Investment Corp. II - Unit", "HCKT": "The Hackett Group, Inc. - Common Stock", "HCM": "Hutchison China MediTech Limited - American Depositary Shares", "HCSG": "Healthcare Services Group, Inc. - Common Stock", "HDSN": "Hudson Technologies, Inc. - Common Stock", "HEAR": "Turtle Beach Corporation - Common Stock", "HEC": "Hudson Executive Investment Corp. - Class A Common Stock", "HECCU": "Hudson Executive Investment Corp. - Units", "HECCW": "Hudson Executive Investment Corp. - Warrant", "HEES": "H&E Equipment Services, Inc. - Common Stock", "HELE": "Helen of Troy Limited - Common Stock", "HEPA": "Hepion Pharmaceuticals, Inc. - Common Stock", "HERD": "Pacer Cash Cows Fund of Funds ETF", "HERO": "Global X Video Games & Esports ETF", "HEWG": "iShares Currency Hedged MSCI Germany ETF", "HFBL": "Home Federal Bancorp, Inc. of Louisiana - Common Stock", "HFFG": "HF Foods Group Inc. - Common Stock", "HFWA": "Heritage Financial Corporation - Common Stock", "HGBL": "Heritage Global Inc. - Common Stock", "HGEN": "Humanigen, Inc. - Common Stock", "HGSH": "China HGS Real Estate, Inc. - Common Stock", "HHR": "HeadHunter Group PLC - American Depositary Shares", "HIBB": "Hibbett Sports, Inc. - Common Stock", "HIFS": "Hingham Institution for Savings - Common Stock", "HIHO": "Highway Holdings Limited - Common Stock", "HIIIU": "Hudson Executive Investment Corp. III - Unit", "HIMX": "Himax Technologies, Inc. - American depositary shares, each of which represents two ordinary shares.", "HJLI": "Hancock Jaffe Laboratories, Inc. - Common Stock", "HJLIW": "Hancock Jaffe Laboratories, Inc. - Warrants", "HLAHU": "Hamilton Lane Alliance Holdings I, Inc. - Unit", "HLAL": "Wahed FTSE USA Shariah ETF", "HLG": "Hailiang Education Group Inc. - American Depositary Shares", "HLIO": "Helios Technologies, Inc. - Common Stock", "HLIT": "Harmonic Inc. - Common Stock", "HLNE": "Hamilton Lane Incorporated - Class A Common Stock", "HLXA": "Helix Acquisition Corp. - Class A Ordinary Shares", "HMCO": "HumanCo Acquisition Corp. - Class A Common Stock", "HMCOU": "HumanCo Acquisition Corp. - Unit", "HMCOW": "HumanCo Acquisition Corp. - Warrant", "HMHC": "Houghton Mifflin Harcourt Company - Common Stock", "HMNF": "HMN Financial, Inc. - Common Stock", "HMPT": "Home Point Capital Inc. - Common Stock", "HMST": "HomeStreet, Inc. - Common Stock", "HMSY": "HMS Holdings Corp - Common Stock", "HMTV": "Hemisphere Media Group, Inc. - Class A Common Stock", "HNDL": "Strategy Shares Nasdaq 7HANDL Index ETF", "HNNA": "Hennessy Advisors, Inc. - Common Stock", "HNRG": "Hallador Energy Company - Common Stock", "HOFT": "Hooker Furniture Corporation - Common Stock", "HOFV": "Hall of Fame Resort & Entertainment Company - Common Stock", "HOFVW": "Hall of Fame Resort & Entertainment Company - Warrant", "HOL": "Holicity Inc. - Class A Common Stock", "HOLI": "Hollysys Automation Technologies, Ltd. - Common Stock", "HOLUU": "Holicity Inc. - Unit", "HOLUW": "Holicity Inc. - Warrant", "HOLX": "Hologic", "HOMB": "Home BancShares, Inc. - common stock", "HONE": "HarborOne Bancorp, Inc. - Common Stock", "HOOK": "HOOKIPA Pharma Inc. - Common Stock", "HOPE": "Hope Bancorp, Inc. - Common Stock", "HOTH": "Hoth Therapeutics, Inc. - Common Stock", "HOVNP": "Hovnanian Enterprises Inc - Depositary Share representing 1/1000th of 7.625% Series A Preferred Stock", "HPK": "HighPeak Energy, Inc. - Common Stock", "HPKEW": "HighPeak Energy, Inc. - Warrant", "HQI": "HireQuest, Inc. - Common Stock", "HQY": "HealthEquity, Inc. - Common Stock", "HRMY": "Harmony Biosciences Holdings, Inc. - Common Stock", "HROW": "Harrow Health, Inc. - Common Stock", "HRTX": "Heron Therapeutics, Inc. - Common Stock", "HRZN": "Horizon Technology Finance Corporation - Common Stock", "HSAQ": "Health Sciences Acquisitions Corporation 2 - Ordinary Shares", "HSDT": "Helius Medical Technologies, Inc. - Class A Common Stock", "HSIC": "Henry Schein", "HSII": "Heidrick & Struggles International, Inc. - Common Stock", "HSKA": "Heska Corporation - Common Stock", "HSON": "Hudson Global, Inc. - Common Stock", "HST": "Host Hotels & Resorts", "HSTM": "HealthStream, Inc. - Common Stock", "HSTO": "Histogen Inc. - Common Stock", "HTBI": "HomeTrust Bancshares, Inc. - Common Stock", "HTBK": "Heritage Commerce Corp - Common Stock", "HTBX": "Heat Biologics, Inc. - Common Stock", "HTGM": "HTG Molecular Diagnostics, Inc. - Common Stock", "HTHT": "Huazhu Group Limited - American Depositary Shares, each representing one Ordinary Share", "HTIA": "Healthcare Trust, Inc. - 7.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "HTLD": "Heartland Express, Inc. - Common Stock", "HTLF": "Heartland Financial USA, Inc. - Common Stock", "HTLFP": "Heartland Financial USA, Inc. - Depositary Shares, each representing a 1/400th ownership interest in a share of 7.00% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "HTOO": "Fusion Fuel Green PLC - Ordinary Shares", "HTOOW": "Fusion Fuel Green PLC - Warrant", "HUBG": "Hub Group, Inc. - Class A Common Stock", "HUDI": "Huadi International Group Co., Ltd. - Ordinary Shares", "HUGE": "FSD Pharma Inc. - Class B Subordinate Voting Shares", "HUIZ": "Huize Holding Limited - American Depositary Shares", "HURC": "Hurco Companies, Inc. - Common Stock", "HURN": "Huron Consulting Group Inc. - Common Stock", "HUSN": "Hudson Capital Inc. - Ordinary Shares", "HVBC": "HV Bancorp, Inc. - Common Stock", "HWBK": "Hawthorn Bancshares, Inc. - Common Stock", "HWC": "Hancock Whitney Corporation - Common Stock", "HWCC": "Houston Wire & Cable Company - Common Stock", "HWCPL": "Hancock Whitney Corporation - 5.95% Subordinated Notes due 2045", "HWCPZ": "Hancock Whitney Corporation - 6.25% Subordinated Notes due 2060", "HWKN": "Hawkins, Inc. - Common Stock", "HX": "Xiaobai Maimai Inc. - American Depositary Shares", "HYACU": "Haymaker Acquisition Corp. III - Unit", "HYFM": "Hydrofarm Holdings Group, Inc. - Common Stock", "HYLS": "First Trust Tactical High Yield ETF", "HYMC": "Hycroft Mining Holding Corporation - Class A Common Stock", "HYMCL": "Hycroft Mining Holding Corporation - Warrants", "HYMCW": "Hycroft Mining Holding Corporation - Warrant", "HYMCZ": "Hycroft Mining Holding Corporation - Warrant", "HYRE": "HyreCar Inc. - Common Stock", "HYXF": "iShares ESG Advanced High Yield Corporate Bond ETF", "HYZD": "WisdomTree Interest Rate Hedged High Yield Bond Fund", "HZNP": "Horizon Therapeutics Public Limited Company - Ordinary Shares", "IAC": "IAC/InterActiveCorp - Common Stock", "IART": "Integra LifeSciences Holdings Corporation - Common Stock", "IBB": "iShares Nasdaq Biotechnology Index Fund", "IBBJ": "Defiance Nasdaq Junior Biotechnology ETF", "IBCP": "Independent Bank Corporation - Common Stock", "IBEX": "IBEX Limited - Common Share", "IBKR": "Interactive Brokers Group, Inc. - Class A Common Stock", "IBOC": "International Bancshares Corporation - Common Stock", "IBTA": "iShares iBonds Dec 2021 Term Treasury ETF", "IBTB": "iShares iBonds Dec 2022 Term Treasury ETF", "IBTD": "iShares iBonds Dec 2023 Term Treasury ETF", "IBTE": "iShares iBonds Dec 2024 Term Treasury ETF", "IBTF": "iShares iBonds Dec 2025 Term Treasury ETF", "IBTG": "iShares iBonds Dec 2026 Term Treasury ETF", "IBTH": "iShares iBonds Dec 2027 Term Treasury ETF", "IBTI": "iShares iBonds Dec 2028 Term Treasury ETF", "IBTJ": "iShares iBonds Dec 2029 Term Treasury ETF", "IBTK": "iShares iBonds Dec 2030 Term Treasury ETF", "IBTX": "Independent Bank Group, Inc - Common Stock", "ICAD": "icad inc. - Common Stock", "ICBK": "County Bancorp, Inc. - Common Stock", "ICCC": "ImmuCell Corporation - Common Stock", "ICCH": "ICC Holdings, Inc. - Common Stock", "ICFI": "ICF International, Inc. - Common Stock", "ICHR": "Ichor Holdings - Ordinary Shares", "ICLK": "iClick Interactive Asia Group Limited - American Depositary Shares", "ICLN": "iShares S&P Global Clean Energy Index Fund", "ICLR": "ICON plc - Ordinary Shares", "ICMB": "Investcorp Credit Management BDC, Inc. - Common Stock", "ICON": "Iconix Brand Group, Inc. - Common Stock", "ICPT": "Intercept Pharmaceuticals, Inc. - Common Stock", "ICUI": "ICU Medical, Inc. - Common Stock", "IDBA": "IDEX Biometrics ASA - American Depositary Shares", "IDCC": "InterDigital, Inc. - Common Stock", "IDEX": "Ideanomics, Inc. - Common Stock", "IDLB": "Invesco FTSE International Low Beta Equal Weight ETF", "IDN": "Intellicheck, Inc. - Common Stock", "IDRA": "Idera Pharmaceuticals, Inc. - Common Stock", "IDXX": "Idexx Laboratories", "IDYA": "IDEAYA Biosciences, Inc. - Common Stock", "IEA": "Infrastructure and Energy Alternatives, Inc. - Common Stock", "IEAWW": "Infrastructure and Energy Alternatives, Inc. - Warrant", "IEC": "IEC Electronics Corp. - Common Stock", "IEF": "iShares 7-10 Year Treasury Bond ETF", "IEI": "iShares 3-7 Year Treasury Bond ETF", "IEP": "Icahn Enterprises L.P. - Depositary units", "IESC": "IES Holdings, Inc. - Common Stock", "IEUS": "iShares MSCI Europe Small-Cap ETF", "IFGL": "iShares FTSE EPRA/NAREIT Global Real Estate ex-U.S. Index Fund", "IFMK": "iFresh Inc. - Common Stock", "IFRX": "InflaRx N.V. - Common Stock", "IFV": "First Trust Dorsey Wright International Focus 5 ETF", "IGAC": "IG Acquisition Corp. - Class A Common Stock", "IGACU": "IG Acquisition Corp. - Unit", "IGACW": "IG Acquisition Corp. - Warrant", "IGF": "iShares Global Infrastructure ETF", "IGIB": "iShares 5-10 Year Investment Grade Corporate Bond ETF", "IGIC": "International General Insurance Holdings Ltd. - Ordinary Shares", "IGICW": "International General Insurance Holdings Ltd. - Warrant expiring 3/17/2025", "IGMS": "IGM Biosciences, Inc. - Common Stock", "IGNYU": "Ignyte Acquisition Corp. - Unit", "IGOV": "iShares International Treasury Bond ETF", "IGSB": "iShares 1-5 Year Investment Grade Corporate Bond ETF", "IHRT": "iHeartMedia, Inc. - Class A Common Stock", "IHYF": "Invesco High Yield Bond Factor ETF", "III": "Information Services Group, Inc. - Common Stock", "IIII": "INSU Acquisition Corp. III - Class A Common Stock", "IIIIU": "INSU Acquisition Corp. III - Unit", "IIIIW": "INSU Acquisition Corp. III - Warrant", "IIIN": "Insteel Industries, Inc. - Common Stock", "IIIV": "i3 Verticals, Inc. - Common Stock", "IIN": "IntriCon Corporation - Common Stock", "IIVI": "II-VI Incorporated - Common Stock", "IIVIP": "II-VI Incorporated - 6.00% Series A Mandatory Convertible Preferred Stock", "IJT": "iShares S&P Small-Cap 600 Growth ETF", "IKNX": "Ikonics Corporation - Common Stock", "IKT": "Inhibikase Therapeutics, Inc. - Common Stock", "ILMN": "Illumina Inc", "ILPT": "Industrial Logistics Properties Trust - Common Shares of Beneficial Interest", "IMAB": "I-MAB - American Depositary Shares", "IMAC": "IMAC Holdings, Inc. - Common Stock", "IMACW": "IMAC Holdings, Inc. - Warrant", "IMBI": "iMedia Brands, Inc. - Class A Common Stock", "IMCC": "IM Cannabis Corp. - Common Shares", "IMCR": "Immunocore Holdings plc - American Depositary Shares", "IMGN": "ImmunoGen, Inc. - Common Stock", "IMKTA": "Ingles Markets, Incorporated - Class A Common Stock", "IMMP": "Immutep Limited - American Depositary Shares", "IMMR": "Immersion Corporation - Common Stock", "IMNM": "Immunome, Inc. - Common Stock", "IMOS": "ChipMOS TECHNOLOGIES INC. - American Depositary Shares", "IMRA": "IMARA Inc. - Common Stock", "IMRN": "Immuron Limited - American Depositary Shares", "IMRNW": "Immuron Limited - Warrants", "IMTE": "Integrated Media Technology Limited - Ordinary Shares", "IMTX": "Immatics N.V. - Ordinary Shares", "IMTXW": "Immatics N.V. - Warrants", "IMUX": "Immunic, Inc. - Common Stock", "IMV": "IMV Inc. - Common Shares", "IMVT": "Immunovant, Inc. - Common Stock", "IMXI": "International Money Express, Inc. - Common Stock", "INBK": "First Internet Bancorp - Common Stock", "INBKL": "First Internet Bancorp - 6.0% Fixed-to-Floating Rate Subordinated Notes due 2026", "INBKZ": "First Internet Bancorp - Fixed-to-Floating Rate Subordinated Notes Due 2029", "INBX": "Inhibrx, Inc. - Common Stock", "INCY": "Incyte", "INDB": "Independent Bank Corp. - Common Stock", "INDT": "INDUS Realty Trust, Inc. - Common Stock", "INDY": "iShares S&P India Nifty 50 Index Fund", "INFI": "Infinity Pharmaceuticals, Inc. - Common Stock", "INFN": "Infinera Corporation - Common Stock", "INFR": "Legg Mason Global Infrastructure ETF", "INGN": "Inogen, Inc - Common Stock", "INKA": "KludeIn I Acquisition Corp. - Class A Common Stock", "INKAU": "KludeIn I Acquisition Corp. - Unit", "INKAW": "KludeIn I Acquisition Corp. - Warrant", "INM": "InMed Pharmaceuticals Inc. - Common Shares", "INMB": "INmune Bio Inc. - Common stock", "INMD": "InMode Ltd. - Ordinary Shares", "INO": "Inovio Pharmaceuticals, Inc. - Common Stock", "INOD": "Innodata Inc. - Common Stock", "INOV": "Inovalon Holdings, Inc. - Class A Common Stock", "INPX": "Inpixon - Common Stock", "INSE": "Inspired Entertainment, Inc. - Common Stock", "INSG": "Inseego Corp. - Common Stock", "INSM": "Insmed, Inc. - Common Stock", "INTG": "The Intergroup Corporation - Common Stock", "INTU": "Intuit Inc.", "INTZ": "Intrusion Inc. - Common Stock", "INVA": "Innoviva, Inc. - Common Stock", "INVE": "Identiv, Inc. - Common Stock", "INVO": "INVO BioScience, Inc. - Common Stock", "INZY": "Inozyme Pharma, Inc. - Common Stock", "IONS": "Ionis Pharmaceuticals, Inc. - Common Stock", "IOSP": "Innospec Inc. - Common Stock", "IOVA": "Iovance Biotherapeutics, Inc. - Common Stock", "IPA": "ImmunoPrecise Antibodies Ltd. - Common Stock", "IPAR": "Inter Parfums, Inc. - Common Stock", "IPDN": "Professional Diversity Network, Inc. - Common Stock", "IPGP": "IPG Photonics Corp.", "IPHA": "Innate Pharma S.A. - American Depositary Shares", "IPHI": "Inphi Corporation - Common Stock", "IPKW": "Invesco International BuyBack Achievers ETF", "IPLDP": "Interstate Power and Light Company - Interstate Power & Light Company Perp Preferred 5.10% Series D", "IPWR": "Ideal Power Inc. - Common Stock", "IQ": "iQIYI, Inc. - American Depositary Shares", "IRBT": "iRobot Corporation - Common Stock", "IRCP": "IRSA Propiedades Comerciales S.A. - American Depository Shares", "IRDM": "Iridium Communications Inc - Common Stock", "IRIX": "IRIDEX Corporation - Common Stock", "IRMD": "iRadimed Corporation - Common Stock", "IROQ": "IF Bancorp, Inc. - Common Stock", "IRTC": "iRhythm Technologies, Inc. - Common Stock", "IRWD": "Ironwood Pharmaceuticals, Inc. - Class A Common Stock", "ISBC": "Investors Bancorp, Inc. - Common Stock", "ISDX": "Invesco RAFI Strategic Developed ex-US ETF", "ISEE": "IVERIC bio, Inc. - Common Stock", "ISEM": "Invesco RAFI Strategic Emerging Markets ETF", "ISHG": "iShares 1-3 Year International Treasury Bond ETF", "ISIG": "Insignia Systems, Inc. - Common Stock", "ISLEU": "Isleworth Healthcare Acquisition Corporation - Unit", "ISNS": "Image Sensing Systems, Inc. - Common Stock", "ISRG": "Intuitive Surgical Inc.", "ISSC": "Innovative Solutions and Support, Inc. - Common Stock", "ISTB": "iShares Core 1-5 Year USD Bond ETF", "ISTR": "Investar Holding Corporation - Common Stock", "ISUN": "iSun, Inc. - Common Stock", "ITAC": "Industrial Tech Acquisitions, Inc. - Class A common stock", "ITACU": "Industrial Tech Acquisitions, Inc. - Unit", "ITACW": "Industrial Tech Acquisitions, Inc. - Warrant", "ITCI": "Intra-Cellular Therapies Inc. - Common Stock", "ITHXU": "ITHAX Acquisition Corp. - Unit", "ITI": "Iteris, Inc. - Common Stock", "ITIC": "Investors Title Company - Common Stock", "ITMR": "Itamar Medical Ltd. - American Depository Shares", "ITOS": "iTeos Therapeutics, Inc. - Common Stock", "ITQRU": "Itiquira Acquisition Corp. - Unit", "ITRI": "Itron, Inc. - Common Stock", "ITRM": "Iterum Therapeutics plc - Ordinary Share", "ITRN": "Ituran Location and Control Ltd. - Ordinary Shares", "IUS": "Invesco RAFI Strategic US ETF", "IUSB": "iShares Core Total USD Bond Market ETF", "IUSG": "iShares Core S&P U.S. Growth ETF", "IUSS": "Invesco RAFI Strategic US Small Company ETF", "IUSV": "iShares Core S&P U.S. Value ETF", "IVA": "Inventiva S.A. - American Depository Shares", "IVAC": "Intevac, Inc. - Common Stock", "IXUS": "iShares Core MSCI Total International Stock ETF", "IZEA": "IZEA Worldwide, Inc. - Common Stock", "JACK": "Jack In The Box Inc. - Common Stock", "JAGX": "Jaguar Health, Inc. - Common Stock", "JAKK": "JAKKS Pacific, Inc. - Common Stock", "JAMF": "Jamf Holding Corp. - Common Stock", "JAN": "JanOne Inc. - Common Stock", "JAZZ": "Jazz Pharmaceuticals plc - Ordinary Shares", "JBHT": "J. B. Hunt Transport Services", "JBLU": "JetBlue Airways Corporation - Common Stock", "JBSS": "John B. Sanfilippo & Son, Inc. - Common Stock", "JCICU": "Jack Creek Investment Corp. - Units", "JCOM": "j2 Global, Inc. - Common Stock", "JCS": "Communications Systems, Inc. - Common Stock", "JCTCF": "Jewett-Cameron Trading Company - Common Shares", "JD": "JD.com, Inc. - American Depositary Shares", "JFIN": "Jiayin Group Inc. - American Depositary Shares", "JFU": "9F Inc. - American Depositary Shares", "JG": "Aurora Mobile Limited - American Depositary Shares", "JJSF": "J & J Snack Foods Corp. - Common Stock", "JKHY": "Jack Henry & Associates", "JKI": "iShares Morningstar Mid-Cap ETF", "JMPNL": "JMP Group LLC - 7.25% Senior Notes due 2027", "JMPNZ": "JMP Group LLC - 6.875% Senior Notes due 2029", "JNCE": "Jounce Therapeutics, Inc. - Common Stock", "JOBS": "51job, Inc. - American Depositary Shares, each representing two common shares", "JOET": "Virtus Terranova U.S. Quality Momentum ETF", "JOFFU": "JOFF Fintech Acquisition Corp. - Unit", "JOUT": "Johnson Outdoors Inc. - Class A Common Stock", "JRJC": "China Finance Online Co. Limited - American Depositary Shares", "JRSH": "Jerash Holdings (US), Inc. - Common Stock", "JRVR": "James River Group Holdings, Ltd. - Common Shares", "JSM": "Navient Corporation - 6% Senior Notes due December 15, 2043", "JSMD": "Janus Henderson Small/Mid Cap Growth Alpha ETF", "JSML": "Janus Henderson Small Cap Growth Alpha ETF", "JUPW": "Jupiter Wellness, Inc. - Common Stock", "JUPWW": "Jupiter Wellness, Inc. - Warrant", "JVA": "Coffee Holding Co., Inc. - Common Stock", "JYAC": "Jiya Acquisition Corp. - Class A Common Stock", "JYNT": "The Joint Corp. - Common Stock", "KAIIU": "Kismet Acquisition Two Corp. - Unit", "KAIR": "Kairos Acquisition Corp. - Class A Ordinary Shares", "KAIRU": "Kairos Acquisition Corp. - Unit", "KAIRW": "Kairos Acquisition Corp. - Warrant", "KALA": "Kala Pharmaceuticals, Inc. - Common Stock", "KALU": "Kaiser Aluminum Corporation - Common Stock", "KALV": "KalVista Pharmaceuticals, Inc. - Common Stock", "KBAL": "Kimball International, Inc. - Class B Common Stock", "KBNT": "Kubient, Inc. - Common Stock", "KBNTW": "Kubient, Inc. - Warrant", "KBSF": "KBS Fashion Group Limited - Common Stock", "KBWB": "Invesco KBW Bank ETF", "KBWD": "Invesco KBW High Dividend Yield Financial ETF", "KBWP": "Invesco KBW Property & Casualty Insurance ETF", "KBWR": "Invesco KBW Regional Banking ETF", "KBWY": "Invesco KBW Premium Yield Equity REIT ETF", "KC": "Kingsoft Cloud Holdings Limited - American Depositary Shares", "KCAPL": "Portman Ridge Finance Corporation - 6.125% Notes due 2022", "KDMN": "Kadmon Holdings, Inc. - Common Stock", "KDNY": "Chinook Therapeutics, Inc. - Common Stock", "KDP": "Keurig Dr Pepper Inc. - Common Stock", "KE": "Kimball Electronics, Inc. - Common Stock", "KEJI": "Global X China Disruption ETF", "KELYA": "Kelly Services, Inc. - Class A Common Stock", "KELYB": "Kelly Services, Inc. - Class B Common Stock", "KEQU": "Kewaunee Scientific Corporation - Common Stock", "KERN": "Akerna Corp. - Common Stock", "KERNW": "Akerna Corp. - Warrant", "KFFB": "Kentucky First Federal Bancorp - Common Stock", "KFRC": "Kforce, Inc. - Common Stock", "KHC": "Kraft Heinz Co", "KIDS": "OrthoPediatrics Corp. - Common Stock", "KIIIU": "Kismet Acquisition Three Corp. - Unit", "KIN": "Kindred Biosciences, Inc. - Common Stock", "KINS": "Kingstone Companies, Inc - Common Stock", "KINZ": "KINS Technology Group Inc. - Class A Common Stock", "KINZU": "KINS Technology Group Inc. - Unit", "KINZW": "KINS Technology Group Inc. - Warrant", "KIRK": "Kirkland's, Inc. - Common Stock", "KLAC": "KLA Corporation", "KLAQ": "KL Acquisition Corp - Class A Common Stock", "KLAQU": "KL Acquisition Corp - Unit", "KLAQW": "KL Acquisition Corp - Warrant", "KLDO": "Kaleido Biosciences, Inc. - Common Stock", "KLIC": "Kulicke and Soffa Industries, Inc. - Common Stock", "KLXE": "KLX Energy Services Holdings, Inc. - Common Stock", "KMDA": "Kamada Ltd. - Ordinary Shares", "KMPH": "KemPharm, Inc. - Common Stock", "KNDI": "Kandi Technologies Group, Inc. - Common Stock", "KNSA": "Kiniksa Pharmaceuticals, Ltd. - Class A Common Stock", "KNSL": "Kinsale Capital Group, Inc. - Common Stock", "KNTE": "Kinnate Biopharma Inc. - Common Stock", "KOD": "Kodiak Sciences Inc - Common Stock", "KOPN": "Kopin Corporation - Common Stock", "KOR": "Corvus Gold Inc. - Common Shares", "KOSS": "Koss Corporation - Common Stock", "KPTI": "Karyopharm Therapeutics Inc. - Common Stock", "KRBP": "Kiromic BioPharma, Inc. - Common Stock", "KRKR": "36Kr Holdings Inc. - American Depositary Shares", "KRMA": "Global X Conscious Companies ETF", "KRMD": "Repro Med Systems, Inc. - Common Stock", "KRNLU": "Kernel Group Holdings, Inc. - Units", "KRNT": "Kornit Digital Ltd. - Ordinary Shares", "KRNY": "Kearny Financial - Common Stock", "KRON": "Kronos Bio, Inc. - Common Stock", "KROS": "Keros Therapeutics, Inc. - common stock", "KRTX": "Karuna Therapeutics, Inc. - Common Stock", "KRUS": "Kura Sushi USA, Inc. - Class A Common Stock", "KRYS": "Krystal Biotech, Inc. - Common Stock", "KSMT": "Kismet Acquisition One Corp - Ordinary Shares", "KSMTU": "Kismet Acquisition One Corp - Unit", "KSMTW": "Kismet Acquisition One Corp - Warrant", "KSPN": "Kaspien Holdings Inc. - Common Stock", "KTCC": "Key Tronic Corporation - Common Stock", "KTOS": "Kratos Defense & Security Solutions, Inc. - Common Stock", "KTRA": "Kintara Therapeutics, Inc. - Common Stock", "KURA": "Kura Oncology, Inc. - Common Stock", "KVHI": "KVH Industries, Inc. - Common Stock", "KXIN": "Kaixin Auto Holdings - Ordinary Share", "KYMR": "Kymera Therapeutics, Inc. - Common Stock", "KZIA": "Kazia Therapeutics Limited - American Depositary Shares", "KZR": "Kezar Life Sciences, Inc. - Common Stock", "LABP": "Landos Biopharma, Inc. - Common Stock", "LACQ": "Leisure Acquisition Corp. - Common Stock", "LACQU": "Leisure Acquisition Corp. - Unit", "LACQW": "Leisure Acquisition Corp. - Warrant", "LAKE": "Lakeland Industries, Inc. - Common Stock", "LAMR": "Lamar Advertising Company - Class A Common Stock", "LANC": "Lancaster Colony Corporation - Common Stock", "LAND": "Gladstone Land Corporation - Common Stock", "LANDM": "Gladstone Land Corporation - 5.00% Series D Cumulative Term Preferred Stock", "LANDO": "Gladstone Land Corporation - 6.00% Series B Cumulative Redeemable Preferred Stock", "LARK": "Landmark Bancorp Inc. - Common Stock", "LASR": "nLIGHT, Inc. - Common Stock", "LATN": "Union Acquisition Corp. II - Ordinary Shares", "LATNU": "Union Acquisition Corp. II - Units", "LATNW": "Union Acquisition Corp. II - Warrant", "LAUR": "Laureate Education, Inc. - Class A Common Stock", "LAWS": "Lawson Products, Inc. - Common Stock", "LAZR": "Luminar Technologies, Inc. - Class A Common Stock", "LAZRW": "Luminar Technologies, Inc. - Warrant", "LAZY": "Lazydays Holdings, Inc. - Common Stock", "LBAI": "Lakeland Bancorp, Inc. - Common Stock", "LBC": "Luther Burbank Corporation - Common Stock", "LBRDA": "Liberty Broadband Corporation - Class A Common Stock", "LBRDK": "Liberty Broadband Corporation - Class C Common Stock", "LBRDP": "Liberty Broadband Corporation - Series A Cumulative Redeemable Preferred Stock", "LBTYA": "Liberty Global plc - Class A Ordinary Shares", "LBTYB": "Liberty Global plc - Class B Ordinary Shares", "LBTYK": "Liberty Global plc - Class C Ordinary Shares", "LCAP": "Lionheart Acquisition Corp. II - Class A Common Stock", "LCAPU": "Lionheart Acquisition Corp. II - Unit", "LCAPW": "Lionheart Acquisition Corp. II - Warrant", "LCNB": "LCNB Corporation - Common Stock", "LCUT": "Lifetime Brands, Inc. - Common Stock", "LCY": "Landcadia Holdings III, Inc. - Class A Common Stock", "LCYAU": "Landcadia Holdings III, Inc. - Unit", "LCYAW": "Landcadia Holdings III, Inc. - Warrant", "LDEM": "iShares ESG MSCI EM Leaders ETF", "LDSF": "First Trust Low Duration Strategic Focus ETF", "LE": "Lands' End, Inc. - Common Stock", "LECO": "Lincoln Electric Holdings, Inc. - Common Shares", "LEDS": "SemiLEDS Corporation - Common Stock", "LEGH": "Legacy Housing Corporation - Common Stock", "LEGN": "Legend Biotech Corporation - American Depositary Shares", "LEGOU": "Legato Merger Corp. - Units", "LEGR": "First Trust Indxx Innovative Transaction & Process ETF", "LESL": "Leslie's, Inc. - Common Stock", "LEVL": "Level One Bancorp, Inc. - Common Stock", "LEVLP": "Level One Bancorp, Inc. - Depositary Shares, Each Representing a 1/100th Interest in a Share of 7.50% Non-Cumulative Perpetual Preferred Stock, Series B", "LEXX": "Lexaria Bioscience Corp. - Common Stock", "LEXXW": "Lexaria Bioscience Corp. - Warrant", "LFMD": "LifeMD, Inc. - Common Stock", "LFTR": "Lefteris Acquisition Corp. - Class A Common Stock", "LFTRU": "Lefteris Acquisition Corp. - Unit", "LFTRW": "Lefteris Acquisition Corp. - Warrant", "LFUS": "Littelfuse, Inc. - Common Stock", "LFVN": "Lifevantage Corporation - Common Stock", "LGACU": "Lazard Growth Acquisition Corp. I - Units", "LGHL": "Lion Group Holding Ltd. - American Depositary Share", "LGHLW": "Lion Group Holding Ltd. - Warrant", "LGIH": "LGI Homes, Inc. - Common Stock", "LGND": "Ligand Pharmaceuticals Incorporated - Common Stock", "LGVN": "Longeveron Inc. - common stock", "LHCG": "LHC Group - common stock", "LHDX": "Lucira Health, Inc. - Common Stock", "LI": "Li Auto Inc. - American Depositary Shares", "LIFE": "aTyr Pharma, Inc. - Common Stock", "LILA": "Liberty Latin America Ltd. - Class A Common Stock", "LILAK": "Liberty Latin America Ltd. - Class C Common Stock", "LINC": "Lincoln Educational Services Corporation - Common Stock", "LIND": "Lindblad Expeditions Holdings Inc. - Common Stock", "LIQT": "LiqTech International, Inc. - Common Stock", "LITE": "Lumentum Holdings Inc. - Common Stock", "LIVE": "Live Ventures Incorporated - Common Stock", "LIVK": "LIV Capital Acquisition Corp. - Class A Ordinary Shares", "LIVKU": "LIV Capital Acquisition Corp. - Unit", "LIVKW": "LIV Capital Acquisition Corp. - Warrant", "LIVN": "LivaNova PLC - Ordinary Shares", "LIVX": "LiveXLive Media, Inc. - Common Stock", "LIXT": "Lixte Biotechnology Holdings, Inc. - Common Stock", "LIXTW": "Lixte Biotechnology Holdings, Inc. - Warrants", "LIZI": "LIZHI INC. - American Depositary Shares", "LJAQ": "LightJump Acquisition Corporation - Common Stock", "LJAQU": "LightJump Acquisition Corporation - Unit", "LJAQW": "LightJump Acquisition Corporation - Warrant", "LJPC": "La Jolla Pharmaceutical Company - Common Stock", "LKCO": "Luokung Technology Corp - Ordinary Shares", "LKFN": "Lakeland Financial Corporation - Common Stock", "LKQ": "LKQ Corporation", "LLIT": "Lianluo Smart Limited - Class A Common Stock", "LLNW": "Limelight Networks, Inc. - Common Stock", "LMACU": "Liberty Media Acquisition Corporation - Unit", "LMAOU": "LMF Acquisition Opportunities Inc. - Unit", "LMAT": "LeMaitre Vascular, Inc. - Common Stock", "LMB": "Limbach Holdings, Inc. - Common Stock", "LMBS": "First Trust Low Duration Opportunities ETF", "LMFA": "LM Funding America, Inc. - Common Stock", "LMNL": "Liminal BioSciences Inc. - Common Shares", "LMNR": "Limoneira Co - Common Stock", "LMNX": "Luminex Corporation - Common Stock", "LMPX": "LMP Automotive Holdings, Inc. - Common Stock", "LMRK": "Landmark Infrastructure Partners LP - Common Units", "LMRKN": "Landmark Infrastructure Partners LP - Preferred Stock", "LMRKO": "Landmark Infrastructure Partners LP - Preferred Units", "LMRKP": "Landmark Infrastructure Partners LP - 8.00% Series A Cumulative Redeemable Perpetual Preferred Units", "LMST": "Limestone Bancorp, Inc. - Common Stock", "LNDC": "Landec Corporation - Common Stock", "LNGR": "Global X Longevity Thematic ETF", "LNSR": "LENSAR, Inc. - Common Stock", "LNT": "Alliant Energy", "LNTH": "Lantheus Holdings, Inc. - Common Stock", "LOAC": "Longevity Acquisition Corporation - Ordinary Shares", "LOACR": "Longevity Acquisition Corporation - Right", "LOACU": "Longevity Acquisition Corporation - Units", "LOACW": "Longevity Acquisition Corporation - Warrant", "LOAN": "Manhattan Bridge Capital, Inc - Common Stock", "LOB": "Live Oak Bancshares, Inc. - Common Stock", "LOCO": "El Pollo Loco Holdings, Inc. - Common Stock", "LOGC": "LogicBio Therapeutics, Inc. - Common Stock", "LOGI": "Logitech International S.A. - Registered Shares", "LOOP": "Loop Industries, Inc. - Common Stock", "LOPE": "Grand Canyon Education, Inc. - Common Stock", "LORL": "Loral Space and Communications, Inc. - Common Stock", "LOTZ": "CarLotz, Inc. - Class A Common Stock", "LOTZW": "CarLotz, Inc. - Warrant", "LOVE": "The Lovesac Company - Common Stock", "LPCN": "Lipocine Inc. - Common Stock", "LPLA": "LPL Financial Holdings Inc. - Common Stock", "LPRO": "Open Lending Corporation - Class A Common Stock", "LPSN": "LivePerson, Inc. - Common Stock", "LPTH": "LightPath Technologies, Inc. - Class A Common Stock", "LPTX": "Leap Therapeutics, Inc. - Common Stock", "LQDA": "Liquidia Corporation - Common Stock", "LQDT": "Liquidity Services, Inc. - Common Stock", "LRCX": "Lam Research", "LRGE": "ClearBridge Large Cap Growth ESG ETF", "LRMR": "Larimar Therapeutics, Inc. - Common Stock", "LSAQ": "LifeSci Acquisition II Corp. - Common Stock", "LSBK": "Lake Shore Bancorp, Inc. - Common Stock", "LSCC": "Lattice Semiconductor Corporation - Common Stock", "LSEA": "Landsea Homes Corporation - Common Stock", "LSEAW": "Landsea Homes Corporation - Warrant", "LSTR": "Landstar System, Inc. - Common Stock", "LSXMA": "Liberty Media Corporation - Series A Liberty SiriusXM Common Stock", "LSXMB": "Liberty Media Corporation - Series B Liberty SiriusXM Common Stock", "LSXMK": "Liberty Media Corporation - Series C Liberty SiriusXM Common Stock", "LTBR": "Lightbridge Corporation - Common Stock", "LTRN": "Lantern Pharma Inc. - Common Stock", "LTRPA": "Liberty TripAdvisor Holdings, Inc. - Series A Common Stock", "LTRPB": "Liberty TripAdvisor Holdings, Inc. - Series B Common Stock", "LTRX": "Lantronix, Inc. - Common Stock", "LULU": "lululemon athletica inc. - Common Stock", "LUMO": "Lumos Pharma, Inc. - Common Stock", "LUNA": "Luna Innovations Incorporated - Common Stock", "LUNG": "Pulmonx Corporation - Common Stock", "LUXA": "Lux Health Tech Acquisition Corp. - Class A Common Stock", "LUXAU": "Lux Health Tech Acquisition Corp. - Units", "LUXAW": "Lux Health Tech Acquisition Corp. - Warrants", "LVHD": "Legg Mason Low Volatility High Dividend ETF", "LWAC": "Locust Walk Acquisition Corp. - Class A Common stock", "LWACU": "Locust Walk Acquisition Corp. - Unit", "LWACW": "Locust Walk Acquisition Corp. - Warrant", "LWAY": "Lifeway Foods, Inc. - Common Stock", "LX": "LexinFintech Holdings Ltd. - American Depositary Shares", "LXEH": "Lixiang Education Holding Co., Ltd. - American Depositary Shares", "LXRX": "Lexicon Pharmaceuticals, Inc. - Common Stock", "LYFT": "Lyft, Inc. - Class A Common Stock", "LYL": "Dragon Victory International Limited - Ordinary Shares", "LYRA": "Lyra Therapeutics, Inc. - Common Stock", "LYTS": "LSI Industries Inc. - Common Stock", "MAAC": "Montes Archimedes Acquisition Corp. - Class A Common Stock", "MAACU": "Montes Archimedes Acquisition Corp. - Unit", "MAACW": "Montes Archimedes Acquisition Corp. - Warrant", "MACAU": "Moringa Acquisition Corp - Units", "MACK": "Merrimack Pharmaceuticals, Inc. - Common Stock", "MACQU": "MCAP Acquisition Corporation - Unit", "MACU": "Mallard Acquisition Corp. - Common Stock", "MACUU": "Mallard Acquisition Corp. - Unit", "MACUW": "Mallard Acquisition Corp. - Warrant", "MAGS": "Magal Security Systems Ltd. - Ordinary Shares", "MANH": "Manhattan Associates, Inc. - Common Stock", "MANT": "ManTech International Corporation - Class A Common Stock", "MAR": "Marriott International", "MARA": "Marathon Digital Holdings, Inc. - Common Stock", "MARK": "Remark Holdings, Inc. - Common Stock", "MARPS": "Marine Petroleum Trust - Units of Beneficial Interest", "MASI": "Masimo Corporation - Common Stock", "MASS": "908 Devices Inc. - Common Stock", "MAT": "Mattel, Inc. - Common Stock", "MATW": "Matthews International Corporation - Class A Common Stock", "MAXN": "Maxeon Solar Technologies, Ltd. - Ordinary Shares", "MAYS": "J. W. Mays, Inc. - Common Stock", "MBB": "iShares MBS ETF", "MBCN": "Middlefield Banc Corp. - Common Stock", "MBII": "Marrone Bio Innovations, Inc. - Common Stock", "MBIN": "Merchants Bancorp - Common Stock", "MBINO": "Merchants Bancorp - Depositary Shares Each Representing a 1/40th Interest in a Share of Series B Fixed-to-Floating Rate", "MBINP": "Merchants Bancorp - 7.00% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "MBIO": "Mustang Bio, Inc. - Common Stock", "MBNKP": "Medallion Bank - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series F", "MBOT": "Microbot Medical Inc. - Common Stock", "MBRX": "Moleculin Biotech, Inc. - Common Stock", "MBUU": "Malibu Boats, Inc. - Common Stock", "MBWM": "Mercantile Bank Corporation - Common Stock", "MCADU": "Mountain Crest Acquisition Corp. II - Units each consisting of one share of Common Stock, $0.0001 par value andone Right to acquire 1/10 of one share of Common Stock.", "MCBC": "Macatawa Bank Corporation - Common Stock", "MCBS": "MetroCity Bankshares, Inc. - Common Stock", "MCEF": "First Trust Municipal CEF Income Opportunity ETF", "MCFE": "McAfee Corp. - Class A Common Stock", "MCFT": "MasterCraft Boat Holdings, Inc. - Common Stock", "MCHI": "iShares MSCI China ETF", "MCHP": "Microchip Technology", "MCHX": "Marchex, Inc. - Class B Common Stock", "MCMJ": "Merida Merger Corp. I - Common Stock", "MCMJW": "Merida Merger Corp. I - Warrant", "MCRB": "Seres Therapeutics, Inc. - Common Stock", "MCRI": "Monarch Casino & Resort, Inc. - Common Stock", "MDB": "MongoDB, Inc. - Class A Common Stock", "MDCA": "MDC Partners Inc. - Class A Subordinate Voting Shares", "MDGL": "Madrigal Pharmaceuticals, Inc. - Common Stock", "MDGS": "Medigus Ltd. - American Depositary Shares", "MDGSW": "Medigus Ltd. - Series C Warrant", "MDIA": "Mediaco Holding Inc. - Class A Common Stock", "MDIV": "Multi-Asset Diversified Income Index Fund", "MDJH": "MDJM LTD - Ordinary Shares", "MDLZ": "Mondelez International", "MDNA": "Medicenna Therapeutics Corp. - Common Shares", "MDRR": "Medalist Diversified REIT, Inc. - Common Stock", "MDRRP": "Medalist Diversified REIT, Inc. - Series A Cumulative Redeemable Preferred Stock", "MDRX": "Allscripts Healthcare Solutions, Inc. - common stock", "MDVL": "MedAvail Holdings, Inc. - Common Stock", "MDWD": "MediWound Ltd. - Ordinary Shares", "MDWT": "Midwest Holding Inc. - Common Stock", "MDXG": "MiMedx Group, Inc - Common Stock", "MEDP": "Medpace Holdings, Inc. - Common Stock", "MEDS": "Trxade Group, Inc. - Common Stock", "MEIP": "MEI Pharma, Inc. - Common Stock", "MELI": "MercadoLibre, Inc. - Common Stock", "MEOH": "Methanex Corporation - Common Stock", "MERC": "Mercer International Inc. - Common Stock", "MESA": "Mesa Air Group, Inc. - Common Stock", "MESO": "Mesoblast Limited - American Depositary Shares", "METC": "Ramaco Resources, Inc. - Common Stock", "METX": "Meten EdtechX Education Group Ltd. - Ordinary Shares", "METXW": "Meten EdtechX Education Group Ltd. - Warrant", "MFH": "Mercurity Fintech Holding Inc. - American Depositary Shares", "MFIN": "Medallion Financial Corp. - Common Stock", "MFINL": "Medallion Financial Corp. - 9.000% Notes due 2021", "MFNC": "Mackinac Financial Corporation - Common Stock", "MGEE": "MGE Energy Inc. - Common Stock", "MGI": "Moneygram International, Inc. - Common Stock", "MGIC": "Magic Software Enterprises Ltd. - Ordinary Shares", "MGLN": "Magellan Health, Inc. - Common Stock", "MGNI": "Magnite, Inc. - Common Stock", "MGNX": "MacroGenics, Inc. - Common Stock", "MGPI": "MGP Ingredients, Inc. - Common Stock", "MGRC": "McGrath RentCorp - Common Stock", "MGTA": "Magenta Therapeutics, Inc. - Common Stock", "MGTX": "MeiraGTx Holdings plc - Ordinary Shares", "MGYR": "Magyar Bancorp, Inc. - Common Stock", "MHLD": "Maiden Holdings, Ltd. - Common Stock", "MICT": "MICT, Inc. - Common Stock", "MIDD": "The Middleby Corporation - Common Stock", "MIK": "The Michaels Companies, Inc. - Common Stock", "MILE": "Metromile, Inc. - Common Stock", "MILEW": "Metromile, Inc. - Warrant", "MILN": "Global X Millennials Thematic ETF", "MIME": "Mimecast Limited - Ordinary Shares", "MIND": "MIND Technology, Inc. - Common Stock", "MINDP": "MIND Technology, Inc. - Series A 9.00% Series A Cumulative Preferred Stock", "MIRM": "Mirum Pharmaceuticals, Inc. - common stock", "MIST": "Milestone Pharmaceuticals Inc. - Common Shares", "MITK": "Mitek Systems, Inc. - Common Stock", "MITO": "Stealth BioTherapeutics Corp. - American Depositary Shares", "MKD": "Molecular Data Inc. - ADS", "MKGI": "Monaker Group, Inc. - Common Stock", "MKSI": "MKS Instruments, Inc. - Common Stock", "MKTX": "MarketAxess", "MLAB": "Mesa Laboratories, Inc. - Common Stock", "MLAC": "Malacca Straits Acquisition Company Limited - Class A Ordinary Shares", "MLACU": "Malacca Straits Acquisition Company Limited - Units", "MLACW": "Malacca Straits Acquisition Company Limited - Warrants", "MLCO": "Melco Resorts & Entertainment Limited - American Depositary Shares ", "MLHR": "Herman Miller, Inc. - Common Stock", "MLND": "Millendo Therapeutics, Inc. - Common Stock", "MLVF": "Malvern Bancorp, Inc. - Common Stock", "MMAC": "MMA Capital Holdings, Inc. - Common Stock", "MMLP": "Martin Midstream Partners L.P. - Common Units Representing Limited Partnership Interests", "MMSI": "Merit Medical Systems, Inc. - Common Stock", "MMYT": "MakeMyTrip Limited - Ordinary Shares", "MNDO": "MIND C.T.I. Ltd. - Ordinary Shares", "MNKD": "MannKind Corporation - Common Stock", "MNOV": "MediciNova, Inc. - Common Stock", "MNPR": "Monopar Therapeutics Inc. - Common Stock", "MNRO": "Monro, Inc. - Common Stock", "MNSB": "MainStreet Bancshares, Inc. - Common Stock", "MNSBP": "MainStreet Bancshares, Inc. - Depositary Shares", "MNST": "Monster Beverage", "MNTK": "Montauk Renewables, Inc. - Common Stock", "MNTX": "Manitex International, Inc. - common stock", "MODV": "ModivCare Inc. - Common Stock", "MOFG": "MidWestOne Financial Group, Inc. - Common Stock", "MOGO": "Mogo Inc. - Common Shares", "MOHO": "ECMOHO Limited - American Depositary Shares", "MOMO": "Momo Inc. - American Depositary Shares", "MONCU": "Monument Circle Acquisition Corp. Units - Unit", "MOR": "MorphoSys AG - American Depositary Shares", "MORF": "Morphic Holding, Inc. - Common Stock", "MORN": "Morningstar, Inc. - Common Stock", "MOSY": "MoSys, Inc. - Common Stock", "MOTN": "Motion Acquisition Corp. - Class A Common Stock", "MOTNU": "Motion Acquisition Corp. - Unit", "MOTNW": "Motion Acquisition Corp. - Warrants to purchase one Class A common", "MOTS": "Motus GI Holdings, Inc. - Common Stock", "MOXC": "Moxian, Inc. - Common Stock", "MPAA": "Motorcar Parts of America, Inc. - Common Stock", "MPB": "Mid Penn Bancorp - Common Stock", "MPWR": "Monolithic Power Systems", "MRAC": "Marquee Raine Acquisition Corp. - Class A Ordinary Shares", "MRACU": "Marquee Raine Acquisition Corp. - Unit", "MRACW": "Marquee Raine Acquisition Corp. - Warrant", "MRAM": "Everspin Technologies, Inc. - Common Stock", "MRBK": "Meridian Corporation - Common Stock", "MRCC": "Monroe Capital Corporation - Common Stock", "MRCY": "Mercury Systems Inc - Common Stock", "MREO": "Mereo BioPharma Group plc - American Depositary Shares", "MRIN": "Marin Software Incorporated - Common Stock", "MRKR": "Marker Therapeutics, Inc. - Common Stock", "MRLN": "Marlin Business Services Corp. - Common Stock", "MRM": "MEDIROM Healthcare Technologies Inc. - American Depositary Share", "MRNA": "Moderna, Inc. - Common Stock", "MRNS": "Marinus Pharmaceuticals, Inc. - Common Stock", "MRSN": "Mersana Therapeutics, Inc. - Common Stock", "MRTN": "Marten Transport, Ltd. - Common Stock", "MRTX": "Mirati Therapeutics, Inc. - Common Stock", "MRUS": "Merus N.V. - Common Shares", "MRVI": "Maravai LifeSciences Holdings, Inc. - Class A common stock", "MRVL": "Marvell Technology Group Ltd. - Common Stock", "MSACU": "Medicus Sciences Acquisition Corp. - Unit", "MSBI": "Midland States Bancorp, Inc. - Common Stock", "MSEX": "Middlesex Water Company - Common Stock", "MSGM": "Motorsport Games Inc. - Class A Common Stock", "MSON": "MISONIX, Inc. - Common Stock", "MSTR": "MicroStrategy Incorporated - Class A Common Stock", "MSVB": "Mid-Southern Bancorp, Inc. - Common Stock", "MTAC": "MedTech Acquisition Corporation - Class A Common Stock", "MTACU": "MedTech Acquisition Corporation - Unit", "MTACW": "MedTech Acquisition Corporation - Warrant", "MTBC": "MTBC, Inc. - Common Stock", "MTBCP": "MTBC, Inc. - 11% Series A Cumulative Redeemable Perpetual Preferred Stock", "MTC": "MMTec, Inc. - Common Shares", "MTCH": "Match Group, Inc. - Common Stock", "MTCR": "Metacrine, Inc. - Common Stock", "MTEM": "Molecular Templates, Inc. - Common Stock", "MTEX": "Mannatech, Incorporated - Common Stock", "MTLS": "Materialise NV - American Depositary Shares", "MTP": "Midatech Pharma PLC - American Depositary Shares", "MTRX": "Matrix Service Company - Common Stock", "MTSC": "MTS Systems Corporation - Common Stock", "MTSI": "MACOM Technology Solutions Holdings, Inc. - Common Stock", "MTSL": "MER Telemanagement Solutions Ltd. - Ordinary Shares", "MU": "Micron Technology", "MUDS": "Mudrick Capital Acquisition Corporation II - Class A Common Stock", "MUDSU": "Mudrick Capital Acquisition Corporation II - Unit", "MUDSW": "Mudrick Capital Acquisition Corporation II - Warrant", "MVBF": "MVB Financial Corp. - Common Stock", "MVIS": "MicroVision, Inc. - Common Stock", "MWK": "Mohawk Group Holdings, Inc. - Common Stock", "MXIM": "Maxim Integrated Products", "MYFW": "First Western Financial, Inc. - Common Stock", "MYGN": "Myriad Genetics, Inc. - Common Stock", "MYRG": "MYR Group, Inc. - Common Stock", "MYSZ": "My Size, Inc. - Common Stock", "MYT": "Urban Tea, Inc. - Ordinary Shares", "NAACU": "North Atlantic Acquisition Corporation - Unit", "NAII": "Natural Alternatives International, Inc. - Common Stock", "NAKD": "Naked Brand Group Limited - Ordinary Shares", "NAOV": "NanoVibronix, Inc. - Common Stock", "NARI": "Inari Medical, Inc. - Common Stock", "NATH": "Nathan's Famous, Inc. - Common Stock", "NATI": "National Instruments Corporation - Common Stock", "NATR": "Nature's Sunshine Products, Inc. - Common Stock", "NAVI": "Navient Corporation - Common Stock", "NBAC": "Newborn Acquisition Corp. - Ordinary Shares", "NBACR": "Newborn Acquisition Corp. - Right", "NBACU": "Newborn Acquisition Corp. - Unit", "NBACW": "Newborn Acquisition Corp. - Warrant", "NBEV": "NewAge, Inc. - Common Stock", "NBIX": "Neurocrine Biosciences, Inc. - Common Stock", "NBLX": "Noble Midstream Partners LP - Common Units, Representing Limited Partner Interests", "NBN": "Northeast Bank - Common Stock", "NBRV": "Nabriva Therapeutics plc - Ordinary Shares", "NBSE": "NeuBase Therapeutics, Inc. - Common Stock", "NBTB": "NBT Bancorp Inc. - Common Stock", "NBTX": "Nanobiotix S.A. - ADSs", "NCBS": "Nicolet Bankshares Inc. - Common Stock", "NCMI": "National CineMedia, Inc. - Common Stock", "NCNA": "NuCana plc - American Depositary Shares", "NCNO": "nCino, Inc. - Common Stock", "NCSM": "NCS Multistage Holdings, Inc. - Common Stock", "NCTY": "The9 Limited - American Depository Shares", "NDACU": "NightDragon Acquisition Corp. - SCALE Units", "NDAQ": "Nasdaq, Inc.", "NDLS": "Noodles & Company - Common Stock", "NDRA": "ENDRA Life Sciences Inc. - Common Stock", "NDRAW": "ENDRA Life Sciences Inc. - Warrants", "NDSN": "Nordson Corporation - Common Stock", "NEBC": "Nebula Caravel Acquisition Corp. - Class A Common Stock", "NEBCU": "Nebula Caravel Acquisition Corp. - Unit", "NEBCW": "Nebula Caravel Acquisition Corp. - Warrant", "NEO": "NeoGenomics, Inc. - Common Stock", "NEOG": "Neogen Corporation - Common Stock", "NEON": "Neonode Inc. - Common Stock", "NEOS": "Neos Therapeutics, Inc. - Common Stock", "NEPH": "Nephros, Inc. - Common Stock", "NEPT": "Neptune Wellness Solutions Inc. - Ordinary Shares", "NERV": "Minerva Neurosciences, Inc - Common Stock", "NESR": "National Energy Services Reunited Corp. - Ordinary Shares", "NESRW": "National Energy Services Reunited Corp. - Warrant", "NETE": "Net Element, Inc. - Common Stock", "NEWA": "Newater Technology, Inc. - Ordinary Shares", "NEWT": "Newtek Business Services Corp. - Common Stock", "NEWTL": "Newtek Business Services Corp. - 5.75% Notes due 2024", "NEWTZ": "Newtek Business Services Corp. - 5.50% Notes Due 2026", "NEXI": "NexImmune, Inc. - Common Stock", "NEXT": "NextDecade Corporation - Common Stock", "NFBK": "Northfield Bancorp, Inc. - Common Stock", "NFE": "New Fortress Energy Inc. - Class A Common Stock", "NFLX": "Netflix Inc.", "NFTY": "First Trust India Nifty 50 Equal Weight ETF", "NGAC": "NextGen Acquisition Corporation - Class A Ordinary Shares", "NGACU": "NextGen Acquisition Corporation - Units", "NGACW": "NextGen Acquisition Corporation - Warrants", "NGM": "NGM Biopharmaceuticals, Inc. - Common Stock", "NGMS": "NeoGames S.A. - Ordinary Shares", "NH": "NantHealth, Inc. - Common Stock", "NHIC": "NewHold Investment Corp. - Class A Common Stock", "NHICU": "NewHold Investment Corp. - Unit", "NHICW": "NewHold Investment Corp. - Warrant", "NHTC": "Natural Health Trends Corp. - Commn Stock", "NICE": "NICE Ltd - American Depositary Shares each representing one Ordinary Share", "NICK": "Nicholas Financial, Inc. - Common Stock", "NISN": "NiSun Intl Enterprise Development Group Co, Ltd - Class A Common Shares", "NIU": "Niu Technologies - American Depositary Shares", "NK": "NantKwest, Inc. - Common Stock", "NKLA": "Nikola Corporation - Common Stock", "NKSH": "National Bankshares, Inc. - Common Stock", "NKTR": "Nektar Therapeutics - Common Stock", "NKTX": "Nkarta, Inc. - Common Stock", "NLOK": "NortonLifeLock", "NLSP": "NLS Pharmaceutics Ltd. - Common Shares", "NLSPW": "NLS Pharmaceutics Ltd. - Warrant", "NLTX": "Neoleukin Therapeutics, Inc. - Common Stock", "NMCI": "Navios Maritime Containers L.P. - Common units representing limited partner interests", "NMFC": "New Mountain Finance Corporation - Common Stock", "NMFCL": "New Mountain Finance Corporation - 5.75% Notes due 2023", "NMIH": "NMI Holdings Inc - Common Stock", "NMMC": "North Mountain Merger Corp. - Class A Common Stock", "NMMCU": "North Mountain Merger Corp. - Unit", "NMMCW": "North Mountain Merger Corp. - Warrant", "NMRD": "Nemaura Medical Inc. - Common Stock", "NMRK": "Newmark Group, Inc. - Class A Common Stock", "NMTR": "9 Meters Biopharma, Inc. - Common Stock", "NNBR": "NN, Inc. - Common Stock", "NNDM": "Nano Dimension Ltd. - American Depositary Shares", "NNOX": "NANO-X IMAGING LTD - Ordinary Shares", "NOAC": "Natural Order Acquisition Corp. - Common Stock", "NOACU": "Natural Order Acquisition Corp. - Unit", "NOACW": "Natural Order Acquisition Corp. - Warrant", "NODK": "NI Holdings, Inc. - Common Stock", "NOVN": "Novan, Inc. - Common Stock", "NOVT": "Novanta Inc. - Common Shares", "NPA": "New Providence Acquisition Corp. - Class A Common Stock", "NPAUU": "New Providence Acquisition Corp. - Unit", "NPAWW": "New Providence Acquisition Corp. - Warrant", "NRACU": "Noble Rock Acquisition Corporation - Unit", "NRBO": "NeuroBo Pharmaceuticals, Inc. - Common Stock", "NRC": "National Research Corporation - Common Stock", "NRIM": "Northrim BanCorp Inc - Common Stock", "NRIX": "Nurix Therapeutics, Inc. - Common stock", "NSEC": "National Security Group, Inc. - Common Stock", "NSIT": "Insight Enterprises, Inc. - Common Stock", "NSSC": "NAPCO Security Technologies, Inc. - Common Stock", "NSTG": "NanoString Technologies, Inc. - Common Stock", "NSYS": "Nortech Systems Incorporated - Common Stock", "NTAP": "NetApp", "NTCT": "NetScout Systems, Inc. - Common Stock", "NTEC": "Intec Pharma Ltd. - Ordinary Shares", "NTES": "NetEase, Inc. - American Depositary Shares, each representing 5 ordinary shares", "NTGR": "NETGEAR, Inc. - Common Stock", "NTIC": "Northern Technologies International Corporation - Common Stock", "NTLA": "Intellia Therapeutics, Inc. - Common Stock", "NTNX": "Nutanix, Inc. - Class A Common Stock", "NTRA": "Natera, Inc. - Common Stock", "NTRS": "Northern Trust Corp.", "NTRSO": "Northern Trust Corporation - Depositary Shares Each Representing a 1/1,000th Interest in a Share of Series E Non-Cumulative Perpetual Preferred Stock", "NTUS": "Natus Medical Incorporated - Common Stock", "NTWK": "NETSOL Technologies Inc. - Common Stock", "NUAN": "Nuance Communications, Inc. - Common Stock", "NURO": "NeuroMetrix, Inc. - Common Stock", "NUVA": "NuVasive, Inc. - Common Stock", "NUZE": "NuZee, Inc. - Common Stock", "NVAX": "Novavax, Inc. - Common Stock", "NVCN": "Neovasc Inc. - Common Shares", "NVCR": "NovoCure Limited - Ordinary Shares", "NVDA": "Nvidia Corporation", "NVEC": "NVE Corporation - Common Stock", "NVEE": "NV5 Global, Inc. - Common Stock", "NVFY": "Nova Lifestyle, Inc - Common Stock", "NVIV": "InVivo Therapeutics Holdings Corp. - Common Stock", "NVMI": "Nova Measuring Instruments Ltd. - Ordinary Shares", "NVOS": "Novo Integrated Sciences, Inc. - Common Stock", "NVSAU": "New Vista Acquisition Corp - Unit", "NWBI": "Northwest Bancshares, Inc. - Common Stock", "NWE": "NorthWestern Corporation - Common Stock", "NWFL": "Norwood Financial Corp. - Common Stock", "NWL": "Newell Brands", "NWLI": "National Western Life Group, Inc. - Class A Common Stock", "NWPX": "Northwest Pipe Company - Common Stock", "NWS": "News Corp (Class B)", "NWSA": "News Corp (Class A)", "NXGN": "NextGen Healthcare, Inc. - Common Stock", "NXPI": "NXP Semiconductors N.V. - Common Stock", "NXST": "Nexstar Media Group, Inc. - Class A Common Stock", "NXTC": "NextCure, Inc. - Common Stock", "NXTD": "NXT-ID Inc. - Common Stock", "NXTG": "First Trust Indxx NextG ETF", "NYMT": "New York Mortgage Trust, Inc. - Common Stock", "NYMTM": "New York Mortgage Trust, Inc. - 7.875% Series E Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NYMTN": "New York Mortgage Trust, Inc. - 8.00% Series D Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NYMTO": "New York Mortgage Trust, Inc. - 7.875% Series C Cumulative Redeemable Preferred Stock", "NYMTP": "New York Mortgage Trust, Inc. - 7.75% Series B Cumulative Redeemable Preferred Stock", "NYMX": "Nymox Pharmaceutical Corporation - Common Stock", "OAS": "Oasis Petroleum Inc. - Common Stock", "OBAS": "Optibase Ltd. - Ordinary Shares", "OBCI": "Ocean Bio-Chem, Inc. - Common Stock", "OBLG": "Oblong Inc. - Common Stock", "OBLN": "Obalon Therapeutics, Inc. - Common Stock", "OBNK": "Origin Bancorp, Inc. - Common Stock", "OBSV": "ObsEva SA - Common Shares", "OCAXU": "OCA Acquisition Corp. - Unit", "OCC": "Optical Cable Corporation - Common Stock", "OCCI": "OFS Credit Company, Inc. - Common Stock", "OCCIP": "OFS Credit Company, Inc. - 6.875% Series A Term Preferred Stock", "OCDX": "Ortho Clinical Diagnostics plc - Ordinary Shares", "OCFC": "OceanFirst Financial Corp. - Common Stock", "OCFCP": "OceanFirst Financial Corp. - Depositary Shares", "OCG": "Oriental Culture Holding LTD - Ordinary Shares", "OCGN": "Ocugen, Inc. - Common Stock", "OCSI": "Oaktree Strategic Income Corporation - Common Stock", "OCSL": "Oaktree Specialty Lending Corporation - Common Stock", "OCUL": "Ocular Therapeutix, Inc. - Common Stock", "OCUP": "Ocuphire Pharma, Inc. - Common Stock", "ODFL": "Old Dominion Freight Line", "ODP": "The ODP Corporation - Common Stock", "ODT": "Odonate Therapeutics, Inc. - Common Stock", "OEG": "Orbital Energy Group, Inc. - Common Stock", "OEPWU": "One Equity Partners Open Water I Corp. - Unit", "OESX": "Orion Energy Systems, Inc. - Common Stock", "OFED": "Oconee Federal Financial Corp. - Common Stock", "OFIX": "Orthofix Medical Inc. - Common Stock", "OFLX": "Omega Flex, Inc. - Common Stock", "OFS": "OFS Capital Corporation - Common Stock", "OFSSG": "OFS Capital Corporation - 6.25% Notes Due 2023", "OFSSI": "OFS Capital Corporation - 5.95% Notes due 2026", "OFSSL": "OFS Capital Corporation - 6.375% Notes due 2025", "OFSSZ": "OFS Capital Corporation - 6.50% Notes due 2025", "OGI": "Organigram Holdings Inc. - Common Shares", "OHPAU": "Orion Acquisition Corp. - Unit", "OIIM": "O2Micro International Limited - American Depositary Shares", "OKTA": "Okta, Inc. - Class A Common Stock", "OLB": "The OLB Group, Inc. - Common Stock", "OLD": "The Long-Term Care ETF", "OLED": "Universal Display Corporation - Common Stock", "OLLI": "Ollie's Bargain Outlet Holdings, Inc. - Common Stock", "OLMA": "Olema Pharmaceuticals, Inc. - Common Stock", "OM": "Outset Medical, Inc. - Common Stock", "OMAB": "Grupo Aeroportuario del Centro Norte S.A.B. de C.V. - American Depositary Shares each representing 8 Series B shares", "OMCL": "Omnicell, Inc. - Common Stock", "OMEG": "Omega Alpha SPAC - Class A Ordinary Shares", "OMER": "Omeros Corporation - Common Stock", "OMEX": "Odyssey Marine Exploration, Inc. - Common Stock", "OMP": "Oasis Midstream Partners LP - Common Units, Representing Limited Partner Interests", "ON": "ON Semiconductor Corporation - Common Stock", "ONB": "Old National Bancorp - Common Stock", "ONCR": "Oncorus, Inc. - Common Stock", "ONCS": "OncoSec Medical Incorporated - Common Stock", "ONCT": "Oncternal Therapeutics, Inc. - Common Stock", "ONCY": "Oncolytics Biotech Inc. - Common Shares", "ONDS": "Ondas Holdings Inc. - Common Stock", "ONEM": "1Life Healthcare, Inc. - Common Stock", "ONEQ": "Fidelity Nasdaq Composite Index ETF", "ONEW": "OneWater Marine Inc. - Class A Common Stock", "ONTX": "Onconova Therapeutics, Inc. - Common Stock", "ONTXW": "Onconova Therapeutics, Inc. - Warrants", "ONVO": "Organovo Holdings, Inc. - Common Stock", "OPBK": "OP Bancorp - Common Stock", "OPCH": "Option Care Health, Inc. - Common Stock", "OPEN": "Opendoor Technologies Inc - Common Stock", "OPENW": "Opendoor Technologies Inc - Warrant", "OPGN": "OpGen, Inc. - Common Stock", "OPHC": "OptimumBank Holdings, Inc. - Common Stock", "OPI": "Office Properties Income Trust - Common Shares of Beneficial Interest", "OPINI": "Office Properties Income Trust - 5.875% Senior Notes due 2046", "OPINL": "Office Properties Income Trust - 6.375% Senior Notes due 2050", "OPK": "Opko Health, Inc. - Common Stock", "OPNT": "Opiant Pharmaceuticals, Inc. - Common Stock", "OPOF": "Old Point Financial Corporation - Common Stock", "OPRA": "Opera Limited - American Depositary Shares", "OPRT": "Oportun Financial Corporation - common stock", "OPRX": "OptimizeRx Corporation - Common Stock", "OPT": "Opthea Limited - American Depositary Shares", "OPTN": "OptiNose, Inc. - Common Stock", "OPTT": "Ocean Power Technologies, Inc. - Common Stock", "ORBC": "ORBCOMM Inc. - Common Stock", "ORGO": "Organogenesis Holdings Inc. - Class A ", "ORGS": "Orgenesis Inc. - Common Stock", "ORIC": "Oric Pharmaceuticals, Inc. - Common Stock", "ORLY": "O'Reilly Automotive", "ORMP": "Oramed Pharmaceuticals Inc. - Common Stock", "ORPH": "Orphazyme A/S - American Depositary Shares", "ORRF": "Orrstown Financial Services Inc - Common Stock", "ORTX": "Orchard Therapeutics plc - American Depositary Shares", "OSBC": "Old Second Bancorp, Inc. - Common Stock", "OSIS": "OSI Systems, Inc. - Common Stock", "OSMT": "Osmotica Pharmaceuticals plc - Ordinary Shares", "OSN": "Ossen Innovation Co., Ltd. - American Depositary Shares", "OSPN": "OneSpan Inc. - Common Stock", "OSS": "One Stop Systems, Inc. - Common Stock", "OSTK": "Overstock.com, Inc. - Common Stock", "OSTRU": "Oyster Enterprises Acquisition Corp. - Unit", "OSUR": "OraSure Technologies, Inc. - Common Stock", "OSW": "OneSpaWorld Holdings Limited - Common Shares", "OTEL": "Otelco Inc. - Common Stock", "OTEX": "Open Text Corporation - Common Shares", "OTIC": "Otonomy, Inc. - Common Stock", "OTLK": "Outlook Therapeutics, Inc. - Common Stock", "OTLKW": "Outlook Therapeutics, Inc. - Series A Warrant", "OTRA": "OTR Acquisition Corp. - Class A Common Stock", "OTRAU": "OTR Acquisition Corp. - Unit", "OTRAW": "OTR Acquisition Corp. - Warrant", "OTRK": "Ontrak, Inc. - Common Stock", "OTRKP": "Ontrak, Inc. - 9.50% Series A Cumulative Perpetual Preferred Stock", "OTTR": "Otter Tail Corporation - Common Stock", "OVBC": "Ohio Valley Banc Corp. - Common Stock", "OVID": "Ovid Therapeutics Inc. - Common Stock", "OVLY": "Oak Valley Bancorp (CA) - Common Stock", "OXBR": "Oxbridge Re Holdings Limited - Ordinary Shares", "OXBRW": "Oxbridge Re Holdings Limited - Warrant", "OXFD": "Oxford Immunotec Global PLC - Ordinary Shares", "OXLC": "Oxford Lane Capital Corp. - Common Stock", "OXLCM": "Oxford Lane Capital Corp. - 6.75% Series 2024 Term Preferred Stock", "OXLCO": "Oxford Lane Capital Corp. - Term Preferred Shares, 7.50% Series 2023", "OXLCP": "Oxford Lane Capital Corp. - 6.25% Series 2027 Term Preferred Shares", "OXSQ": "Oxford Square Capital Corp. - Closed End Fund", "OXSQL": "Oxford Square Capital Corp. - 6.50% Notes due 2024", "OXSQZ": "Oxford Square Capital Corp. - 6.25% Notes due 2026", "OYST": "Oyster Point Pharma, Inc. - common stock", "OZK": "Bank OZK - Common Stock", "OZON": "Ozon Holdings PLC - ADS, each ADS representing one ordinary share", "PAA": "Plains All American Pipeline, L.P. - Common Units representing Limited Partner Interests", "PAAS": "Pan American Silver Corp. - Common Stock", "PACB": "Pacific Biosciences of California, Inc. - Common Stock", "PACW": "PacWest Bancorp - Common Stock", "PACX": "Pioneer Merger Corp. - Class A Ordinary Share", "PACXU": "Pioneer Merger Corp. - Unit", "PACXW": "Pioneer Merger Corp. - Warrant", "PAE": "PAE Incorporated - Class A Common Stock", "PAEWW": "PAE Incorporated - Warrants", "PAGP": "Plains GP Holdings, L.P. - Class A Shares representing limited partner interests", "PAHC": "Phibro Animal Health Corporation - Class A Common Stock", "PAIC": "Petra Acquisition, Inc. - Common Stock", "PAICU": "Petra Acquisition, Inc. - Units", "PAICW": "Petra Acquisition, Inc. - Warrant", "PAND": "Pandion Therapeutics Inc. - Common stock", "PANL": "Pangaea Logistics Solutions Ltd. - Common Stock", "PAQC": "Provident Acquisition Corp. - Class A Ordinary Shares", "PAQCU": "Provident Acquisition Corp. - Units", "PAQCW": "Provident Acquisition Corp. - Warrant", "PASG": "Passage Bio, Inc. - Common Stock", "PATI": "Patriot Transportation Holding, Inc. - Common Stock", "PATK": "Patrick Industries, Inc. - Common Stock", "PAVM": "PAVmed Inc. - Common Stock", "PAVMW": "PAVmed Inc. - Warrant", "PAVMZ": "PAVmed Inc. - Series Z Warrant", "PAX": "Patria Investments Limited - Class A Common Shares", "PAYA": "Paya Holdings Inc. - Common Stock", "PAYAW": "Paya Holdings Inc. - Warrant", "PAYS": "Paysign, Inc. - Common Stock", "PAYX": "Paychex Inc.", "PBCT": "People's United Financial", "PBCTP": "People's United Financial, Inc. - Perpetual Preferred Series A Fixed-to-floating Rate", "PBFS": "Pioneer Bancorp, Inc. - Common Stock", "PBHC": "Pathfinder Bancorp, Inc. - Common Stock", "PBIP": "Prudential Bancorp, Inc. - Common Stock", "PBLA": "Panbela Therapeutics, Inc. - Common Stock", "PBPB": "Potbelly Corporation - Common Stock", "PBTS": "Powerbridge Technologies Co., Ltd. - Ordinary Shares", "PBYI": "Puma Biotechnology Inc - Common Stock", "PCAR": "Paccar", "PCB": "PCB Bancorp - Common Stock", "PCH": "PotlatchDeltic Corporation - Common Stock", "PCOM": "Points International, Ltd. - Common Shares", "PCRX": "Pacira BioSciences, Inc. - Common Stock", "PCSA": "Processa Pharmaceuticals, Inc. - Common Stock", "PCSB": "PCSB Financial Corporation - Common Stock", "PCTI": "PCTEL, Inc. - Common Stock", "PCTY": "Paylocity Holding Corporation - Common Stock", "PCVX": "Vaxcyte, Inc. - Common Stock", "PCYG": "Park City Group, Inc. - Common Stock", "PCYO": "Pure Cycle Corporation - Common Stock", "PDBC": "Invesco Optimum Yield Diversified Commodity Strategy No K-1 ETF", "PDCE": "PDC Energy, Inc. - Common Stock", "PDCO": "Patterson Companies, Inc. - Common Stock", "PDD": "Pinduoduo Inc. - American Depositary Shares", "PDEV": "Principal International Multi-Factor ETF", "PDEX": "Pro-Dex, Inc. - Common Stock", "PDFS": "PDF Solutions, Inc. - Common Stock", "PDLB": "PDL Community Bancorp - Common Stock", "PDP": "Invesco DWA Momentum ETF", "PDSB": "PDS Biotechnology Corporation - Common Stock", "PEBK": "Peoples Bancorp of North Carolina, Inc. - Common Stock", "PEBO": "Peoples Bancorp Inc. - Common Stock", "PEGA": "Pegasystems Inc. - Common Stock", "PENN": "Penn National Gaming, Inc. - Common Stock", "PEP": "PepsiCo Inc.", "PERI": "Perion Network Ltd - Ordinary Shares", "PESI": "Perma-Fix Environmental Services, Inc. - Common Stock", "PETQ": "PetIQ, Inc. - Class A Common Stock", "PETS": "PetMed Express, Inc. - Common Stock", "PETZ": "TDH Holdings, Inc. - Common Shares", "PEY": "Invesco High Yield Equity Dividend Achievers ETF", "PEZ": "Invesco DWA Consumer Cyclicals Momentum ETF", "PFBC": "Preferred Bank - Common Stock", "PFBI": "Premier Financial Bancorp, Inc. - Common Stock", "PFC": "Premier Financial Corp. - Common Stock", "PFDRU": "Pathfinder Acquisition Corporation - Unit", "PFF": "iShares Preferred and Income Securities ETF", "PFG": "Principal Financial Group", "PFHD": "Professional Holding Corp. - Class A Common Stock", "PFI": "Invesco DWA Financial Momentum ETF", "PFIE": "Profire Energy, Inc. - Common Stock", "PFIN": "P & F Industries, Inc. - Class A Common Stock", "PFIS": "Peoples Financial Services Corp. - Common Stock", "PFLT": "PennantPark Floating Rate Capital Ltd. - Common Stock", "PFM": "Invesco Dividend Achievers ETF", "PFMT": "Performant Financial Corporation - Common Stock", "PFPT": "Proofpoint, Inc. - Common Stock", "PFSW": "PFSweb, Inc. - Common Stock", "PFX": "PhenixFIN Corporation - Common Stock", "PFXNL": "PhenixFIN Corporation - Notes Due 2023", "PGC": "Peapack-Gladstone Financial Corporation - Common Stock", "PGEN": "Precigen, Inc. - Common Stock", "PGJ": "Invesco Golden Dragon China ETF", "PGNY": "Progyny, Inc. - Common Stock", "PGRWU": "Progress Acquisition Corp. - Units.", "PHAR": "Pharming Group N.V. - ADS, each representing 10 ordinary shares", "PHAS": "PhaseBio Pharmaceuticals, Inc. - Common Stock", "PHAT": "Phathom Pharmaceuticals, Inc. - Common Stock", "PHCF": "Puhui Wealth Investment Management Co., Ltd. - Ordinary Shares", "PHIC": "Population Health Investment Co., Inc. - Class A Ordinary Share", "PHICU": "Population Health Investment Co., Inc. - Unit", "PHICW": "Population Health Investment Co., Inc. - Warrant", "PHIO": "Phio Pharmaceuticals Corp. - Common Stock", "PHIOW": "Phio Pharmaceuticals Corp. - Warrants", "PHO": "Invesco Water Resources ETF", "PHUN": "Phunware, Inc. - Common Stock", "PHUNW": "Phunware, Inc. - Warrants", "PHVS": "Pharvaris N.V. - Ordinary Shares", "PI": "Impinj, Inc. - Common Stock", "PICO": "PICO Holdings Inc. - Common Stock", "PID": "Invesco International Dividend Achievers ETF", "PIE": "Invesco DWA Emerging Markets Momentum ETF", "PINC": "Premier, Inc. - Class A Common Stock", "PIO": "Invesco Global Water ETF", "PIRS": "Pieris Pharmaceuticals, Inc. - Common Stock", "PIXY": "ShiftPixy, Inc. - Common Stock", "PIZ": "Invesco DWA Developed Markets Momentum ETF", "PKBK": "Parke Bancorp, Inc. - Common Stock", "PKOH": "Park-Ohio Holdings Corp. - Common Stock", "PKW": "Invesco BuyBack Achievers ETF", "PLAB": "Photronics, Inc. - Common Stock", "PLAY": "Dave & Buster's Entertainment, Inc. - Common Stock", "PLBC": "Plumas Bancorp - Common Stock", "PLBY": "PLBY Group, Inc. - Common Stock", "PLCE": "Children's Place, Inc. (The) - Common Stock", "PLIN": "China Xiangtai Food Co., Ltd. - Ordinary Shares", "PLL": "Piedmont Lithium Limited - American Depositary Shares", "PLMR": "Palomar Holdings, Inc. - Common stock", "PLPC": "Preformed Line Products Company - Common Stock", "PLRX": "Pliant Therapeutics, Inc. - Common Stock", "PLSE": "Pulse Biosciences, Inc - Common Stock", "PLTK": "Playtika Holding Corp. - Common Stock", "PLUG": "Plug Power, Inc. - Common Stock", "PLUS": "ePlus inc. - Common Stock", "PLW": "Invesco 1-30 Laddered Treasury ETF", "PLXP": "PLx Pharma Inc. - Common Stock", "PLXS": "Plexus Corp. - Common Stock", "PLYA": "Playa Hotels & Resorts N.V. - Ordinary Shares", "PMBC": "Pacific Mercantile Bancorp - Common Stock", "PMD": "Psychemedics Corporation - Common Stock", "PME": "Pingtan Marine Enterprise Ltd. - Ordinary Shares", "PMGMU": "Priveterra Acquisition Corp. - Units", "PMVP": "PMV Pharmaceuticals, Inc. - Common Stock", "PNBK": "Patriot National Bancorp Inc. - Common Stock", "PNFP": "Pinnacle Financial Partners, Inc. - Common Stock", "PNFPP": "Pinnacle Financial Partners, Inc. - Depositary shares of Pinnacle Financial Partners, Inc., each representing a 1/40th Interest in a share of its 6.75% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series B", "PNNT": "PennantPark Investment Corporation - common stock", "PNNTG": "PennantPark Investment Corporation - 5.50% Notes Due 2024", "PNQI": "Invesco Nasdaq Internet ETF", "PNRG": "PrimeEnergy Resources Corporation - Common Stock", "PNTG": "The Pennant Group, Inc. - Common Stock", "POAI": "Predictive Oncology Inc. - Common Stock", "PODD": "Insulet Corporation - Common Stock", "POLA": "Polar Power, Inc. - Common Stock", "POOL": "Pool Corporation", "POSH": "Poshmark, Inc. - Class A Common Stock", "POTX": "Global X Cannabis ETF", "POW": "Powered Brands - Class A Ordinary Shares", "POWI": "Power Integrations, Inc. - Common Stock", "POWL": "Powell Industries, Inc. - Common Stock", "POWRU": "Powered Brands - Units", "POWRW": "Powered Brands - Warrants", "POWW": "AMMO, Inc. - Common Stock", "PPBI": "Pacific Premier Bancorp Inc - Common Stock", "PPBT": "Purple Biotech Ltd. - American Depositary Shares", "PPC": "Pilgrim's Pride Corporation - Common Stock", "PPD": "PPD, Inc. - Common Stock", "PPGH": "Poema Global Holdings Corp. - Ordinary Share", "PPGHU": "Poema Global Holdings Corp. - Unit", "PPGHW": "Poema Global Holdings Corp. - Warrant", "PPH": "VanEck Vectors Pharmaceutical ETF", "PPIH": "Perma-Pipe International Holdings, Inc. - Common Stock", "PPSI": "Pioneer Power Solutions, Inc. - Common Stock", "PPTA": "Perpetua Resources Corp. - Common Shares", "PRAA": "PRA Group, Inc. - Common Stock", "PRAH": "PRA Health Sciences, Inc. - Common Stock", "PRAX": "Praxis Precision Medicines, Inc. - Common Stock", "PRCH": "Porch Group, Inc. - Common Stock", "PRCHW": "Porch Group, Inc. - Warrant", "PRDO": "Perdoceo Education Corporation - Common Stock", "PRFT": "Perficient, Inc. - Common Stock", "PRFX": "PainReform Ltd. - Ordinary Shares", "PRFZ": "Invesco FTSE RAFI US 1500 Small-Mid ETF", "PRGS": "Progress Software Corporation - Common Stock", "PRIM": "Primoris Services Corporation - Common Stock", "PRLD": "Prelude Therapeutics Incorporated - Common Stock", "PRN": "Invesco DWA Industrials Momentum ETF", "PROF": "Profound Medical Corp. - common stock", "PROG": "Progenity, Inc. - Common Stock", "PROV": "Provident Financial Holdings, Inc. - Common Stock", "PRPH": "ProPhase Labs, Inc. - Common Stock", "PRPL": "Purple Innovation, Inc. - Common Stock", "PRPO": "Precipio, Inc. - Common Stock", "PRQR": "ProQR Therapeutics N.V. - Ordinary Shares", "PRSR": "Prospector Capital Corp. - Class A Ordinary Shares", "PRSRU": "Prospector Capital Corp. - Unit", "PRSRW": "Prospector Capital Corp. - Warrants", "PRTA": "Prothena Corporation plc - Ordinary Shares", "PRTC": "PureTech Health plc - American Depositary Shares", "PRTG": "Portage Biotech Inc. - Common Stock", "PRTH": "Priority Technology Holdings, Inc. - Common Stock", "PRTK": "Paratek Pharmaceuticals, Inc. - Common Stock", "PRTS": "CarParts.com, Inc. - Common Stock", "PRVB": "Provention Bio, Inc. - Common Stock", "PS": "Pluralsight, Inc. - Class A Common Stock", "PSAC": "Property Solutions Acquisition Corp. - Common Stock", "PSACU": "Property Solutions Acquisition Corp. - Unit", "PSACW": "Property Solutions Acquisition Corp. - Warrant", "PSC": "Principal U.S. Small-Cap Multi-Factor ETF", "PSCC": "Invesco S&P SmallCap Consumer Staples ETF", "PSCD": "Invesco S&P SmallCap Consumer Discretionary ETF", "PSCE": "Invesco S&P SmallCap Energy ETF", "PSCF": "Invesco S&P SmallCap Financials ETF", "PSCH": "Invesco S&P SmallCap Health Care ETF", "PSCI": "Invesco S&P SmallCap Industrials ETF", "PSCM": "Invesco S&P SmallCap Materials ETF", "PSCT": "Invesco S&P SmallCap Information Technology ETF", "PSCU": "Invesco S&P SmallCap Utilities & Communication Services ETF", "PSEC": "Prospect Capital Corporation - Common Stock", "PSET": "Principal Quality ETF", "PSHG": "Performance Shipping Inc. - Common Shares", "PSL": "Invesco DWA Consumer Staples Momentum ETF", "PSMT": "PriceSmart, Inc. - Common Stock", "PSNL": "Personalis, Inc. - Common Stock", "PSTI": "Pluristem Therapeutics, Inc. - Common Stock", "PSTV": "PLUS THERAPEUTICS, Inc. - Common Stock", "PSTX": "Poseida Therapeutics, Inc. - Common Stock", "PT": "Pintec Technology Holdings Limited - American Depositary Shares", "PTC": "PTC Inc. - Common Stock", "PTCT": "PTC Therapeutics, Inc. - Common Stock", "PTE": "PolarityTE, Inc. - Common Stock", "PTEN": "Patterson-UTI Energy, Inc. - Common Stock", "PTF": "Invesco DWA Technology Momentum ETF", "PTGX": "Protagonist Therapeutics, Inc. - Common Stock", "PTH": "Invesco DWA Healthcare Momentum ETF", "PTIC": "PropTech Investment Corporation II - Class A Common Stock", "PTICU": "PropTech Investment Corporation II - Unit", "PTICW": "PropTech Investment Corporation II - Warrant", "PTMN": "Portman Ridge Finance Corporation - common stock", "PTNR": "Partner Communications Company Ltd. - American Depositary Shares, each representing one ordinary share", "PTON": "Peloton Interactive, Inc. - Common Stock", "PTPI": "Petros Pharmaceuticals, Inc. - Common Stock", "PTRS": "Partners Bancorp - Common Stock", "PTSI": "P.A.M. Transportation Services, Inc. - Common Stock", "PTVCA": "Protective Insurance Corporation - Class A (voting) Common Stock", "PTVCB": "Protective Insurance Corporation - Class B (nonvoting) Common Stock", "PTVE": "Pactiv Evergreen Inc. - Common stock", "PUBM": "PubMatic, Inc. - Class A Common Stock", "PUCKU": "Goal Acquisitions Corp. - Unit", "PUI": "Invesco DWA Utilities Momentum ETF", "PULM": "Pulmatrix, Inc. - Common Stock", "PUYI": "Puyi Inc. - American Depository Shares", "PVAC": "Penn Virginia Corporation - Common Stock", "PVBC": "Provident Bancorp, Inc. - Common Stock", "PWFL": "PowerFleet, Inc. - Common Stock", "PWOD": "Penns Woods Bancorp, Inc. - Common Stock", "PXI": "Invesco DWA Energy Momentum ETF", "PXLW": "Pixelworks, Inc. - Common Stock", "PXS": "Pyxis Tankers Inc. - Common Stock", "PXSAP": "Pyxis Tankers Inc. - 7.75% Series A Cumulative Convertible Preferred Shares", "PXSAW": "Pyxis Tankers Inc. - Warrant", "PY": "Principal Value ETF", "PYPD": "PolyPid Ltd. - Ordinary Shares", "PYPL": "PayPal", "PYZ": "Invesco DWA Basic Materials Momentum ETF", "PZZA": "Papa John's International, Inc. - Common Stock", "QABA": "First Trust NASDAQ ABA Community Bank Index Fund", "QADA": "QAD Inc. - Class A Common Stock", "QADB": "QAD Inc. - Class B Common Stock", "QAT": "iShares MSCI Qatar ETF", "QCLN": "First Trust NASDAQ Clean Edge Green Energy Index Fund", "QCOM": "Qualcomm", "QCRH": "QCR Holdings, Inc. - Common Stock", "QDEL": "Quidel Corporation - Common Stock", "QELL": "Qell Acquisition Corp. - Class A Ordinary Shares", "QELLU": "Qell Acquisition Corp. - Unit", "QELLW": "Qell Acquisition Corp. - Warrant", "QFIN": "360 DigiTech, Inc. - American Depositary Shares", "QH": "Quhuo Limited - American Depository Shares", "QIWI": "QIWI plc - American Depositary Shares", "QK": "Q&K International Group Limited - American Depositary Shares", "QLGN": "Qualigen Therapeutics, Inc. - Common Stock", "QLI": "Qilian International Holding Group Ltd. - Ordinary Shares", "QLYS": "Qualys, Inc. - Common Stock", "QMCO": "Quantum Corporation - Common Stock", "QNST": "QuinStreet, Inc. - Common Stock", "QQC": "Simplify Nasdaq 100 PLUS Convexity ETF", "QQD": "Simplify Nasdaq 100 PLUS Downside Convexity ETF", "QQEW": "First Trust NASDAQ-100 Equal Weighted Index Fund", "QQQ": "Invesco QQQ Trust, Series 1", "QQQJ": "Invesco NASDAQ Next Gen 100 ETF", "QQQM": "Invesco NASDAQ 100 ETF", "QQQN": "VictoryShares Nasdaq Next 50 ETF", "QQQX": "Nuveen NASDAQ 100 Dynamic Overwrite Fund - Shares of Beneficial Interest", "QQXT": "First Trust NASDAQ-100 Ex-Technology Sector Index Fund", "QRHC": "Quest Resource Holding Corporation - Common Stock", "QRTEA": "Qurate Retail, Inc. - Series A Common Stock", "QRTEB": "Qurate Retail, Inc. - Series B Common Stock", "QRTEP": "Qurate Retail, Inc. - 8.0% Fixed Rate Cumulative Redeemable Preferred Stock", "QRVO": "Qorvo", "QTEC": "First Trust NASDAQ-100-Technology Sector Index Fund", "QTNT": "Quotient Limited - Ordinary Shares", "QTRX": "Quanterix Corporation - Common Stock", "QTT": "Qutoutiao Inc. - American Depositary Shares", "QUIK": "QuickLogic Corporation - Common Stock", "QUMU": "Qumu Corporation - Common Stock", "QURE": "uniQure N.V. - Ordinary Shares", "QYLD": "Global X NASDAQ-100 Covered Call ETF", "QYLG": "Global X Nasdaq 100 Covered Call & Growth ETF", "RAAC": "Revolution Acceleration Acquisition Corp - Class A Common Stock", "RAACU": "Revolution Acceleration Acquisition Corp - Unit", "RAACW": "Revolution Acceleration Acquisition Corp - Warrant", "RACA": "Therapeutics Acquisition Corp. - Class A Common Stock", "RADA": "RADA Electronic Industries Ltd. - Ordinary Shares", "RADI": "Radius Global Infrastructure, Inc. - Common Stock", "RAIL": "Freightcar America, Inc. - Common Stock", "RAND": "Rand Capital Corporation - Common Stock", "RAPT": "RAPT Therapeutics, Inc. - Common Stock", "RARE": "Ultragenyx Pharmaceutical Inc. - Common Stock", "RAVE": "Rave Restaurant Group, Inc. - Common Stock", "RAVN": "Raven Industries, Inc. - Common Stock", "RBB": "RBB Bancorp - Common Stock", "RBBN": "Ribbon Communications Inc. - Common Stock", "RBCAA": "Republic Bancorp, Inc. - Class A Common Stock", "RBCN": "Rubicon Technology, Inc. - Common Stock", "RBKB": "Rhinebeck Bancorp, Inc. - Common Stock", "RBNC": "Reliant Bancorp, Inc. - Common Stock", "RCEL": "Avita Therapeutics, Inc. - Common Stock", "RCHG": "Recharge Acquisition Corp. - Class A Common Stock", "RCHGU": "Recharge Acquisition Corp. - Unit", "RCHGW": "Recharge Acquisition Corp. - Warrant", "RCII": "Rent-A-Center Inc. - Common Stock", "RCKT": "Rocket Pharmaceuticals, Inc. - Common Stock", "RCKY": "Rocky Brands, Inc. - Common Stock", "RCLFU": "Rosecliff Acquisition Corp I - Units, consisting of one share Class A common stock and one-third redeemable warrants", "RCM": "R1 RCM Inc. - Common Stock", "RCMT": "RCM Technologies, Inc. - Common Stock", "RCON": "Recon Technology, Ltd. - Ordinary Shares", "RDCM": "Radcom Ltd. - Ordinary Shares", "RDFN": "Redfin Corporation - Common Stock", "RDHL": "Redhill Biopharma Ltd. - American Depositary Shares", "RDI": "Reading International Inc - Class A Non-voting Common Stock", "RDIB": "Reading International Inc - Class B Voting Common Stock", "RDNT": "RadNet, Inc. - Common Stock", "RDUS": "Radius Health, Inc. - Common Stock", "RDVT": "Red Violet, Inc. - Common Stock ", "RDVY": "First Trust Rising Dividend Achievers ETF", "RDWR": "Radware Ltd. - Ordinary Shares", "REAL": "The RealReal, Inc. - Common Stock", "REDU": "RISE Education Cayman Ltd - American Depositary Shares", "REED": "Reeds, Inc. - Common Stock", "REFR": "Research Frontiers Incorporated - Common Stock", "REG": "Regency Centers Corporation", "REGI": "Renewable Energy Group, Inc. - Common Stock", "REGN": "Regeneron Pharmaceuticals", "REIT": "ALPS Active REIT ETF", "REKR": "Rekor Systems, Inc. - Common Stock", "RELI": "Reliance Global Group, Inc. - Common Stock", "RELIW": "Reliance Global Group, Inc. - Series A Warrants", "RELL": "Richardson Electronics, Ltd. - Common Stock", "REPH": "Recro Pharma, Inc. - Common Stock", "REPL": "Replimune Group, Inc. - Common Stock", "RESN": "Resonant Inc. - Common Stock", "RETA": "Reata Pharmaceuticals, Inc. - Class A Common Stock", "RETO": "ReTo Eco-Solutions, Inc. - Common Shares", "REYN": "Reynolds Consumer Products Inc. - Common Stock", "RFAP": "First Trust RiverFront Dynamic Asia Pacific ETF", "RFDI": "First Trust RiverFront Dynamic Developed International ETF", "RFEM": "First Trust RiverFront Dynamic Emerging Markets ETF", "RFEU": "First Trust RiverFront Dynamic Europe ETF", "RFIL": "RF Industries, Ltd. - Common Stock", "RGCO": "RGC Resources Inc. - Common Stock", "RGEN": "Repligen Corporation - Common Stock", "RGLD": "Royal Gold, Inc. - Common Stock", "RGLS": "Regulus Therapeutics Inc. - Common Stock", "RGNX": "REGENXBIO Inc. - Common Stock", "RGP": "Resources Connection, Inc. - Common Stock", "RIBT": "RiceBran Technologies - Common Stock", "RICK": "RCI Hospitality Holdings, Inc. - Common Stock", "RIDE": "Lordstown Motors Corp. - Class A Common Stock", "RIGL": "Rigel Pharmaceuticals, Inc. - Common Stock", "RILY": "B. Riley Financial, Inc. - Common Stock", "RILYG": "B. Riley Financial, Inc. - 7.25% Senior Notes due 2027", "RILYH": "B. Riley Financial, Inc. - 7.375% Senior Notes Due 2023", "RILYI": "B. Riley Financial, Inc. - 6.875% Senior Notes due 2023", "RILYL": "B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series B Cumulative Perpetual Preferred Stock", "RILYM": "B. Riley Financial, Inc. - 6.375% Senior Notes due 2025", "RILYN": "B. Riley Financial, Inc. - 6.50% Senior Notes Due 2026", "RILYO": "B. Riley Financial, Inc. - 6.75% Senior Notes due 2024", "RILYP": "B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series A Cumulative Perpetual Preferred Stock", "RILYT": "B. Riley Financial, Inc. - 6.00% Senior Notes Due 2028", "RILYZ": "B. Riley Financial, Inc. - 7.50% Senior Notes Due 2027", "RING": "iShares MSCI Global Gold Miners ETF", "RIOT": "Riot Blockchain, Inc - Common Stock", "RIVE": "Riverview Financial Corporation - Common Stock", "RKDA": "Arcadia Biosciences, Inc. - Common Stock", "RLAY": "Relay Therapeutics, Inc. - Common Stock", "RLMD": "Relmada Therapeutics, Inc. - Common Stock", "RMBI": "Richmond Mutual Bancorporation, Inc. - Common Stock", "RMBL": "RumbleOn, Inc. - Class B Common Stock", "RMBS": "Rambus, Inc. - Common Stock", "RMCF": "Rocky Mountain Chocolate Factory, Inc. - Common Stock", "RMGB": "RMG Acquisition Corp. II - Class A Ordinary Shares", "RMGBU": "RMG Acquisition Corp. II - Unit", "RMGBW": "RMG Acquisition Corp. II - Warrant", "RMGCU": "RMG Acquisition Corp. III - Unit", "RMNI": "Rimini Street, Inc. - Common Stock", "RMR": "The RMR Group Inc. - Class A Common Stock", "RMRM": "RMR Mortgage Trust - Common Stock", "RMTI": "Rockwell Medical, Inc. - Common Stock", "RNA": "Avidity Biosciences, Inc. - Common Stock", "RNDB": "Randolph Bancorp, Inc. - Common Stock", "RNDM": "Developed International Equity Select ETF", "RNDV": "US Equity Dividend Select ETF", "RNEM": "Emerging Markets Equity Select ETF", "RNET": "RigNet, Inc. - Common Stock", "RNLC": "Large Cap US Equity Select ETF", "RNLX": "Renalytix AI plc - American Depositary Shares", "RNMC": "Mid Cap US Equity Select ETF", "RNRG": "Global X Renewable Energy Producers ETF", "RNSC": "Small Cap US Equity Select ETF", "RNST": "Renasant Corporation - Common Stock", "RNWK": "RealNetworks, Inc. - Common Stock", "ROAD": "Construction Partners, Inc. - Common Stock", "ROBT": "First Trust Nasdaq Artificial Intelligence and Robotics ETF", "ROCC": "Roth CH Acquisition II Co. - Common Stock", "ROCCU": "Roth CH Acquisition II Co. - Unit", "ROCCW": "Roth CH Acquisition II Co. - Warrant", "ROCH": "Roth CH Acquisition I Co. - Common Stock", "ROCHU": "Roth CH Acquisition I Co. - Unit", "ROCHW": "Roth CH Acquisition I Co. - Warrant", "ROCK": "Gibraltar Industries, Inc. - Common Stock", "ROCRU": "Roth CH Acquisition III Co. - Unit", "ROIC": "Retail Opportunity Investments Corp. - Common Stock", "ROKU": "Roku, Inc. - Class A Common Stock", "ROLL": "RBC Bearings Incorporated - Common Stock", "ROOT": "Root, Inc. - common stock", "ROST": "Ross Stores", "RP": "RealPage, Inc. - Common Stock", "RPAY": "Repay Holdings Corporation - Class A Common Stock", "RPD": "Rapid7, Inc. - Common Stock", "RPRX": "Royalty Pharma plc - Class A Ordinary Shares", "RPTX": "Repare Therapeutics Inc. - Common Shares", "RRBI": "Red River Bancshares, Inc. - Common Stock", "RRGB": "Red Robin Gourmet Burgers, Inc. - Common Stock", "RRR": "Red Rock Resorts, Inc. - Class A Common Stock", "RSSS": "Research Solutions, Inc - Common Stock", "RSVA": "Rodgers Silicon Valley Acquisition Corp. - Common Stock", "RSVAU": "Rodgers Silicon Valley Acquisition Corp. - Unit", "RSVAW": "Rodgers Silicon Valley Acquisition Corp. - Warrant", "RTH": "VanEck Vectors Retail ETF", "RTLR": "Rattler Midstream LP - Common Units Representing Limited Partnership Interests", "RUBY": "Rubius Therapeutics, Inc. - Common Stock", "RUHN": "Ruhnn Holding Limited - American Depositary Shares", "RUN": "Sunrun Inc. - Common Stock", "RUSHA": "Rush Enterprises, Inc. - Class A Common Stock", "RUSHB": "Rush Enterprises, Inc. - Class B Common Stock", "RUTH": "Ruth's Hospitality Group, Inc. - Common Stock", "RVMD": "Revolution Medicines, Inc. - Common Stock", "RVNC": "Revance Therapeutics, Inc. - Common Stock", "RVPH": "Reviva Pharmaceuticals Holdings, Inc. - Common Stock", "RVPHW": "Reviva Pharmaceuticals Holdings, Inc. - Warrants", "RVSB": "Riverview Bancorp Inc - Common Stock", "RWLK": "ReWalk Robotics Ltd. - Ordinary Shares", "RXT": "Rackspace Technology, Inc. - Common Stock", "RYAAY": "Ryanair Holdings plc - American Depositary Shares, each representing five Ordinary Shares", "RYTM": "Rhythm Pharmaceuticals, Inc. - Common Stock", "RZLT": "Rezolute, Inc. - Common Stock", "SABR": "Sabre Corporation - Common Stock", "SABRP": "Sabre Corporation - 6.50% Series A Mandatory Convertible Preferred Stock", "SAFM": "Sanderson Farms, Inc. - Common Stock", "SAFT": "Safety Insurance Group, Inc. - Common Stock", "SAGE": "Sage Therapeutics, Inc. - Common Stock", "SAIA": "Saia, Inc. - Common Stock", "SAII": "Software Acquisition Group Inc. II - Class A Common Stock", "SAIIU": "Software Acquisition Group Inc. II - Unit", "SAIIW": "Software Acquisition Group Inc. II - Warrant", "SAL": "Salisbury Bancorp, Inc. - Common Stock", "SALM": "Salem Media Group, Inc. - Class A Common Stock", "SAMG": "Silvercrest Asset Management Group Inc. - Common Stock", "SANA": "Sana Biotechnology, Inc. - Common Stock", "SANM": "Sanmina Corporation - Common Stock", "SANW": "S&W Seed Company - Common Stock", "SASR": "Sandy Spring Bancorp, Inc. - Common Stock", "SATS": "EchoStar Corporation - Common stock", "SAVA": "Cassava Sciences, Inc. - Common Stock", "SBAC": "SBA Communications", "SBBP": "Strongbridge Biopharma plc - Ordinary Shares", "SBCF": "Seacoast Banking Corporation of Florida - Common Stock", "SBEAU": "SilverBox Engaged Merger Corp I - Units", "SBFG": "SB Financial Group, Inc. - Common Stock", "SBGI": "Sinclair Broadcast Group, Inc. - Class A Common Stock", "SBLK": "Star Bulk Carriers Corp. - Common Shares", "SBLKZ": "Star Bulk Carriers Corp. - 8.30% Senior Notes due 2022", "SBNY": "Signature Bank - Common Stock", "SBNYP": "Signature Bank - Depositary shares, each representing a 1/40th ownership interest in a share of 5.000% Noncumulative Perpetual Series A Preferred Stock", "SBRA": "Sabra Health Care REIT, Inc. - Common Stock", "SBSI": "Southside Bancshares, Inc. - Common Stock", "SBT": "Sterling Bancorp, Inc. - Common Stock", "SBTX": "Silverback Therapeutics, Inc. - Common Stock", "SBUX": "Starbucks Corp.", "SCHL": "Scholastic Corporation - Common Stock", "SCHN": "Schnitzer Steel Industries, Inc. - Class A Common Stock", "SCKT": "Socket Mobile, Inc. - Common Stock", "SCLEU": "Broadscale Acquisition Corp. - Units", "SCOA": "ScION Tech Growth I - Class A Ordinary Shares", "SCOAU": "ScION Tech Growth I - Unit", "SCOAW": "ScION Tech Growth I - Warrant", "SCOBU": "ScION Tech Growth II - Units", "SCOR": "comScore, Inc. - Common Stock", "SCPH": "scPharmaceuticals Inc. - Common Stock", "SCPL": "SciPlay Corporation - Class A Common Stock", "SCPS": "Scopus BioPharma Inc. - Common Stock", "SCR": "Score Media and Gaming Inc. - Subordinate Voting Shares", "SCSC": "ScanSource, Inc. - Common Stock", "SCVL": "Shoe Carnival, Inc. - Common Stock", "SCWX": "SecureWorks Corp. - Class A Common Stock", "SCYX": "SCYNEXIS, Inc. - Common Stock", "SCZ": "iShares MSCI EAFE Small-Cap ETF", "SDACU": "Sustainable Development Acquisition I Corp. - Unit", "SDC": "SmileDirectClub, Inc. - Common Stock", "SDG": "iShares MSCI Global Impact ETF", "SDGR": "Schrodinger, Inc. - Common Stock", "SDH": "Global Internet of People, Inc. - Ordinary Shares", "SDVY": "First Trust SMID Cap Rising Dividend Achievers ETF", "SEAC": "SeaChange International, Inc. - Common Stock", "SECO": "Secoo Holding Limited - American Depositary Shares", "SEDG": "SolarEdge Technologies, Inc. - Common Stock", "SEED": "Origin Agritech Limited - Common Stock", "SEEL": "Seelos Therapeutics, Inc. - Common Stock", "SEER": "Seer, Inc. - Class A Common Stock", "SEIC": "SEI Investments Company - Common Stock", "SELB": "Selecta Biosciences, Inc. - Common Stock", "SELF": "Global Self Storage, Inc. - Common Stock", "SENEA": "Seneca Foods Corp. - Class A Common Stock", "SENEB": "Seneca Foods Corp. - Class B Common Stock", "SESN": "Sesen Bio, Inc. - Common Stock", "SFBC": "Sound Financial Bancorp, Inc. - Common Stock", "SFBS": "ServisFirst Bancshares, Inc. - Common Stock", "SFET": "Safe-T Group Ltd. - American Depositary Shares", "SFIX": "Stitch Fix, Inc. - Class A Common Stock", "SFM": "Sprouts Farmers Market, Inc. - Common Stock", "SFNC": "Simmons First National Corporation - Common Stock", "SFST": "Southern First Bancshares, Inc. - Common Stock", "SFT": "Shift Technologies, Inc. - Class A Common Stock", "SGA": "Saga Communications, Inc. - Class A Common Stock", "SGAM": "Seaport Global Acquisition Corp. - Class A Common Stock", "SGAMU": "Seaport Global Acquisition Corp. - Unit", "SGAMW": "Seaport Global Acquisition Corp. - Warrant", "SGBX": "SG Blocks, Inc. - Common Stock", "SGC": "Superior Group of Companies, Inc. - Common Stock", "SGEN": "Seagen Inc. - Common Stock", "SGH": "SMART Global Holdings, Inc. - Ordinary Shares", "SGLB": "Sigma Labs, Inc. - Common Stock", "SGLBW": "Sigma Labs, Inc. - Warrant", "SGMA": "SigmaTron International, Inc. - Common Stock", "SGMO": "Sangamo Therapeutics, Inc. - Common Stock", "SGMS": "Scientific Games Corp - Common Stock", "SGOC": "SGOCO Group, Ltd - Ordinary Shares (Cayman Islands)", "SGRP": "SPAR Group, Inc. - Common Stock", "SGRY": "Surgery Partners, Inc. - Common Stock", "SGTX": "Sigilon Therapeutics, Inc. - Common Stock", "SHACU": "SCP & CO Healthcare Acquisition Company - Unit", "SHBI": "Shore Bancshares Inc - Common Stock", "SHC": "Sotera Health Company - Common Stock", "SHEN": "Shenandoah Telecommunications Co - Common Stock", "SHIP": "Seanergy Maritime Holdings Corp - Common Stock", "SHIPW": "Seanergy Maritime Holdings Corp - Class A Warrants", "SHIPZ": "Seanergy Maritime Holdings Corp - Class B Warrant", "SHLD": "VictoryShares Protect America ETF", "SHLS": "Shoals Technologies Group, Inc. - Class A Common Stock", "SHOO": "Steven Madden, Ltd. - Common Stock", "SHSP": "SharpSpring, Inc. - Common Stock", "SHV": "iShares Short Treasury Bond ETF", "SHY": "iShares 1-3 Year Treasury Bond ETF", "SHYF": "The Shyft Group, Inc. - Common Stock", "SIBN": "SI-BONE, Inc. - Common Stock", "SIC": "Select Interior Concepts, Inc. - Class A Common Stock", "SIEB": "Siebert Financial Corp. - Common Stock", "SIEN": "Sientra, Inc. - Common Stock", "SIFY": "Sify Technologies Limited - American Depository Shares, each represented by one Equity Share", "SIGA": "SIGA Technologies Inc. - Common Stock", "SIGI": "Selective Insurance Group, Inc. - Common Stock", "SIGIP": "Selective Insurance Group, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 4.60% Non-Cumulative Preferred Stock, Series B", "SILC": "Silicom Ltd - Ordinary Shares", "SILK": "Silk Road Medical, Inc. - Common Stock", "SIMO": "Silicon Motion Technology Corporation - American Depositary Shares, each representing four ordinary shares", "SINA": "Sina Corporation - Ordinary Shares", "SINO": "Sino-Global Shipping America, Ltd. - Common Stock", "SINT": "SiNtx Technologies, Inc. - Common Stock", "SIOX": "Sio Gene Therapies Inc. - Common Stock", "SIRI": "Sirius XM Holdings Inc. - Common Stock", "SITM": "SiTime Corporation - Common Stock", "SIVB": "SVB Financial", "SIVBP": "SVB Financial Group - Depositary Shs each representing a 1/40th interest in a share of 5.25% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "SJ": "Scienjoy Holding Corporation - Ordinary Shares", "SKOR": "FlexShares Credit-Scored US Corporate Bond Index Fund", "SKYU": "ProShares Ultra Nasdaq Cloud Computing ETF", "SKYW": "SkyWest, Inc. - Common Stock", "SKYY": "First Trust Cloud Computing ETF", "SLAB": "Silicon Laboratories, Inc. - Common Stock", "SLAMU": "Slam Corp. - Unit", "SLCRU": "Silver Crest Acquisition Corporation - Unit", "SLCT": "Select Bancorp, Inc. - Common Stock", "SLDB": "Solid Biosciences Inc. - Common Stock", "SLGG": "Super League Gaming, Inc. - Common Stock", "SLGL": "Sol-Gel Technologies Ltd. - Common Stock", "SLGN": "Silgan Holdings Inc. - Common Stock", "SLM": "SLM Corporation - Common Stock", "SLMBP": "SLM Corporation - Floating Rate Non-Cumulative Preferred Stock, Series B", "SLN": "Silence Therapeutics Plc - American Depository Share", "SLNO": "Soleno Therapeutics, Inc. - Common Stock", "SLP": "Simulations Plus, Inc. - Common Stock", "SLQD": "iShares 0-5 Year Investment Grade Corporate Bond ETF", "SLRC": "SLR Investment Corp. - Common Stock", "SLRX": "Salarius Pharmaceuticals, Inc. - Common Stock", "SLS": "SELLAS Life Sciences Group, Inc. - Common Stock", "SLVO": "Credit Suisse Silver Shares Covered Call Exchange Traded Notes", "SMBC": "Southern Missouri Bancorp, Inc. - Common Stock", "SMBK": "SmartFinancial, Inc. - Common Stock", "SMCI": "Super Micro Computer, Inc. - Common Stock", "SMCP": "AlphaMark Actively Managed Small Cap ETF", "SMED": "Sharps Compliance Corp. - Common Stock", "SMH": "VanEck Vectors Semiconductor ETF", "SMID": "Smith-Midland Corporation - Common Stock", "SMIT": "Schmitt Industries, Inc. - Common Stock", "SMMF": "Summit Financial Group, Inc. - Common Stock", "SMMT": "Summit Therapeutics Inc. - Common Stock", "SMPL": "The Simply Good Foods Company - Common Stock", "SMSI": "Smith Micro Software, Inc. - Common Stock", "SMTC": "Semtech Corporation - Common Stock", "SMTI": "Sanara MedTech Inc. - Common Stock", "SMTX": "SMTC Corporation - Common Stock", "SNBR": "Sleep Number Corporation - Common Stock", "SNCA": "Seneca Biopharma, Inc. - Common Stock", "SNCR": "Synchronoss Technologies, Inc. - Common Stock", "SND": "Smart Sand, Inc. - Common Stock", "SNDE": "Sundance Energy Inc. - Common Stock", "SNDL": "Sundial Growers Inc. - Common Shares", "SNDX": "Syndax Pharmaceuticals, Inc. - Common Stock", "SNES": "SenesTech, Inc. - Common Stock", "SNEX": "StoneX Group Inc. - Common Stock", "SNFCA": "Security National Financial Corporation - Class A Common Stock", "SNGX": "Soligenix, Inc. - Common Stock", "SNGXW": "Soligenix, Inc. - Warrant", "SNLN": "Highland/iBoxx Senior Loan ETF", "SNOA": "Sonoma Pharmaceuticals, Inc. - Common Stock", "SNPS": "Synopsys Inc.", "SNRH": "Senior Connect Acquisition Corp. I - Class A Common Stock", "SNRHU": "Senior Connect Acquisition Corp. I - Unit", "SNRHW": "Senior Connect Acquisition Corp. I - Warrant", "SNSE": "Sensei Biotherapeutics, Inc. - Common Stock", "SNSR": "Global X Internet of Things ETF", "SNUG": "Merlyn.AI Tactical Growth & Income ETF", "SNY": "Sanofi - American Depositary Shares", "SOCL": "Global X Social Media ETF", "SOHO": "Sotherly Hotels Inc. - Common Stock", "SOHOB": "Sotherly Hotels Inc. - 8.0% Series B Cumulative Redeemable Perpetual Preferred Stock", "SOHON": "Sotherly Hotels Inc. - 8.25% Series D Cumulative Redeemable Perpetual Preferred Stock", "SOHOO": "Sotherly Hotels Inc. - 7.875% Series C Cumulative Redeemable Perpetual Preferred Stock", "SOHU": "Sohu.com Limited - American Depositary Shares", "SOLO": "Electrameccanica Vehicles Corp. Ltd. - Common Stock", "SOLOW": "Electrameccanica Vehicles Corp. Ltd. - Warrants", "SOLY": "Soliton, Inc. - Common Stock", "SONA": "Southern National Bancorp of Virginia, Inc. - Common Stock", "SONM": "Sonim Technologies, Inc. - Common Stock", "SONN": "Sonnet BioTherapeutics Holdings, Inc. - Common Stock", "SONO": "Sonos, Inc. - Common Stock", "SOXX": "iShares PHLX SOX Semiconductor Sector Index Fund", "SP": "SP Plus Corporation - Common Stock", "SPCB": "SuperCom, Ltd. - Ordinary Shares", "SPFI": "South Plains Financial, Inc. - Common Stock", "SPI": "SPI Energy Co., Ltd. - Ordinary Shares", "SPKE": "Spark Energy, Inc. - Class A Common Stock", "SPKEP": "Spark Energy, Inc. - 8.75% Series A Fixed-to-Floating Rate Cumulative Redeemable Perpetual Preferred Stock", "SPLK": "Splunk Inc. - Common Stock", "SPNE": "SeaSpine Holdings Corporation - Common Stock", "SPNS": "Sapiens International Corporation N.V. - Common Shares", "SPOK": "Spok Holdings, Inc. - Common Stock", "SPPI": "Spectrum Pharmaceuticals, Inc. - Common Stock", "SPQQ": "Siren Large Cap Blend Index ETF", "SPRB": "Spruce Biosciences, Inc. - Common Stock", "SPRO": "Spero Therapeutics, Inc. - Common Stock", "SPRT": "Support.com, Inc. - Common Stock", "SPSC": "SPS Commerce, Inc. - Common Stock", "SPT": "Sprout Social, Inc - Class A Common Stock", "SPTKU": "SportsTek Acquisition Corp. - Unit", "SPTN": "SpartanNash Company - Common Stock", "SPWH": "Sportsman's Warehouse Holdings, Inc. - Common Stock", "SPWR": "SunPower Corporation - Common Stock", "SQBG": "Sequential Brands Group, Inc. - Common Stock", "SQFT": "Presidio Property Trust, Inc. - Class A Common Stock", "SQLV": "Legg Mason Small-Cap Quality Value ETF", "SQQQ": "ProShares UltraPro Short QQQ", "SRAC": "Stable Road Acquisition Corp. - Class A Common Stock", "SRACU": "Stable Road Acquisition Corp. - Unit", "SRACW": "Stable Road Acquisition Corp. - Warrant", "SRAX": "SRAX, Inc. - Class A Common Stock", "SRCE": "1st Source Corporation - Common Stock", "SRCL": "Stericycle, Inc. - Common Stock", "SRDX": "Surmodics, Inc. - Common Stock", "SRET": "Global X SuperDividend REIT ETF", "SREV": "ServiceSource International, Inc. - Common Stock", "SRGA": "Surgalign Holdings, Inc. - Common Stock", "SRNE": "Sorrento Therapeutics, Inc. - Common Stock", "SRNGU": "Soaring Eagle Acquisition Corp. - Unit", "SRPT": "Sarepta Therapeutics, Inc. - Common Stock", "SRRA": "Sierra Oncology, Inc. - Common Stock", "SRRK": "Scholar Rock Holding Corporation - Common Stock", "SRSA": "Sarissa Capital Acquisition Corp. - Class A Ordinary Shares", "SRSAU": "Sarissa Capital Acquisition Corp. - Unit", "SRSAW": "Sarissa Capital Acquisition Corp. - Warrants", "SRTS": "Sensus Healthcare, Inc. - Common Stock", "SSAAU": "Science Strategic Acquisition Corp. Alpha - Unit", "SSB": "South State Corporation - Common Stock", "SSBI": "Summit State Bank - Common Stock", "SSKN": "Strata Skin Sciences, Inc. - Common Stock", "SSNC": "SS&C Technologies Holdings, Inc. - Common Stock", "SSNT": "SilverSun Technologies, Inc. - Common Stock", "SSP": "E.W. Scripps Company (The) - Class A Common Stock", "SSPK": "Silver Spike Acquisition Corp. - Class A Ordinary Shares", "SSPKU": "Silver Spike Acquisition Corp. - Units", "SSPKW": "Silver Spike Acquisition Corp. - Warrants", "SSRM": "SSR Mining Inc. - Common Stock", "SSSS": "SuRo Capital Corp. - Common Stock", "SSTI": "ShotSpotter, Inc. - Common Stock", "SSYS": "Stratasys, Ltd. - Common Stock", "STAA": "STAAR Surgical Company - Common Stock", "STAF": "Staffing 360 Solutions, Inc. - Common Stock", "STAY": "Extended Stay America, Inc. - Paired Shares", "STBA": "S&T Bancorp, Inc. - Common Stock", "STCN": "Steel Connect, Inc. - Common Stock", "STEP": "StepStone Group Inc. - Class A Common Stock", "STFC": "State Auto Financial Corporation - Common Stock", "STIM": "Neuronetics, Inc. - Common Stock", "STKL": "SunOpta, Inc. - Common Stock", "STKS": "The ONE Group Hospitality, Inc. - Common Stock", "STLD": "Steel Dynamics, Inc. - Common Stock", "STMP": "Stamps.com Inc. - Common Stock", "STND": "Standard AVB Financial Corp. - Common Stock", "STNE": "StoneCo Ltd. - Class A Common Share", "STOK": "Stoke Therapeutics, Inc. - Common Stock", "STRA": "Strategic Education, Inc. - Common Stock", "STRL": "Sterling Construction Company Inc - Common Stock", "STRM": "Streamline Health Solutions, Inc. - Common Stock", "STRO": "Sutro Biopharma, Inc. - Common Stock", "STRR": "Star Equity Holdings, Inc. - Common Stock", "STRRP": "Star Equity Holdings, Inc. - Series A Cumulative Perpetual Preferred Stock", "STRS": "Stratus Properties Inc. - Common Stock", "STRT": "STRATTEC SECURITY CORPORATION - Common Stock", "STSA": "Satsuma Pharmaceuticals, Inc. - Common stock", "STTK": "Shattuck Labs, Inc. - Common Stock", "STWO": "ACON S2 Acquisition Corp. - Class A ordinary shares", "STWOU": "ACON S2 Acquisition Corp. - Unit", "STWOW": "ACON S2 Acquisition Corp. - Warrant", "STX": "Seagate Technology", "STXB": "Spirit of Texas Bancshares, Inc. - Common Stock", "SUMO": "Sumo Logic, Inc. - Common Stock", "SUMR": "Summer Infant, Inc. - Common Stock", "SUNS": "SLR Senior Investment Corp. - Common Stock", "SUNW": "Sunworks, Inc. - Common Stock", "SUPN": "Supernus Pharmaceuticals, Inc. - Common Stock", "SURF": "Surface Oncology, Inc. - Common Stock", "SUSB": "iShares ESG Aware 1-5 Year USD Corporate Bond ETF", "SUSC": "iShares ESG Aware USD Corporate Bond ETF", "SUSL": "iShares ESG MSCI USA Leaders ETF", "SV": "Spring Valley Acquisition Corp. - Class A Ordinary Share", "SVA": "Sinovac Biotech, Ltd. - Ordinary Shares (Antigua/Barbudo)", "SVAC": "Starboard Value Acquisition Corp. - Class A Common Stock", "SVACU": "Starboard Value Acquisition Corp. - Unit", "SVACW": "Starboard Value Acquisition Corp. - Warrant", "SVBI": "Severn Bancorp Inc - Common Stock", "SVC": "Service Properties Trust - Shares of Beneficial Interest", "SVFA": "SVF Investment Corp. - Class A Ordinary Shares", "SVFAU": "SVF Investment Corp. - Unit", "SVFAW": "SVF Investment Corp. - Warrant", "SVMK": "SVMK Inc. - Common Stock", "SVOK": "Seven Oaks Acquisition Corp. - Class A Common Stock", "SVOKU": "Seven Oaks Acquisition Corp. - Unit", "SVOKW": "Seven Oaks Acquisition Corp. - Warrant", "SVRA": "Savara, Inc. - Common Stock", "SVSVU": "Spring Valley Acquisition Corp. - Unit", "SVSVW": "Spring Valley Acquisition Corp. - Warrant", "SVVC": "Firsthand Technology Value Fund, Inc. - Common Stock", "SWAV": "ShockWave Medical, Inc. - Common Stock", "SWBI": "Smith & Wesson Brands, Inc. - Common Stock", "SWETU": "Athlon Acquisition Corp. - Unit", "SWIR": "Sierra Wireless, Inc. - Common Stock", "SWKH": "SWK Holdings Corporation - Common Stock", "SWKS": "Skyworks Solutions", "SWTX": "SpringWorks Therapeutics, Inc. - common stock", "SXTC": "China SXT Pharmaceuticals, Inc. - Common Stock", "SY": "So-Young International Inc. - American Depository Shares", "SYBT": "Stock Yards Bancorp, Inc. - Common Stock", "SYBX": "Synlogic, Inc. - Common Stock", "SYKE": "Sykes Enterprises, Incorporated - Common Stock", "SYNA": "Synaptics Incorporated - Common Stock", "SYNC": "Synacor, Inc. - Common Stock", "SYNH": "Syneos Health, Inc. - Class A Common Stock", "SYNL": "Synalloy Corporation - Common Stock", "SYPR": "Sypris Solutions, Inc. - Common Stock", "SYRS": "Syros Pharmaceuticals, Inc. - common stock", "SYTA": "Siyata Mobile, Inc. - Common Shares", "SYTAW": "Siyata Mobile, Inc. - Warrant", "TA": "TravelCenters of America Inc. - Common Stock", "TACO": "Del Taco Restaurants, Inc. - Common Stock", "TACT": "TransAct Technologies Incorporated - Common Stock", "TAIT": "Taitron Components Incorporated - Class A Common Stock", "TANH": "Tantech Holdings Ltd. - Common Stock", "TANNI": "TravelCenters of America Inc. - 8.25% Senior Notes due 2028", "TANNL": "TravelCenters of America Inc. - 8.00% Senior Notes due 2029", "TANNZ": "TravelCenters of America Inc. - 8.00% Senior Notes due 2030", "TAOP": "Taoping Inc. - Ordinary Shares", "TARA": "Protara Therapeutics, Inc. - Common Stock", "TARS": "Tarsus Pharmaceuticals, Inc. - Common Stock", "TAST": "Carrols Restaurant Group, Inc. - Common Stock", "TATT": "TAT Technologies Ltd. - Ordinary Shares", "TAYD": "Taylor Devices, Inc. - Common Stock", "TBBK": "The Bancorp, Inc. - Common Stock", "TBCPU": "Thunder Bridge Capital Partners III Inc. - Units", "TBIO": "Translate Bio, Inc. - Common Stock", "TBK": "Triumph Bancorp, Inc. - Common Stock", "TBKCP": "Triumph Bancorp, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of Series C Fixed-Rate Non-Cumulative Perpetual Preferred Stock ", "TBLT": "ToughBuilt Industries, Inc. - Common Stock", "TBLTW": "ToughBuilt Industries, Inc. - Warrant", "TBNK": "Territorial Bancorp Inc. - Common Stock", "TBPH": "Theravance Biopharma, Inc. - Ordinary Shares", "TC": "TuanChe Limited - American Depositary Shares", "TCACU": "Tuatara Capital Acquisition Corporation - Unit", "TCBI": "Texas Capital Bancshares, Inc. - Common Stock", "TCBIL": "Texas Capital Bancshares, Inc. - 6.50% Subordinated Notes due 2042", "TCBIP": "Texas Capital Bancshares, Inc. - Non Cumulative Preferred Perpetual Stock Series A", "TCBK": "TriCo Bancshares - Common Stock", "TCDA": "Tricida, Inc. - Common Stock", "TCF": "TCF Financial Corporation - Common Stock", "TCFC": "The Community Financial Corporation - Common Stock", "TCFCP": "TCF Financial Corporation - Depositary Shares representing 5.70% Series C Non-Cumulative Preferred Stock", "TCMD": "Tactile Systems Technology, Inc. - Common Stock", "TCOM": "Trip.com Group Limited - American Depositary Shares", "TCON": "TRACON Pharmaceuticals, Inc. - Common Stock", "TCPC": "BlackRock TCP Capital Corp. - Common Stock", "TCRR": "TCR2 Therapeutics Inc. - Common Stock", "TCX": "Tucows Inc. - Common Stock", "TDAC": "Trident Acquisitions Corp. - Common Stock", "TDACU": "Trident Acquisitions Corp. - Units", "TDACW": "Trident Acquisitions Corp. - Warrant", "TDIV": "First Trust NASDAQ Technology Dividend Index Fund", "TEAM": "Atlassian Corporation Plc - Class A Ordinary Shares", "TECH": "Bio-Techne Corp - Common Stock", "TECTP": "Tectonic Financial, Inc. - 9.00% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "TEDU": "Tarena International, Inc. - American Depositary Shares", "TEKK": "Tekkorp Digital Acquisition Corp. - Class A Ordinary Shares", "TEKKU": "Tekkorp Digital Acquisition Corp. - Unit", "TEKKW": "Tekkorp Digital Acquisition Corp. - Warrant", "TELA": "TELA Bio, Inc. - Common stock", "TELL": "Tellurian Inc. - Common Stock", "TENB": "Tenable Holdings, Inc. - Common Stock", "TENX": "Tenax Therapeutics, Inc. - Common Stock", "TER": "Teradyne", "TERN": "Terns Pharmaceuticals, Inc. - Common Stock", "TESS": "TESSCO Technologies Incorporated - Common Stock", "TFFP": "TFF Pharmaceuticals, Inc. - Common Stock", "TFSL": "TFS Financial Corporation - Common Stock", "TGA": "TransGlobe Energy Corporation - Common Shares", "TGLS": "Tecnoglass Inc. - Ordinary Shares", "TGTX": "TG Therapeutics, Inc. - Common Stock", "TH": "Target Hospitality Corp. - Common Stock", "THBR": "Thunder Bridge Acquisition II, Ltd. - Class A Ordinary Shares", "THBRU": "Thunder Bridge Acquisition II, Ltd. - Units", "THBRW": "Thunder Bridge Acquisition II, Ltd. - Warrants", "THCA": "Tuscan Holdings Corp. II - Common Stock", "THCAU": "Tuscan Holdings Corp. II - Unit", "THCAW": "Tuscan Holdings Corp. II - Warrant", "THCB": "Tuscan Holdings Corp. - Common Stock", "THCBU": "Tuscan Holdings Corp. - Unit", "THCBW": "Tuscan Holdings Corp. - Warrant", "THFF": "First Financial Corporation Indiana - Common Stock", "THMAU": "Thimble Point Acquisition Corp. - Unit", "THMO": "ThermoGenesis Holdings, Inc. - Common Stock", "THRM": "Gentherm Inc - Common Stock", "THRY": "Thryv Holdings, Inc. - Common Stock", "THTX": "Theratechnologies Inc. - Common Shares", "THWWW": "Target Hospitality Corp. - Warrant expiring 3/15/2024", "TIG": "Trean Insurance Group, Inc. - Common Stock", "TIGO": "Millicom International Cellular S.A. - Common Stock", "TIGR": "UP Fintech Holding Limited - American Depositary Shares representing fifteen Class A Ordinary Shares", "TILE": "Interface, Inc. - Common Stock", "TIPT": "Tiptree Inc. - Common Stock", "TIRX": "TIAN RUIXIANG Holdings Ltd - Class A Ordinary Shares", "TITN": "Titan Machinery Inc. - Common Stock", "TLC": "Taiwan Liposome Company, Ltd. - American Depositary Shares", "TLGT": "Teligent, Inc. - Common Stock", "TLIS": "Talis Biomedical Corporation - common stock", "TLMD": "SOC Telemed, Inc. - Class A Common Stock", "TLMDW": "SOC Telemed, Inc. - Warrants", "TLND": "Talend S.A. - American Depositary Shares", "TLRY": "Tilray, Inc. - Class 2 Common Stock", "TLS": "Telos Corporation - Common Stock", "TLSA": "Tiziana Life Sciences plc - American Depository Share", "TLT": "iShares 20+ Year Treasury Bond ETF", "TMDI": "Titan Medical Inc. - Ordinary Shares", "TMDX": "TransMedics Group, Inc. - Common Stock", "TMKR": "Tastemaker Acquisition Corp. - Class A common stock", "TMKRU": "Tastemaker Acquisition Corp. - Unit", "TMKRW": "Tastemaker Acquisition Corp. - Warrant to purchase Class A common stock", "TMPM": "Turmeric Acquisition Corp. - Class A Ordinary Shares", "TMPMU": "Turmeric Acquisition Corp. - Unit", "TMPMW": "Turmeric Acquisition Corp. - Warrant", "TMTS": "Spartacus Acquisition Corporation - Class A Common Stock", "TMTSU": "Spartacus Acquisition Corporation - Unit", "TMTSW": "Spartacus Acquisition Corporation - Warrant", "TMUS": "T-Mobile US", "TNDM": "Tandem Diabetes Care, Inc. - Common Stock", "TNXP": "Tonix Pharmaceuticals Holding Corp. - Common Stock", "TOMZ": "TOMI Environmental Solutions, Inc. - Common Stock", "TOPS": "TOP Ships Inc. - Common Stock", "TOUR": "Tuniu Corporation - American Depositary Shares", "TOWN": "Towne Bank - Common Stock", "TPCO": "Tribune Publishing Company - Common Stock", "TPIC": "TPI Composites, Inc. - Common Stock", "TPTX": "Turning Point Therapeutics, Inc. - Common stock", "TQQQ": "ProShares UltraPro QQQ", "TRCH": "Torchlight Energy Resources, Inc. - Common Stock", "TREE": "LendingTree, Inc. - Common Stock", "TRHC": "Tabula Rasa HealthCare, Inc. - Common Stock", "TRIB": "Trinity Biotech plc - American Depositary Shares each representing 4 A Ordinary Shares", "TRIL": "Trillium Therapeutics Inc. - Common Shares", "TRIN": "Trinity Capital Inc. - Common Stock", "TRIP": "TripAdvisor, Inc. - Common Stock", "TRIT": "Triterras, Inc. - Class A Ordinary Shares", "TRITW": "Triterras, Inc. - Warrant", "TRMB": "Trimble Inc.", "TRMD": "TORM plc - Class A Common Stock", "TRMK": "Trustmark Corporation - Common Stock", "TRMT": "Tremont Mortgage Trust - Common Shares of Beneficial Interest", "TRNS": "Transcat, Inc. - Common Stock", "TROW": "T. Rowe Price Group", "TRS": "TriMas Corporation - Common Stock", "TRST": "TrustCo Bank Corp NY - Common Stock", "TRUE": "TrueCar, Inc. - Common Stock", "TRUP": "Trupanion, Inc. - Common Stock", "TRVG": "trivago N.V. - American Depositary Shares", "TRVI": "Trevi Therapeutics, Inc. - Common Stock", "TRVN": "Trevena, Inc. - Common Stock", "TSBK": "Timberland Bancorp, Inc. - Common Stock", "TSC": "TriState Capital Holdings, Inc. - Common Stock", "TSCAP": "TriState Capital Holdings, Inc. - Dep Shs Rep 1/40th Int 6.75% Srs A Non-Cum Pfd", "TSCBP": "TriState Capital Holdings, Inc. - Depositary Share, representing a 1/40th Interest in a Share of 6.375% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "TSCO": "Tractor Supply Company", "TSEM": "Tower Semiconductor Ltd. - Ordinary Shares", "TSHA": "Taysha Gene Therapies, Inc. - Common Stock", "TSIA": "TS Innovation Acquisitions Corp. - Class A Common Stock", "TSIAU": "TS Innovation Acquisitions Corp. - Unit", "TSIAW": "TS Innovation Acquisitions Corp. - Warrant", "TSIBU": "Tishman Speyer Innovation Corp. II - Unit", "TSLA": "Tesla, Inc.", "TSRI": "TSR, Inc. - Common Stock", "TTCF": "Tattooed Chef, Inc. - Class A Common Stock", "TTD": "The Trade Desk, Inc. - Class A Common Stock", "TTEC": "TTEC Holdings, Inc. - Common Stock", "TTEK": "Tetra Tech, Inc. - Common Stock", "TTGT": "TechTarget, Inc. - Common Stock", "TTMI": "TTM Technologies, Inc. - Common Stock", "TTNP": "Titan Pharmaceuticals, Inc. - Common Stock", "TTOO": "T2 Biosystems, Inc. - Common Stock", "TTWO": "Take-Two Interactive", "TUR": "iShares MSCI Turkey ETF", "TURN": "180 Degree Capital Corp. - Common Stock", "TUSA": "First Trust Total US Market AlphaDEX ETF", "TUSK": "Mammoth Energy Services, Inc. - Common Stock", "TVAC": "Thayer Ventures Acquisition Corporation - Class A Common Stock", "TVACU": "Thayer Ventures Acquisition Corporation - Units", "TVACW": "Thayer Ventures Acquisition Corporation - Warrant", "TVTX": "Travere Therapeutics, Inc. - Common Stock", "TVTY": "Tivity Health, Inc. - Common Stock", "TW": "Tradeweb Markets Inc. - Class A Common Stock", "TWCT": "TWC Tech Holdings II Corp. - Class A Common Stock", "TWCTU": "TWC Tech Holdings II Corp. - Unit", "TWCTW": "TWC Tech Holdings II Corp. - Warrant", "TWIN": "Twin Disc, Incorporated - Common Stock", "TWLVU": "Twelve Seas Investment Company II - Unit", "TWNK": "Hostess Brands, Inc. - Class A Common Stock", "TWNKW": "Hostess Brands, Inc. - Warrants", "TWOU": "2U, Inc. - Common Stock", "TWST": "Twist Bioscience Corporation - Common Stock", "TXG": "10x Genomics, Inc. - Common Stock", "TXMD": "TherapeuticsMD, Inc. - Common Stock", "TXN": "Texas Instruments", "TXRH": "Texas Roadhouse, Inc. - Common Stock", "TYHT": "Shineco, Inc. - Common Stock", "TYME": "Tyme Technologies, Inc. - Common Stock", "TZOO": "Travelzoo - Common Stock", "TZPSU": "TZP Strategies Acquisition Corp. - Unit", "UAE": "iShares MSCI UAE ETF", "UAL": "United Airlines Holdings", "UBCP": "United Bancorp, Inc. - Common Stock", "UBFO": "United Security Bancshares - Common Stock", "UBOH": "United Bancshares, Inc. - Common Stock", "UBSI": "United Bankshares, Inc. - Common Stock", "UBX": "Unity Biotechnology, Inc. - Common Stock", "UCBI": "United Community Banks, Inc. - Common Stock", "UCBIO": "United Community Banks, Inc. - Depositary Shares each representing 1/1,000th interest in a share of Series I Non-Cumulative Preferred Stock", "UCL": "uCloudlink Group Inc. - American Depositary Shares", "UCTT": "Ultra Clean Holdings, Inc. - Common Stock", "UCYB": "ProShares Ultra Nasdaq Cybersecurity ETF", "UEIC": "Universal Electronics Inc. - Common Stock", "UEPS": "Net 1 UEPS Technologies, Inc. - Common Stock", "UFCS": "United Fire Group, Inc - Common Stock", "UFO": "Procure Space ETF", "UFPI": "UFP Industries, Inc. - Common Stock", "UFPT": "UFP Technologies, Inc. - Common Stock", "UG": "United-Guardian, Inc. - Common Stock", "UGRO": "urban-gro, Inc. - Common Stock", "UHAL": "Amerco - Common Stock", "UIHC": "United Insurance Holdings Corp. - Common Stock", "UK": "Ucommune International Ltd - Ordinary Shares", "UKOMW": "Ucommune International Ltd - Warrant expiring 11/17/2025", "ULBI": "Ultralife Corporation - Common Stock", "ULH": "Universal Logistics Holdings, Inc. - Common Stock", "ULTA": "Ulta Beauty", "UMBF": "UMB Financial Corporation - Common Stock", "UMPQ": "Umpqua Holdings Corporation - Common Stock", "UNAM": "Unico American Corporation - Common Stock", "UNB": "Union Bankshares, Inc. - Common Stock", "UNIT": "Uniti Group Inc. - Common Stock", "UNTY": "Unity Bancorp, Inc. - Common Stock", "UONE": "Urban One, Inc. - Class A Common Stock", "UONEK": "Urban One, Inc. - Class D Common Stock", "UPLD": "Upland Software, Inc. - Common Stock", "UPST": "Upstart Holdings, Inc. - Common stock", "UPWK": "Upwork Inc. - Common Stock", "URBN": "Urban Outfitters, Inc. - Common Stock", "URGN": "UroGen Pharma Ltd. - Ordinary Shares", "UROV": "Urovant Sciences Ltd. - Common Stock", "USAK": "USA Truck, Inc. - Common Stock", "USAP": "Universal Stainless & Alloy Products, Inc. - Common Stock", "USAT": "USA Technologies, Inc. - Common Stock", "USAU": "U.S. Gold Corp. - Common Stock", "USCR": "U S Concrete, Inc. - Common Stock", "USEG": "U.S. Energy Corp. - Common Stock", "USIG": "iShares Broad USD Investment Grade Corporate Bond ETF", "USIO": "Usio, Inc. - Common Stock", "USLB": "Invesco Russell 1000 Low Beta Equal Weight ETF", "USLM": "United States Lime & Minerals, Inc. - Common Stock", "USMC": "Principal U.S. Mega-Cap ETF", "USOI": "Credit Suisse X-Links Crude Oil Shares Covered Call ETN", "USWS": "U.S. Well Services, Inc. - Class A Common Stock", "USWSW": "U.S. Well Services, Inc. - Warrants", "USXF": "iShares ESG Advanced MSCI USA ETF", "UTHR": "United Therapeutics Corporation - Common Stock", "UTMD": "Utah Medical Products, Inc. - Common Stock", "UTSI": "UTStarcom Holdings Corp - Ordinary Shares", "UVSP": "Univest Financial Corporation - Common Stock", "UXIN": "Uxin Limited - American Depositary Shares", "VACQ": "Vector Acquisition Corporation - Class A Common Stock", "VACQU": "Vector Acquisition Corporation - Unit", "VACQW": "Vector Acquisition Corporation - Warrant", "VALU": "Value Line, Inc. - Common Stock", "VBFC": "Village Bank and Trust Financial Corp. - Common Stock", "VBIV": "VBI Vaccines, Inc. - Ordinary Shares", "VBLT": "Vascular Biogenics Ltd. - Ordinary Shares", "VBTX": "Veritex Holdings, Inc. - Common Stock", "VC": "Visteon Corporation - Common Stock", "VCEL": "Vericel Corporation - Common Stock", "VCIT": "Vanguard Intermediate-Term Corporate Bond ETF", "VCKA": "Vickers Vantage Corp. I - Ordinary Shares", "VCKAU": "Vickers Vantage Corp. I - Unit", "VCKAW": "Vickers Vantage Corp. I - Warrant", "VCLT": "Vanguard Long-Term Corporate Bond ETF", "VCNX": "Vaccinex, Inc. - Common Stock", "VCSH": "Vanguard Short-Term Corporate Bond ETF", "VCTR": "Victory Capital Holdings, Inc. - Common Stock", "VCVC": "10X Capital Venture Acquisition Corp - Common Stock", "VCVCU": "10X Capital Venture Acquisition Corp - Unit", "VCVCW": "10X Capital Venture Acquisition Corp - Warrant", "VCYT": "Veracyte, Inc. - Common Stock", "VECO": "Veeco Instruments Inc. - Common Stock", "VELOU": "Velocity Acquisition Corp. - Units", "VENAU": "Venus Acquisition Corporation - Units", "VEON": "VEON Ltd. - American Depositary Shares", "VERB": "Verb Technology Company, Inc. - Common Stock", "VERBW": "Verb Technology Company, Inc. - Warrant", "VERI": "Veritone, Inc. - Common Stock", "VERO": "Venus Concept Inc. - Common Stock", "VERU": "Veru Inc. - Common Stock", "VERX": "Vertex, Inc. - Class A Common Stock", "VERY": "Vericity, Inc. - Common Stock", "VETS": "Pacer Military Times Best Employers ETF", "VFF": "Village Farms International, Inc. - Common Shares", "VG": "Vonage Holdings Corp. - Common Stock", "VGIT": "Vanguard Intermediate-Term Treasury ETF", "VGLT": "Vanguard Long-Treasury ETF", "VGSH": "Vanguard Short-Term Treasury ETF", "VIAC": "ViacomCBS", "VIACA": "ViacomCBS Inc. - Class A Common Stock", "VIAV": "Viavi Solutions Inc. - Common Stock", "VICR": "Vicor Corporation - Common Stock", "VIE": "Viela Bio, Inc. - Common Stock", "VIGI": "Vanguard International Dividend Appreciation ETF", "VIH": "VPC Impact Acquisition Holdings - Class A Ordinary Shares", "VIHAU": "VPC Impact Acquisition Holdings - Unit", "VIHAW": "VPC Impact Acquisition Holdings - Warrant", "VII": "7GC & Co. Holdings Inc. - Class A common stock", "VIIAU": "7GC & Co. Holdings Inc. - Unit", "VIIAW": "7GC & Co. Holdings Inc. - Warrant", "VINC": "Vincerx Pharma, Inc. - Common Stock", "VINCU": "Vincerx Pharma, Inc. - Unit", "VINCW": "Vincerx Pharma, Inc. - Warrant", "VINO": "Gaucho Group Holdings, Inc. - Common Stock", "VINP": "Vinci Partners Investments Ltd. - Class A Common Shares", "VIOT": "Viomi Technology Co., Ltd - American Depositary Shares", "VIR": "Vir Biotechnology, Inc. - Common Stock", "VIRC": "Virco Manufacturing Corporation - Common Stock", "VIRI": "Virios Therapeutics, Inc. - Common Stock", "VIRT": "Virtu Financial, Inc. - Class A Common Stock", "VIRX": "Viracta Therapeutics, Inc. - Common Stock", "VISL": "Vislink Technologies, Inc. - Common Stock", "VITL": "Vital Farms, Inc. - Common Stock", "VIVE": "Viveve Medical, Inc. - Common Stock", "VIVO": "Meridian Bioscience Inc. - Common Stock", "VJET": "voxeljet AG - American Depositary Shares", "VKTX": "Viking Therapeutics, Inc. - Common Stock", "VKTXW": "Viking Therapeutics, Inc. - Warrants", "VLDR": "Velodyne Lidar, Inc. - Common Stock", "VLDRW": "Velodyne Lidar, Inc. - Warrant", "VLGEA": "Village Super Market, Inc. - Class A Common Stock", "VLON": "Vallon Pharmaceuticals Inc. - Common Stock", "VLY": "Valley National Bancorp - Common Stock", "VLYPO": "Valley National Bancorp - 5.5% Fixed to Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "VLYPP": "Valley National Bancorp - 6.25% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "VMAC": "Vistas Media Acquisition Company Inc. - Class A Common Stock", "VMACU": "Vistas Media Acquisition Company Inc. - Unit", "VMACW": "Vistas Media Acquisition Company Inc. - Warrant", "VMAR": "Vision Marine Technologies Inc. - Common Shares", "VMBS": "Vanguard Mortgage-Backed Securities ETF", "VMD": "Viemed Healthcare, Inc. - Common Shares", "VNDA": "Vanda Pharmaceuticals Inc. - Common Stock", "VNET": "21Vianet Group, Inc. - American Depositary Shares", "VNOM": "Viper Energy Partners LP - Common Unit", "VNQI": "Vanguard Global ex-U.S. Real Estate ETF", "VOD": "Vodafone Group Plc - American Depositary Shares each representing ten Ordinary Shares", "VONE": "Vanguard Russell 1000 ETF", "VONG": "Vanguard Russell 1000 Growth ETF", "VONV": "Vanguard Russell 1000 Value ETF", "VOR": "Vor Biopharma Inc. - Common Stock", "VOSOU": "Virtuoso Acquisition Corp. - Unit", "VOXX": "VOXX International Corporation - Class A Common Stock", "VPN": "Global X Data Center REITs & Digital Infrastructure ETF", "VRA": "Vera Bradley, Inc. - Common Stock", "VRAY": "ViewRay, Inc. - Common Stock", "VRCA": "Verrica Pharmaceuticals Inc. - Common Stock", "VRDN": "Viridian Therapeutics, Inc. - Common Stock", "VREX": "Varex Imaging Corporation - Common Stock", "VRIG": "Invesco Variable Rate Investment Grade ETF", "VRM": "Vroom, Inc. - Common Stock", "VRME": "VerifyMe, Inc. - Common Stock", "VRMEW": "VerifyMe, Inc. - Warrant", "VRNA": "Verona Pharma plc - American Depositary Shares", "VRNS": "Varonis Systems, Inc. - Common Stock", "VRNT": "Verint Systems Inc. - Common Stock", "VRPX": "Virpax Pharmaceuticals, Inc. - Common Stock", "VRRM": "Verra Mobility Corporation - Class A Common Stock", "VRSK": "Verisk Analytics", "VRSN": "Verisign Inc.", "VRTS": "Virtus Investment Partners, Inc. - Common Stock", "VRTX": "Vertex Pharmaceuticals Inc", "VS": "Versus Systems Inc. - Common Shares", "VSAT": "ViaSat, Inc. - Common Stock", "VSDA": "VictoryShares Dividend Accelerator ETF", "VSEC": "VSE Corporation - Common Stock", "VSMV": "VictoryShares US Multi-Factor Minimum Volatility ETF", "VSPR": "Vesper Healthcare Acquisition Corp. - Class A Common Stock", "VSPRU": "Vesper Healthcare Acquisition Corp. - Unit", "VSPRW": "Vesper Healthcare Acquisition Corp. - Warrant", "VSSYW": "Versus Systems Inc. - Class A Warrants", "VSTA": "Vasta Platform Limited - Class A Ordinary Shares", "VSTM": "Verastem, Inc. - Common Stock", "VTAQ": "Ventoux CCM Acquisition Corp. - Common Stock", "VTAQR": "Ventoux CCM Acquisition Corp. - Right", "VTAQU": "Ventoux CCM Acquisition Corp. - Unit", "VTAQW": "Ventoux CCM Acquisition Corp. - Warrant", "VTC": "Vanguard Total Corporate Bond ETF", "VTGN": "VistaGen Therapeutics, Inc. - Common Stock", "VTHR": "Vanguard Russell 3000 ETF", "VTIP": "Vanguard Short-Term Inflation-Protected Securities Index Fund", "VTIQ": "VectoIQ Acquisition Corp. II - Class A Common Stock", "VTIQU": "VectoIQ Acquisition Corp. II - Unit", "VTIQW": "VectoIQ Acquisition Corp. II - Warrant", "VTNR": "Vertex Energy, Inc - Common Stock", "VTRN": "VictoryShares Top Veteran Employers ETF", "VTRS": "Viatris", "VTRU": "Vitru Limited - Common Shares", "VTSI": "VirTra, Inc. - Common Stock", "VTVT": "vTv Therapeutics Inc. - Class A Common Stock", "VTWG": "Vanguard Russell 2000 Growth ETF", "VTWO": "Vanguard Russell 2000 ETF", "VTWV": "Vanguard Russell 2000 Value ETF", "VUZI": "Vuzix Corporation - Common Stock", "VVOS": "Vivos Therapeutics, Inc. - Common Stock", "VVPR": "VivoPower International PLC - Ordinary Shares", "VWOB": "Vanguard Emerging Markets Government Bond ETF", "VXRT": "Vaxart, Inc. - Common Stock", "VXUS": "Vanguard Total International Stock ETF", "VYGR": "Voyager Therapeutics, Inc. - Common Stock", "VYMI": "Vanguard International High Dividend Yield ETF", "VYNE": "VYNE Therapeutics Inc. - Common Stock", "WABC": "Westamerica Bancorporation - Common Stock", "WAFD": "Washington Federal, Inc. - Common Stock", "WAFDP": "Washington Federal, Inc. - Depositary Shares", "WAFU": "Wah Fu Education Group Limited - Ordinary Shares", "WASH": "Washington Trust Bancorp, Inc. - Common Stock", "WATT": "Energous Corporation - Common Stock", "WB": "Weibo Corporation - American Depositary Shares", "WBND": "Western Asset Total Return ETF", "WCBR": "WisdomTree Cybersecurity Fund", "WCLD": "WisdomTree Cloud Computing Fund", "WDAY": "Workday, Inc. - Class A Common Stock", "WDC": "Western Digital", "WDFC": "WD-40 Company - Common Stock", "WEN": "Wendy's Company (The) - Common Stock", "WERN": "Werner Enterprises, Inc. - Common Stock", "WETF": "WisdomTree Investments, Inc. - Common Stock", "WEYS": "Weyco Group, Inc. - Common Stock", "WHF": "WhiteHorse Finance, Inc. - Common Stock", "WHFBZ": "WhiteHorse Finance, Inc. - 6.50% Notes due 2025", "WHLM": "Wilhelmina International, Inc. - Common Stock", "WHLR": "Wheeler Real Estate Investment Trust, Inc. - Common Stock", "WHLRD": "Wheeler Real Estate Investment Trust, Inc. - Series D Cumulative Preferred Stock", "WHLRP": "Wheeler Real Estate Investment Trust, Inc. - Series B Preferred Stock", "WIFI": "Boingo Wireless, Inc. - Common Stock", "WILC": "G. Willi-Food International, Ltd. - Ordinary Shares", "WIMI": "WiMi Hologram Cloud Inc. - American Depositary Share", "WINA": "Winmark Corporation - Common Stock", "WINC": "Western Asset Short Duration Income ETF", "WING": "Wingstop Inc. - Common Stock", "WINT": "Windtree Therapeutics, Inc. - Common Stock", "WIRE": "Encore Wire Corporation - Common Stock", "WISA": "Summit Wireless Technologies, Inc. - Common Stock", "WISH": "ContextLogic Inc. - Class A Common Stock", "WIX": "Wix.com Ltd. - Ordinary Shares", "WKEY": "WISeKey International Holding AG - American Depositary Shares", "WKHS": "Workhorse Group, Inc. - Common Stock", "WLDN": "Willdan Group, Inc. - Common Stock", "WLFC": "Willis Lease Finance Corporation - Common Stock", "WLTW": "Willis Towers Watson", "WMG": "Warner Music Group Corp. - Class A Common Stock", "WNEB": "Western New England Bancorp, Inc. - Common Stock", "WNW": "Wunong Net Technology Company Limited - Ordinary Shares", "WOOD": "iShares S&P Global Timber & Forestry Index Fund", "WOOF": "Petco Health and Wellness Company, Inc. - Class A Common Stock", "WORX": "SCWorx Corp. - Common Stock", "WPRT": "Westport Fuel Systems Inc - Common Shares", "WRAP": "Wrap Technologies, Inc. - Common Stock", "WRLD": "World Acceptance Corporation - Common Stock", "WSBC": "WesBanco, Inc. - Common Stock", "WSBCP": "WesBanco, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of 6.75% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series A", "WSBF": "Waterstone Financial, Inc. - Common Stock", "WSC": "WillScot Mobile Mini Holdings Corp. - Class A Common Stock", "WSFS": "WSFS Financial Corporation - Common Stock", "WSTG": "Wayside Technology Group, Inc. - Common Stock", "WTBA": "West Bancorporation - Common Stock", "WTER": "The Alkaline Water Company Inc. - Common Stock", "WTFC": "Wintrust Financial Corporation - Common Stock", "WTFCM": "Wintrust Financial Corporation - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series D", "WTFCP": "Wintrust Financial Corporation - Depositary Shares, Each Representing a 1/1,000th Interest in a Share of 6.875% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "WTRE": "Watford Holdings Ltd. - Common Shares", "WTREP": "Watford Holdings Ltd. - 8.25% Cumulative Redeemable Preference Shares", "WTRH": "Waitr Holdings Inc. - Common Stock", "WVE": "Wave Life Sciences Ltd. - Ordinary Shares", "WVFC": "WVS Financial Corp. - Common Stock", "WVVI": "Willamette Valley Vineyards, Inc. - Common Stock", "WVVIP": "Willamette Valley Vineyards, Inc. - Series A Redeemable Preferred Stock", "WW": "WW International, Inc. - Common Stock", "WWD": "Woodward, Inc. - Common Stock", "WWR": "Westwater Resources, Inc. - Common Stock", "WYNN": "Wynn Resorts Ltd", "XAIR": "Beyond Air, Inc. - Common Stock", "XBIO": "Xenetic Biosciences, Inc. - Common Stock", "XBIOW": "Xenetic Biosciences, Inc. - Warrants", "XBIT": "XBiotech Inc. - Common Stock", "XCUR": "Exicure, Inc. - Common Stock", "XEL": "Xcel Energy Inc", "XELA": "Exela Technologies, Inc. - Common Stock", "XELB": "Xcel Brands, Inc - Common Stock", "XENE": "Xenon Pharmaceuticals Inc. - Common Shares", "XENT": "Intersect ENT, Inc. - Common Stock", "XERS": "Xeris Pharmaceuticals, Inc. - Common Stock", "XFOR": "X4 Pharmaceuticals, Inc. - Common Stock", "XGN": "Exagen Inc. - Common Stock", "XLNX": "Xilinx", "XLRN": "Acceleron Pharma Inc. - Common Stock", "XM": "Qualtrics International Inc. - Class A Common Stock", "XNCR": "Xencor, Inc. - Common Stock", "XNET": "Xunlei Limited - American Depositary Shares", "XOG": "Extraction Oil & Gas, Inc. - Common Stock", "XOMA": "XOMA Corporation - Common Stock", "XOMAP": "XOMA Corporation - 8.625% Series A Cumulative Perpetual Preferred Stock", "XONE": "The ExOne Company - Common Stock", "XP": "XP Inc. - Class A Common Stock", "XPDIU": "Power & Digital Infrastructure Acquisition Corp. - Unit", "XPEL": "XPEL, Inc. - Common Stock", "XPER": "Xperi Holding Corporation - Common Stock", "XRAY": "Dentsply Sirona", "XSPA": "XpresSpa Group, Inc. - Common Stock", "XT": "iShares Exponential Technologies ETF", "XTLB": "XTL Biopharmaceuticals Ltd. - American Depositary Shares", "YELL": "Yellow Corporation - Common Stock", "YGMZ": "MingZhu Logistics Holdings Limited - Ordinary Shares", "YI": "111, Inc. - American Depositary Shares", "YJ": "Yunji Inc. - American Depository Shares", "YLDE": "ClearBridge Dividend Strategy ESG ETF", "YMAB": "Y-mAbs Therapeutics, Inc. - Common Stock", "YMTX": "Yumanity Therapeutics, Inc. - Common Stock", "YNDX": "Yandex N.V. - Class A Ordinary Shares", "YORW": "The York Water Company - Common Stock", "YQ": "17 Education & Technology Group Inc. - American Depositary Shares", "YSAC": "Yellowstone Acquisition Company - Class A Common Stock", "YSACU": "Yellowstone Acquisition Company - Units", "YSACW": "Yellowstone Acquisition Company - Warrants to purchase Class A common stock", "YTEN": "Yield10 Bioscience, Inc. - Common Stock", "YTRA": "Yatra Online, Inc. - Ordinary Shares", "YVR": "Liquid Media Group Ltd. - Common Shares", "YY": "JOYY Inc. - American Depositary Shares", "Z": "Zillow Group, Inc. - Class C Capital Stock", "ZAZZT": "Tick Pilot Test Stock Class A Common Stock", "ZBRA": "Zebra Technologies", "ZBZZT": "Test Pilot Test Stock Class B Common Stock", "ZCMD": "Zhongchao Inc. - Class A Ordinary Shares", "ZCZZT": "Tick Pilot Test Stock Class C ", "ZEAL": "Zealand Pharma A/S - American Depositary Shares", "ZEUS": "Olympic Steel, Inc. - Common Stock", "ZG": "Zillow Group, Inc. - Class A Common Stock", "ZGNX": "Zogenix, Inc. - Common Stock", "ZGYH": "Yunhong International - Class A Ordinary Shares", "ZGYHR": "Yunhong International - Right", "ZGYHU": "Yunhong International - Unit", "ZGYHW": "Yunhong International - Warrant", "ZI": "ZoomInfo Technologies Inc. - Class A Common Stock", "ZION": "Zions Bancorp", "ZIONL": "Zions Bancorporation N.A. - 6.95% Fixed-to-Floating Rate Subordinated Notes due September 15, 2028", "ZIONN": "Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series H 5.75% Non-Cumulative Perpetual Preferred Stock", "ZIONO": "Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series G Fixed/Floating-Rate Non-Cumulative Perpetual Preferred Stock", "ZIONP": "Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series A Floating-Rate Non-Cumulative Perpetual Preferred Stock", "ZIOP": "ZIOPHARM Oncology Inc - Common Stock", "ZIXI": "Zix Corporation - Common Stock", "ZJZZT": "NASDAQ TEST STOCK", "ZKIN": "ZK International Group Co., Ltd - Ordinary Share", "ZLAB": "Zai Lab Limited - American Depositary Shares", "ZM": "Zoom Video Communications, Inc. - Class A Common Stock", "ZNGA": "Zynga Inc. - Class A Common Stock", "ZNTE": "Zanite Acquisition Corp. - Class A Common Stock", "ZNTEU": "Zanite Acquisition Corp. - Unit", "ZNTEW": "Zanite Acquisition Corp. - Warrant", "ZNTL": "Zentalis Pharmaceuticals, Inc. - common stock", "ZS": "Zscaler, Inc. - Common Stock", "ZSAN": "Zosano Pharma Corporation - Common Stock", "ZUMZ": "Zumiez Inc. - Common Stock", "ZVO": "Zovio Inc. - Common Stock", "ZVZZC": "NASDAQ TEST STOCK Nextshares Test Security", "ZVZZT": "NASDAQ TEST STOCK", "ZWRKU": "Z-Work Acquisition Corp. - Units", "ZWZZT": "NASDAQ TEST STOCK", "ZXYZ.A": "Nasdaq Symbology Test Common Stock", "ZXZZT": "NASDAQ TEST STOCK", "ZYNE": "Zynerba Pharmaceuticals, Inc. - Common Stock", "ZYXI": "Zynex, Inc. - Common Stock", "ABT": "Abbott Laboratories", "ABBV": "AbbVie Inc.", "ACN": "Accenture", "AAP": "Advance Auto Parts", "AES": "AES Corp", "AFL": "Aflac", "A": "Agilent Technologies", "APD": "Air Products & Chemicals", "ALK": "Alaska Air Group", "ALB": "Albemarle Corporation", "ARE": "Alexandria Real Estate Equities", "ALLE": "Allegion", "ALL": "Allstate Corp", "MO": "Altria Group Inc", "AMCR": "Amcor", "AEE": "Ameren Corp", "AIG": "American International Group", "AMT": "American Tower Corp.", "AWK": "American Water Works", "AMP": "Ameriprise Financial", "ABC": "AmerisourceBergen", "AME": "Ametek", "APH": "Amphenol Corp", "ANTM": "Anthem", "AON": "Aon plc", "AOS": "A.O. Smith Corp", "APTV": "Aptiv PLC", "ADM": "Archer-Daniels-Midland Co", "ANET": "Arista Networks", "AJG": "Arthur J. Gallagher & Co.", "AIZ": "Assurant", "T": "AT&T Inc.", "ATO": "Atmos Energy", "AZO": "AutoZone Inc", "AVB": "AvalonBay Communities", "AVY": "Avery Dennison Corp", "BKR": "Baker Hughes Co", "BLL": "Ball Corp", "BAC": "Bank of America Corp", "BK": "The Bank of New York Mellon", "BAX": "Baxter International Inc.", "BDX": "Becton Dickinson", "BRK.B": "Berkshire Hathaway", "BBY": "Best Buy Co. Inc.", "BIO": "Bio-Rad Laboratories", "BLK": "BlackRock", "BWA": "BorgWarner", "BXP": "Boston Properties", "BSX": "Boston Scientific", "BMY": "Bristol-Myers Squibb", "BR": "Broadridge Financial Solutions", "BF.B": "Brown-Forman Corp.", "COG": "Cabot Oil & Gas", "CPB": "Campbell Soup", "COF": "Capital One Financial", "CAH": "Cardinal Health Inc.", "KMX": "Carmax Inc", "CCL": "Carnival Corp.", "CARR": "Carrier Global", "CTLT": "Catalent", "CBOE": "Cboe Global Markets", "CBRE": "CBRE Group", "CE": "Celanese", "CNC": "Centene Corporation", "CNP": "CenterPoint Energy", "CF": "CF Industries Holdings Inc", "SCHW": "Charles Schwab Corporation", "CMG": "Chipotle Mexican Grill", "CB": "Chubb Limited", "CHD": "Church & Dwight", "CI": "Cigna", "C": "Citigroup Inc.", "CFG": "Citizens Financial Group", "CLX": "The Clorox Company", "CMS": "CMS Energy", "CL": "Colgate-Palmolive", "CMA": "Comerica Inc.", "CAG": "Conagra Brands", "COP": "ConocoPhillips", "ED": "Consolidated Edison", "STZ": "Constellation Brands", "COO": "The Cooper Companies", "GLW": "Corning Inc.", "CTVA": "Corteva", "CCI": "Crown Castle", "CMI": "Cummins Inc.", "CVS": "CVS Health", "DHI": "D. R. Horton", "DHR": "Danaher Corp.", "DRI": "Darden Restaurants", "DVA": "DaVita Inc.", "DE": "Deere & Co.", "DAL": "Delta Air Lines Inc.", "DVN": "Devon Energy", "DLR": "Digital Realty Trust Inc", "DFS": "Discover Financial Services", "DG": "Dollar General", "D": "Dominion Energy", "DPZ": "Domino's Pizza", "DOV": "Dover Corporation", "DTE": "DTE Energy Co.", "DUK": "Duke Energy", "DRE": "Duke Realty Corp", "DD": "DuPont de Nemours Inc", "DXC": "DXC Technology", "EMN": "Eastman Chemical", "ETN": "Eaton Corporation", "ECL": "Ecolab Inc.", "EIX": "Edison Int'l", "EW": "Edwards Lifesciences", "EMR": "Emerson Electric Company", "ETR": "Entergy Corp.", "EOG": "EOG Resources", "EFX": "Equifax Inc.", "EQR": "Equity Residential", "ESS": "Essex Property Trust, Inc.", "EL": "Est\u00e9e Lauder Companies", "EVRG": "Evergy", "ES": "Eversource Energy", "RE": "Everest Re Group Ltd.", "EXR": "Extra Space Storage", "XOM": "Exxon Mobil Corp.", "FRT": "Federal Realty Investment Trust", "FDX": "FedEx Corporation", "FIS": "Fidelity National Information Services", "FE": "FirstEnergy Corp", "FRC": "First Republic Bank", "FLT": "FleetCor Technologies Inc", "FLS": "Flowserve Corporation", "FMC": "FMC Corporation", "F": "Ford Motor Company", "FTV": "Fortive Corp", "FBHS": "Fortune Brands Home & Security", "BEN": "Franklin Resources", "FCX": "Freeport-McMoRan Inc.", "GPS": "Gap Inc.", "IT": "Gartner Inc", "GD": "General Dynamics", "GE": "General Electric", "GIS": "General Mills", "GM": "General Motors", "GPC": "Genuine Parts", "GL": "Globe Life Inc.", "GPN": "Global Payments Inc.", "GWW": "Grainger (W.W.) Inc.", "HAL": "Halliburton Co.", "HBI": "Hanesbrands Inc", "HIG": "Hartford Financial Svc.Gp.", "HCA": "HCA Healthcare", "PEAK": "Healthpeak Properties", "HSY": "The Hershey Company", "HES": "Hess Corporation", "HPE": "Hewlett Packard Enterprise", "HLT": "Hilton Worldwide Holdings Inc", "HFC": "HollyFrontier Corp", "HRL": "Hormel Foods Corp.", "HWM": "Howmet Aerospace", "HPQ": "HP Inc.", "HUM": "Humana Inc.", "HII": "Huntington Ingalls Industries", "IEX": "IDEX Corporation", "INFO": "IHS Markit", "ITW": "Illinois Tool Works", "IR": "Ingersoll Rand", "ICE": "Intercontinental Exchange", "IP": "International Paper", "IPG": "Interpublic Group", "IFF": "International Flavors & Fragrances", "IVZ": "Invesco Ltd.", "IQV": "IQVIA Holdings Inc.", "IRM": "Iron Mountain Incorporated", "J": "Jacobs Engineering Group", "SJM": "JM Smucker", "JCI": "Johnson Controls International", "JNPR": "Juniper Networks", "KSU": "Kansas City Southern", "K": "Kellogg Co.", "KEY": "KeyCorp", "KEYS": "Keysight Technologies", "KMB": "Kimberly-Clark", "KIM": "Kimco Realty", "KMI": "Kinder Morgan", "KR": "Kroger Co.", "LB": "L Brands Inc.", "LHX": "L3Harris Technologies", "LH": "Laboratory Corp. of America Holding", "LW": "Lamb Weston Holdings Inc", "LVS": "Las Vegas Sands", "LEG": "Leggett & Platt", "LDOS": "Leidos Holdings", "LEN": "Lennar Corp.", "LLY": "Lilly (Eli) & Co.", "LNC": "Lincoln National", "LIN": "Linde plc", "LYV": "Live Nation Entertainment", "LMT": "Lockheed Martin Corp.", "L": "Loews Corp.", "LOW": "Lowe's Cos.", "LUMN": "Lumen Technologies", "LYB": "LyondellBasell", "MTB": "M&T Bank", "MRO": "Marathon Oil Corp.", "MPC": "Marathon Petroleum", "MMC": "Marsh & McLennan", "MLM": "Martin Marietta Materials", "MAS": "Masco Corp.", "MA": "Mastercard Inc.", "MKC": "McCormick & Co.", "MCK": "McKesson Corp.", "MDT": "Medtronic plc", "MET": "MetLife Inc.", "MTD": "Mettler Toledo", "MGM": "MGM Resorts International", "MAA": "Mid-America Apartments", "MHK": "Mohawk Industries", "TAP": "Molson Coors Beverage Company", "MCO": "Moody's Corp", "MS": "Morgan Stanley", "MOS": "The Mosaic Company", "MSI": "Motorola Solutions Inc.", "MSCI": "MSCI Inc", "NEM": "Newmont Corporation", "NEE": "NextEra Energy", "NLSN": "Nielsen Holdings", "NI": "NiSource Inc.", "NSC": "Norfolk Southern Corp.", "NOC": "Northrop Grumman", "NCLH": "Norwegian Cruise Line Holdings", "NOV": "NOV Inc.", "NRG": "NRG Energy", "NUE": "Nucor Corp.", "NVR": "NVR, Inc.", "OXY": "Occidental Petroleum", "OMC": "Omnicom Group", "OKE": "Oneok", "ORCL": "Oracle Corp.", "OTIS": "Otis Worldwide", "PKG": "Packaging Corporation of America", "PH": "Parker-Hannifin", "PAYC": "Paycom", "PNR": "Pentair plc", "PKI": "PerkinElmer", "PRGO": "Perrigo", "PFE": "Pfizer Inc.", "PM": "Philip Morris International", "PSX": "Phillips 66", "PNW": "Pinnacle West Capital", "PXD": "Pioneer Natural Resources", "PNC": "PNC Financial Services", "PPG": "PPG Industries", "PPL": "PPL Corp.", "PGR": "Progressive Corp.", "PLD": "Prologis", "PRU": "Prudential Financial", "PEG": "Public Service Enterprise Group (PSEG)", "PSA": "Public Storage", "PHM": "PulteGroup", "PVH": "PVH Corp.", "PWR": "Quanta Services Inc.", "DGX": "Quest Diagnostics", "RL": "Ralph Lauren Corporation", "RJF": "Raymond James Financial", "RTX": "Raytheon Technologies", "O": "Realty Income Corporation", "RF": "Regions Financial Corp.", "RSG": "Republic Services Inc", "RMD": "ResMed", "RHI": "Robert Half International", "ROK": "Rockwell Automation Inc.", "ROL": "Rollins, Inc.", "ROP": "Roper Technologies", "RCL": "Royal Caribbean Group", "SPGI": "S&P Global Inc.", "SLB": "Schlumberger Ltd.", "SEE": "Sealed Air", "SRE": "Sempra Energy", "NOW": "ServiceNow", "SHW": "Sherwin-Williams", "SPG": "Simon Property Group Inc", "SLG": "SL Green Realty", "SNA": "Snap-on", "SO": "Southern Company", "LUV": "Southwest Airlines", "SWK": "Stanley Black & Decker", "STT": "State Street Corp.", "STE": "Steris", "SYK": "Stryker Corp.", "SYF": "Synchrony Financial", "SYY": "Sysco Corp.", "TPR": "Tapestry, Inc.", "TGT": "Target Corp.", "TEL": "TE Connectivity Ltd.", "TDY": "Teledyne Technologies", "TFX": "Teleflex", "TXT": "Textron Inc.", "TMO": "Thermo Fisher Scientific", "TJX": "TJX Companies Inc.", "TT": "Trane Technologies plc", "TDG": "TransDigm Group", "TFC": "Truist Financial", "TWTR": "Twitter, Inc.", "TYL": "Tyler Technologies", "TSN": "Tyson Foods", "UDR": "UDR, Inc.", "USB": "U.S. Bancorp", "UAA": "Under Armour (Class A)", "UA": "Under Armour (Class C)", "UNP": "Union Pacific Corp", "UPS": "United Parcel Service", "URI": "United Rentals, Inc.", "UHS": "Universal Health Services", "UNM": "Unum Group", "VLO": "Valero Energy", "VAR": "Varian Medical Systems", "VTR": "Ventas Inc", "VFC": "VF Corporation", "VNT": "Vontier", "VNO": "Vornado Realty Trust", "VMC": "Vulcan Materials", "WRB": "W. R. Berkley Corporation", "WAB": "Westinghouse Air Brake Technologies Corp", "WM": "Waste Management Inc.", "WAT": "Waters Corporation", "WEC": "WEC Energy Group", "WFC": "Wells Fargo", "WELL": "Welltower Inc.", "WST": "West Pharmaceutical Services", "WU": "Western Union Co", "WRK": "WestRock", "WY": "Weyerhaeuser", "WHR": "Whirlpool Corp.", "WMB": "Williams Companies", "XRX": "Xerox", "XYL": "Xylem Inc.", "YUM": "Yum! Brands Inc", "ZBH": "Zimmer Biomet", "ZTS": "Zoetis"} \ No newline at end of file +{"AI.PA": ["Air Liquide", "EURONEXT"], "AIR.PA": ["Airbus", "EURONEXT"], "ALO.PA": ["Alstom", "EURONEXT"], "MT.AS": ["ArcelorMittal", "EURONEXT"], "ATO.PA": ["Atos", "EURONEXT"], "CS.PA": ["AXA", "EURONEXT"], "BNP.PA": ["BNP Paribas", "EURONEXT"], "EN.PA": ["Bouygues", "EURONEXT"], "CAP.PA": ["Capgemini", "EURONEXT"], "CA.PA": ["Carrefour", "EURONEXT"], "ACA.PA": ["Cr\u00e9dit Agricole", "EURONEXT"], "BN.PA": ["Danone", "EURONEXT"], "DSY.PA": ["Dassault Syst\u00e8mes", "EURONEXT"], "ENGI.PA": ["Engie", "EURONEXT"], "EL.PA": ["EssilorLuxottica", "EURONEXT"], "RMS.PA": ["Herm\u00e8s", "EURONEXT"], "KER.PA": ["Kering", "EURONEXT"], "OR.PA": ["L'Or\u00e9al", "EURONEXT"], "LR.PA": ["Legrand", "EURONEXT"], "MC.PA": ["LVMH", "EURONEXT"], "ML.PA": ["Michelin", "EURONEXT"], "ORA.PA": ["Orange", "EURONEXT"], "RI.PA": ["Pernod Ricard", "EURONEXT"], "PUB.PA": ["Publicis", "EURONEXT"], "RNO.PA": ["Renault", "EURONEXT"], "SAF.PA": ["Safran", "EURONEXT"], "SGO.PA": ["Saint-Gobain", "EURONEXT"], "SAN.PA": ["Sanofi", "EURONEXT"], "SU.PA": ["Schneider Electric", "EURONEXT"], "GLE.PA": ["Soci\u00e9t\u00e9 G\u00e9n\u00e9rale", "EURONEXT"], "STLA.PA": ["Stellantis", "EURONEXT"], "STM.PA": ["STMicroelectronics", "EURONEXT"], "TEP.PA": ["Teleperformance", "EURONEXT"], "HO.PA": ["Thales", "EURONEXT"], "FP.PA": ["Total", "EURONEXT"], "URW.AS": ["Unibail-Rodamco-Westfield", "EURONEXT"], "VIE.PA": ["Veolia", "EURONEXT"], "DG.PA": ["Vinci", "EURONEXT"], "VIV.PA": ["Vivendi", "EURONEXT"], "WLN.PA": ["Worldline", "EURONEXT"], "AACG": ["ATA Creativity Global - American Depositary Shares, each representing two common shares", "NASDAQ"], "AACQ": ["Artius Acquisition Inc. - Class A Common Stock", "NASDAQ"], "AACQU": ["Artius Acquisition Inc. - Unit consisting of one ordinary share and one third redeemable warrant", "NASDAQ"], "AACQW": ["Artius Acquisition Inc. - Warrant", "NASDAQ"], "AAL": ["American Airlines Group", "S&P500"], "AAME": ["Atlantic American Corporation - Common Stock", "NASDAQ"], "AAOI": ["Applied Optoelectronics, Inc. - Common Stock", "NASDAQ"], "AAON": ["AAON, Inc. - Common Stock", "NASDAQ"], "AAPL": ["Apple Inc.", "S&P500"], "AAWW": ["Atlas Air Worldwide Holdings - Common Stock", "NASDAQ"], "AAXJ": ["iShares MSCI All Country Asia ex Japan Index Fund", "NASDAQ"], "ABCB": ["Ameris Bancorp - Common Stock", "NASDAQ"], "ABCL": ["AbCellera Biologics Inc. - Common Shares", "NASDAQ"], "ABCM": ["Abcam plc - American Depositary Shares", "NASDAQ"], "ABEO": ["Abeona Therapeutics Inc. - Common Stock", "NASDAQ"], "ABGI": ["ABG Acquisition Corp. I - Class A Ordinary Shares", "NASDAQ"], "ABIO": ["ARCA biopharma, Inc. - Common Stock", "NASDAQ"], "ABMD": ["Abiomed", "S&P500"], "ABNB": ["Airbnb, Inc. - Class A Common Stock", "NASDAQ"], "ABST": ["Absolute Software Corporation - Common Stock", "NASDAQ"], "ABTX": ["Allegiance Bancshares, Inc. - Common Stock", "NASDAQ"], "ABUS": ["Arbutus Biopharma Corporation - Common Stock", "NASDAQ"], "ACAC": ["Acies Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "ACACU": ["Acies Acquisition Corp. - Unit", "NASDAQ"], "ACACW": ["Acies Acquisition Corp. - Warrant", "NASDAQ"], "ACAD": ["ACADIA Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "ACAHU": ["Atlantic Coastal Acquisition Corp. - Unit", "NASDAQ"], "ACBI": ["Atlantic Capital Bancshares, Inc. - Common Stock", "NASDAQ"], "ACCD": ["Accolade, Inc. - common stock", "NASDAQ"], "ACER": ["Acer Therapeutics Inc. - Common Stock", "NASDAQ"], "ACET": ["Adicet Bio, Inc. - Common Stock", "NASDAQ"], "ACEV": ["ACE Convergence Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "ACEVU": ["ACE Convergence Acquisition Corp. - Unit", "NASDAQ"], "ACEVW": ["ACE Convergence Acquisition Corp. - Warrant", "NASDAQ"], "ACGL": ["Arch Capital Group Ltd. - Common Stock", "NASDAQ"], "ACGLO": ["Arch Capital Group Ltd. - Depositary Shares Each Representing 1/1,000th Interest in a Share of5.45% Non-Cumulative Preferred Shares, Series F", "NASDAQ"], "ACGLP": ["Arch Capital Group Ltd. - Depositary Shares Representing Interest in 5.25% Non-Cumulative Preferred Series E Shrs", "NASDAQ"], "ACHC": ["Acadia Healthcare Company, Inc. - Common Stock", "NASDAQ"], "ACHV": ["Achieve Life Sciences, Inc. - Common Shares", "NASDAQ"], "ACIU": ["AC Immune SA - Common Stock", "NASDAQ"], "ACIW": ["ACI Worldwide, Inc. - Common Stock", "NASDAQ"], "ACKIT": ["Ackrell SPAC Partners I Co. - Subunits", "NASDAQ"], "ACKIU": ["Ackrell SPAC Partners I Co. - Units", "NASDAQ"], "ACKIW": ["Ackrell SPAC Partners I Co. - Warrants", "NASDAQ"], "ACLS": ["Axcelis Technologies, Inc. - Common Stock", "NASDAQ"], "ACMR": ["ACM Research, Inc. - Class A Common Stock", "NASDAQ"], "ACNB": ["ACNB Corporation - Common Stock", "NASDAQ"], "ACOR": ["Acorda Therapeutics, Inc. - Common Stock", "NASDAQ"], "ACQRU": ["Independence Holdings Corp. - Units", "NASDAQ"], "ACRS": ["Aclaris Therapeutics, Inc. - Common Stock", "NASDAQ"], "ACRX": ["AcelRx Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ACST": ["Acasti Pharma, Inc. - Class A Common Stock", "NASDAQ"], "ACTC": ["ArcLight Clean Transition Corp. - Class A Ordinary Shares", "NASDAQ"], "ACTCU": ["ArcLight Clean Transition Corp. - Unit", "NASDAQ"], "ACTCW": ["ArcLight Clean Transition Corp. - Warrant", "NASDAQ"], "ACTG": ["Acacia Research Corporation - Common Stock", "NASDAQ"], "ACWI": ["iShares MSCI ACWI Index Fund", "NASDAQ"], "ACWX": ["iShares MSCI ACWI ex US Index Fund", "NASDAQ"], "ADAG": ["Adagene Inc. - ADS, each representing 1.25 ordinary shares", "NASDAQ"], "ADAP": ["Adaptimmune Therapeutics plc - American Depositary Shares", "NASDAQ"], "ADBE": ["Adobe Inc.", "S&P500"], "ADER": ["26 Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ADERU": ["26 Capital Acquisition Corp. - Unit", "NASDAQ"], "ADERW": ["26 Capital Acquisition Corp. - Warrant", "NASDAQ"], "ADES": ["Advanced Emissions Solutions, Inc. - Common Stock", "NASDAQ"], "ADI": ["Analog Devices, Inc.", "S&P500"], "ADIL": ["Adial Pharmaceuticals, Inc - Common Stock", "NASDAQ"], "ADILW": ["Adial Pharmaceuticals, Inc - Warrant", "NASDAQ"], "ADMA": ["ADMA Biologics Inc - Common Stock", "NASDAQ"], "ADMP": ["Adamis Pharmaceuticals Corporation - Common Stock", "NASDAQ"], "ADMS": ["Adamas Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ADN": ["Advent Technologies Holdings, Inc. - Class A Common Stock", "NASDAQ"], "ADNWW": ["Advent Technologies Holdings, Inc. - Warrant", "NASDAQ"], "ADOC": ["Edoc Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "ADOCR": ["Edoc Acquisition Corp. - Right", "NASDAQ"], "ADOCW": ["Edoc Acquisition Corp. - Warrant", "NASDAQ"], "ADP": ["Automatic Data Processing", "S&P500"], "ADPT": ["Adaptive Biotechnologies Corporation - Common Stock", "NASDAQ"], "ADRE": ["Invesco BLDRS Emerging Markets 50 ADR Index Fund", "NASDAQ"], "ADSK": ["Autodesk Inc.", "S&P500"], "ADTN": ["ADTRAN, Inc. - Common Stock", "NASDAQ"], "ADTX": ["ADiTx Therapeutics, Inc. - Common Stock", "NASDAQ"], "ADUS": ["Addus HomeCare Corporation - Common Stock", "NASDAQ"], "ADV": ["Advantage Solutions Inc. - Class A Common Stock", "NASDAQ"], "ADVM": ["Adverum Biotechnologies, Inc. - Common Stock", "NASDAQ"], "ADVWW": ["Advantage Solutions Inc. - Warrant", "NASDAQ"], "ADXN": ["Addex Therapeutics Ltd - American Depositary Shares", "NASDAQ"], "ADXS": ["Advaxis, Inc. - Common Stock", "NASDAQ"], "AEAC": ["Authentic Equity Acquisition Corp. - Class A ordinary share", "NASDAQ"], "AEACU": ["Authentic Equity Acquisition Corp. - Unit", "NASDAQ"], "AEACW": ["Authentic Equity Acquisition Corp. - Warrant", "NASDAQ"], "AEGN": ["Aegion Corp - Class A Common Stock", "NASDAQ"], "AEHL": ["Antelope Enterprise Holdings Limited - Common Stock", "NASDAQ"], "AEHR": ["Aehr Test Systems - Common Stock", "NASDAQ"], "AEI": ["Alset EHome International Inc. - Common Stock", "NASDAQ"], "AEIS": ["Advanced Energy Industries, Inc. - Common Stock", "NASDAQ"], "AEMD": ["Aethlon Medical, Inc. - Common Stock", "NASDAQ"], "AEP": ["American Electric Power", "S&P500"], "AEPPL": ["American Electric Power Company, Inc. - Corporate Unit", "NASDAQ"], "AEPPZ": ["American Electric Power Company, Inc. - Corporate Unit", "NASDAQ"], "AERI": ["Aerie Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AESE": ["Allied Esports Entertainment, Inc. - Common Stock", "NASDAQ"], "AEY": ["ADDvantage Technologies Group, Inc. - Common Stock", "NASDAQ"], "AEYE": ["AudioEye, Inc. - Common Stock", "NASDAQ"], "AEZS": ["Aeterna Zentaris Inc. - Common Stock", "NASDAQ"], "AFBI": ["Affinity Bancshares, Inc. - Common Stock", "NASDAQ"], "AFIB": ["Acutus Medical, Inc. - Common Stock", "NASDAQ"], "AFIN": ["American Finance Trust, Inc. - Class A Common Stock", "NASDAQ"], "AFINO": ["American Finance Trust, Inc. - 7.375% Series C Cumulative Redeemable Preferred Stock", "NASDAQ"], "AFINP": ["American Finance Trust, Inc. - 7.50% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "AFMD": ["Affimed N.V. - Common Stock", "NASDAQ"], "AFRM": ["Affirm Holdings, Inc. - Class A Common Stock", "NASDAQ"], "AFYA": ["Afya Limited - Class A Common Shares", "NASDAQ"], "AGBA": ["AGBA Acquisition Limited - Ordinary Share", "NASDAQ"], "AGBAR": ["AGBA Acquisition Limited - Right", "NASDAQ"], "AGBAU": ["AGBA Acquisition Limited - Unit", "NASDAQ"], "AGBAW": ["AGBA Acquisition Limited - Warrant", "NASDAQ"], "AGC": ["Altimeter Growth Corp. - Class A Ordinary Shares", "NASDAQ"], "AGCUU": ["Altimeter Growth Corp. - Unit", "NASDAQ"], "AGCWW": ["Altimeter Growth Corp. - Warrant", "NASDAQ"], "AGEN": ["Agenus Inc. - Common Stock", "NASDAQ"], "AGFS": ["AgroFresh Solutions, Inc. - Common Stock", "NASDAQ"], "AGFY": ["Agrify Corporation - Common Stock", "NASDAQ"], "AGGRU": ["Agile Growth Corp. - Units", "NASDAQ"], "AGIO": ["Agios Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AGLE": ["Aeglea BioTherapeutics, Inc. - Common Stock", "NASDAQ"], "AGMH": ["AGM Group Holdings Inc. - Class A Ordinary Shares", "NASDAQ"], "AGNC": ["AGNC Investment Corp. - Common Stock", "NASDAQ"], "AGNCM": ["AGNC Investment Corp. - Depositary Shares rep 6.875% Series D Fixed-to-Floating Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGNCN": ["AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 7.00% Series C Fixed-To-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGNCO": ["AGNC Investment Corp. - Depositary Shares, each representing a 1/1,000th interest in a share of Series E Fixed-to-Floating Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGNCP": ["AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 6.125% Series F Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGRX": ["Agile Therapeutics, Inc. - Common Stock", "NASDAQ"], "AGTC": ["Applied Genetic Technologies Corporation - Common Stock", "NASDAQ"], "AGYS": ["Agilysys, Inc. - Common Stock", "NASDAQ"], "AGZD": ["WisdomTree Interest Rate Hedged U.S. Aggregate Bond Fund", "NASDAQ"], "AHAC": ["Alpha Healthcare Acquisition Corp. - Common Stock", "NASDAQ"], "AHACU": ["Alpha Healthcare Acquisition Corp. - Unit", "NASDAQ"], "AHACW": ["Alpha Healthcare Acquisition Corp. - Warrant", "NASDAQ"], "AHCO": ["AdaptHealth Corp. - Class A Common Stock", "NASDAQ"], "AHPI": ["Allied Healthcare Products, Inc. - Common Stock", "NASDAQ"], "AIA": ["iShares Asia 50 ETF", "NASDAQ"], "AIH": ["Aesthetic Medical International Holdings Group Ltd. - American Depositary Shares", "NASDAQ"], "AIHS": ["Senmiao Technology Limited - Common Stock", "NASDAQ"], "AIKI": ["AIkido Pharma Inc. - Common Stock", "NASDAQ"], "AIMC": ["Altra Industrial Motion Corp. - Common Stock", "NASDAQ"], "AINV": ["Apollo Investment Corporation - Closed End Fund", "NASDAQ"], "AIQ": ["Global X Artificial Intelligence & Technology ETF", "NASDAQ"], "AIRG": ["Airgain, Inc. - Common Stock", "NASDAQ"], "AIRR": ["First Trust RBA American Industrial Renaissance ETF", "NASDAQ"], "AIRT": ["Air T, Inc. - Common Stock", "NASDAQ"], "AIRTP": ["Air T, Inc. - Trust Preferred Securities", "NASDAQ"], "AIRTW": ["Air T, Inc. - Air T Funding Warrants to Purchase Trust Preferred", "NASDAQ"], "AKAM": ["Akamai Technologies", "S&P500"], "AKBA": ["Akebia Therapeutics, Inc. - Common Stock", "NASDAQ"], "AKER": ["Akers Biosciences Inc. - Common Stock", "NASDAQ"], "AKIC": ["Sports Ventures Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "AKICU": ["Sports Ventures Acquisition Corp. - Unit", "NASDAQ"], "AKICW": ["Sports Ventures Acquisition Corp. - Warrant", "NASDAQ"], "AKRO": ["Akero Therapeutics, Inc. - Common Stock", "NASDAQ"], "AKTS": ["Akoustis Technologies, Inc. - Common Stock", "NASDAQ"], "AKTX": ["Akari Therapeutics Plc - American Depositary Shares", "NASDAQ"], "AKU": ["Akumin Inc. - Common Shares", "NASDAQ"], "AKUS": ["Akouos, Inc. - Common Stock", "NASDAQ"], "ALAC": ["Alberton Acquisition Corporation - Ordinary Shares", "NASDAQ"], "ALACR": ["Alberton Acquisition Corporation - Rights", "NASDAQ"], "ALACU": ["Alberton Acquisition Corporation - Unit", "NASDAQ"], "ALACW": ["Alberton Acquisition Corporation - Warrant", "NASDAQ"], "ALBO": ["Albireo Pharma, Inc. - Common Stock", "NASDAQ"], "ALCO": ["Alico, Inc. - Common Stock", "NASDAQ"], "ALDX": ["Aldeyra Therapeutics, Inc. - Common Stock", "NASDAQ"], "ALEC": ["Alector, Inc. - Common Stock", "NASDAQ"], "ALGM": ["Allegro MicroSystems, Inc. - Common Stock", "NASDAQ"], "ALGN": ["Align Technology", "S&P500"], "ALGS": ["Aligos Therapeutics, Inc. - Common stock", "NASDAQ"], "ALGT": ["Allegiant Travel Company - Common Stock", "NASDAQ"], "ALIM": ["Alimera Sciences, Inc. - Common Stock", "NASDAQ"], "ALJJ": ["ALJ Regional Holdings, Inc. - Common Stock", "NASDAQ"], "ALKS": ["Alkermes plc - Ordinary Shares", "NASDAQ"], "ALLK": ["Allakos Inc. - Common Stock", "NASDAQ"], "ALLO": ["Allogene Therapeutics, Inc. - Common Stock", "NASDAQ"], "ALLT": ["Allot Ltd. - Ordinary Shares", "NASDAQ"], "ALNA": ["Allena Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ALNY": ["Alnylam Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ALOT": ["AstroNova, Inc. - Common Stock", "NASDAQ"], "ALPN": ["Alpine Immune Sciences, Inc. - Common Stock", "NASDAQ"], "ALRM": ["Alarm.com Holdings, Inc. - Common Stock", "NASDAQ"], "ALRN": ["Aileron Therapeutics, Inc. - Common Stock", "NASDAQ"], "ALRS": ["Alerus Financial Corporation - Common Stock", "NASDAQ"], "ALSK": ["Alaska Communications Systems Group, Inc. - Common Stock", "NASDAQ"], "ALT": ["Altimmune, Inc. - Common Stock", "NASDAQ"], "ALTA": ["Altabancorp - Common Stock", "NASDAQ"], "ALTM": ["Altus Midstream Company - Class A Common Stock", "NASDAQ"], "ALTO": ["Alto Ingredients, Inc. - Common Stock", "NASDAQ"], "ALTR": ["Altair Engineering Inc. - Class A Common Stock", "NASDAQ"], "ALTU": ["Altitude Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ALTUU": ["Altitude Acquisition Corp. - Unit", "NASDAQ"], "ALTUW": ["Altitude Acquisition Corp. - Warrant", "NASDAQ"], "ALTY": ["Global X SuperDividend Alternatives ETF", "NASDAQ"], "ALVR": ["AlloVir, Inc. - Common Stock", "NASDAQ"], "ALXN": ["Alexion Pharmaceuticals", "S&P500"], "ALXO": ["ALX Oncology Holdings Inc. - Common Stock", "NASDAQ"], "ALYA": ["Alithya Group inc. - Class A subordinate voting shares", "NASDAQ"], "AMAL": ["Amalgamated Financial Corp. - Common Stock", "NASDAQ"], "AMAOU": ["American Acquisition Opportunity Inc. - Units", "NASDAQ"], "AMAT": ["Applied Materials Inc.", "S&P500"], "AMBA": ["Ambarella, Inc. - Ordinary Shares", "NASDAQ"], "AMCA": ["iShares Russell 1000 Pure U.S. Revenue ETF", "NASDAQ"], "AMCX": ["AMC Networks Inc. - Class A Common Stock", "NASDAQ"], "AMD": ["Advanced Micro Devices", "S&P500"], "AMED": ["Amedisys Inc - Common Stock", "NASDAQ"], "AMEH": ["Apollo Medical Holdings, Inc. - Common Stock", "NASDAQ"], "AMGN": ["Amgen Inc.", "S&P500"], "AMHC": ["Amplitude Healthcare Acquisition Corporation - Class A Common Stock", "NASDAQ"], "AMHCU": ["Amplitude Healthcare Acquisition Corporation - Unit", "NASDAQ"], "AMHCW": ["Amplitude Healthcare Acquisition Corporation - Warrant", "NASDAQ"], "AMKR": ["Amkor Technology, Inc. - Common Stock", "NASDAQ"], "AMNB": ["American National Bankshares, Inc. - Common Stock", "NASDAQ"], "AMOT": ["Allied Motion Technologies, Inc. - Common Stock", "NASDAQ"], "AMPG": ["Amplitech Group, Inc. - Common Stock", "NASDAQ"], "AMPGW": ["Amplitech Group, Inc. - Warrants", "NASDAQ"], "AMPH": ["Amphastar Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AMRB": ["American River Bankshares - Common Stock", "NASDAQ"], "AMRK": ["A-Mark Precious Metals, Inc. - Common Stock", "NASDAQ"], "AMRN": ["Amarin Corporation plc - American Depositary Shares, each representing one Ordinary Share", "NASDAQ"], "AMRS": ["Amyris, Inc. - Common Stock", "NASDAQ"], "AMSC": ["American Superconductor Corporation - Common Stock", "NASDAQ"], "AMSF": ["AMERISAFE, Inc. - Common Stock", "NASDAQ"], "AMST": ["Amesite Inc. - Common Stock", "NASDAQ"], "AMSWA": ["American Software, Inc. - Class A Common Stock", "NASDAQ"], "AMTB": ["Amerant Bancorp Inc. - Class A Common Stock", "NASDAQ"], "AMTBB": ["Amerant Bancorp Inc. - Class B Common Stock", "NASDAQ"], "AMTI": ["Applied Molecular Transport Inc. - common stock", "NASDAQ"], "AMTX": ["Aemetis, Inc - Common Stock", "NASDAQ"], "AMWD": ["American Woodmark Corporation - Common Stock", "NASDAQ"], "AMYT": ["Amryt Pharma plc - American Depositary Shares", "NASDAQ"], "AMZN": ["Amazon.com Inc.", "S&P500"], "ANAB": ["AnaptysBio, Inc. - Common Stock", "NASDAQ"], "ANAT": ["American National Group, Inc. - Common Stock", "NASDAQ"], "ANDA": ["Andina Acquisition Corp. III - Ordinary Shares", "NASDAQ"], "ANDAR": ["Andina Acquisition Corp. III - Right", "NASDAQ"], "ANDAU": ["Andina Acquisition Corp. III - Unit", "NASDAQ"], "ANDAW": ["Andina Acquisition Corp. III - Warrant", "NASDAQ"], "ANDE": ["The Andersons, Inc. - Common Stock", "NASDAQ"], "ANGI": ["Angi Inc. - Class A Common Stock", "NASDAQ"], "ANGL": ["VanEck Vectors Fallen Angel High Yield Bond ETF", "NASDAQ"], "ANGN": ["Angion Biomedica Corp. - Common Stock", "NASDAQ"], "ANGO": ["AngioDynamics, Inc. - Common Stock", "NASDAQ"], "ANIK": ["Anika Therapeutics Inc. - Common Stock", "NASDAQ"], "ANIP": ["ANI Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ANIX": ["Anixa Biosciences, Inc. - Common Stock", "NASDAQ"], "ANNX": ["Annexon, Inc. - common stock", "NASDAQ"], "ANPC": ["AnPac Bio-Medical Science Co., Ltd. - American Depositary Shares", "NASDAQ"], "ANSS": ["ANSYS, Inc.", "S&P500"], "ANTE": ["AirNet Technology Inc. - American Depositary Shares, each representing ten ordinary shares", "NASDAQ"], "ANY": ["Sphere 3D Corp. - Common Shares", "NASDAQ"], "ANZUU": ["Anzu Special Acquisition Corp I - Units", "NASDAQ"], "AOSL": ["Alpha and Omega Semiconductor Limited - Common Shares", "NASDAQ"], "AOUT": ["American Outdoor Brands, Inc. - Common Stock", "NASDAQ"], "APA": ["APA Corporation", "S&P500"], "APDN": ["Applied DNA Sciences, Inc. - Common Stock", "NASDAQ"], "APEI": ["American Public Education, Inc. - Common Stock", "NASDAQ"], "APEN": ["Apollo Endosurgery, Inc. - Common Stock", "NASDAQ"], "APHA": ["Aphria Inc. - Common Shares", "NASDAQ"], "API": ["Agora, Inc. - ADS", "NASDAQ"], "APLS": ["Apellis Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "APLT": ["Applied Therapeutics, Inc. - Common Stock", "NASDAQ"], "APM": ["Aptorum Group Limited - Class A Ordinary Shares", "NASDAQ"], "APOG": ["Apogee Enterprises, Inc. - Common Stock", "NASDAQ"], "APOP": ["Cellect Biotechnology Ltd. - American Depositary Shares", "NASDAQ"], "APOPW": ["Cellect Biotechnology Ltd. - Warrants to Purchase ADR (1 WT and $7.50 to purchase 0.2 ADS)", "NASDAQ"], "APPF": ["AppFolio, Inc. - Class A Common Stock", "NASDAQ"], "APPH": ["AppHarvest, Inc. - Common Stock", "NASDAQ"], "APPHW": ["AppHarvest, Inc. - Warrants", "NASDAQ"], "APPN": ["Appian Corporation - Class A Common Stock", "NASDAQ"], "APPS": ["Digital Turbine, Inc. - Common Stock", "NASDAQ"], "APR": ["Apria, Inc. - Common Stock", "NASDAQ"], "APRE": ["Aprea Therapeutics, Inc. - Common Stock", "NASDAQ"], "APTO": ["Aptose Biosciences, Inc. - Common Shares", "NASDAQ"], "APTX": ["Aptinyx Inc. - Common Stock", "NASDAQ"], "APVO": ["Aptevo Therapeutics Inc. - Common Stock", "NASDAQ"], "APWC": ["Asia Pacific Wire - Common shares, Par value .01 per share", "NASDAQ"], "APXT": ["Apex Technology Acquisition Corporation - Class A Common Stock", "NASDAQ"], "APXTU": ["Apex Technology Acquisition Corporation - Unit", "NASDAQ"], "APXTW": ["Apex Technology Acquisition Corporation - Warrant", "NASDAQ"], "APYX": ["Apyx Medical Corporation - Common Stock", "NASDAQ"], "AQB": ["AquaBounty Technologies, Inc. - Common Stock", "NASDAQ"], "AQMS": ["Aqua Metals, Inc. - Common Stock", "NASDAQ"], "AQST": ["Aquestive Therapeutics, Inc. - Common Stock", "NASDAQ"], "ARAV": ["Aravive, Inc. - Common Stock", "NASDAQ"], "ARAY": ["Accuray Incorporated - Common Stock", "NASDAQ"], "ARBG": ["Aequi Acquisition Corp. - common stock", "NASDAQ"], "ARBGU": ["Aequi Acquisition Corp. - Unit", "NASDAQ"], "ARBGW": ["Aequi Acquisition Corp. - warrants", "NASDAQ"], "ARCB": ["ArcBest Corporation - Common Stock", "NASDAQ"], "ARCC": ["Ares Capital Corporation - Closed End Fund", "NASDAQ"], "ARCE": ["Arco Platform Limited - Class A Common Shares", "NASDAQ"], "ARCT": ["Arcturus Therapeutics Holdings Inc. - Common Stock", "NASDAQ"], "ARDS": ["Aridis Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "ARDX": ["Ardelyx, Inc. - Common Stock", "NASDAQ"], "AREC": ["American Resources Corporation - Class A Common Stock", "NASDAQ"], "ARGX": ["argenx SE - American Depositary Shares", "NASDAQ"], "ARKO": ["ARKO Corp. - Common Stock", "NASDAQ"], "ARKOW": ["ARKO Corp. - Warrant", "NASDAQ"], "ARKR": ["Ark Restaurants Corp. - Common Stock", "NASDAQ"], "ARLP": ["Alliance Resource Partners, L.P. - Common Units Representing Limited Partnership Interests", "NASDAQ"], "ARNA": ["Arena Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AROW": ["Arrow Financial Corporation - Common Stock", "NASDAQ"], "ARPO": ["Aerpio Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ARQT": ["Arcutis Biotherapeutics, Inc. - Common stock", "NASDAQ"], "ARRWU": ["Arrowroot Acquisition Corp. - Unit", "NASDAQ"], "ARRY": ["Array Technologies, Inc. - Common Stock", "NASDAQ"], "ARTL": ["Artelo Biosciences, Inc. - Common Stock", "NASDAQ"], "ARTLW": ["Artelo Biosciences, Inc. - Warrant", "NASDAQ"], "ARTNA": ["Artesian Resources Corporation - Class A Non-Voting Common Stock", "NASDAQ"], "ARTW": ["Art's-Way Manufacturing Co., Inc. - Common Stock", "NASDAQ"], "ARVN": ["Arvinas, Inc. - Common Stock", "NASDAQ"], "ARWR": ["Arrowhead Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ARYA": ["ARYA Sciences Acquisition Corp III - Class A Ordinary Shares", "NASDAQ"], "ARYD": ["ARYA Sciences Acquisition Corp IV - Class A Ordinary Shares", "NASDAQ"], "ASAX": ["Astrea Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ASAXU": ["Astrea Acquisition Corp. - Unit", "NASDAQ"], "ASAXW": ["Astrea Acquisition Corp. - Warrant", "NASDAQ"], "ASET": ["FlexShares Real Assets Allocation Index Fund", "NASDAQ"], "ASLE": ["AerSale Corporation - Common Stock", "NASDAQ"], "ASLEW": ["AerSale Corporation - Warrants", "NASDAQ"], "ASLN": ["ASLAN Pharmaceuticals Limited - American Depositary Shares", "NASDAQ"], "ASMB": ["Assembly Biosciences, Inc. - Common Stock", "NASDAQ"], "ASML": ["ASML Holding N.V. - New York Registry Shares", "NASDAQ"], "ASND": ["Ascendis Pharma A/S - American Depositary Shares", "NASDAQ"], "ASO": ["Academy Sports and Outdoors, Inc. - Common Stock", "NASDAQ"], "ASPCU": ["Alpha Capital Acquisition Company - Unit", "NASDAQ"], "ASPS": ["Altisource Portfolio Solutions S.A. - Common Stock", "NASDAQ"], "ASPU": ["Aspen Group Inc. - Common Stock", "NASDAQ"], "ASRT": ["Assertio Holdings, Inc. - Common Stock", "NASDAQ"], "ASRV": ["AmeriServ Financial Inc. - Common Stock", "NASDAQ"], "ASRVP": ["AmeriServ Financial Inc. - AmeriServ Financial Trust I - 8.45% Beneficial Unsecured Securities, Series A", "NASDAQ"], "ASTC": ["Astrotech Corporation - Common Stock", "NASDAQ"], "ASTE": ["Astec Industries, Inc. - Common Stock", "NASDAQ"], "ASUR": ["Asure Software Inc - Common Stock", "NASDAQ"], "ASYS": ["Amtech Systems, Inc. - Common Stock", "NASDAQ"], "ATAX": ["America First Multifamily Investors, L.P. - Beneficial Unit Certificates (BUCs) representing Limited Partnership Interests", "NASDAQ"], "ATCX": ["Atlas Technical Consultants, Inc. - Class A Common Stock", "NASDAQ"], "ATEC": ["Alphatec Holdings, Inc. - Common Stock", "NASDAQ"], "ATEX": ["Anterix Inc. - Common Stock", "NASDAQ"], "ATHA": ["Athira Pharma, Inc. - Common Stock", "NASDAQ"], "ATHE": ["Alterity Therapeutics Limited - American Depositary Shares", "NASDAQ"], "ATHX": ["Athersys, Inc. - Common Stock", "NASDAQ"], "ATIF": ["ATIF Holdings Limited - Ordinary Shares", "NASDAQ"], "ATLC": ["Atlanticus Holdings Corporation - Common Stock", "NASDAQ"], "ATLO": ["Ames National Corporation - Common Stock", "NASDAQ"], "ATNF": ["180 Life Sciences Corp. - Common Stock", "NASDAQ"], "ATNFW": ["180 Life Sciences Corp. - Warrant", "NASDAQ"], "ATNI": ["ATN International, Inc. - Common Stock", "NASDAQ"], "ATNX": ["Athenex, Inc. - Common Stock", "NASDAQ"], "ATOM": ["Atomera Incorporated - Common Stock", "NASDAQ"], "ATOS": ["Atossa Therapeutics, Inc. - Common Stock", "NASDAQ"], "ATRA": ["Atara Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "ATRC": ["AtriCure, Inc. - Common Stock", "NASDAQ"], "ATRI": ["Atrion Corporation - Common Stock", "NASDAQ"], "ATRO": ["Astronics Corporation - Common Stock", "NASDAQ"], "ATRS": ["Antares Pharma, Inc. - Common Stock", "NASDAQ"], "ATSG": ["Air Transport Services Group, Inc - Common Stock", "NASDAQ"], "ATSPU": ["Archimedes Tech SPAC Partners Co. - Unit", "NASDAQ"], "ATVCU": ["Tribe Capital Growth Corp I - Units", "NASDAQ"], "ATVI": ["Activision Blizzard", "S&P500"], "ATXI": ["Avenue Therapeutics, Inc. - Common Stock", "NASDAQ"], "AUB": ["Atlantic Union Bankshares Corporation - Common Stock", "NASDAQ"], "AUBAP": ["Atlantic Union Bankshares Corporation - Depositary Shares each representing a 1/400th ownership interest in a share of 6.875%Perpetual Non-Cumulative Preferred Stock, Series A", "NASDAQ"], "AUBN": ["Auburn National Bancorporation, Inc. - Common Stock", "NASDAQ"], "AUDC": ["AudioCodes Ltd. - Ordinary Shares", "NASDAQ"], "AUPH": ["Aurinia Pharmaceuticals Inc - Common Shares", "NASDAQ"], "AURCU": ["Aurora Acquisition Corp. - Unit", "NASDAQ"], "AUTL": ["Autolus Therapeutics plc - American Depositary Shares", "NASDAQ"], "AUTO": ["AutoWeb, Inc. - Common Stock", "NASDAQ"], "AUUD": ["Auddia Inc. - Common Stock", "NASDAQ"], "AUUDW": ["Auddia Inc. - Warrants", "NASDAQ"], "AUVI": ["Applied UV, Inc. - Common Stock", "NASDAQ"], "AVAV": ["AeroVironment, Inc. - Common Stock", "NASDAQ"], "AVCO": ["Avalon GloboCare Corp. - Common Stock", "NASDAQ"], "AVCT": ["American Virtual Cloud Technologies, Inc. - Common Stock", "NASDAQ"], "AVCTW": ["American Virtual Cloud Technologies, Inc. - Warrant expiring 4/7/2020", "NASDAQ"], "AVDL": ["Avadel Pharmaceuticals plc - American Depositary Shares each representing one Ordinary Share", "NASDAQ"], "AVEO": ["AVEO Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AVGO": ["Broadcom Inc.", "S&P500"], "AVGOP": ["Broadcom Inc. - 8.00% Mandatory Convertible Preferred Stock, Series A", "NASDAQ"], "AVGR": ["Avinger, Inc. - Common Stock", "NASDAQ"], "AVID": ["Avid Technology, Inc. - Common Stock", "NASDAQ"], "AVIR": ["Atea Pharmaceuticals, Inc. - common stock", "NASDAQ"], "AVNW": ["Aviat Networks, Inc. - Common Stock", "NASDAQ"], "AVO": ["Mission Produce, Inc. - Common Stock", "NASDAQ"], "AVRO": ["AVROBIO, Inc. - Common Stock", "NASDAQ"], "AVT": ["Avnet, Inc. - Common Stock", "NASDAQ"], "AVXL": ["Anavex Life Sciences Corp. - Common Stock", "NASDAQ"], "AWH": ["Aspira Women's Health Inc. - Common Stock", "NASDAQ"], "AWRE": ["Aware, Inc. - Common Stock", "NASDAQ"], "AXAS": ["Abraxas Petroleum Corporation - Common Stock", "NASDAQ"], "AXDX": ["Accelerate Diagnostics, Inc. - Common Stock", "NASDAQ"], "AXGN": ["Axogen, Inc. - Common Stock", "NASDAQ"], "AXLA": ["Axcella Health Inc. - Common Stock", "NASDAQ"], "AXNX": ["Axonics Modulation Technologies, Inc. - Common Stock", "NASDAQ"], "AXON": ["Axon Enterprise, Inc. - Common Stock", "NASDAQ"], "AXSM": ["Axsome Therapeutics, Inc. - Common Stock", "NASDAQ"], "AXTI": ["AXT Inc - Common Stock", "NASDAQ"], "AY": ["Atlantica Sustainable Infrastructure plc - Ordinary Shares", "NASDAQ"], "AYLA": ["Ayala Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AYRO": ["AYRO, Inc. - Common Stock", "NASDAQ"], "AYTU": ["Aytu BioScience, Inc. - Common Stock", "NASDAQ"], "AZN": ["AstraZeneca PLC - American Depositary Shares", "NASDAQ"], "AZPN": ["Aspen Technology, Inc. - Common Stock", "NASDAQ"], "AZRX": ["AzurRx BioPharma, Inc. - Common Stock", "NASDAQ"], "AZYO": ["Aziyo Biologics, Inc. - Class A Common Stock", "NASDAQ"], "BAND": ["Bandwidth Inc. - Class A Common Stock", "NASDAQ"], "BANF": ["BancFirst Corporation - Common Stock", "NASDAQ"], "BANFP": ["BancFirst Corporation - 7.2% Cumulative Trust Preferred Securities", "NASDAQ"], "BANR": ["Banner Corporation - Common Stock", "NASDAQ"], "BANX": ["StoneCastle Financial Corp - Common Stock", "NASDAQ"], "BAOS": ["Baosheng Media Group Holdings Limited - Ordinary shares", "NASDAQ"], "BASI": ["Bioanalytical Systems, Inc. - Common Stock", "NASDAQ"], "BATRA": ["Liberty Media Corporation - Series A Liberty Braves Common Stock", "NASDAQ"], "BATRK": ["Liberty Media Corporation - Series C Liberty Braves Common Stock", "NASDAQ"], "BBBY": ["Bed Bath & Beyond Inc. - Common Stock", "NASDAQ"], "BBCP": ["Concrete Pumping Holdings, Inc. - Common Stock", "NASDAQ"], "BBGI": ["Beasley Broadcast Group, Inc. - Class A Common Stock", "NASDAQ"], "BBH": ["VanEck Vectors Biotech ETF", "NASDAQ"], "BBI": ["Brickell Biotech, Inc. - Common Stock", "NASDAQ"], "BBIG": ["Vinco Ventures, Inc. - Common Stock", "NASDAQ"], "BBIO": ["BridgeBio Pharma, Inc. - Common Stock", "NASDAQ"], "BBQ": ["BBQ Holdings, Inc. - Common Stock", "NASDAQ"], "BBSI": ["Barrett Business Services, Inc. - Common Stock", "NASDAQ"], "BCAB": ["BioAtla, Inc. - Common Stock", "NASDAQ"], "BCAC": ["Brookline Capital Acquisition Corp. - Common Stock", "NASDAQ"], "BCACU": ["Brookline Capital Acquisition Corp. - Units", "NASDAQ"], "BCACW": ["Brookline Capital Acquisition Corp. - Warrant", "NASDAQ"], "BCBP": ["BCB Bancorp, Inc. (NJ) - Common Stock", "NASDAQ"], "BCDA": ["BioCardia, Inc. - Common Stock", "NASDAQ"], "BCDAW": ["BioCardia, Inc. - Warrant", "NASDAQ"], "BCEL": ["Atreca, Inc. - Class A Common Stock", "NASDAQ"], "BCLI": ["Brainstorm Cell Therapeutics Inc. - Common Stock", "NASDAQ"], "BCML": ["BayCom Corp - Common Stock", "NASDAQ"], "BCOR": ["Blucora, Inc. - Common Stock", "NASDAQ"], "BCOV": ["Brightcove Inc. - Common Stock", "NASDAQ"], "BCOW": ["1895 Bancorp of Wisconsin, Inc. - Common Stock", "NASDAQ"], "BCPC": ["Balchem Corporation - Common Stock", "NASDAQ"], "BCRX": ["BioCryst Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "BCTG": ["BCTG Acquisition Corp. - Common Stock", "NASDAQ"], "BCTX": ["BriaCell Therapeutics Corp. - Common Shares", "NASDAQ"], "BCTXW": ["BriaCell Therapeutics Corp. - Warrant", "NASDAQ"], "BCYC": ["Bicycle Therapeutics plc - American Depositary Shares", "NASDAQ"], "BCYP": ["Big Cypress Acquisition Corp. - Common stock", "NASDAQ"], "BCYPU": ["Big Cypress Acquisition Corp. - Unit", "NASDAQ"], "BCYPW": ["Big Cypress Acquisition Corp. - Warrant", "NASDAQ"], "BDSI": ["BioDelivery Sciences International, Inc. - Common Stock", "NASDAQ"], "BDSX": ["Biodesix, Inc. - Common Stock", "NASDAQ"], "BDTX": ["Black Diamond Therapeutics, Inc. - Common Stock", "NASDAQ"], "BEAM": ["Beam Therapeutics Inc. - Common Stock", "NASDAQ"], "BECN": ["Beacon Roofing Supply, Inc. - Common Stock", "NASDAQ"], "BEEM": ["Beam Global - Common Stock", "NASDAQ"], "BEEMW": ["Beam Global - Warrant", "NASDAQ"], "BELFA": ["Bel Fuse Inc. - Class A Common Stock", "NASDAQ"], "BELFB": ["Bel Fuse Inc. - Class B Common Stock", "NASDAQ"], "BENE": ["Benessere Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BENER": ["Benessere Capital Acquisition Corp. - Right", "NASDAQ"], "BENEU": ["Benessere Capital Acquisition Corp. - Unit", "NASDAQ"], "BENEW": ["Benessere Capital Acquisition Corp. - Warrant", "NASDAQ"], "BFC": ["Bank First Corporation - Common Stock", "NASDAQ"], "BFI": ["BurgerFi International Inc - Common Stock", "NASDAQ"], "BFIIW": ["BurgerFi International Inc - Warrant", "NASDAQ"], "BFIN": ["BankFinancial Corporation - Common Stock", "NASDAQ"], "BFIT": ["Global X Health & Wellness Thematic ETF", "NASDAQ"], "BFRA": ["Biofrontera AG - American Depositary Shares", "NASDAQ"], "BFST": ["Business First Bancshares, Inc. - Common Stock", "NASDAQ"], "BGCP": ["BGC Partners, Inc. - Class A Common Stock", "NASDAQ"], "BGFV": ["Big 5 Sporting Goods Corporation - Common Stock", "NASDAQ"], "BGNE": ["BeiGene, Ltd. - American Depositary Shares", "NASDAQ"], "BGRN": ["iShares Global Green Bond ETF", "NASDAQ"], "BHAT": ["Blue Hat Interactive Entertainment Technology - Ordinary Shares", "NASDAQ"], "BHF": ["Brighthouse Financial, Inc. - Common Stock", "NASDAQ"], "BHFAL": ["Brighthouse Financial, Inc. - Junior Subordinated Debentures due 2058", "NASDAQ"], "BHFAN": ["Brighthouse Financial, Inc. - depositary shares, each representing a 1/1,000th interest in a share of 5.375% Non-Cumulative Preferred Stock, Series C", "NASDAQ"], "BHFAO": ["Brighthouse Financial, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 6.750% Non-Cumulative Preferred Stock, Series B", "NASDAQ"], "BHFAP": ["Brighthouse Financial, Inc. - Depositary Shares 6.6% Non-Cumulative Preferred Stock, Series A", "NASDAQ"], "BHSE": ["Bull Horn Holdings Corp. - Ordinary Shares", "NASDAQ"], "BHSEU": ["Bull Horn Holdings Corp. - Unit", "NASDAQ"], "BHSEW": ["Bull Horn Holdings Corp. - Warrants", "NASDAQ"], "BHTG": ["BioHiTech Global, Inc. - Common Stock", "NASDAQ"], "BIB": ["ProShares Ultra Nasdaq Biotechnology", "NASDAQ"], "BICK": ["First Trust BICK Index Fund", "NASDAQ"], "BIDU": ["Baidu, Inc. - American Depositary Shares, each representing 8 ordinary share", "NASDAQ"], "BIGC": ["BigCommerce Holdings, Inc. - Series 1 Common Stock", "NASDAQ"], "BIIB": ["Biogen Inc.", "S&P500"], "BILI": ["Bilibili Inc. - American Depositary Shares", "NASDAQ"], "BIMI": ["BOQI International Medical Inc. - Common Stock", "NASDAQ"], "BIOC": ["Biocept, Inc. - Common Stock", "NASDAQ"], "BIOL": ["Biolase, Inc. - Common Stock", "NASDAQ"], "BIOT": ["Biotech Acquisition Company - Class A Ordinary Shares", "NASDAQ"], "BIOTU": ["Biotech Acquisition Company - Unit", "NASDAQ"], "BIOTW": ["Biotech Acquisition Company - Warrant", "NASDAQ"], "BIS": ["ProShares UltraShort Nasdaq Biotechnology", "NASDAQ"], "BIVI": ["BioVie Inc. - Common stock", "NASDAQ"], "BJK": ["VanEck Vectors Gaming ETF", "NASDAQ"], "BJRI": ["BJ's Restaurants, Inc. - Common Stock", "NASDAQ"], "BKCC": ["BlackRock Capital Investment Corporation - Common Stock", "NASDAQ"], "BKEP": ["Blueknight Energy Partners L.P., L.L.C. - Common Units representing Limited Partner Interests", "NASDAQ"], "BKEPP": ["Blueknight Energy Partners L.P., L.L.C. - Series A Preferred Units", "NASDAQ"], "BKNG": ["Booking Holdings Inc", "S&P500"], "BKSC": ["Bank of South Carolina Corp. - Common Stock", "NASDAQ"], "BKYI": ["BIO-key International, Inc. - Common Stock", "NASDAQ"], "BL": ["BlackLine, Inc. - Common Stock", "NASDAQ"], "BLBD": ["Blue Bird Corporation - Common Stock", "NASDAQ"], "BLCM": ["Bellicum Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "BLCN": ["Siren Nasdaq NexGen Economy ETF", "NASDAQ"], "BLCT": ["BlueCity Holdings Limited - American Depositary Shares", "NASDAQ"], "BLDP": ["Ballard Power Systems, Inc. - Common Shares", "NASDAQ"], "BLDR": ["Builders FirstSource, Inc. - Common Stock", "NASDAQ"], "BLFS": ["BioLife Solutions, Inc. - Common Stock", "NASDAQ"], "BLI": ["Berkeley Lights, Inc. - Common Stock", "NASDAQ"], "BLIN": ["Bridgeline Digital, Inc. - Common Stock", "NASDAQ"], "BLKB": ["Blackbaud, Inc. - Common Stock", "NASDAQ"], "BLMN": ["Bloomin' Brands, Inc. - Common Stock", "NASDAQ"], "BLNK": ["Blink Charging Co. - Common Stock", "NASDAQ"], "BLNKW": ["Blink Charging Co. - Warrant", "NASDAQ"], "BLPH": ["Bellerophon Therapeutics, Inc. - Common Stock", "NASDAQ"], "BLRX": ["BioLineRx Ltd. - American Depositary Shares", "NASDAQ"], "BLSA": ["BCLS Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "BLTS": ["Bright Lights Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BLTSU": ["Bright Lights Acquisition Corp. - Unit", "NASDAQ"], "BLTSW": ["Bright Lights Acquisition Corp. - Warrant", "NASDAQ"], "BLU": ["BELLUS Health Inc. - Common Shares", "NASDAQ"], "BLUE": ["bluebird bio, Inc. - Common Stock", "NASDAQ"], "BLUW": ["Blue Water Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BLUWU": ["Blue Water Acquisition Corp. - Unit", "NASDAQ"], "BLUWW": ["Blue Water Acquisition Corp. - Warrant", "NASDAQ"], "BMBL": ["Bumble Inc. - common stock", "NASDAQ"], "BMRA": ["Biomerica, Inc. - Common Stock", "NASDAQ"], "BMRC": ["Bank of Marin Bancorp - Common Stock", "NASDAQ"], "BMRN": ["BioMarin Pharmaceutical Inc. - Common Stock", "NASDAQ"], "BMTC": ["Bryn Mawr Bank Corporation - Common Stock", "NASDAQ"], "BND": ["Vanguard Total Bond Market ETF", "NASDAQ"], "BNDW": ["Vanguard Total World Bond ETF", "NASDAQ"], "BNDX": ["Vanguard Total International Bond ETF", "NASDAQ"], "BNFT": ["Benefitfocus, Inc. - Common Stock", "NASDAQ"], "BNGO": ["Bionano Genomics, Inc. - Common Stock", "NASDAQ"], "BNGOW": ["Bionano Genomics, Inc. - Warrant", "NASDAQ"], "BNR": ["Burning Rock Biotech Limited - American Depositary Shares", "NASDAQ"], "BNSO": ["Bonso Electronics International, Inc. - Common Stock", "NASDAQ"], "BNTC": ["Benitec Biopharma Inc. - Common Stock", "NASDAQ"], "BNTX": ["BioNTech SE - American Depositary Shares", "NASDAQ"], "BOCH": ["Bank of Commerce Holdings (CA) - Common Stock", "NASDAQ"], "BOKF": ["BOK Financial Corporation - Common Stock", "NASDAQ"], "BOKFL": ["BOK Financial Corporation - 5.375% Subordinated Notes due 2056", "NASDAQ"], "BOLT": ["Bolt Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "BOMN": ["Boston Omaha Corporation - Class A Common Stock", "NASDAQ"], "BOOM": ["DMC Global Inc. - Common Stock", "NASDAQ"], "BOSC": ["B.O.S. Better Online Solutions - Ordinary Shares", "NASDAQ"], "BOTJ": ["Bank of the James Financial Group, Inc. - Common Stock", "NASDAQ"], "BOTZ": ["Global X Robotics & Artificial Intelligence ETF", "NASDAQ"], "BOWX": ["BowX Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BOWXU": ["BowX Acquisition Corp. - Unit", "NASDAQ"], "BOWXW": ["BowX Acquisition Corp. - Warrant", "NASDAQ"], "BOXL": ["Boxlight Corporation - Class A Common Stock", "NASDAQ"], "BPFH": ["Boston Private Financial Holdings, Inc. - Common Stock", "NASDAQ"], "BPMC": ["Blueprint Medicines Corporation - Common Stock", "NASDAQ"], "BPOP": ["Popular, Inc. - Common Stock", "NASDAQ"], "BPOPM": ["Popular, Inc. - Popular Capital Trust II - 6.125% Cumulative Monthly Income Trust Preferred Securities", "NASDAQ"], "BPOPN": ["Popular, Inc. - Popular Capital Trust I -6.70% Cumulative Monthly Income Trust Preferred Securities", "NASDAQ"], "BPRN": ["The Bank of Princeton - Common Stock", "NASDAQ"], "BPTH": ["Bio-Path Holdings, Inc. - Common Stock", "NASDAQ"], "BPTS": ["Biophytis SA - American Depositary Share", "NASDAQ"], "BPY": ["Brookfield Property Partners L.P. - Limited Partnership Units", "NASDAQ"], "BPYPN": ["Brookfield Property Partners L.P. - 5.750% Class A Cumulative Redeemable Perpetual Preferred Units, Series 3", "NASDAQ"], "BPYPO": ["Brookfield Property Partners L.P. - 6.375% Class A Cumulative Redeemable Perpetual Preferred Units, Series 2", "NASDAQ"], "BPYPP": ["Brookfield Property Partners L.P. - 6.50% Class A Cumulative Redeemable Perpetual Preferred Units", "NASDAQ"], "BPYU": ["Brookfield Property REIT Inc. - Class A Common Stock", "NASDAQ"], "BPYUP": ["Brookfield Property REIT Inc. - 6.375% Series A Preferred Stock", "NASDAQ"], "BREZ": ["Breeze Holdings Acquisition Corp. - Common Stock", "NASDAQ"], "BREZR": ["Breeze Holdings Acquisition Corp. - Right", "NASDAQ"], "BREZW": ["Breeze Holdings Acquisition Corp. - Warrant", "NASDAQ"], "BRID": ["Bridgford Foods Corporation - Common Stock", "NASDAQ"], "BRKL": ["Brookline Bancorp, Inc. - Common Stock", "NASDAQ"], "BRKR": ["Bruker Corporation - Common Stock", "NASDAQ"], "BRKS": ["Brooks Automation, Inc. - Common Stock", "NASDAQ"], "BRLI": ["Brilliant Acquisition Corporation - Ordinary Shares", "NASDAQ"], "BRLIR": ["Brilliant Acquisition Corporation - Rights", "NASDAQ"], "BRLIU": ["Brilliant Acquisition Corporation - Unit", "NASDAQ"], "BRLIW": ["Brilliant Acquisition Corporation - Warrants", "NASDAQ"], "BROG": ["Brooge Energy Limited - Ordinary Shares", "NASDAQ"], "BROGW": ["Brooge Energy Limited - Warrant", "NASDAQ"], "BRP": ["BRP Group, Inc. - Class A Common Stock", "NASDAQ"], "BRPA": ["Big Rock Partners Acquisition Corp. - Common Stock", "NASDAQ"], "BRPAR": ["Big Rock Partners Acquisition Corp. - Right", "NASDAQ"], "BRPAU": ["Big Rock Partners Acquisition Corp. - Unit", "NASDAQ"], "BRPAW": ["Big Rock Partners Acquisition Corp. - Warrant", "NASDAQ"], "BRPMU": ["B. Riley Principal 150 Merger Corp. - Unit", "NASDAQ"], "BRQS": ["Borqs Technologies, Inc. - Ordinary Shares", "NASDAQ"], "BRY": ["Berry Corporation (bry) - Common Stock", "NASDAQ"], "BSAE": ["Invesco BulletShares 2021 USD Emerging Markets Debt ETF", "NASDAQ"], "BSBE": ["Invesco BulletShares 2022 USD Emerging Markets Debt ETF", "NASDAQ"], "BSBK": ["Bogota Financial Corp. - Common Stock", "NASDAQ"], "BSCE": ["Invesco BulletShares 2023 USD Emerging Markets Debt ETF", "NASDAQ"], "BSCL": ["Invesco BulletShares 2021 Corporate Bond ETF", "NASDAQ"], "BSCM": ["Invesco BulletShares 2022 Corporate Bond ETF", "NASDAQ"], "BSCN": ["Invesco BulletShares 2023 Corporate Bond ETF", "NASDAQ"], "BSCO": ["Invesco BulletShares 2024 Corporate Bond ETF", "NASDAQ"], "BSCP": ["Invesco BulletShares 2025 Corporate Bond ETF", "NASDAQ"], "BSCQ": ["Invesco BulletShares 2026 Corporate Bond ETF", "NASDAQ"], "BSCR": ["Invesco BulletShares 2027 Corporate Bond ETF", "NASDAQ"], "BSCS": ["Invesco BulletShares 2028 Corporate Bond ETF", "NASDAQ"], "BSCT": ["Invesco BulletShares 2029 Corporate Bond ETF", "NASDAQ"], "BSCU": ["Invesco BulletShares 2030 Corporate Bond ETF", "NASDAQ"], "BSDE": ["Invesco BulletShares 2024 USD Emerging Markets Debt ETF", "NASDAQ"], "BSET": ["Bassett Furniture Industries, Incorporated - Common Stock", "NASDAQ"], "BSGM": ["BioSig Technologies, Inc. - Common Stock", "NASDAQ"], "BSJL": ["Invesco BulletShares 2021 High Yield Corporate Bond ETF", "NASDAQ"], "BSJM": ["Invesco BulletShares 2022 High Yield Corporate Bond ETF", "NASDAQ"], "BSJN": ["Invesco BulletShares 2023 High Yield Corporate Bond ETF", "NASDAQ"], "BSJO": ["Invesco BulletShares 2024 High Yield Corporate Bond ETF", "NASDAQ"], "BSJP": ["Invesco BulletShares 2025 High Yield Corporate Bond ETF", "NASDAQ"], "BSJQ": ["Invesco BulletShares 2026 High Yield Corporate Bond ETF", "NASDAQ"], "BSJR": ["Invesco BulletShares 2027 High Yield Corporate Bond ETF", "NASDAQ"], "BSJS": ["Invesco BulletShares 2028 High Yield Corporate Bond ETF", "NASDAQ"], "BSML": ["Invesco BulletShares 2021 Municipal Bond ETF", "NASDAQ"], "BSMM": ["Invesco BulletShares 2022 Municipal Bond ETF", "NASDAQ"], "BSMN": ["Invesco BulletShares 2023 Municipal Bond ETF", "NASDAQ"], "BSMO": ["Invesco BulletShares 2024 Municipal Bond ETF", "NASDAQ"], "BSMP": ["Invesco BulletShares 2025 Municipal Bond ETF", "NASDAQ"], "BSMQ": ["Invesco BulletShares 2026 Municipal Bond ETF", "NASDAQ"], "BSMR": ["Invesco BulletShares 2027 Municipal Bond ETF", "NASDAQ"], "BSMS": ["Invesco BulletShares 2028 Municipal Bond ETF", "NASDAQ"], "BSMT": ["Invesco BulletShares 2029 Municipal Bond ETF", "NASDAQ"], "BSMU": ["Invesco BulletShares 2030 Municipal Bond ETF", "NASDAQ"], "BSPE": ["Bespoke Capital Acquisition Corp. - Class A Restricted Voting Shares", "NASDAQ"], "BSQR": ["BSQUARE Corporation - Common Stock", "NASDAQ"], "BSRR": ["Sierra Bancorp - Common Stock", "NASDAQ"], "BSVN": ["Bank7 Corp. - Common stock", "NASDAQ"], "BSY": ["Bentley Systems, Incorporated - Class B Common Stock", "NASDAQ"], "BTAI": ["BioXcel Therapeutics, Inc. - Common Stock", "NASDAQ"], "BTAQ": ["Burgundy Technology Acquisition Corporation - Class A Ordinary Shares", "NASDAQ"], "BTAQU": ["Burgundy Technology Acquisition Corporation - Unit", "NASDAQ"], "BTAQW": ["Burgundy Technology Acquisition Corporation - Warrant", "NASDAQ"], "BTBT": ["Bit Digital, Inc. - Ordinary Share", "NASDAQ"], "BTEC": ["Principal Healthcare Innovators Index ETF", "NASDAQ"], "BTNB": ["Bridgetown 2 Holdings Limited - Class A Ordinary Shares", "NASDAQ"], "BTRS": ["BTRS Holdings Inc. - Class 1 Common Stock", "NASDAQ"], "BTRSW": ["BTRS Holdings Inc. - Warrants", "NASDAQ"], "BTWN": ["Bridgetown Holdings Limited - Class A Ordinary Shares", "NASDAQ"], "BTWNU": ["Bridgetown Holdings Limited - Units", "NASDAQ"], "BTWNW": ["Bridgetown Holdings Limited - Warrants", "NASDAQ"], "BUG": ["Global X Cybersecurity ETF", "NASDAQ"], "BUSE": ["First Busey Corporation - Common Stock", "NASDAQ"], "BVS": ["Bioventus Inc. - Class A Common Stock", "NASDAQ"], "BVXV": ["BiondVax Pharmaceuticals Ltd. - American Depositary Shares", "NASDAQ"], "BWAC": ["Better World Acquisition Corp. - Common Stock", "NASDAQ"], "BWACU": ["Better World Acquisition Corp. - Unit", "NASDAQ"], "BWACW": ["Better World Acquisition Corp. - Warrants", "NASDAQ"], "BWAY": ["Brainsway Ltd. - American Depositary Shares", "NASDAQ"], "BWB": ["Bridgewater Bancshares, Inc. - Common Stock", "NASDAQ"], "BWEN": ["Broadwind, Inc. - Common Stock", "NASDAQ"], "BWFG": ["Bankwell Financial Group, Inc. - Common Stock", "NASDAQ"], "BWMX": ["Betterware de Mexico, S.A.B de C.V. - Ordinary Shares", "NASDAQ"], "BXRX": ["Baudax Bio, Inc. - Common stock", "NASDAQ"], "BYFC": ["Broadway Financial Corporation - Common Stock", "NASDAQ"], "BYND": ["Beyond Meat, Inc. - Common stock", "NASDAQ"], "BYSI": ["BeyondSpring, Inc. - Ordinary Shares", "NASDAQ"], "BZUN": ["Baozun Inc. - American Depositary Shares", "NASDAQ"], "CAAS": ["China Automotive Systems, Inc. - Common Stock", "NASDAQ"], "CABA": ["Cabaletta Bio, Inc. - Common Stock", "NASDAQ"], "CAC": ["Camden National Corporation - Common Stock", "NASDAQ"], "CACC": ["Credit Acceptance Corporation - Common Stock", "NASDAQ"], "CACG": ["ClearBridge All Cap Growth ETF", "NASDAQ"], "CAHC": ["CA Healthcare Acquisition Corp. - Class A Common Stock", "NASDAQ"], "CAHCU": ["CA Healthcare Acquisition Corp. - Unit", "NASDAQ"], "CAHCW": ["CA Healthcare Acquisition Corp. - Warrant", "NASDAQ"], "CAKE": ["The Cheesecake Factory Incorporated - Common Stock", "NASDAQ"], "CALA": ["Calithera Biosciences, Inc. - Common Stock", "NASDAQ"], "CALB": ["California BanCorp - Common Stock", "NASDAQ"], "CALM": ["Cal-Maine Foods, Inc. - Common Stock", "NASDAQ"], "CALT": ["Calliditas Therapeutics AB - American Depositary Shares", "NASDAQ"], "CAMP": ["CalAmp Corp. - Common Stock", "NASDAQ"], "CAMT": ["Camtek Ltd. - Ordinary Shares", "NASDAQ"], "CAN": ["Canaan Inc. - American Depositary Shares", "NASDAQ"], "CAPA": ["HighCape Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "CAPAU": ["HighCape Capital Acquisition Corp. - Unit", "NASDAQ"], "CAPAW": ["HighCape Capital Acquisition Corp. - Warrant", "NASDAQ"], "CAPR": ["Capricor Therapeutics, Inc. - Common Stock", "NASDAQ"], "CAR": ["Avis Budget Group, Inc. - Common Stock", "NASDAQ"], "CARA": ["Cara Therapeutics, Inc. - Common Stock", "NASDAQ"], "CARE": ["Carter Bankshares, Inc. - Common Stock", "NASDAQ"], "CARG": ["CarGurus, Inc. - Class A Common Stock", "NASDAQ"], "CARV": ["Carver Bancorp, Inc. - Common Stock", "NASDAQ"], "CARZ": ["First Trust NASDAQ Global Auto Index Fund", "NASDAQ"], "CASA": ["Casa Systems, Inc. - Common Stock", "NASDAQ"], "CASH": ["Meta Financial Group, Inc. - Common Stock", "NASDAQ"], "CASI": ["CASI Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CASS": ["Cass Information Systems, Inc - Common Stock", "NASDAQ"], "CASY": ["Caseys General Stores, Inc. - Common Stock", "NASDAQ"], "CATB": ["Catabasis Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CATC": ["Cambridge Bancorp - Common Stock", "NASDAQ"], "CATH": ["Global X S&P 500 Catholic Values ETF", "NASDAQ"], "CATM": ["Cardtronics plc - Common Stock", "NASDAQ"], "CATY": ["Cathay General Bancorp - Common Stock", "NASDAQ"], "CBAN": ["Colony Bankcorp, Inc. - Common Stock", "NASDAQ"], "CBAT": ["CBAK Energy Technology, Inc. - Common Stock", "NASDAQ"], "CBAY": ["CymaBay Therapeutics Inc. - Common Stock", "NASDAQ"], "CBFV": ["CB Financial Services, Inc. - Common Stock", "NASDAQ"], "CBIO": ["Catalyst Biosciences, Inc. - Common Stock", "NASDAQ"], "CBLI": ["Cleveland BioLabs, Inc. - Common Stock", "NASDAQ"], "CBMB": ["CBM Bancorp, Inc. - Common Stock", "NASDAQ"], "CBNK": ["Capital Bancorp, Inc. - Common Stock", "NASDAQ"], "CBPO": ["China Biologic Products Holdings, Inc. - Common Stock", "NASDAQ"], "CBRL": ["Cracker Barrel Old Country Store, Inc. - Common Stock", "NASDAQ"], "CBSH": ["Commerce Bancshares, Inc. - Common Stock", "NASDAQ"], "CBTX": ["CBTX, Inc. - Common Stock", "NASDAQ"], "CCAP": ["Crescent Capital BDC, Inc. - Common Stock", "NASDAQ"], "CCB": ["Coastal Financial Corporation - Common Stock", "NASDAQ"], "CCBG": ["Capital City Bank Group - Common Stock", "NASDAQ"], "CCCC": ["C4 Therapeutics, Inc. - Common Stock", "NASDAQ"], "CCD": ["Calamos Dynamic Convertible & Income Fund - Common Shares", "NASDAQ"], "CCLP": ["CSI Compressco LP - common units", "NASDAQ"], "CCMP": ["CMC Materials, Inc. - Common Stock", "NASDAQ"], "CCNC": ["Code Chain New Continent Limited - Common Stock", "NASDAQ"], "CCNE": ["CNB Financial Corporation - Common Stock", "NASDAQ"], "CCNEP": ["CNB Financial Corporation - Depositary shares, each representing a 1/40th ownership interest in a share of 7.125% Series A Fixed- Rate Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "CCOI": ["Cogent Communications Holdings, Inc. - Common Stock", "NASDAQ"], "CCRC": ["China Customer Relations Centers, Inc. - Ordinary Shares", "NASDAQ"], "CCRN": ["Cross Country Healthcare, Inc. - Common Stock", "NASDAQ"], "CCXI": ["ChemoCentryx, Inc. - Common Stock", "NASDAQ"], "CD": ["Chindata Group Holdings Limited - American Depositary Shares", "NASDAQ"], "CDAK": ["Codiak BioSciences, Inc. - Common Stock", "NASDAQ"], "CDC": ["VictoryShares US EQ Income Enhanced Volatility Wtd ETF", "NASDAQ"], "CDEV": ["Centennial Resource Development, Inc. - Class A Common Stock", "NASDAQ"], "CDK": ["CDK Global, Inc. - Common Stock", "NASDAQ"], "CDL": ["VictoryShares US Large Cap High Div Volatility Wtd ETF", "NASDAQ"], "CDLX": ["Cardlytics, Inc. - Common Stock", "NASDAQ"], "CDMO": ["Avid Bioservices, Inc. - Common Stock", "NASDAQ"], "CDMOP": ["Avid Bioservices, Inc. - 10.50% Series E Convertible Preferred Stock", "NASDAQ"], "CDNA": ["CareDx, Inc. - Common Stock", "NASDAQ"], "CDNS": ["Cadence Design Systems", "S&P500"], "CDTX": ["Cidara Therapeutics, Inc. - Common Stock", "NASDAQ"], "CDW": ["CDW", "S&P500"], "CDXC": ["ChromaDex Corporation - Common Stock", "NASDAQ"], "CDXS": ["Codexis, Inc. - Common Stock", "NASDAQ"], "CDZI": ["Cadiz, Inc. - Common Stock", "NASDAQ"], "CECE": ["CECO Environmental Corp. - Common Stock", "NASDAQ"], "CEFA": ["Global X S&P Catholic Values Developed ex-U.S. ETF", "NASDAQ"], "CELC": ["Celcuity Inc. - Common Stock", "NASDAQ"], "CELH": ["Celsius Holdings, Inc. - Common Stock", "NASDAQ"], "CEMI": ["Chembio Diagnostics, Inc. - Common Stock", "NASDAQ"], "CENHU": ["Centricus Acquisition Corp. - Unit", "NASDAQ"], "CENT": ["Central Garden & Pet Company - Common Stock", "NASDAQ"], "CENTA": ["Central Garden & Pet Company - Class A Common Stock Nonvoting", "NASDAQ"], "CENX": ["Century Aluminum Company - Common Stock", "NASDAQ"], "CERC": ["Cerecor Inc. - Common Stock", "NASDAQ"], "CERE": ["Cerevel Therapeutics Holdings, Inc. - Common Stock", "NASDAQ"], "CEREW": ["Cerevel Therapeutics Holdings, Inc. - Warrant", "NASDAQ"], "CERN": ["Cerner", "S&P500"], "CERS": ["Cerus Corporation - Common Stock", "NASDAQ"], "CERT": ["Certara, Inc. - Common Stock", "NASDAQ"], "CETX": ["Cemtrex Inc. - Common Stock", "NASDAQ"], "CETXP": ["Cemtrex Inc. - Series 1 Preferred Stock", "NASDAQ"], "CETXW": ["Cemtrex Inc. - Series 1 Warrant", "NASDAQ"], "CEVA": ["CEVA, Inc. - Common Stock", "NASDAQ"], "CEY": ["VictoryShares Emerging Market High Div Volatility Wtd ETF", "NASDAQ"], "CEZ": ["VictoryShares Emerging Market Volatility Wtd ETF", "NASDAQ"], "CFA": ["VictoryShares US 500 Volatility Wtd ETF", "NASDAQ"], "CFAC": ["CF Finance Acquisition Corp. III - Common Stock", "NASDAQ"], "CFACU": ["CF Finance Acquisition Corp. III - Unit", "NASDAQ"], "CFACW": ["CF Finance Acquisition Corp. III - Warrant", "NASDAQ"], "CFB": ["CrossFirst Bankshares, Inc. - Common Stock", "NASDAQ"], "CFBK": ["CF Bankshares Inc. - Common Stock", "NASDAQ"], "CFFEU": ["CF Acquisition Corp. VIII - Unit", "NASDAQ"], "CFFI": ["C&F Financial Corporation - Common Stock", "NASDAQ"], "CFFN": ["Capitol Federal Financial, Inc. - Common Stock", "NASDAQ"], "CFFVU": ["CF Acquisition Corp. V - Unit", "NASDAQ"], "CFIV": ["CF Acquisition Corp. IV - Class A common stock", "NASDAQ"], "CFIVU": ["CF Acquisition Corp. IV - Unit", "NASDAQ"], "CFIVW": ["CF Acquisition Corp. IV - Warrant", "NASDAQ"], "CFMS": ["Conformis, Inc. - Common Stock", "NASDAQ"], "CFO": ["VictoryShares US 500 Enhanced Volatility Wtd ETF", "NASDAQ"], "CFRX": ["ContraFect Corporation - Common Stock", "NASDAQ"], "CFVIU": ["CF Acquisition Corp. VI - Unit", "NASDAQ"], "CG": ["The Carlyle Group Inc. - Common Stock", "NASDAQ"], "CGBD": ["TCG BDC, Inc. - Common Stock", "NASDAQ"], "CGC": ["Canopy Growth Corporation - Common Shares", "NASDAQ"], "CGEM": ["Cullinan Oncology, Inc. - Common Stock", "NASDAQ"], "CGEN": ["Compugen Ltd. - Ordinary Shares", "NASDAQ"], "CGIX": ["Cancer Genetics, Inc. - Common Stock", "NASDAQ"], "CGNT": ["Cognyte Software Ltd. - Ordinary Shares", "NASDAQ"], "CGNX": ["Cognex Corporation - Common Stock", "NASDAQ"], "CGO": ["Calamos Global Total Return Fund - Common Stock", "NASDAQ"], "CGRO": ["Collective Growth Corporation - Class A Common Stock", "NASDAQ"], "CGROU": ["Collective Growth Corporation - Unit", "NASDAQ"], "CGROW": ["Collective Growth Corporation - Warrant", "NASDAQ"], "CHB": ["Global X China Biotech Innovation ETF", "NASDAQ"], "CHCI": ["Comstock Holding Companies, Inc. - Class A Common Stock", "NASDAQ"], "CHCO": ["City Holding Company - Common Stock", "NASDAQ"], "CHDN": ["Churchill Downs, Incorporated - Common Stock", "NASDAQ"], "CHEF": ["The Chefs' Warehouse, Inc. - Common Stock", "NASDAQ"], "CHEK": ["Check-Cap Ltd. - Ordinary Share", "NASDAQ"], "CHEKZ": ["Check-Cap Ltd. - Series C Warrant", "NASDAQ"], "CHFS": ["CHF Solutions, Inc. - Common Stock", "NASDAQ"], "CHI": ["Calamos Convertible Opportunities and Income Fund - Common Stock", "NASDAQ"], "CHK": ["Chesapeake Energy Corporation - Common Stock", "NASDAQ"], "CHKEL": ["Chesapeake Energy Corporation - Class C Warrants", "NASDAQ"], "CHKEW": ["Chesapeake Energy Corporation - Class A Warrants", "NASDAQ"], "CHKEZ": ["Chesapeake Energy Corporation - Class B Warrants", "NASDAQ"], "CHKP": ["Check Point Software Technologies Ltd. - Ordinary Shares", "NASDAQ"], "CHMA": ["Chiasma, Inc. - Common Stock", "NASDAQ"], "CHMG": ["Chemung Financial Corp - Common Stock", "NASDAQ"], "CHNA": ["Loncar China BioPharma ETF", "NASDAQ"], "CHNG": ["Change Healthcare Inc. - Common Stock", "NASDAQ"], "CHNGU": ["Change Healthcare Inc. - Tangible Equity Units", "NASDAQ"], "CHNR": ["China Natural Resources, Inc. - Common Stock", "NASDAQ"], "CHPM": ["CHP Merger Corp. - Class A Common Stock", "NASDAQ"], "CHPMU": ["CHP Merger Corp. - Unit", "NASDAQ"], "CHPMW": ["CHP Merger Corp. - Warrant", "NASDAQ"], "CHRS": ["Coherus BioSciences, Inc. - Common Stock", "NASDAQ"], "CHRW": ["C. H. Robinson Worldwide", "S&P500"], "CHSCL": ["CHS Inc - Class B Cumulative Redeemable Preferred Stock, Series 4", "NASDAQ"], "CHSCM": ["CHS Inc - Class B Reset Rate Cumulative Redeemable Preferred Stock, Series 3", "NASDAQ"], "CHSCN": ["CHS Inc - Preferred Class B Series 2 Reset Rate", "NASDAQ"], "CHSCO": ["CHS Inc - Class B Cumulative Redeemable Preferred Stock", "NASDAQ"], "CHSCP": ["CHS Inc - 8% Cumulative Redeemable Preferred Stock", "NASDAQ"], "CHTR": ["Charter Communications", "S&P500"], "CHUY": ["Chuy's Holdings, Inc. - Common Stock", "NASDAQ"], "CHW": ["Calamos Global Dynamic Income Fund - Common Stock", "NASDAQ"], "CHX": ["ChampionX Corporation - Common Stock", "NASDAQ"], "CHY": ["Calamos Convertible and High Income Fund - Common Stock", "NASDAQ"], "CIBR": ["First Trust NASDAQ Cybersecurity ETF", "NASDAQ"], "CID": ["VictoryShares International High Div Volatility Wtd ETF", "NASDAQ"], "CIDM": ["Cinedigm Corp - Class A Common Stock", "NASDAQ"], "CIGI": ["Colliers International Group Inc. - Subordinate Voting Shares", "NASDAQ"], "CIH": ["China Index Holdings Limited - American Depository Shares", "NASDAQ"], "CIIC": ["CIIG Merger Corp. - Class A Common Stock", "NASDAQ"], "CIICU": ["CIIG Merger Corp. - Units", "NASDAQ"], "CIICW": ["CIIG Merger Corp. - Warrants", "NASDAQ"], "CIL": ["VictoryShares International Volatility Wtd ETF", "NASDAQ"], "CINF": ["Cincinnati Financial", "S&P500"], "CIVB": ["Civista Bancshares, Inc. - Common Stock", "NASDAQ"], "CIZ": ["VictoryShares Developed Enhanced Volatility Wtd ETF", "NASDAQ"], "CIZN": ["Citizens Holding Company - Common Stock", "NASDAQ"], "CJJD": ["China Jo-Jo Drugstores, Inc. - Common Stock", "NASDAQ"], "CKPT": ["Checkpoint Therapeutics, Inc. - Common Stock", "NASDAQ"], "CLAR": ["Clarus Corporation - Common Stock", "NASDAQ"], "CLBK": ["Columbia Financial, Inc. - Common Stock", "NASDAQ"], "CLBS": ["Caladrius Biosciences, Inc. - Common Stock", "NASDAQ"], "CLDB": ["Cortland Bancorp - Common Stock", "NASDAQ"], "CLDX": ["Celldex Therapeutics, Inc. - Common Stock", "NASDAQ"], "CLEU": ["China Liberal Education Holdings Limited - Ordinary Shares", "NASDAQ"], "CLFD": ["Clearfield, Inc. - Common Stock", "NASDAQ"], "CLGN": ["CollPlant Biotechnologies Ltd. - American Depositary Shares", "NASDAQ"], "CLIR": ["ClearSign Technologies Corporation - Common Stock", "NASDAQ"], "CLLS": ["Cellectis S.A. - American Depositary Shares", "NASDAQ"], "CLMT": ["Calumet Specialty Products Partners, L.P. - Common units representing limited partner interests", "NASDAQ"], "CLNE": ["Clean Energy Fuels Corp. - Common Stock", "NASDAQ"], "CLNN": ["Clene Inc. - Common Stock", "NASDAQ"], "CLNNW": ["Clene Inc. - Warrant", "NASDAQ"], "CLOU": ["Global X Cloud Computing ETF", "NASDAQ"], "CLOV": ["Clover Health Investments, Corp. - Class A Common stock", "NASDAQ"], "CLOVW": ["Clover Health Investments, Corp. - Warrants", "NASDAQ"], "CLPS": ["CLPS Incorporation - Common Stock", "NASDAQ"], "CLPT": ["ClearPoint Neuro Inc. - Common Stock", "NASDAQ"], "CLRB": ["Cellectar Biosciences, Inc. - Common Stock", "NASDAQ"], "CLRBZ": ["Cellectar Biosciences, Inc. - Series A Warrants", "NASDAQ"], "CLRG": ["IQ Chaikin U.S. Large Cap ETF", "NASDAQ"], "CLRMU": ["Clarim Acquisition Corp. - Unit", "NASDAQ"], "CLRO": ["ClearOne, Inc. - Common Stock", "NASDAQ"], "CLSD": ["Clearside Biomedical, Inc. - Common Stock", "NASDAQ"], "CLSK": ["CleanSpark, Inc. - Common Stock", "NASDAQ"], "CLSN": ["Celsion Corporation - Common Stock", "NASDAQ"], "CLVR": ["Clever Leaves Holdings Inc. - Common Shares", "NASDAQ"], "CLVRW": ["Clever Leaves Holdings Inc. - Warrant", "NASDAQ"], "CLVS": ["Clovis Oncology, Inc. - Common Stock", "NASDAQ"], "CLWT": ["Euro Tech Holdings Company Limited - Ordinary Shares", "NASDAQ"], "CLXT": ["Calyxt, Inc. - Common Stock", "NASDAQ"], "CMBM": ["Cambium Networks Corporation - Ordinary Shares", "NASDAQ"], "CMCO": ["Columbus McKinnon Corporation - Common Stock", "NASDAQ"], "CMCSA": ["Comcast Corp.", "S&P500"], "CMCT": ["CIM Commercial Trust Corporation - Common Stock", "NASDAQ"], "CMCTP": ["CIM Commercial Trust Corporation - Series L Preferred Stock", "NASDAQ"], "CME": ["CME Group Inc.", "S&P500"], "CMFNL": ["Investcorp Credit Management BDC, Inc. - 6.125% Notes due 2023", "NASDAQ"], "CMIIU": ["CM Life Sciences II Inc. - Unit", "NASDAQ"], "CMLF": ["CM Life Sciences, Inc. - Class A Common Stock", "NASDAQ"], "CMLFU": ["CM Life Sciences, Inc. - Unit", "NASDAQ"], "CMLFW": ["CM Life Sciences, Inc. - Warrant", "NASDAQ"], "CMLS": ["Cumulus Media Inc. - Class A Common Stock", "NASDAQ"], "CMMB": ["Chemomab Therapeutics Ltd. - American Depositary Shares", "NASDAQ"], "CMPI": ["Checkmate Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CMPR": ["Cimpress plc - Ordinary Shares", "NASDAQ"], "CMPS": ["COMPASS Pathways Plc - American Depository Shares", "NASDAQ"], "CMRX": ["Chimerix, Inc. - Common Stock", "NASDAQ"], "CMTL": ["Comtech Telecommunications Corp. - Common Stock", "NASDAQ"], "CNBKA": ["Century Bancorp, Inc. - Class A Common Stock", "NASDAQ"], "CNCE": ["Concert Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CNCR": ["Loncar Cancer Immunotherapy ETF", "NASDAQ"], "CNDT": ["Conduent Incorporated - Common Stock", "NASDAQ"], "CNET": ["ZW Data Action Technologies Inc. - Common Stock", "NASDAQ"], "CNEY": ["CN Energy Group Inc. - Ordinary Shares", "NASDAQ"], "CNFR": ["Conifer Holdings, Inc. - Common Stock", "NASDAQ"], "CNFRL": ["Conifer Holdings, Inc. - Senior Unsecured Notes", "NASDAQ"], "CNNB": ["Cincinnati Bancorp, Inc. - Common Stock", "NASDAQ"], "CNOB": ["ConnectOne Bancorp, Inc. - Common Stock", "NASDAQ"], "CNSL": ["Consolidated Communications Holdings, Inc. - Common Stock", "NASDAQ"], "CNSP": ["CNS Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CNST": ["Constellation Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CNTG": ["Centogene N.V. - Common Shares", "NASDAQ"], "CNTY": ["Century Casinos, Inc. - Common Stock", "NASDAQ"], "CNXC": ["Concentrix Corporation - Common Stock", "NASDAQ"], "CNXN": ["PC Connection, Inc. - Common Stock", "NASDAQ"], "COCP": ["Cocrystal Pharma, Inc. - Common Stock", "NASDAQ"], "CODA": ["Coda Octopus Group, Inc. - Common stock", "NASDAQ"], "CODX": ["Co-Diagnostics, Inc. - Common Stock", "NASDAQ"], "COFS": ["ChoiceOne Financial Services, Inc. - Common Stock", "NASDAQ"], "COGT": ["Cogent Biosciences, Inc. - Common Stock", "NASDAQ"], "COHR": ["Coherent, Inc. - Common Stock", "NASDAQ"], "COHU": ["Cohu, Inc. - Common Stock", "NASDAQ"], "COKE": ["Coca-Cola Consolidated, Inc. - Common Stock", "NASDAQ"], "COLB": ["Columbia Banking System, Inc. - Common Stock", "NASDAQ"], "COLIU": ["Colicity Inc. - Units", "NASDAQ"], "COLL": ["Collegium Pharmaceutical, Inc. - Common Stock", "NASDAQ"], "COLM": ["Columbia Sportswear Company - Common Stock", "NASDAQ"], "COMM": ["CommScope Holding Company, Inc. - Common Stock", "NASDAQ"], "COMS": ["ComSovereign Holding Corp. - Common Stock", "NASDAQ"], "COMSW": ["ComSovereign Holding Corp. - Warrants", "NASDAQ"], "COMT": ["iShares GSCI Commodity Dynamic Roll Strategy ETF", "NASDAQ"], "CONE": ["CyrusOne Inc - Common Stock", "NASDAQ"], "CONN": ["Conn's, Inc. - Common Stock", "NASDAQ"], "CONX": ["CONX Corp. - Class A Common Stock", "NASDAQ"], "CONXU": ["CONX Corp. - Unit", "NASDAQ"], "CONXW": ["CONX Corp. - Warrant", "NASDAQ"], "COOL": ["Corner Growth Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "COOLU": ["Corner Growth Acquisition Corp. - Unit", "NASDAQ"], "COOLW": ["Corner Growth Acquisition Corp. - Warrant", "NASDAQ"], "COOP": ["Mr. Cooper Group Inc. - Common Stock", "NASDAQ"], "CORE": ["Core-Mark Holding Company, Inc. - Common Stock", "NASDAQ"], "CORT": ["Corcept Therapeutics Incorporated - Common Stock", "NASDAQ"], "COST": ["Costco Wholesale Corp.", "S&P500"], "COUP": ["Coupa Software Incorporated - Common Stock", "NASDAQ"], "COVAU": ["COVA Acquisition Corp. - Unit", "NASDAQ"], "COWN": ["Cowen Inc. - Class A Common Stock", "NASDAQ"], "COWNL": ["Cowen Inc. - 7.75% Senior Notes due 2033", "NASDAQ"], "COWNZ": ["Cowen Inc. - 7.35% Senior Notes Due 2027", "NASDAQ"], "CPHC": ["Canterbury Park Holding Corporation - Common Stock", "NASDAQ"], "CPIX": ["Cumberland Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "CPLP": ["Capital Product Partners L.P. - common units representing limited partner interests", "NASDAQ"], "CPRT": ["Copart Inc", "S&P500"], "CPRX": ["Catalyst Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CPSH": ["CPS Technologies Corp. - Common Stock", "NASDAQ"], "CPSI": ["Computer Programs and Systems, Inc. - Common Stock", "NASDAQ"], "CPSS": ["Consumer Portfolio Services, Inc. - Common Stock", "NASDAQ"], "CPST": ["Capstone Turbine Corporation - Common Stock", "NASDAQ"], "CPTA": ["Capitala Finance Corp. - Common Stock", "NASDAQ"], "CPTAG": ["Capitala Finance Corp. - 5.75% Convertible Notes Due 2022", "NASDAQ"], "CPTAL": ["Capitala Finance Corp. - 6% Notes Due 2022", "NASDAQ"], "CPZ": ["Calamos Long/Short Equity & Dynamic Income Trust - Common Stock", "NASDAQ"], "CRAI": ["CRA International,Inc. - Common Stock", "NASDAQ"], "CRBP": ["Corbus Pharmaceuticals Holdings, Inc. - Common Stock", "NASDAQ"], "CRDF": ["Cardiff Oncology, Inc. - Common Stock", "NASDAQ"], "CREE": ["Cree, Inc. - Common Stock", "NASDAQ"], "CREG": ["China Recycling Energy Corporation - Common Stock", "NASDAQ"], "CRESY": ["Cresud S.A.C.I.F. y A. - American Depositary Shares, each representing ten shares of Common Stock", "NASDAQ"], "CREX": ["Creative Realities, Inc. - Common Stock", "NASDAQ"], "CREXW": ["Creative Realities, Inc. - Warrant", "NASDAQ"], "CRIS": ["Curis, Inc. - Common Stock", "NASDAQ"], "CRKN": ["Crown Electrokinetics Corp. - Common Stock", "NASDAQ"], "CRMD": ["CorMedix Inc. - Common Stock", "NASDAQ"], "CRMT": ["America's Car-Mart, Inc. - Common Stock", "NASDAQ"], "CRNC": ["Cerence Inc. - Common Stock", "NASDAQ"], "CRNT": ["Ceragon Networks Ltd. - Ordinary Shares", "NASDAQ"], "CRNX": ["Crinetics Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CRON": ["Cronos Group Inc. - Common Share", "NASDAQ"], "CROX": ["Crocs, Inc. - Common Stock", "NASDAQ"], "CRSA": ["Crescent Acquisition Corp - Class A Common Stock", "NASDAQ"], "CRSAU": ["Crescent Acquisition Corp - Unit", "NASDAQ"], "CRSAW": ["Crescent Acquisition Corp - Warrant", "NASDAQ"], "CRSP": ["CRISPR Therapeutics AG - Common Shares", "NASDAQ"], "CRSR": ["Corsair Gaming, Inc. - Common Stock", "NASDAQ"], "CRTD": ["Creatd Inc. - Common Stock", "NASDAQ"], "CRTDW": ["Creatd Inc. - Warrant", "NASDAQ"], "CRTO": ["Criteo S.A. - American Depositary Shares", "NASDAQ"], "CRTX": ["Cortexyme, Inc. - Common Stock", "NASDAQ"], "CRUS": ["Cirrus Logic, Inc. - Common Stock", "NASDAQ"], "CRVL": ["CorVel Corp. - Common Stock", "NASDAQ"], "CRVS": ["Corvus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CRWD": ["CrowdStrike Holdings, Inc. - Class A Common Stock", "NASDAQ"], "CRWS": ["Crown Crafts, Inc. - Common Stock", "NASDAQ"], "CSA": ["VictoryShares US Small Cap Volatility Wtd ETF", "NASDAQ"], "CSB": ["VictoryShares US Small Cap High Div Volatility Wtd ETF", "NASDAQ"], "CSBR": ["Champions Oncology, Inc. - Common Stock", "NASDAQ"], "CSCO": ["Cisco Systems", "S&P500"], "CSCW": ["Color Star Technology Co. Ltd. - Ordinary Shares", "NASDAQ"], "CSF": ["VictoryShares US Discovery Enhanced Volatility Wtd ETF", "NASDAQ"], "CSGP": ["CoStar Group, Inc. - Common Stock", "NASDAQ"], "CSGS": ["CSG Systems International, Inc. - Common Stock", "NASDAQ"], "CSII": ["Cardiovascular Systems, Inc. - Common Stock", "NASDAQ"], "CSIQ": ["Canadian Solar Inc. - Common Shares", "NASDAQ"], "CSML": ["IQ Chaikin U.S. Small Cap ETF", "NASDAQ"], "CSOD": ["Cornerstone OnDemand, Inc. - Common Stock", "NASDAQ"], "CSPI": ["CSP Inc. - Common Stock", "NASDAQ"], "CSQ": ["Calamos Strategic Total Return Fund - Common Stock", "NASDAQ"], "CSSE": ["Chicken Soup for the Soul Entertainment, Inc. - Class A Common Stock", "NASDAQ"], "CSSEN": ["Chicken Soup for the Soul Entertainment, Inc. - 9.50% Notes due 2025", "NASDAQ"], "CSSEP": ["Chicken Soup for the Soul Entertainment, Inc. - 9.75% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "CSTE": ["Caesarstone Ltd. - Ordinary Shares", "NASDAQ"], "CSTL": ["Castle Biosciences, Inc. - Common stock", "NASDAQ"], "CSTR": ["CapStar Financial Holdings, Inc. - Common Stock", "NASDAQ"], "CSWC": ["Capital Southwest Corporation - Common Stock", "NASDAQ"], "CSWI": ["CSW Industrials, Inc. - Common Stock", "NASDAQ"], "CSX": ["CSX Corp.", "S&P500"], "CTAQ": ["Carney Technology Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "CTAQU": ["Carney Technology Acquisition Corp. II - Units", "NASDAQ"], "CTAQW": ["Carney Technology Acquisition Corp. II - Warrant", "NASDAQ"], "CTAS": ["Cintas Corporation", "S&P500"], "CTBI": ["Community Trust Bancorp, Inc. - Common Stock", "NASDAQ"], "CTEC": ["Global X CleanTech ETF", "NASDAQ"], "CTG": ["Computer Task Group, Incorporated - Common Stock", "NASDAQ"], "CTHR": ["Charles & Colvard Ltd. - Common Stock", "NASDAQ"], "CTIB": ["Yunhong CTI Ltd. - Common Stock", "NASDAQ"], "CTIC": ["CTI BioPharma Corp. - Common Stock", "NASDAQ"], "CTMX": ["CytomX Therapeutics, Inc. - Common Stock", "NASDAQ"], "CTRE": ["CareTrust REIT, Inc. - Common Stock", "NASDAQ"], "CTRM": ["Castor Maritime Inc. - Common Shares", "NASDAQ"], "CTRN": ["Citi Trends, Inc. - Common Stock", "NASDAQ"], "CTSH": ["Cognizant Technology Solutions", "S&P500"], "CTSO": ["Cytosorbents Corporation - Common Stock", "NASDAQ"], "CTXR": ["Citius Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CTXRW": ["Citius Pharmaceuticals, Inc. - Warrant", "NASDAQ"], "CTXS": ["Citrix Systems", "S&P500"], "CUBA": ["The Herzfeld Caribbean Basin Fund, Inc. - Closed End FUnd", "NASDAQ"], "CUE": ["Cue Biopharma, Inc. - Common Stock", "NASDAQ"], "CUEN": ["Cuentas, Inc. - Common Stock", "NASDAQ"], "CUENW": ["Cuentas, Inc. - Warrant", "NASDAQ"], "CURI": ["CuriosityStream Inc. - Class A Common Stock", "NASDAQ"], "CURIW": ["CuriosityStream Inc. - Warrant", "NASDAQ"], "CUTR": ["Cutera, Inc. - Common Stock", "NASDAQ"], "CVAC": ["CureVac N.V. - Ordinary Shares", "NASDAQ"], "CVBF": ["CVB Financial Corporation - Common Stock", "NASDAQ"], "CVCO": ["Cavco Industries, Inc. - Common Stock", "NASDAQ"], "CVCY": ["Central Valley Community Bancorp - Common Stock", "NASDAQ"], "CVET": ["Covetrus, Inc. - Common Stock", "NASDAQ"], "CVGI": ["Commercial Vehicle Group, Inc. - Common Stock", "NASDAQ"], "CVGW": ["Calavo Growers, Inc. - Common Stock", "NASDAQ"], "CVLG": ["Covenant Logistics Group, Inc. - Class A Common Stock", "NASDAQ"], "CVLT": ["Commvault Systems, Inc. - Common Stock", "NASDAQ"], "CVLY": ["Codorus Valley Bancorp, Inc - Common Stock", "NASDAQ"], "CVV": ["CVD Equipment Corporation - Common Stock", "NASDAQ"], "CWBC": ["Community West Bancshares - Common Stock", "NASDAQ"], "CWBR": ["CohBar, Inc. - Common Stock", "NASDAQ"], "CWCO": ["Consolidated Water Co. Ltd. - Ordinary Shares", "NASDAQ"], "CWST": ["Casella Waste Systems, Inc. - Class A Common Stock", "NASDAQ"], "CXDC": ["China XD Plastics Company Limited - Common Stock", "NASDAQ"], "CXDO": ["Crexendo, Inc. - Common Stock", "NASDAQ"], "CXSE": ["WisdomTree China ex-State-Owned Enterprises Fund", "NASDAQ"], "CYAD": ["Celyad Oncology SA - American Depositary Shares", "NASDAQ"], "CYAN": ["Cyanotech Corporation - Common Stock", "NASDAQ"], "CYBE": ["CyberOptics Corporation - Common Stock", "NASDAQ"], "CYBR": ["CyberArk Software Ltd. - Ordinary Shares", "NASDAQ"], "CYCC": ["Cyclacel Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CYCCP": ["Cyclacel Pharmaceuticals, Inc. - 6% Convertible Preferred Stock", "NASDAQ"], "CYCN": ["Cyclerion Therapeutics, Inc. - Common Stock ", "NASDAQ"], "CYRN": ["CYREN Ltd. - Ordinary Shares", "NASDAQ"], "CYRX": ["CryoPort, Inc. - Common Stock", "NASDAQ"], "CYTH": ["Cyclo Therapeutics, Inc. - Common Stock", "NASDAQ"], "CYTHW": ["Cyclo Therapeutics, Inc. - Warrant", "NASDAQ"], "CYTK": ["Cytokinetics, Incorporated - Common Stock", "NASDAQ"], "CZNC": ["Citizens & Northern Corp - Common Stock", "NASDAQ"], "CZR": ["Caesars Entertainment, Inc. - Common Stock", "NASDAQ"], "CZWI": ["Citizens Community Bancorp, Inc. - Common Stock", "NASDAQ"], "DADA": ["Dada Nexus Limited - American Depositary Shares", "NASDAQ"], "DAIO": ["Data I/O Corporation - Common Stock", "NASDAQ"], "DAKT": ["Daktronics, Inc. - Common Stock", "NASDAQ"], "DALI": ["First Trust Dorsey Wright DALI 1 ETF", "NASDAQ"], "DARE": ["Dare Bioscience, Inc. - Common Stock", "NASDAQ"], "DAX": ["Global X DAX Germany ETF", "NASDAQ"], "DBDR": ["Roman DBDR Tech Acquisition Corp. - Class A Common Stock", "NASDAQ"], "DBDRU": ["Roman DBDR Tech Acquisition Corp. - Unit", "NASDAQ"], "DBDRW": ["Roman DBDR Tech Acquisition Corp. - Warrant", "NASDAQ"], "DBTX": ["Decibel Therapeutics, Inc. - Common Stock", "NASDAQ"], "DBVT": ["DBV Technologies S.A. - American Depositary Shares", "NASDAQ"], "DBX": ["Dropbox, Inc. - Class A Common Stock", "NASDAQ"], "DCBO": ["Docebo Inc. - Common Shares", "NASDAQ"], "DCOM": ["Dime Community Bancshares, Inc. - Common Stock", "NASDAQ"], "DCOMP": ["Dime Community Bancshares, Inc. - Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "DCPH": ["Deciphera Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "DCRB": ["Decarbonization Plus Acquisition Corporation - Class A Common Stock", "NASDAQ"], "DCRBU": ["Decarbonization Plus Acquisition Corporation - Unit", "NASDAQ"], "DCRBW": ["Decarbonization Plus Acquisition Corporation - Warrant", "NASDAQ"], "DCRNU": ["Decarbonization Plus Acquisition Corporation II - Unit", "NASDAQ"], "DCT": ["Duck Creek Technologies, Inc. - Common Stock", "NASDAQ"], "DCTH": ["Delcath Systems, Inc. - Common Stock", "NASDAQ"], "DDIV": ["First Trust Dorsey Wright Momentum & Dividend ETF", "NASDAQ"], "DDMX": ["DD3 Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "DDMXU": ["DD3 Acquisition Corp. II - Unit", "NASDAQ"], "DDMXW": ["DD3 Acquisition Corp. II - Warrant", "NASDAQ"], "DDOG": ["Datadog, Inc. - Class A Common Stock", "NASDAQ"], "DEMZ": ["Democratic Large Cap Core ETF", "NASDAQ"], "DENN": ["Denny's Corporation - Common Stock", "NASDAQ"], "DFFN": ["Diffusion Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "DFH": ["Dream Finders Homes, Inc. - Class A Common Stock", "NASDAQ"], "DFHT": ["Deerfield Healthcare Technology Acquisitions Corp. - Class A Common Stock", "NASDAQ"], "DFHTU": ["Deerfield Healthcare Technology Acquisitions Corp. - Unit", "NASDAQ"], "DFHTW": ["Deerfield Healthcare Technology Acquisitions Corp. - Warrant", "NASDAQ"], "DFNL": ["Davis Select Financial ETF", "NASDAQ"], "DFPH": ["DFP Healthcare Acquisitions Corp. - Class A Common Stock", "NASDAQ"], "DFPHU": ["DFP Healthcare Acquisitions Corp. - Unit", "NASDAQ"], "DFPHW": ["DFP Healthcare Acquisitions Corp. - Warrant", "NASDAQ"], "DGICA": ["Donegal Group, Inc. - Class A Common Stock", "NASDAQ"], "DGICB": ["Donegal Group, Inc. - Class B Common Stock", "NASDAQ"], "DGII": ["Digi International Inc. - Common Stock", "NASDAQ"], "DGLY": ["Digital Ally, Inc. - Common Stock", "NASDAQ"], "DGNS": ["Dragoneer Growth Opportunities Corp. II - Class A Ordinary Shares", "NASDAQ"], "DGRE": ["WisdomTree Emerging Markets Quality Dividend Growth Fund", "NASDAQ"], "DGRS": ["WisdomTree U.S. SmallCap Quality Dividend Growth Fund", "NASDAQ"], "DGRW": ["WisdomTree U.S. Quality Dividend Growth Fund", "NASDAQ"], "DHBCU": ["DHB Capital Corp. - Unit", "NASDAQ"], "DHC": ["Diversified Healthcare Trust - Common Shares of Beneficial Interest", "NASDAQ"], "DHCAU": ["DHC Acquisition Corp. - Unit", "NASDAQ"], "DHCNI": ["Diversified Healthcare Trust - 5.625% Senior Notes due 2042", "NASDAQ"], "DHCNL": ["Diversified Healthcare Trust - 6.25% Senior Notes Due 2046", "NASDAQ"], "DHHC": ["DiamondHead Holdings Corp. - Class A Common Stock", "NASDAQ"], "DHHCU": ["DiamondHead Holdings Corp. - Unit", "NASDAQ"], "DHHCW": ["DiamondHead Holdings Corp. - Warrant", "NASDAQ"], "DHIL": ["Diamond Hill Investment Group, Inc. - Class A Common Stock", "NASDAQ"], "DINT": ["Davis Select International ETF", "NASDAQ"], "DIOD": ["Diodes Incorporated - Common Stock", "NASDAQ"], "DISCA": ["Discovery, Inc. (Series A)", "S&P500"], "DISCB": ["Discovery, Inc. - Series B Common Stock", "NASDAQ"], "DISCK": ["Discovery, Inc. (Series C)", "S&P500"], "DISH": ["Dish Network", "S&P500"], "DJCO": ["Daily Journal Corp. (S.C.) - Common Stock", "NASDAQ"], "DKNG": ["DraftKings Inc. - Class A Common Stock", "NASDAQ"], "DLCA": ["Deep Lake Capital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "DLCAU": ["Deep Lake Capital Acquisition Corp. - Unit", "NASDAQ"], "DLCAW": ["Deep Lake Capital Acquisition Corp. - Warrant", "NASDAQ"], "DLHC": ["DLH Holdings Corp. - Common Stock", "NASDAQ"], "DLPN": ["Dolphin Entertainment, Inc. - Common Stock", "NASDAQ"], "DLTH": ["Duluth Holdings Inc. - Class B Common Stock", "NASDAQ"], "DLTR": ["Dollar Tree", "S&P500"], "DMAC": ["DiaMedica Therapeutics Inc. - Common Stock", "NASDAQ"], "DMLP": ["Dorchester Minerals, L.P. - Common Units Representing Limited Partnership Interests", "NASDAQ"], "DMRC": ["Digimarc Corporation - Common Stock", "NASDAQ"], "DMTK": ["DermTech, Inc. - Common Stock", "NASDAQ"], "DMXF": ["iShares ESG Advanced MSCI EAFE ETF", "NASDAQ"], "DNLI": ["Denali Therapeutics Inc. - Common Stock", "NASDAQ"], "DOCU": ["DocuSign, Inc. - Common Stock", "NASDAQ"], "DOGZ": ["Dogness (International) Corporation - Class A Common Stock", "NASDAQ"], "DOMO": ["Domo, Inc. - Class B Common Stock", "NASDAQ"], "DOOO": ["BRP Inc. - Common Subordinate Voting Shares", "NASDAQ"], "DORM": ["Dorman Products, Inc. - Common Stock", "NASDAQ"], "DOX": ["Amdocs Limited - Ordinary Shares", "NASDAQ"], "DOYU": ["DouYu International Holdings Limited - American Depositary Shares", "NASDAQ"], "DRIO": ["DarioHealth Corp. - Common Stock", "NASDAQ"], "DRIV": ["Global X Autonomous & Electric Vehicles ETF", "NASDAQ"], "DRNA": ["Dicerna Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "DRRX": ["DURECT Corporation - Common Stock", "NASDAQ"], "DRTT": ["DIRTT Environmental Solutions Ltd. - Common Shares", "NASDAQ"], "DRVN": ["Driven Brands Holdings Inc. - Common Stock", "NASDAQ"], "DSAC": ["Duddell Street Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "DSACU": ["Duddell Street Acquisition Corp. - Unit", "NASDAQ"], "DSACW": ["Duddell Street Acquisition Corp. - Warrant", "NASDAQ"], "DSGX": ["The Descartes Systems Group Inc. - Common Stock", "NASDAQ"], "DSKE": ["Daseke, Inc. - Common Stock", "NASDAQ"], "DSKEW": ["Daseke, Inc. - Warrant", "NASDAQ"], "DSP": ["Viant Technology Inc. - common stock", "NASDAQ"], "DSPG": ["DSP Group, Inc. - Common Stock", "NASDAQ"], "DSWL": ["Deswell Industries, Inc. - Common Shares", "NASDAQ"], "DTEA": ["DAVIDsTEA Inc. - Common Stock", "NASDAQ"], "DTIL": ["Precision BioSciences, Inc. - Common Stock", "NASDAQ"], "DTOCU": ["Digital Transformation Opportunities Corp. - Units", "NASDAQ"], "DTSS": ["Datasea Inc. - Common Stock", "NASDAQ"], "DUNE": ["Dune Acquisition Corporation - Class A Common Stock", "NASDAQ"], "DUNEU": ["Dune Acquisition Corporation - Unit", "NASDAQ"], "DUNEW": ["Dune Acquisition Corporation - Warrant", "NASDAQ"], "DUO": ["Fangdd Network Group Ltd. - American Depositary Shares", "NASDAQ"], "DUOT": ["Duos Technologies Group, Inc. - Common Stock", "NASDAQ"], "DUSA": ["Davis Select U.S. Equity ETF", "NASDAQ"], "DVAX": ["Dynavax Technologies Corporation - Common Stock", "NASDAQ"], "DVLU": ["First Trust Dorsey Wright Momentum & Value ETF", "NASDAQ"], "DVOL": ["First Trust Dorsey Wright Momentum & Low Volatility ETF", "NASDAQ"], "DVY": ["iShares Select Dividend ETF", "NASDAQ"], "DWAS": ["Invesco DWA SmallCap Momentum ETF", "NASDAQ"], "DWAT": ["Arrow DWA Tactical: Macro ETF", "NASDAQ"], "DWAW": ["AdvisorShares Dorsey Wright FSM All Cap World ETF", "NASDAQ"], "DWCR": ["Arrow DWA Tactical: International ETF", "NASDAQ"], "DWEQ": ["AdvisorShares Dorsey Wright Alpha Equal Weight ETF", "NASDAQ"], "DWLD": ["Davis Select Worldwide ETF", "NASDAQ"], "DWMC": ["AdvisorShares Dorsey Wright Micro-Cap ETF", "NASDAQ"], "DWPP": ["First Trust Dorsey Wright People's Portfolio ETF", "NASDAQ"], "DWSH": ["AdvisorShares Dorsey Wright Short ETF", "NASDAQ"], "DWSN": ["Dawson Geophysical Company - Common Stock", "NASDAQ"], "DWUS": ["AdvisorShares Dorsey Wright FSM US Core ETF", "NASDAQ"], "DXCM": ["DexCom", "S&P500"], "DXGE": ["WisdomTree Germany Hedged Equity Fund", "NASDAQ"], "DXJS": ["WisdomTree Japan Hedged SmallCap Equity Fund", "NASDAQ"], "DXPE": ["DXP Enterprises, Inc. - Common Stock", "NASDAQ"], "DXYN": ["The Dixie Group, Inc. - Common Stock", "NASDAQ"], "DYAI": ["Dyadic International, Inc. - Common Stock", "NASDAQ"], "DYN": ["Dyne Therapeutics, Inc. - Common Stock", "NASDAQ"], "DYNT": ["Dynatronics Corporation - Common Stock", "NASDAQ"], "DZSI": ["DZS Inc. - Common Stock", "NASDAQ"], "EA": ["Electronic Arts", "S&P500"], "EAC": ["Edify Acquisition Corp. - Class A Common Stock", "NASDAQ"], "EACPU": ["Edify Acquisition Corp. - Units", "NASDAQ"], "EACPW": ["Edify Acquisition Corp. - Warrant", "NASDAQ"], "EAR": ["Eargo, Inc. - Common Stock", "NASDAQ"], "EARS": ["Auris Medical Holding Ltd. - Common Shares", "NASDAQ"], "EAST": ["Eastside Distilling, Inc. - Common Stock", "NASDAQ"], "EBACU": ["European Biotech Acquisition Corp. - Units", "NASDAQ"], "EBAY": ["eBay Inc.", "S&P500"], "EBC": ["Eastern Bankshares, Inc. - Common Stock", "NASDAQ"], "EBIX": ["Ebix, Inc. - Common Stock", "NASDAQ"], "EBIZ": ["Global X E-commerce ETF", "NASDAQ"], "EBMT": ["Eagle Bancorp Montana, Inc. - Common Stock", "NASDAQ"], "EBON": ["Ebang International Holdings Inc. - Class A Ordinary Shares", "NASDAQ"], "EBSB": ["Meridian Bancorp, Inc. - Common Stock", "NASDAQ"], "EBTC": ["Enterprise Bancorp Inc - Common Stock", "NASDAQ"], "ECHO": ["Echo Global Logistics, Inc. - Common Stock", "NASDAQ"], "ECOL": ["US Ecology, Inc. - Common Stock", "NASDAQ"], "ECOLW": ["US Ecology, Inc. - warrant", "NASDAQ"], "ECOR": ["electroCore, Inc. - Common Stock", "NASDAQ"], "ECOW": ["Pacer Emerging Markets Cash Cows 100 ETF", "NASDAQ"], "ECPG": ["Encore Capital Group Inc - Common Stock", "NASDAQ"], "EDAP": ["EDAP TMS S.A. - American Depositary Shares, each representing One Ordinary Share", "NASDAQ"], "EDIT": ["Editas Medicine, Inc. - Common Stock", "NASDAQ"], "EDOC": ["Global X Telemedicine & Digital Health ETF", "NASDAQ"], "EDRY": ["EuroDry Ltd. - Common Shares", "NASDAQ"], "EDSA": ["Edesa Biotech, Inc. - Common Shares", "NASDAQ"], "EDTK": ["Skillful Craftsman Education Technology Limited - Ordinary Share", "NASDAQ"], "EDTX": ["EdtechX Holdings Acquisition Corp. II - Class A common stock", "NASDAQ"], "EDTXU": ["EdtechX Holdings Acquisition Corp. II - Unit", "NASDAQ"], "EDTXW": ["EdtechX Holdings Acquisition Corp. II - Warrant", "NASDAQ"], "EDUC": ["Educational Development Corporation - Common Stock", "NASDAQ"], "EDUT": ["Global X Education ETF", "NASDAQ"], "EEFT": ["Euronet Worldwide, Inc. - Common Stock", "NASDAQ"], "EEMA": ["iShares MSCI Emerging Markets Asia ETF", "NASDAQ"], "EFAS": ["Global X MSCI SuperDividend EAFE ETF", "NASDAQ"], "EFOI": ["Energy Focus, Inc. - Common Stock", "NASDAQ"], "EFSC": ["Enterprise Financial Services Corporation - Common Stock", "NASDAQ"], "EGAN": ["eGain Corporation - Common Stock", "NASDAQ"], "EGBN": ["Eagle Bancorp, Inc. - Common Stock", "NASDAQ"], "EGLE": ["Eagle Bulk Shipping Inc. - Common Stock", "NASDAQ"], "EGOV": ["NIC Inc. - Common Stock", "NASDAQ"], "EGRX": ["Eagle Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EH": ["EHang Holdings Limited - ADS", "NASDAQ"], "EHTH": ["eHealth, Inc. - Common Stock", "NASDAQ"], "EIGR": ["Eiger BioPharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EJFAU": ["EJF Acquisition Corp. - Unit", "NASDAQ"], "EKSO": ["Ekso Bionics Holdings, Inc. - Common Stock", "NASDAQ"], "ELDN": ["Eledon Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ELOX": ["Eloxx Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ELSE": ["Electro-Sensors, Inc. - Common Stock", "NASDAQ"], "ELTK": ["Eltek Ltd. - Ordinary Shares", "NASDAQ"], "ELYS": ["Elys Game Technology, Corp. - Common Stock", "NASDAQ"], "EMB": ["iShares J.P. Morgan USD Emerging Markets Bond ETF", "NASDAQ"], "EMCB": ["WisdomTree Emerging Markets Corporate Bond Fund", "NASDAQ"], "EMCF": ["Emclaire Financial Corp - Common Stock", "NASDAQ"], "EMIF": ["iShares S&P Emerging Markets Infrastructure Index Fund", "NASDAQ"], "EMKR": ["EMCORE Corporation - Common Stock", "NASDAQ"], "EML": ["Eastern Company (The) - Common Stock", "NASDAQ"], "EMXC": ["iShares MSCI Emerging Markets ex China ETF", "NASDAQ"], "EMXF": ["iShares ESG Advanced MSCI EM ETF", "NASDAQ"], "ENDP": ["Endo International plc - Ordinary Shares", "NASDAQ"], "ENFA": ["890 5th Avenue Partners, Inc. - Class A Common Stock", "NASDAQ"], "ENFAU": ["890 5th Avenue Partners, Inc. - Unit", "NASDAQ"], "ENFAW": ["890 5th Avenue Partners, Inc. - Warrant", "NASDAQ"], "ENG": ["ENGlobal Corporation - Common Stock", "NASDAQ"], "ENLV": ["Enlivex Therapeutics Ltd. - Ordinary Shares", "NASDAQ"], "ENNVU": ["ECP Environmental Growth Opportunities Corp. - Unit", "NASDAQ"], "ENOB": ["Enochian Biosciences, Inc. - Common Stock", "NASDAQ"], "ENPH": ["Enphase Energy", "S&P500"], "ENSG": ["The Ensign Group, Inc. - Common Stock", "NASDAQ"], "ENTA": ["Enanta Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ENTG": ["Entegris, Inc. - Common Stock", "NASDAQ"], "ENTX": ["Entera Bio Ltd. - Ordinary Shares", "NASDAQ"], "ENTXW": ["Entera Bio Ltd. - Warrant", "NASDAQ"], "ENVB": ["Enveric Biosciences, Inc. - Common Stock", "NASDAQ"], "ENVI": ["Environmental Impact Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ENVIU": ["Environmental Impact Acquisition Corp. - Unit", "NASDAQ"], "ENVIW": ["Environmental Impact Acquisition Corp. - Warrant", "NASDAQ"], "ENZL": ["iShares MSCI New Zealand ETF", "NASDAQ"], "EOLS": ["Evolus, Inc. - Common Stock", "NASDAQ"], "EOSE": ["Eos Energy Enterprises, Inc. - Common Stock", "NASDAQ"], "EOSEW": ["Eos Energy Enterprises, Inc. - Warrant", "NASDAQ"], "EPAY": ["Bottomline Technologies, Inc. - Common Stock", "NASDAQ"], "EPHY": ["Epiphany Technology Acquisition Corp. - Class A Common Stock", "NASDAQ"], "EPHYU": ["Epiphany Technology Acquisition Corp. - Unit", "NASDAQ"], "EPHYW": ["Epiphany Technology Acquisition Corp. - Warrant", "NASDAQ"], "EPIX": ["ESSA Pharma Inc. - Common Stock", "NASDAQ"], "EPSN": ["Epsilon Energy Ltd. - Common Shares", "NASDAQ"], "EPZM": ["Epizyme, Inc. - Common Stock", "NASDAQ"], "EQ": ["Equillium, Inc. - Common Stock", "NASDAQ"], "EQBK": ["Equity Bancshares, Inc. - Class A Common Stock", "NASDAQ"], "EQIX": ["Equinix", "S&P500"], "EQOS": ["Diginex Limited - Ordinary Shares", "NASDAQ"], "EQOSW": ["Diginex Limited - Warrant", "NASDAQ"], "EQRR": ["ProShares Equities for Rising Rates ETF", "NASDAQ"], "ERES": ["East Resources Acquisition Company - Class A Common Stock", "NASDAQ"], "ERESU": ["East Resources Acquisition Company - Unit", "NASDAQ"], "ERESW": ["East Resources Acquisition Company - Warrant", "NASDAQ"], "ERIC": ["Ericsson - American Depositary Shares each representing 1 underlying Class B share", "NASDAQ"], "ERIE": ["Erie Indemnity Company - Class A Common Stock", "NASDAQ"], "ERII": ["Energy Recovery, Inc. - Common Stock", "NASDAQ"], "ERYP": ["Erytech Pharma S.A. - American Depositary Shares", "NASDAQ"], "ESBK": ["Elmira Savings Bank NY (The) - Common Stock", "NASDAQ"], "ESCA": ["Escalade, Incorporated - Common Stock", "NASDAQ"], "ESEA": ["Euroseas Ltd. - Common Stock", "NASDAQ"], "ESGD": ["iShares ESG Aware MSCI EAFE ETF", "NASDAQ"], "ESGE": ["iShares ESG Aware MSCI EM ETF", "NASDAQ"], "ESGR": ["Enstar Group Limited - Ordinary Shares", "NASDAQ"], "ESGRO": ["Enstar Group Limited - Depository Shares 7.00% Perpetual Non-Cumulative Preference Shares, Series E", "NASDAQ"], "ESGRP": ["Enstar Group Limited - Depositary Shares Each Representing 1/1000th of an interest in Preference Shares", "NASDAQ"], "ESGU": ["iShares ESG Aware MSCI USA ETF", "NASDAQ"], "ESLT": ["Elbit Systems Ltd. - Ordinary Shares", "NASDAQ"], "ESPO": ["VanEck Vectors Video Gaming and eSports ETF", "NASDAQ"], "ESPR": ["Esperion Therapeutics, Inc. - Common Stock", "NASDAQ"], "ESQ": ["Esquire Financial Holdings, Inc. - Common Stock", "NASDAQ"], "ESSA": ["ESSA Bancorp, Inc. - common stock", "NASDAQ"], "ESSC": ["East Stone Acquisition Corporation - Ordinary Shares", "NASDAQ"], "ESSCR": ["East Stone Acquisition Corporation - Right", "NASDAQ"], "ESSCU": ["East Stone Acquisition Corporation - Unit", "NASDAQ"], "ESSCW": ["East Stone Acquisition Corporation - Warrant", "NASDAQ"], "ESTA": ["Establishment Labs Holdings Inc. - Common Shares", "NASDAQ"], "ESXB": ["Community Bankers Trust Corporation. - Common Stock", "NASDAQ"], "ETAC": ["E.Merge Technology Acquisition Corp. - Class A Common stock", "NASDAQ"], "ETACU": ["E.Merge Technology Acquisition Corp. - Unit", "NASDAQ"], "ETACW": ["E.Merge Technology Acquisition Corp. - Warrant", "NASDAQ"], "ETNB": ["89bio, Inc. - Common Stock", "NASDAQ"], "ETON": ["Eton Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ETSY": ["Etsy", "S&P500"], "ETTX": ["Entasis Therapeutics Holdings Inc. - Common Stock", "NASDAQ"], "EUCR": ["Eucrates Biomedical Acquisition Corp. - Ordinary Shares", "NASDAQ"], "EUCRU": ["Eucrates Biomedical Acquisition Corp. - Unit", "NASDAQ"], "EUCRW": ["Eucrates Biomedical Acquisition Corp. - Warrant", "NASDAQ"], "EUFN": ["iShares MSCI Europe Financials Sector Index Fund", "NASDAQ"], "EUSG": ["European Sustainable Growth Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "EUSGU": ["European Sustainable Growth Acquisition Corp. - Unit", "NASDAQ"], "EUSGW": ["European Sustainable Growth Acquisition Corp. - Warrant", "NASDAQ"], "EVAX": ["Evaxion Biotech A/S - American Depositary Share", "NASDAQ"], "EVBG": ["Everbridge, Inc. - Common Stock", "NASDAQ"], "EVER": ["EverQuote, Inc. - Class A Common Stock", "NASDAQ"], "EVFM": ["Evofem Biosciences, Inc. - Common Stock", "NASDAQ"], "EVGBC": ["Eaton Vance Global Income Builder NextShares", "NASDAQ"], "EVGN": ["Evogene Ltd. - Ordinary Shares", "NASDAQ"], "EVK": ["Ever-Glory International Group, Inc. - Common Stock", "NASDAQ"], "EVLMC": ["Eaton Vance TABS 5-to-15 Year Laddered Municipal Bond NextShares", "NASDAQ"], "EVLO": ["Evelo Biosciences, Inc. - Common Stock", "NASDAQ"], "EVOJU": ["Evo Acquisition Corp. - Unit", "NASDAQ"], "EVOK": ["Evoke Pharma, Inc. - Common Stock", "NASDAQ"], "EVOL": ["Evolving Systems, Inc. - Common Stock", "NASDAQ"], "EVOP": ["EVO Payments, Inc. - Class A Common Stock", "NASDAQ"], "EVSTC": ["Eaton Vance Stock NextShares", "NASDAQ"], "EWBC": ["East West Bancorp, Inc. - Common Stock", "NASDAQ"], "EWEB": ["Global X Emerging Markets Internet & E-commerce ETF", "NASDAQ"], "EWJE": ["iShares MSCI Japan Equal Weighted ETF", "NASDAQ"], "EWJV": ["iShares MSCI Japan Value ETF", "NASDAQ"], "EWZS": ["iShares MSCI Brazil Small-Cap ETF", "NASDAQ"], "EXAS": ["Exact Sciences Corporation - Common Stock", "NASDAQ"], "EXC": ["Exelon Corp.", "S&P500"], "EXEL": ["Exelixis, Inc. - Common Stock", "NASDAQ"], "EXFO": ["EXFO Inc - Subordinate Voting Shares", "NASDAQ"], "EXLS": ["ExlService Holdings, Inc. - Common Stock", "NASDAQ"], "EXPC": ["Experience Investment Corp. - Class A Common Stock", "NASDAQ"], "EXPCU": ["Experience Investment Corp. - Unit", "NASDAQ"], "EXPCW": ["Experience Investment Corp. - Warrants", "NASDAQ"], "EXPD": ["Expeditors", "S&P500"], "EXPE": ["Expedia Group", "S&P500"], "EXPI": ["eXp World Holdings, Inc. - Common Stock", "NASDAQ"], "EXPO": ["Exponent, Inc. - Common Stock", "NASDAQ"], "EXTR": ["Extreme Networks, Inc. - Common Stock", "NASDAQ"], "EYE": ["National Vision Holdings, Inc. - Common Stock", "NASDAQ"], "EYEG": ["Eyegate Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EYEN": ["Eyenovia, Inc. - Common Stock", "NASDAQ"], "EYES": ["Second Sight Medical Products, Inc. - Common Stock", "NASDAQ"], "EYESW": ["Second Sight Medical Products, Inc. - Warrants expiring 3/14/2024", "NASDAQ"], "EYPT": ["EyePoint Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EZGO": ["EZGO Technologies Ltd. - Ordinary Shares", "NASDAQ"], "EZPW": ["EZCORP, Inc. - Class A Non-Voting Common Stock", "NASDAQ"], "FAAR": ["First Trust Alternative Absolute Return Strategy ETF", "NASDAQ"], "FAB": ["First Trust Multi Cap Value AlphaDEX Fund", "NASDAQ"], "FAD": ["First Trust Multi Cap Growth AlphaDEX Fund", "NASDAQ"], "FALN": ["iShares Fallen Angels USD Bond ETF", "NASDAQ"], "FAMI": ["Farmmi, INC. - Ordinary Shares", "NASDAQ"], "FANG": ["Diamondback Energy", "S&P500"], "FANH": ["Fanhua Inc. - American depositary shares, each representing 20 ordinary shares", "NASDAQ"], "FARM": ["Farmer Brothers Company - Common Stock", "NASDAQ"], "FARO": ["FARO Technologies, Inc. - Common Stock", "NASDAQ"], "FAST": ["Fastenal Co", "S&P500"], "FAT": ["FAT Brands Inc. - Common Stock", "NASDAQ"], "FATBP": ["FAT Brands Inc. - 8.25% Series B Cumulative Preferred Stock", "NASDAQ"], "FATBW": ["FAT Brands Inc. - Warrant", "NASDAQ"], "FATE": ["Fate Therapeutics, Inc. - Common Stock", "NASDAQ"], "FB": ["Facebook, Inc.", "S&P500"], "FBIO": ["Fortress Biotech, Inc. - Common Stock", "NASDAQ"], "FBIOP": ["Fortress Biotech, Inc. - 9.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "FBIZ": ["First Business Financial Services, Inc. - Common Stock", "NASDAQ"], "FBMS": ["The First Bancshares, Inc. - Common Stock", "NASDAQ"], "FBNC": ["First Bancorp - Common Stock", "NASDAQ"], "FBRX": ["Forte Biosciences, Inc. - Common Stock", "NASDAQ"], "FBSS": ["Fauquier Bankshares, Inc. - Common Stock", "NASDAQ"], "FBZ": ["First Trust Brazil AlphaDEX Fund", "NASDAQ"], "FCA": ["First Trust China AlphaDEX Fund", "NASDAQ"], "FCAC": ["Falcon Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "FCACU": ["Falcon Capital Acquisition Corp. - Unit", "NASDAQ"], "FCACW": ["Falcon Capital Acquisition Corp. - Warrant", "NASDAQ"], "FCAL": ["First Trust California Municipal High income ETF", "NASDAQ"], "FCAP": ["First Capital, Inc. - Common Stock", "NASDAQ"], "FCBC": ["First Community Bankshares, Inc. - Common Stock", "NASDAQ"], "FCBP": ["First Choice Bancorp - Common Stock", "NASDAQ"], "FCCO": ["First Community Corporation - Common Stock", "NASDAQ"], "FCCY": ["1st Constitution Bancorp (NJ) - Common Stock", "NASDAQ"], "FCEF": ["First Trust CEF Income Opportunity ETF", "NASDAQ"], "FCEL": ["FuelCell Energy, Inc. - Common Stock", "NASDAQ"], "FCFS": ["FirstCash, Inc. - Common Stock", "NASDAQ"], "FCNCA": ["First Citizens BancShares, Inc. - Class A Common Stock", "NASDAQ"], "FCNCP": ["First Citizens BancShares, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of 5.375% Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "FCRD": ["First Eagle Alternative Capital BDC, Inc. - Common Stock", "NASDAQ"], "FCVT": ["First Trust SSI Strategic Convertible Securities ETF", "NASDAQ"], "FDBC": ["Fidelity D & D Bancorp, Inc. - Common Stock", "NASDAQ"], "FDIV": ["First Trust Strategic Income ETF", "NASDAQ"], "FDMT": ["4D Molecular Therapeutics, Inc. - Common Stock", "NASDAQ"], "FDNI": ["First Trust Dow Jones International Internet ETF", "NASDAQ"], "FDT": ["First Trust Developed Markets Ex-US AlphaDEX Fund", "NASDAQ"], "FDTS": ["First Trust Developed Markets ex-US Small Cap AlphaDEX Fund", "NASDAQ"], "FDUS": ["Fidus Investment Corporation - Common Stock", "NASDAQ"], "FDUSG": ["Fidus Investment Corporation - 5.375% Notes Due 2024", "NASDAQ"], "FDUSZ": ["Fidus Investment Corporation - 6% Notes due 2024", "NASDAQ"], "FEIM": ["Frequency Electronics, Inc. - Common Stock", "NASDAQ"], "FELE": ["Franklin Electric Co., Inc. - Common Stock", "NASDAQ"], "FEM": ["First Trust Emerging Markets AlphaDEX Fund", "NASDAQ"], "FEMB": ["First Trust Emerging Markets Local Currency Bond ETF", "NASDAQ"], "FEMS": ["First Trust Emerging Markets Small Cap AlphaDEX Fund", "NASDAQ"], "FENC": ["Fennec Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "FEP": ["First Trust Europe AlphaDEX Fund", "NASDAQ"], "FEUZ": ["First Trust Eurozone AlphaDEX ETF", "NASDAQ"], "FEX": ["First Trust Large Cap Core AlphaDEX Fund", "NASDAQ"], "FEYE": ["FireEye, Inc. - Common Stock", "NASDAQ"], "FFBC": ["First Financial Bancorp. - Common Stock", "NASDAQ"], "FFBW": ["FFBW, Inc. - Common Stock", "NASDAQ"], "FFHL": ["Fuwei Films (Holdings) Co., Ltd. - ORDINARY SHARES", "NASDAQ"], "FFIC": ["Flushing Financial Corporation - Common Stock", "NASDAQ"], "FFIN": ["First Financial Bankshares, Inc. - Common Stock", "NASDAQ"], "FFIV": ["F5 Networks", "S&P500"], "FFNW": ["First Financial Northwest, Inc. - Common Stock", "NASDAQ"], "FFWM": ["First Foundation Inc. - Common Stock", "NASDAQ"], "FGBI": ["First Guaranty Bancshares, Inc. - Common Stock", "NASDAQ"], "FGEN": ["FibroGen, Inc - Common Stock", "NASDAQ"], "FGF": ["FG Financial Group, Inc. - Common Stock", "NASDAQ"], "FGFPP": ["FG Financial Group, Inc. - 8.00% Cumulative Series A Preferred Stock", "NASDAQ"], "FGM": ["First Trust Germany AlphaDEX Fund", "NASDAQ"], "FHB": ["First Hawaiian, Inc. - Common Stock", "NASDAQ"], "FHTX": ["Foghorn Therapeutics Inc. - Common Stock", "NASDAQ"], "FIBK": ["First Interstate BancSystem, Inc. - Class A Common Stock", "NASDAQ"], "FICS": ["First Trust International Developed Capital Strength ETF", "NASDAQ"], "FID": ["First Trust S&P International Dividend Aristocrats ETF", "NASDAQ"], "FIII": ["Forum Merger III Corporation - Class A Common Stock", "NASDAQ"], "FIIIU": ["Forum Merger III Corporation - Units", "NASDAQ"], "FIIIW": ["Forum Merger III Corporation - Warrant", "NASDAQ"], "FINM": ["Marlin Technology Corporation - Class A Ordinary Share", "NASDAQ"], "FINMU": ["Marlin Technology Corporation - Unit", "NASDAQ"], "FINMW": ["Marlin Technology Corporation - Warrant", "NASDAQ"], "FINX": ["Global X FinTech ETF", "NASDAQ"], "FISI": ["Financial Institutions, Inc. - Common Stock", "NASDAQ"], "FISV": ["Fiserv Inc", "S&P500"], "FITB": ["Fifth Third Bancorp", "S&P500"], "FITBI": ["Fifth Third Bancorp - Depositary Share repstg 1/1000th Ownership Interest Perp Pfd Series I", "NASDAQ"], "FITBO": ["Fifth Third Bancorp - Depositary Shares each representing a 1/1000th ownership interest in a share of Non-Cumulative Perpetual Preferred Stock, Series K", "NASDAQ"], "FITBP": ["Fifth Third Bancorp - Depositary Shares each representing 1/40th share of Fifth Third 6.00% Non-Cumulative Perpetual Class B Preferred Stock, Series A", "NASDAQ"], "FIVE": ["Five Below, Inc. - Common Stock", "NASDAQ"], "FIVN": ["Five9, Inc. - Common Stock", "NASDAQ"], "FIXD": ["First Trust TCW Opportunistic Fixed Income ETF", "NASDAQ"], "FIXX": ["Homology Medicines, Inc. - Common Stock", "NASDAQ"], "FIZZ": ["National Beverage Corp. - Common Stock", "NASDAQ"], "FJP": ["First Trust Japan AlphaDEX Fund", "NASDAQ"], "FKU": ["First Trust United Kingdom AlphaDEX Fund", "NASDAQ"], "FLAC": ["Frazier Lifesciences Acquisition Corporation - Class A Ordinary Shares", "NASDAQ"], "FLACU": ["Frazier Lifesciences Acquisition Corporation - Unit", "NASDAQ"], "FLACW": ["Frazier Lifesciences Acquisition Corporation - Warrant", "NASDAQ"], "FLDM": ["Fluidigm Corporation - Common Stock", "NASDAQ"], "FLEX": ["Flex Ltd. - Ordinary Shares", "NASDAQ"], "FLGT": ["Fulgent Genetics, Inc. - Common Stock", "NASDAQ"], "FLIC": ["The First of Long Island Corporation - Common Stock", "NASDAQ"], "FLIR": ["FLIR Systems", "S&P500"], "FLL": ["Full House Resorts, Inc. - Common Stock", "NASDAQ"], "FLMN": ["Falcon Minerals Corporation - Class A Common Stock", "NASDAQ"], "FLMNW": ["Falcon Minerals Corporation - Warrant", "NASDAQ"], "FLN": ["First Trust Latin America AlphaDEX Fund", "NASDAQ"], "FLNT": ["Fluent, Inc. - Common Stock", "NASDAQ"], "FLUX": ["Flux Power Holdings, Inc. - Common Stock", "NASDAQ"], "FLWS": ["1-800-FLOWERS.COM, Inc. - Class A Common Stock", "NASDAQ"], "FLXN": ["Flexion Therapeutics, Inc. - Common Stock", "NASDAQ"], "FLXS": ["Flexsteel Industries, Inc. - Common Stock", "NASDAQ"], "FMAO": ["Farmers & Merchants Bancorp, Inc. - Common Stock", "NASDAQ"], "FMB": ["First Trust Managed Municipal ETF", "NASDAQ"], "FMBH": ["First Mid Bancshares, Inc. - Common Stock", "NASDAQ"], "FMBI": ["First Midwest Bancorp, Inc. - Common Stock", "NASDAQ"], "FMBIO": ["First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series C", "NASDAQ"], "FMBIP": ["First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "FMHI": ["First Trust Municipal High Income ETF", "NASDAQ"], "FMIVU": ["Forum Merger IV Corporation - Unit", "NASDAQ"], "FMNB": ["Farmers National Banc Corp. - Common Stock", "NASDAQ"], "FMTX": ["Forma Therapeutics Holdings, Inc. - Common Stock", "NASDAQ"], "FNCB": ["FNCB Bancorp Inc. - Common Stock", "NASDAQ"], "FNHC": ["FedNat Holding Company - Common Stock", "NASDAQ"], "FNK": ["First Trust Mid Cap Value AlphaDEX Fund", "NASDAQ"], "FNKO": ["Funko, Inc. - Class A Common Stock", "NASDAQ"], "FNLC": ["First Bancorp, Inc (ME) - Common Stock", "NASDAQ"], "FNWB": ["First Northwest Bancorp - Common Stock", "NASDAQ"], "FNX": ["First Trust Mid Cap Core AlphaDEX Fund", "NASDAQ"], "FNY": ["First Trust Mid Cap Growth AlphaDEX Fund", "NASDAQ"], "FOCS": ["Focus Financial Partners Inc. - Common Stock", "NASDAQ"], "FOLD": ["Amicus Therapeutics, Inc. - Common Stock", "NASDAQ"], "FONR": ["Fonar Corporation - Common Stock", "NASDAQ"], "FORA": ["Forian Inc. - Common Stock", "NASDAQ"], "FORD": ["Forward Industries, Inc. - Common Stock", "NASDAQ"], "FOREU": ["Foresight Acquisition Corp. - Unit, consisting of one share of Class A Common Stock and one-third of one redeemable warrant", "NASDAQ"], "FORM": ["FormFactor, Inc. - Common Stock", "NASDAQ"], "FORR": ["Forrester Research, Inc. - Common Stock", "NASDAQ"], "FORTY": ["Formula Systems (1985) Ltd. - American Depositary Shares", "NASDAQ"], "FOSL": ["Fossil Group, Inc. - Common Stock", "NASDAQ"], "FOX": ["Fox Corporation (Class B)", "S&P500"], "FOXA": ["Fox Corporation (Class A)", "S&P500"], "FOXF": ["Fox Factory Holding Corp. - Common Stock", "NASDAQ"], "FOXW": ["FoxWayne Enterprises Acquisition Corp. - Class A common stock", "NASDAQ"], "FOXWU": ["FoxWayne Enterprises Acquisition Corp. - Unit", "NASDAQ"], "FOXWW": ["FoxWayne Enterprises Acquisition Corp. - Warrant", "NASDAQ"], "FPA": ["First Trust Asia Pacific Ex-Japan AlphaDEX Fund", "NASDAQ"], "FPAY": ["FlexShopper, Inc. - Common Stock", "NASDAQ"], "FPRX": ["Five Prime Therapeutics, Inc. - Common Stock", "NASDAQ"], "FPXE": ["First Trust IPOX Europe Equity Opportunities ETF", "NASDAQ"], "FPXI": ["First Trust International Equity Opportunities ETF", "NASDAQ"], "FRAF": ["Franklin Financial Services Corporation - Common Stock", "NASDAQ"], "FRBA": ["First Bank - Common Stock", "NASDAQ"], "FRBK": ["Republic First Bancorp, Inc. - Common Stock", "NASDAQ"], "FREE": ["Whole Earth Brands, Inc. - Class A Common Stock", "NASDAQ"], "FREEW": ["Whole Earth Brands, Inc. - Warrant", "NASDAQ"], "FREQ": ["Frequency Therapeutics, Inc. - Common Stock", "NASDAQ"], "FRG": ["Franchise Group, Inc. - Common Stock", "NASDAQ"], "FRGAP": ["Franchise Group, Inc. - 7.50% Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "FRGI": ["Fiesta Restaurant Group, Inc. - Common Stock", "NASDAQ"], "FRHC": ["Freedom Holding Corp. - Common Stock", "NASDAQ"], "FRLN": ["Freeline Therapeutics Holdings plc - ADSs", "NASDAQ"], "FRME": ["First Merchants Corporation - Common Stock", "NASDAQ"], "FROG": ["JFrog Ltd. - Ordinary shares", "NASDAQ"], "FRONU": ["Frontier Acquisition Corp. - Units", "NASDAQ"], "FRPH": ["FRP Holdings, Inc. - Common Stock", "NASDAQ"], "FRPT": ["Freshpet, Inc. - Common Stock", "NASDAQ"], "FRSGU": ["First Reserve Sustainable Growth Corp. - Unit", "NASDAQ"], "FRSX": ["Foresight Autonomous Holdings Ltd. - American Depositary Shares", "NASDAQ"], "FRTA": ["Forterra, Inc. - Common Stock", "NASDAQ"], "FRWAU": ["PWP Forward Acquisition Corp. I - Units", "NASDAQ"], "FSBW": ["FS Bancorp, Inc. - Common Stock", "NASDAQ"], "FSEA": ["First Seacoast Bancorp - Common Stock", "NASDAQ"], "FSFG": ["First Savings Financial Group, Inc. - Common Stock", "NASDAQ"], "FSII": ["FS Development Corp. II - Class A Common Stock", "NASDAQ"], "FSLR": ["First Solar, Inc. - Common Stock", "NASDAQ"], "FSRV": ["FinServ Acquisition Corp. - Class A Common Stock", "NASDAQ"], "FSRVU": ["FinServ Acquisition Corp. - Unit", "NASDAQ"], "FSRVW": ["FinServ Acquisition Corp. - Warrant", "NASDAQ"], "FSRXU": ["FinServ Acquisition Corp. II - Unit", "NASDAQ"], "FSSIU": ["Fortistar Sustainable Solutions Corp. - Unit", "NASDAQ"], "FSTR": ["L.B. Foster Company - Common Stock", "NASDAQ"], "FSTX": ["F-star Therapeutics, Inc. - Common Stock", "NASDAQ"], "FSV": ["FirstService Corporation - Common Shares", "NASDAQ"], "FSZ": ["First Trust Switzerland AlphaDEX Fund", "NASDAQ"], "FTA": ["First Trust Large Cap Value AlphaDEX Fund", "NASDAQ"], "FTAAU": ["FTAC Athena Acquisition Corp. - Unit", "NASDAQ"], "FTAG": ["First Trust Indxx Global Agriculture ETF", "NASDAQ"], "FTC": ["First Trust Large Cap Growth AlphaDEX Fund", "NASDAQ"], "FTCS": ["First Trust Capital Strength ETF", "NASDAQ"], "FTCV": ["FinTech Acquisition Corp. V - Class A Common Stock", "NASDAQ"], "FTCVU": ["FinTech Acquisition Corp. V - Unit", "NASDAQ"], "FTCVW": ["FinTech Acquisition Corp. V - Warrant", "NASDAQ"], "FTDR": ["frontdoor, inc. - Common Stock", "NASDAQ"], "FTEK": ["Fuel Tech, Inc. - Common Stock", "NASDAQ"], "FTFT": ["Future FinTech Group Inc. - Common Stock", "NASDAQ"], "FTGC": ["First Trust Global Tactical Commodity Strategy Fund", "NASDAQ"], "FTHI": ["First Trust BuyWrite Income ETF", "NASDAQ"], "FTHM": ["Fathom Holdings Inc. - Common Stock", "NASDAQ"], "FTIV": ["FinTech Acquisition Corp. IV - Class A Common Stock", "NASDAQ"], "FTIVU": ["FinTech Acquisition Corp. IV - Unit", "NASDAQ"], "FTIVW": ["FinTech Acquisition Corp. IV - Warrant", "NASDAQ"], "FTLB": ["First Trust Hedged BuyWrite Income ETF", "NASDAQ"], "FTNT": ["Fortinet", "S&P500"], "FTOC": ["FTAC Olympus Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "FTOCU": ["FTAC Olympus Acquisition Corp. - Unit", "NASDAQ"], "FTOCW": ["FTAC Olympus Acquisition Corp. - Warrant", "NASDAQ"], "FTPAU": ["FTAC Parnassus Acquisition Corp. - Unit", "NASDAQ"], "FTRI": ["First Trust Indxx Global Natural Resources Income ETF", "NASDAQ"], "FTSL": ["First Trust Senior Loan Fund ETF", "NASDAQ"], "FTSM": ["First Trust Enhanced Short Maturity ETF", "NASDAQ"], "FTXD": ["First Trust Nasdaq Retail ETF", "NASDAQ"], "FTXG": ["First Trust Nasdaq Food & Beverage ETF", "NASDAQ"], "FTXH": ["First Trust Nasdaq Pharmaceuticals ETF", "NASDAQ"], "FTXL": ["First Trust Nasdaq Semiconductor ETF", "NASDAQ"], "FTXN": ["First Trust Nasdaq Oil & Gas ETF", "NASDAQ"], "FTXO": ["First Trust Nasdaq Bank ETF", "NASDAQ"], "FTXR": ["First Trust Nasdaq Transportation ETF", "NASDAQ"], "FULC": ["Fulcrum Therapeutics, Inc. - Common Stock", "NASDAQ"], "FULT": ["Fulton Financial Corporation - Common Stock", "NASDAQ"], "FULTP": ["Fulton Financial Corporation - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "FUNC": ["First United Corporation - Common Stock", "NASDAQ"], "FUND": ["Sprott Focus Trust, Inc. - Closed End Fund", "NASDAQ"], "FUSB": ["First US Bancshares, Inc. - Common Stock", "NASDAQ"], "FUSN": ["Fusion Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "FUTU": ["Futu Holdings Limited - American Depositary Shares", "NASDAQ"], "FUV": ["Arcimoto, Inc. - Common Stock", "NASDAQ"], "FV": ["First Trust Dorsey Wright Focus 5 ETF", "NASDAQ"], "FVAM": ["5:01 Acquisition Corp. - Class A Common Stock", "NASDAQ"], "FVC": ["First Trust Dorsey Wright Dynamic Focus 5 ETF", "NASDAQ"], "FVCB": ["FVCBankcorp, Inc. - Common Stock", "NASDAQ"], "FVE": ["Five Star Senior Living Inc. - Common Shares", "NASDAQ"], "FWAA": ["Fifth Wall Acquisition Corp. I - Class A Common Stock", "NASDAQ"], "FWONA": ["Liberty Media Corporation - Series A Liberty Formula One Common Stock", "NASDAQ"], "FWONK": ["Liberty Media Corporation - Series C Liberty Formula One Common Stock", "NASDAQ"], "FWP": ["Forward Pharma A/S - American Depositary Shares", "NASDAQ"], "FWRD": ["Forward Air Corporation - Common Stock", "NASDAQ"], "FXNC": ["First National Corporation - Common Stock", "NASDAQ"], "FYC": ["First Trust Small Cap Growth AlphaDEX Fund", "NASDAQ"], "FYT": ["First Trust Small Cap Value AlphaDEX Fund", "NASDAQ"], "FYX": ["First Trust Small Cap Core AlphaDEX Fund", "NASDAQ"], "GABC": ["German American Bancorp, Inc. - Common Stock", "NASDAQ"], "GAIA": ["Gaia, Inc. - Class A Common Stock", "NASDAQ"], "GAIN": ["Gladstone Investment Corporation - Business Development Company", "NASDAQ"], "GAINL": ["Gladstone Investment Corporation - 6.375% Series E Cumulative Term Preferred Stock due 2025", "NASDAQ"], "GAINN": ["Gladstone Investment Corporation - 5.00% Notes Due 2026", "NASDAQ"], "GALT": ["Galectin Therapeutics Inc. - Common Stock", "NASDAQ"], "GAMCU": ["Golden Arrow Merger Corp. - Unit", "NASDAQ"], "GAN": ["GAN Limited - Ordinary Shares", "NASDAQ"], "GANX": ["Gain Therapeutics, Inc. - Common Stock", "NASDAQ"], "GASS": ["StealthGas, Inc. - common stock", "NASDAQ"], "GBCI": ["Glacier Bancorp, Inc. - Common Stock", "NASDAQ"], "GBDC": ["Golub Capital BDC, Inc. - Common Stock", "NASDAQ"], "GBIO": ["Generation Bio Co. - Common stock", "NASDAQ"], "GBLI": ["Global Indemnity Group, LLC - Class A Common Stock", "NASDAQ"], "GBLIL": ["Global Indemnity Group, LLC - 7.875% Subordinated Notes due 2047", "NASDAQ"], "GBNH": ["Greenbrook TMS Inc. - Common Shares", "NASDAQ"], "GBNY": ["Generations Bancorp NY, Inc. - Common Stock", "NASDAQ"], "GBOX": ["Greenbox POS - Common Stock", "NASDAQ"], "GBRGU": ["Goldenbridge Acquisition Limited - Unit", "NASDAQ"], "GBS": ["GBS Inc. - Common Stock", "NASDAQ"], "GBT": ["Global Blood Therapeutics, Inc. - Common Stock", "NASDAQ"], "GCACU": ["Growth Capital Acquisition Corp. - Unit", "NASDAQ"], "GCBC": ["Greene County Bancorp, Inc. - Common Stock", "NASDAQ"], "GCMG": ["GCM Grosvenor Inc. - Class A Common Stock", "NASDAQ"], "GCMGW": ["GCM Grosvenor Inc. - Warrant", "NASDAQ"], "GDEN": ["Golden Entertainment, Inc. - Common Stock", "NASDAQ"], "GDRX": ["GoodRx Holdings, Inc. - Class A Common Stock", "NASDAQ"], "GDS": ["GDS Holdings Limited - American Depositary Shares", "NASDAQ"], "GDYN": ["Grid Dynamics Holdings, Inc. - Class A Common Stock", "NASDAQ"], "GDYNW": ["Grid Dynamics Holdings, Inc. - Warrant", "NASDAQ"], "GECC": ["Great Elm Capital Corp. - Common Stock", "NASDAQ"], "GECCL": ["Great Elm Capital Corp. - 6.50% Notes due 2022", "NASDAQ"], "GECCM": ["Great Elm Capital Corp. - 6.75% Notes Due 2025", "NASDAQ"], "GECCN": ["Great Elm Capital Corp. - Notes", "NASDAQ"], "GEG": ["Great Elm Group, Inc. - Common Stock", "NASDAQ"], "GENC": ["Gencor Industries Inc. - Common Stock", "NASDAQ"], "GENE": ["Genetic Technologies Ltd - American Depositary Shares representing 600 ordinary shares", "NASDAQ"], "GENY": ["Principal Millennials Index ETF", "NASDAQ"], "GEOS": ["Geospace Technologies Corporation - Common Stock", "NASDAQ"], "GERN": ["Geron Corporation - Common Stock", "NASDAQ"], "GEVO": ["Gevo, Inc. - Common Stock", "NASDAQ"], "GFED": ["Guaranty Federal Bancshares, Inc. - Common Stock", "NASDAQ"], "GFN": ["General Finance Corporation - Common Stock", "NASDAQ"], "GFNCP": ["General Finance Corporation - Cumulative Redeemable Perpetual Preferred Series C", "NASDAQ"], "GFNSZ": ["General Finance Corporation - 7.875% Senior Notes due 2025", "NASDAQ"], "GGAL": ["Grupo Financiero Galicia S.A. - American Depositary Shares, Class B Shares underlying", "NASDAQ"], "GH": ["Guardant Health, Inc. - Common Stock", "NASDAQ"], "GHACU": ["Gaming & Hospitality Acquisition Corp. - Unit", "NASDAQ"], "GHSI": ["Guardion Health Sciences, Inc. - Common Stock", "NASDAQ"], "GHVI": ["Gores Holdings VI, Inc. - Class A Common Stock", "NASDAQ"], "GHVIU": ["Gores Holdings VI, Inc. - Unit", "NASDAQ"], "GHVIW": ["Gores Holdings VI, Inc. - Warrant", "NASDAQ"], "GIFI": ["Gulf Island Fabrication, Inc. - Common Stock", "NASDAQ"], "GIGE": ["SoFi Gig Economy ETF", "NASDAQ"], "GIGGU": ["GigCapital4, Inc. - Unit", "NASDAQ"], "GIGM": ["GigaMedia Limited - Ordinary Shares", "NASDAQ"], "GIII": ["G-III Apparel Group, LTD. - Common Stock", "NASDAQ"], "GIIXU": ["Gores Holdings VIII, Inc. - Unit", "NASDAQ"], "GILD": ["Gilead Sciences", "S&P500"], "GILT": ["Gilat Satellite Networks Ltd. - Ordinary Shares", "NASDAQ"], "GLAD": ["Gladstone Capital Corporation - Common Stock", "NASDAQ"], "GLADL": ["Gladstone Capital Corporation - 5.375% Notes due 2024", "NASDAQ"], "GLAQ": ["Globis Acquisition Corp. - Common stock", "NASDAQ"], "GLAQU": ["Globis Acquisition Corp. - Unit", "NASDAQ"], "GLAQW": ["Globis Acquisition Corp. - Warrant", "NASDAQ"], "GLBLU": ["Cartesian Growth Corporation - Unit", "NASDAQ"], "GLBS": ["Globus Maritime Limited - Common Stock", "NASDAQ"], "GLBZ": ["Glen Burnie Bancorp - Common Stock", "NASDAQ"], "GLDD": ["Great Lakes Dredge & Dock Corporation - Common Stock", "NASDAQ"], "GLDI": ["Credit Suisse Gold Shares Covered Call Exchange Traded Notes", "NASDAQ"], "GLG": ["TD Holdings, Inc. - Common Stock", "NASDAQ"], "GLMD": ["Galmed Pharmaceuticals Ltd. - Ordinary Shares", "NASDAQ"], "GLNG": ["Golar LNG Limited - Common Shares", "NASDAQ"], "GLPG": ["Galapagos NV - American Depositary Shares", "NASDAQ"], "GLPI": ["Gaming and Leisure Properties, Inc. - Common Stock", "NASDAQ"], "GLRE": ["Greenlight Reinsurance, Ltd. - Class A Ordinary Shares", "NASDAQ"], "GLSI": ["Greenwich LifeSciences, Inc. - Common stock", "NASDAQ"], "GLTO": ["Galecto, Inc. - Common Stock", "NASDAQ"], "GLUU": ["Glu Mobile Inc. - Common Stock", "NASDAQ"], "GLYC": ["GlycoMimetics, Inc. - Common Stock", "NASDAQ"], "GMAB": ["Genmab A/S - American Depositary Shares", "NASDAQ"], "GMBL": ["Esports Entertainment Group Inc. - Common Stock", "NASDAQ"], "GMBLW": ["Esports Entertainment Group Inc. - Warrant", "NASDAQ"], "GMBT": ["Queen's Gambit Growth Capital - Class A Ordinary Share", "NASDAQ"], "GMBTU": ["Queen's Gambit Growth Capital - Unit", "NASDAQ"], "GMBTW": ["Queen's Gambit Growth Capital - Warrant", "NASDAQ"], "GMDA": ["Gamida Cell Ltd. - Ordinary Shares", "NASDAQ"], "GMII": ["Gores Metropoulos II, Inc. - Class A Common Stock", "NASDAQ"], "GMIIU": ["Gores Metropoulos II, Inc. - Unit", "NASDAQ"], "GMIIW": ["Gores Metropoulos II, Inc. - Warrants", "NASDAQ"], "GMLP": ["Golar LNG Partners LP - Common Units Representing Limited Partnership", "NASDAQ"], "GMLPP": ["Golar LNG Partners LP - 8.75% Series A Cumulative Redeemable Preferred Units", "NASDAQ"], "GMTX": ["Gemini Therapeutics, Inc. - Common Stock", "NASDAQ"], "GNAC": ["Group Nine Acquisition Corp. - Class A Common stock", "NASDAQ"], "GNACU": ["Group Nine Acquisition Corp. - Unit", "NASDAQ"], "GNACW": ["Group Nine Acquisition Corp. - Warrant", "NASDAQ"], "GNCA": ["Genocea Biosciences, Inc. - Common Stock", "NASDAQ"], "GNFT": ["GENFIT S.A. - American Depositary Shares", "NASDAQ"], "GNLN": ["Greenlane Holdings, Inc. - Class A Common Stock", "NASDAQ"], "GNMA": ["iShares GNMA Bond ETF", "NASDAQ"], "GNMK": ["GenMark Diagnostics, Inc. - Common Stock", "NASDAQ"], "GNOG": ["Golden Nugget Online Gaming, Inc. - Class A Common Stock", "NASDAQ"], "GNOM": ["Global X Genomics & Biotechnology ETF", "NASDAQ"], "GNPX": ["Genprex, Inc. - Common Stock", "NASDAQ"], "GNRS": ["Greenrose Acquisition Corp. - Common Stock", "NASDAQ"], "GNRSU": ["Greenrose Acquisition Corp. - Unit", "NASDAQ"], "GNRSW": ["Greenrose Acquisition Corp. - Warrant", "NASDAQ"], "GNSS": ["Genasys Inc. - Common Stock", "NASDAQ"], "GNTX": ["Gentex Corporation - Common Stock", "NASDAQ"], "GNTY": ["Guaranty Bancshares, Inc. - Common Stock", "NASDAQ"], "GNUS": ["Genius Brands International, Inc. - Common Stock", "NASDAQ"], "GO": ["Grocery Outlet Holding Corp. - Common Stock", "NASDAQ"], "GOCO": ["GoHealth, Inc. - Class A Common Stock", "NASDAQ"], "GOEV": ["Canoo Inc. - Class A Common Stock", "NASDAQ"], "GOEVW": ["Canoo Inc. - Warrant", "NASDAQ"], "GOGL": ["Golden Ocean Group Limited - Common Stock", "NASDAQ"], "GOGO": ["Gogo Inc. - Common Stock", "NASDAQ"], "GOOD": ["Gladstone Commercial Corporation - Real Estate Investment Trust", "NASDAQ"], "GOODM": ["Gladstone Commercial Corporation - Series D Cumulative Redeemable Preferred Stock", "NASDAQ"], "GOODN": ["Gladstone Commercial Corporation - 6.625% Series E Cumulative Redeemable Preferred Stock", "NASDAQ"], "GOOG": ["Alphabet Inc. (Class C)", "S&P500"], "GOOGL": ["Alphabet Inc. (Class A)", "S&P500"], "GOSS": ["Gossamer Bio, Inc. - Common Stock", "NASDAQ"], "GOVX": ["GeoVax Labs, Inc. - Common Stock", "NASDAQ"], "GOVXW": ["GeoVax Labs, Inc. - Warrants", "NASDAQ"], "GP": ["GreenPower Motor Company Inc. - Common Shares", "NASDAQ"], "GPAC": ["Global Partner Acquisition Corp II - Class A Ordinary Share", "NASDAQ"], "GPACU": ["Global Partner Acquisition Corp II - Unit", "NASDAQ"], "GPACW": ["Global Partner Acquisition Corp II - Warrant", "NASDAQ"], "GPP": ["Green Plains Partners LP - Common Units", "NASDAQ"], "GPRE": ["Green Plains, Inc. - Common Stock", "NASDAQ"], "GPRO": ["GoPro, Inc. - Class A Common Stock", "NASDAQ"], "GRAY": ["Graybug Vision, Inc. - Common Stock", "NASDAQ"], "GRBK": ["Green Brick Partners, Inc. - Common Stock", "NASDAQ"], "GRCL": ["Gracell Biotechnologies Inc. - American Depositary Shares", "NASDAQ"], "GRCY": ["Greencity Acquisition Corporation - Ordinary Shares", "NASDAQ"], "GRCYU": ["Greencity Acquisition Corporation - Unit", "NASDAQ"], "GRCYW": ["Greencity Acquisition Corporation - Warrants", "NASDAQ"], "GRFS": ["Grifols, S.A. - American Depositary Shares", "NASDAQ"], "GRID": ["First Trust NASDAQ Clean Edge Smart Grid Infrastructure Index Fund", "NASDAQ"], "GRIL": ["Muscle Maker, Inc - Common Stock", "NASDAQ"], "GRIN": ["Grindrod Shipping Holdings Ltd. - Ordinary Shares", "NASDAQ"], "GRMN": ["Garmin Ltd.", "S&P500"], "GRNQ": ["Greenpro Capital Corp. - Common Stock", "NASDAQ"], "GRNV": ["GreenVision Acquisition Corp - Common Stock", "NASDAQ"], "GRNVR": ["GreenVision Acquisition Corp - Rights", "NASDAQ"], "GRNVU": ["GreenVision Acquisition Corp - Unit", "NASDAQ"], "GRNVW": ["GreenVision Acquisition Corp - Warrant", "NASDAQ"], "GROW": ["U.S. Global Investors, Inc. - Class A Common Stock", "NASDAQ"], "GRPN": ["Groupon, Inc. - Common Stock", "NASDAQ"], "GRSV": ["Gores Holdings V, Inc. - Common stock", "NASDAQ"], "GRSVU": ["Gores Holdings V, Inc. - Unit", "NASDAQ"], "GRSVW": ["Gores Holdings V, Inc. - Warrant", "NASDAQ"], "GRTS": ["Gritstone Oncology, Inc. - Common Stock", "NASDAQ"], "GRTX": ["Galera Therapeutics, Inc. - Common Stock", "NASDAQ"], "GRVY": ["GRAVITY Co., Ltd. - American depositary shares, each representing one common share.", "NASDAQ"], "GRWG": ["GrowGeneration Corp. - Common Stock", "NASDAQ"], "GSAQ": ["Global Synergy Acquisition Corp. - Ordinary Shares", "NASDAQ"], "GSAQU": ["Global Synergy Acquisition Corp. - Units", "NASDAQ"], "GSAQW": ["Global Synergy Acquisition Corp. - Warrant", "NASDAQ"], "GSBC": ["Great Southern Bancorp, Inc. - Common Stock", "NASDAQ"], "GSEVU": ["Gores Holdings VII, Inc. - Units", "NASDAQ"], "GSHD": ["Goosehead Insurance, Inc. - Class A Common Stock", "NASDAQ"], "GSIT": ["GSI Technology, Inc. - Common Stock", "NASDAQ"], "GSKY": ["GreenSky, Inc. - Common Stock", "NASDAQ"], "GSM": ["Ferroglobe PLC - Ordinary Shares", "NASDAQ"], "GSMG": ["Glory Star New Media Group Holdings Limited - Ordinary Share", "NASDAQ"], "GSMGW": ["Glory Star New Media Group Holdings Limited - Warrant", "NASDAQ"], "GSUM": ["Gridsum Holding Inc. - American Depositary Shares", "NASDAQ"], "GT": ["The Goodyear Tire & Rubber Company - Common Stock", "NASDAQ"], "GTBP": ["GT Biopharma, Inc. - Common Stock", "NASDAQ"], "GTEC": ["Greenland Technologies Holding Corporation - Ordinary Shares", "NASDAQ"], "GTH": ["Genetron Holdings Limited - American Depositary Shares", "NASDAQ"], "GTHX": ["G1 Therapeutics, Inc. - Common Stock", "NASDAQ"], "GTIM": ["Good Times Restaurants Inc. - Common Stock", "NASDAQ"], "GTPAU": ["Gores Technology Partners, Inc. - Units", "NASDAQ"], "GTPBU": ["Gores Technology Partners II, Inc. - Units", "NASDAQ"], "GTYH": ["GTY Technology Holdings, Inc. - Common Stock", "NASDAQ"], "GURE": ["Gulf Resources, Inc. - Common Stock", "NASDAQ"], "GVP": ["GSE Systems, Inc. - Common Stock", "NASDAQ"], "GWAC": ["Good Works Acquisition Corp. - Common Stock", "NASDAQ"], "GWACW": ["Good Works Acquisition Corp. - Warrant", "NASDAQ"], "GWGH": ["GWG Holdings, Inc - Common Stock", "NASDAQ"], "GWPH": ["GW Pharmaceuticals Plc - American Depositary Shares", "NASDAQ"], "GWRS": ["Global Water Resources, Inc. - common stock", "NASDAQ"], "GXGX": ["GX Acquisition Corp. - Class A Common Stock", "NASDAQ"], "GXGXU": ["GX Acquisition Corp. - Unit", "NASDAQ"], "GXGXW": ["GX Acquisition Corp. - Warrant", "NASDAQ"], "GXIIU": ["GX Acquisition Corp. II - Unit", "NASDAQ"], "GXTG": ["Global X Thematic Growth ETF", "NASDAQ"], "GYRO": ["Gyrodyne , LLC - Common Stock", "NASDAQ"], "HA": ["Hawaiian Holdings, Inc. - Common Stock", "NASDAQ"], "HAAC": ["Health Assurance Acquisition Corp. - Class A Common Stock", "NASDAQ"], "HAACU": ["Health Assurance Acquisition Corp. - SAIL Securities", "NASDAQ"], "HAACW": ["Health Assurance Acquisition Corp. - Warrants", "NASDAQ"], "HAFC": ["Hanmi Financial Corporation - Common Stock", "NASDAQ"], "HAIN": ["The Hain Celestial Group, Inc. - Common Stock", "NASDAQ"], "HALL": ["Hallmark Financial Services, Inc. - Common Stock", "NASDAQ"], "HALO": ["Halozyme Therapeutics, Inc. - Common Stock", "NASDAQ"], "HAPP": ["Happiness Biotech Group Limited - Ordinary Shares", "NASDAQ"], "HARP": ["Harpoon Therapeutics, Inc. - Common Stock", "NASDAQ"], "HAS": ["Hasbro Inc.", "S&P500"], "HAYN": ["Haynes International, Inc. - Common Stock", "NASDAQ"], "HBAN": ["Huntington Bancshares", "S&P500"], "HBANN": ["Huntington Bancshares Incorporated - Depositary Shares each representing a 1/40th interest in a share of 5.875% Series C Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "HBANO": ["Huntington Bancshares Incorporated - Depositary Shares", "NASDAQ"], "HBANP": ["Huntington Bancshares Incorporated - Depositary Shares 4.500% Series H Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "HBCP": ["Home Bancorp, Inc. - Common Stock", "NASDAQ"], "HBIO": ["Harvard Bioscience, Inc. - Common Stock", "NASDAQ"], "HBMD": ["Howard Bancorp, Inc. - Common Stock", "NASDAQ"], "HBNC": ["Horizon Bancorp, Inc. - Common Stock", "NASDAQ"], "HBP": ["Huttig Building Products, Inc. - Common Stock", "NASDAQ"], "HBT": ["HBT Financial, Inc. - Common Stock", "NASDAQ"], "HCAP": ["Harvest Capital Credit Corporation - Common Stock", "NASDAQ"], "HCAPZ": ["Harvest Capital Credit Corporation - 6.125% Notes due 2022", "NASDAQ"], "HCAQ": ["HealthCor Catalio Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "HCAR": ["Healthcare Services Acquisition Corporation - Class A Common Stock", "NASDAQ"], "HCARU": ["Healthcare Services Acquisition Corporation - Unit", "NASDAQ"], "HCARW": ["Healthcare Services Acquisition Corporation - Warrant", "NASDAQ"], "HCAT": ["Health Catalyst, Inc - Common stock", "NASDAQ"], "HCCC": ["Healthcare Capital Corp. - Class A common stock", "NASDAQ"], "HCCCU": ["Healthcare Capital Corp. - Unit", "NASDAQ"], "HCCCW": ["Healthcare Capital Corp. - Warrant", "NASDAQ"], "HCCI": ["Heritage-Crystal Clean, Inc. - Common Stock", "NASDAQ"], "HCDI": ["Harbor Custom Development, Inc. - Common Stock", "NASDAQ"], "HCIC": ["Hennessy Capital Investment Corp. V - Class A Common Stock", "NASDAQ"], "HCICU": ["Hennessy Capital Investment Corp. V - Unit", "NASDAQ"], "HCICW": ["Hennessy Capital Investment Corp. V - Warrant", "NASDAQ"], "HCII": ["Hudson Executive Investment Corp. II - Class A common stock", "NASDAQ"], "HCIIU": ["Hudson Executive Investment Corp. II - Unit", "NASDAQ"], "HCIIW": ["Hudson Executive Investment Corp. II - Warrant", "NASDAQ"], "HCKT": ["The Hackett Group, Inc. - Common Stock", "NASDAQ"], "HCM": ["Hutchison China MediTech Limited - American Depositary Shares", "NASDAQ"], "HCSG": ["Healthcare Services Group, Inc. - Common Stock", "NASDAQ"], "HDSN": ["Hudson Technologies, Inc. - Common Stock", "NASDAQ"], "HEAR": ["Turtle Beach Corporation - Common Stock", "NASDAQ"], "HEC": ["Hudson Executive Investment Corp. - Class A Common Stock", "NASDAQ"], "HECCU": ["Hudson Executive Investment Corp. - Units", "NASDAQ"], "HECCW": ["Hudson Executive Investment Corp. - Warrant", "NASDAQ"], "HEES": ["H&E Equipment Services, Inc. - Common Stock", "NASDAQ"], "HELE": ["Helen of Troy Limited - Common Stock", "NASDAQ"], "HEPA": ["Hepion Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "HERAU": ["FTAC Hera Acquisition Corp. - Units, each consisting of one share of Class A common stock and one fourth of one warrant", "NASDAQ"], "HERD": ["Pacer Cash Cows Fund of Funds ETF", "NASDAQ"], "HERO": ["Global X Video Games & Esports ETF", "NASDAQ"], "HEWG": ["iShares Currency Hedged MSCI Germany ETF", "NASDAQ"], "HFBL": ["Home Federal Bancorp, Inc. of Louisiana - Common Stock", "NASDAQ"], "HFFG": ["HF Foods Group Inc. - Common Stock", "NASDAQ"], "HFWA": ["Heritage Financial Corporation - Common Stock", "NASDAQ"], "HGBL": ["Heritage Global Inc. - Common Stock", "NASDAQ"], "HGEN": ["Humanigen, Inc. - Common Stock", "NASDAQ"], "HGSH": ["China HGS Real Estate, Inc. - Common Stock", "NASDAQ"], "HHR": ["HeadHunter Group PLC - American Depositary Shares", "NASDAQ"], "HIBB": ["Hibbett Sports, Inc. - Common Stock", "NASDAQ"], "HIFS": ["Hingham Institution for Savings - Common Stock", "NASDAQ"], "HIHO": ["Highway Holdings Limited - Common Stock", "NASDAQ"], "HIIIU": ["Hudson Executive Investment Corp. III - Unit", "NASDAQ"], "HIMX": ["Himax Technologies, Inc. - American depositary shares, each of which represents two ordinary shares.", "NASDAQ"], "HJLI": ["Hancock Jaffe Laboratories, Inc. - Common Stock", "NASDAQ"], "HJLIW": ["Hancock Jaffe Laboratories, Inc. - Warrants", "NASDAQ"], "HLAH": ["Hamilton Lane Alliance Holdings I, Inc. - Class A Common Stock", "NASDAQ"], "HLAHU": ["Hamilton Lane Alliance Holdings I, Inc. - Unit", "NASDAQ"], "HLAHW": ["Hamilton Lane Alliance Holdings I, Inc. - Warrant", "NASDAQ"], "HLAL": ["Wahed FTSE USA Shariah ETF", "NASDAQ"], "HLG": ["Hailiang Education Group Inc. - American Depositary Shares", "NASDAQ"], "HLIO": ["Helios Technologies, Inc. - Common Stock", "NASDAQ"], "HLIT": ["Harmonic Inc. - Common Stock", "NASDAQ"], "HLNE": ["Hamilton Lane Incorporated - Class A Common Stock", "NASDAQ"], "HLXA": ["Helix Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "HMCO": ["HumanCo Acquisition Corp. - Class A Common Stock", "NASDAQ"], "HMCOU": ["HumanCo Acquisition Corp. - Unit", "NASDAQ"], "HMCOW": ["HumanCo Acquisition Corp. - Warrant", "NASDAQ"], "HMHC": ["Houghton Mifflin Harcourt Company - Common Stock", "NASDAQ"], "HMNF": ["HMN Financial, Inc. - Common Stock", "NASDAQ"], "HMPT": ["Home Point Capital Inc. - Common Stock", "NASDAQ"], "HMST": ["HomeStreet, Inc. - Common Stock", "NASDAQ"], "HMSY": ["HMS Holdings Corp - Common Stock", "NASDAQ"], "HMTV": ["Hemisphere Media Group, Inc. - Class A Common Stock", "NASDAQ"], "HNDL": ["Strategy Shares Nasdaq 7HANDL Index ETF", "NASDAQ"], "HNNA": ["Hennessy Advisors, Inc. - Common Stock", "NASDAQ"], "HNRG": ["Hallador Energy Company - Common Stock", "NASDAQ"], "HOFT": ["Hooker Furniture Corporation - Common Stock", "NASDAQ"], "HOFV": ["Hall of Fame Resort & Entertainment Company - Common Stock", "NASDAQ"], "HOFVW": ["Hall of Fame Resort & Entertainment Company - Warrant", "NASDAQ"], "HOL": ["Holicity Inc. - Class A Common Stock", "NASDAQ"], "HOLI": ["Hollysys Automation Technologies, Ltd. - Common Stock", "NASDAQ"], "HOLUU": ["Holicity Inc. - Unit", "NASDAQ"], "HOLUW": ["Holicity Inc. - Warrant", "NASDAQ"], "HOLX": ["Hologic", "S&P500"], "HOMB": ["Home BancShares, Inc. - common stock", "NASDAQ"], "HONE": ["HarborOne Bancorp, Inc. - Common Stock", "NASDAQ"], "HOOK": ["HOOKIPA Pharma Inc. - Common Stock", "NASDAQ"], "HOPE": ["Hope Bancorp, Inc. - Common Stock", "NASDAQ"], "HOTH": ["Hoth Therapeutics, Inc. - Common Stock", "NASDAQ"], "HOVNP": ["Hovnanian Enterprises Inc - Depositary Share representing 1/1000th of 7.625% Series A Preferred Stock", "NASDAQ"], "HPK": ["HighPeak Energy, Inc. - Common Stock", "NASDAQ"], "HPKEW": ["HighPeak Energy, Inc. - Warrant", "NASDAQ"], "HQI": ["HireQuest, Inc. - Common Stock", "NASDAQ"], "HQY": ["HealthEquity, Inc. - Common Stock", "NASDAQ"], "HRMY": ["Harmony Biosciences Holdings, Inc. - Common Stock", "NASDAQ"], "HROW": ["Harrow Health, Inc. - Common Stock", "NASDAQ"], "HRTX": ["Heron Therapeutics, Inc. - Common Stock", "NASDAQ"], "HRZN": ["Horizon Technology Finance Corporation - Common Stock", "NASDAQ"], "HSAQ": ["Health Sciences Acquisitions Corporation 2 - Ordinary Shares", "NASDAQ"], "HSDT": ["Helius Medical Technologies, Inc. - Class A Common Stock", "NASDAQ"], "HSIC": ["Henry Schein", "S&P500"], "HSII": ["Heidrick & Struggles International, Inc. - Common Stock", "NASDAQ"], "HSKA": ["Heska Corporation - Common Stock", "NASDAQ"], "HSON": ["Hudson Global, Inc. - Common Stock", "NASDAQ"], "HST": ["Host Hotels & Resorts", "S&P500"], "HSTM": ["HealthStream, Inc. - Common Stock", "NASDAQ"], "HSTO": ["Histogen Inc. - Common Stock", "NASDAQ"], "HTBI": ["HomeTrust Bancshares, Inc. - Common Stock", "NASDAQ"], "HTBK": ["Heritage Commerce Corp - Common Stock", "NASDAQ"], "HTBX": ["Heat Biologics, Inc. - Common Stock", "NASDAQ"], "HTGM": ["HTG Molecular Diagnostics, Inc. - Common Stock", "NASDAQ"], "HTHT": ["Huazhu Group Limited - American Depositary Shares, each representing one Ordinary Share", "NASDAQ"], "HTIA": ["Healthcare Trust, Inc. - 7.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "HTLD": ["Heartland Express, Inc. - Common Stock", "NASDAQ"], "HTLF": ["Heartland Financial USA, Inc. - Common Stock", "NASDAQ"], "HTLFP": ["Heartland Financial USA, Inc. - Depositary Shares, each representing a 1/400th ownership interest in a share of 7.00% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "NASDAQ"], "HTOO": ["Fusion Fuel Green PLC - Ordinary Shares", "NASDAQ"], "HTOOW": ["Fusion Fuel Green PLC - Warrant", "NASDAQ"], "HUBG": ["Hub Group, Inc. - Class A Common Stock", "NASDAQ"], "HUDI": ["Huadi International Group Co., Ltd. - Ordinary Shares", "NASDAQ"], "HUGE": ["FSD Pharma Inc. - Class B Subordinate Voting Shares", "NASDAQ"], "HUIZ": ["Huize Holding Limited - American Depositary Shares", "NASDAQ"], "HURC": ["Hurco Companies, Inc. - Common Stock", "NASDAQ"], "HURN": ["Huron Consulting Group Inc. - Common Stock", "NASDAQ"], "HUSN": ["Hudson Capital Inc. - Ordinary Shares", "NASDAQ"], "HVBC": ["HV Bancorp, Inc. - Common Stock", "NASDAQ"], "HWBK": ["Hawthorn Bancshares, Inc. - Common Stock", "NASDAQ"], "HWC": ["Hancock Whitney Corporation - Common Stock", "NASDAQ"], "HWCC": ["Houston Wire & Cable Company - Common Stock", "NASDAQ"], "HWCPL": ["Hancock Whitney Corporation - 5.95% Subordinated Notes due 2045", "NASDAQ"], "HWCPZ": ["Hancock Whitney Corporation - 6.25% Subordinated Notes due 2060", "NASDAQ"], "HWKN": ["Hawkins, Inc. - Common Stock", "NASDAQ"], "HX": ["Xiaobai Maimai Inc. - American Depositary Shares", "NASDAQ"], "HYACU": ["Haymaker Acquisition Corp. III - Unit", "NASDAQ"], "HYFM": ["Hydrofarm Holdings Group, Inc. - Common Stock", "NASDAQ"], "HYLS": ["First Trust Tactical High Yield ETF", "NASDAQ"], "HYMC": ["Hycroft Mining Holding Corporation - Class A Common Stock", "NASDAQ"], "HYMCL": ["Hycroft Mining Holding Corporation - Warrants", "NASDAQ"], "HYMCW": ["Hycroft Mining Holding Corporation - Warrant", "NASDAQ"], "HYMCZ": ["Hycroft Mining Holding Corporation - Warrant", "NASDAQ"], "HYRE": ["HyreCar Inc. - Common Stock", "NASDAQ"], "HYXF": ["iShares ESG Advanced High Yield Corporate Bond ETF", "NASDAQ"], "HYZD": ["WisdomTree Interest Rate Hedged High Yield Bond Fund", "NASDAQ"], "HZNP": ["Horizon Therapeutics Public Limited Company - Ordinary Shares", "NASDAQ"], "IAC": ["IAC/InterActiveCorp - Common Stock", "NASDAQ"], "IART": ["Integra LifeSciences Holdings Corporation - Common Stock", "NASDAQ"], "IBB": ["iShares Nasdaq Biotechnology Index Fund", "NASDAQ"], "IBBJ": ["Defiance Nasdaq Junior Biotechnology ETF", "NASDAQ"], "IBCP": ["Independent Bank Corporation - Common Stock", "NASDAQ"], "IBEX": ["IBEX Limited - Common Share", "NASDAQ"], "IBKR": ["Interactive Brokers Group, Inc. - Class A Common Stock", "NASDAQ"], "IBOC": ["International Bancshares Corporation - Common Stock", "NASDAQ"], "IBRX": ["ImmunityBio, Inc. - Common Stock", "NASDAQ"], "IBTA": ["iShares iBonds Dec 2021 Term Treasury ETF", "NASDAQ"], "IBTB": ["iShares iBonds Dec 2022 Term Treasury ETF", "NASDAQ"], "IBTD": ["iShares iBonds Dec 2023 Term Treasury ETF", "NASDAQ"], "IBTE": ["iShares iBonds Dec 2024 Term Treasury ETF", "NASDAQ"], "IBTF": ["iShares iBonds Dec 2025 Term Treasury ETF", "NASDAQ"], "IBTG": ["iShares iBonds Dec 2026 Term Treasury ETF", "NASDAQ"], "IBTH": ["iShares iBonds Dec 2027 Term Treasury ETF", "NASDAQ"], "IBTI": ["iShares iBonds Dec 2028 Term Treasury ETF", "NASDAQ"], "IBTJ": ["iShares iBonds Dec 2029 Term Treasury ETF", "NASDAQ"], "IBTK": ["iShares iBonds Dec 2030 Term Treasury ETF", "NASDAQ"], "IBTX": ["Independent Bank Group, Inc - Common Stock", "NASDAQ"], "ICAD": ["icad inc. - Common Stock", "NASDAQ"], "ICBK": ["County Bancorp, Inc. - Common Stock", "NASDAQ"], "ICCC": ["ImmuCell Corporation - Common Stock", "NASDAQ"], "ICCH": ["ICC Holdings, Inc. - Common Stock", "NASDAQ"], "ICFI": ["ICF International, Inc. - Common Stock", "NASDAQ"], "ICHR": ["Ichor Holdings - Ordinary Shares", "NASDAQ"], "ICLK": ["iClick Interactive Asia Group Limited - American Depositary Shares", "NASDAQ"], "ICLN": ["iShares S&P Global Clean Energy Index Fund", "NASDAQ"], "ICLR": ["ICON plc - Ordinary Shares", "NASDAQ"], "ICMB": ["Investcorp Credit Management BDC, Inc. - Common Stock", "NASDAQ"], "ICON": ["Iconix Brand Group, Inc. - Common Stock", "NASDAQ"], "ICPT": ["Intercept Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ICUI": ["ICU Medical, Inc. - Common Stock", "NASDAQ"], "IDBA": ["IDEX Biometrics ASA - American Depositary Shares", "NASDAQ"], "IDCC": ["InterDigital, Inc. - Common Stock", "NASDAQ"], "IDEX": ["Ideanomics, Inc. - Common Stock", "NASDAQ"], "IDLB": ["Invesco FTSE International Low Beta Equal Weight ETF", "NASDAQ"], "IDN": ["Intellicheck, Inc. - Common Stock", "NASDAQ"], "IDRA": ["Idera Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "IDXX": ["Idexx Laboratories", "S&P500"], "IDYA": ["IDEAYA Biosciences, Inc. - Common Stock", "NASDAQ"], "IEA": ["Infrastructure and Energy Alternatives, Inc. - Common Stock", "NASDAQ"], "IEAWW": ["Infrastructure and Energy Alternatives, Inc. - Warrant", "NASDAQ"], "IEC": ["IEC Electronics Corp. - Common Stock", "NASDAQ"], "IEF": ["iShares 7-10 Year Treasury Bond ETF", "NASDAQ"], "IEI": ["iShares 3-7 Year Treasury Bond ETF", "NASDAQ"], "IEP": ["Icahn Enterprises L.P. - Depositary units", "NASDAQ"], "IESC": ["IES Holdings, Inc. - Common Stock", "NASDAQ"], "IEUS": ["iShares MSCI Europe Small-Cap ETF", "NASDAQ"], "IFGL": ["iShares FTSE EPRA/NAREIT Global Real Estate ex-U.S. Index Fund", "NASDAQ"], "IFMK": ["iFresh Inc. - Common Stock", "NASDAQ"], "IFRX": ["InflaRx N.V. - Common Stock", "NASDAQ"], "IFV": ["First Trust Dorsey Wright International Focus 5 ETF", "NASDAQ"], "IGAC": ["IG Acquisition Corp. - Class A Common Stock", "NASDAQ"], "IGACU": ["IG Acquisition Corp. - Unit", "NASDAQ"], "IGACW": ["IG Acquisition Corp. - Warrant", "NASDAQ"], "IGF": ["iShares Global Infrastructure ETF", "NASDAQ"], "IGIB": ["iShares 5-10 Year Investment Grade Corporate Bond ETF", "NASDAQ"], "IGIC": ["International General Insurance Holdings Ltd. - Ordinary Shares", "NASDAQ"], "IGICW": ["International General Insurance Holdings Ltd. - Warrant expiring 3/17/2025", "NASDAQ"], "IGMS": ["IGM Biosciences, Inc. - Common Stock", "NASDAQ"], "IGNY": ["Ignyte Acquisition Corp. - Common Stock", "NASDAQ"], "IGNYU": ["Ignyte Acquisition Corp. - Unit", "NASDAQ"], "IGNYW": ["Ignyte Acquisition Corp. - Warrant", "NASDAQ"], "IGOV": ["iShares International Treasury Bond ETF", "NASDAQ"], "IGSB": ["iShares 1-5 Year Investment Grade Corporate Bond ETF", "NASDAQ"], "IHRT": ["iHeartMedia, Inc. - Class A Common Stock", "NASDAQ"], "IHYF": ["Invesco High Yield Bond Factor ETF", "NASDAQ"], "III": ["Information Services Group, Inc. - Common Stock", "NASDAQ"], "IIII": ["INSU Acquisition Corp. III - Class A Common Stock", "NASDAQ"], "IIIIU": ["INSU Acquisition Corp. III - Unit", "NASDAQ"], "IIIIW": ["INSU Acquisition Corp. III - Warrant", "NASDAQ"], "IIIV": ["i3 Verticals, Inc. - Common Stock", "NASDAQ"], "IIN": ["IntriCon Corporation - Common Stock", "NASDAQ"], "IIVI": ["II-VI Incorporated - Common Stock", "NASDAQ"], "IIVIP": ["II-VI Incorporated - 6.00% Series A Mandatory Convertible Preferred Stock", "NASDAQ"], "IJT": ["iShares S&P Small-Cap 600 Growth ETF", "NASDAQ"], "IKNX": ["Ikonics Corporation - Common Stock", "NASDAQ"], "IKT": ["Inhibikase Therapeutics, Inc. - Common Stock", "NASDAQ"], "ILMN": ["Illumina Inc", "S&P500"], "ILPT": ["Industrial Logistics Properties Trust - Common Shares of Beneficial Interest", "NASDAQ"], "IMAB": ["I-MAB - American Depositary Shares", "NASDAQ"], "IMAC": ["IMAC Holdings, Inc. - Common Stock", "NASDAQ"], "IMACW": ["IMAC Holdings, Inc. - Warrant", "NASDAQ"], "IMBI": ["iMedia Brands, Inc. - Class A Common Stock", "NASDAQ"], "IMCC": ["IM Cannabis Corp. - Common Shares", "NASDAQ"], "IMCR": ["Immunocore Holdings plc - American Depositary Shares", "NASDAQ"], "IMGN": ["ImmunoGen, Inc. - Common Stock", "NASDAQ"], "IMKTA": ["Ingles Markets, Incorporated - Class A Common Stock", "NASDAQ"], "IMMP": ["Immutep Limited - American Depositary Shares", "NASDAQ"], "IMMR": ["Immersion Corporation - Common Stock", "NASDAQ"], "IMNM": ["Immunome, Inc. - Common Stock", "NASDAQ"], "IMOS": ["ChipMOS TECHNOLOGIES INC. - American Depositary Shares", "NASDAQ"], "IMRA": ["IMARA Inc. - Common Stock", "NASDAQ"], "IMRN": ["Immuron Limited - American Depositary Shares", "NASDAQ"], "IMRNW": ["Immuron Limited - Warrants", "NASDAQ"], "IMTE": ["Integrated Media Technology Limited - Ordinary Shares", "NASDAQ"], "IMTX": ["Immatics N.V. - Ordinary Shares", "NASDAQ"], "IMTXW": ["Immatics N.V. - Warrants", "NASDAQ"], "IMUX": ["Immunic, Inc. - Common Stock", "NASDAQ"], "IMV": ["IMV Inc. - Common Shares", "NASDAQ"], "IMVT": ["Immunovant, Inc. - Common Stock", "NASDAQ"], "IMXI": ["International Money Express, Inc. - Common Stock", "NASDAQ"], "INBK": ["First Internet Bancorp - Common Stock", "NASDAQ"], "INBKL": ["First Internet Bancorp - 6.0% Fixed-to-Floating Rate Subordinated Notes due 2026", "NASDAQ"], "INBKZ": ["First Internet Bancorp - Fixed-to-Floating Rate Subordinated Notes Due 2029", "NASDAQ"], "INBX": ["Inhibrx, Inc. - Common Stock", "NASDAQ"], "INCY": ["Incyte", "S&P500"], "INDB": ["Independent Bank Corp. - Common Stock", "NASDAQ"], "INDT": ["INDUS Realty Trust, Inc. - Common Stock", "NASDAQ"], "INDY": ["iShares S&P India Nifty 50 Index Fund", "NASDAQ"], "INFI": ["Infinity Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "INFN": ["Infinera Corporation - Common Stock", "NASDAQ"], "INFR": ["Legg Mason Global Infrastructure ETF", "NASDAQ"], "INGN": ["Inogen, Inc - Common Stock", "NASDAQ"], "INKA": ["KludeIn I Acquisition Corp. - Class A Common Stock", "NASDAQ"], "INKAU": ["KludeIn I Acquisition Corp. - Unit", "NASDAQ"], "INKAW": ["KludeIn I Acquisition Corp. - Warrant", "NASDAQ"], "INM": ["InMed Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "INMB": ["INmune Bio Inc. - Common stock", "NASDAQ"], "INMD": ["InMode Ltd. - Ordinary Shares", "NASDAQ"], "INNV": ["InnovAge Holding Corp. - Common Stock", "NASDAQ"], "INO": ["Inovio Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "INOD": ["Innodata Inc. - Common Stock", "NASDAQ"], "INOV": ["Inovalon Holdings, Inc. - Class A Common Stock", "NASDAQ"], "INPX": ["Inpixon - Common Stock", "NASDAQ"], "INSE": ["Inspired Entertainment, Inc. - Common Stock", "NASDAQ"], "INSG": ["Inseego Corp. - Common Stock", "NASDAQ"], "INSM": ["Insmed, Inc. - Common Stock", "NASDAQ"], "INTC": ["Intel Corp.", "S&P500"], "INTG": ["The Intergroup Corporation - Common Stock", "NASDAQ"], "INTU": ["Intuit Inc.", "S&P500"], "INTZ": ["Intrusion Inc. - Common Stock", "NASDAQ"], "INVA": ["Innoviva, Inc. - Common Stock", "NASDAQ"], "INVE": ["Identiv, Inc. - Common Stock", "NASDAQ"], "INVO": ["INVO BioScience, Inc. - Common Stock", "NASDAQ"], "INZY": ["Inozyme Pharma, Inc. - Common Stock", "NASDAQ"], "IONS": ["Ionis Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "IOSP": ["Innospec Inc. - Common Stock", "NASDAQ"], "IOVA": ["Iovance Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "IPA": ["ImmunoPrecise Antibodies Ltd. - Common Stock", "NASDAQ"], "IPAR": ["Inter Parfums, Inc. - Common Stock", "NASDAQ"], "IPDN": ["Professional Diversity Network, Inc. - Common Stock", "NASDAQ"], "IPGP": ["IPG Photonics Corp.", "S&P500"], "IPHA": ["Innate Pharma S.A. - American Depositary Shares", "NASDAQ"], "IPHI": ["Inphi Corporation - Common Stock", "NASDAQ"], "IPKW": ["Invesco International BuyBack Achievers ETF", "NASDAQ"], "IPLDP": ["Interstate Power and Light Company - Interstate Power & Light Company Perp Preferred 5.10% Series D", "NASDAQ"], "IPVIU": ["InterPrivate IV InfraTech Partners Inc. - Units", "NASDAQ"], "IPWR": ["Ideal Power Inc. - Common Stock", "NASDAQ"], "IQ": ["iQIYI, Inc. - American Depositary Shares", "NASDAQ"], "IRBT": ["iRobot Corporation - Common Stock", "NASDAQ"], "IRCP": ["IRSA Propiedades Comerciales S.A. - American Depository Shares", "NASDAQ"], "IRDM": ["Iridium Communications Inc - Common Stock", "NASDAQ"], "IRIX": ["IRIDEX Corporation - Common Stock", "NASDAQ"], "IRMD": ["iRadimed Corporation - Common Stock", "NASDAQ"], "IROQ": ["IF Bancorp, Inc. - Common Stock", "NASDAQ"], "IRTC": ["iRhythm Technologies, Inc. - Common Stock", "NASDAQ"], "IRWD": ["Ironwood Pharmaceuticals, Inc. - Class A Common Stock", "NASDAQ"], "ISBC": ["Investors Bancorp, Inc. - Common Stock", "NASDAQ"], "ISDX": ["Invesco RAFI Strategic Developed ex-US ETF", "NASDAQ"], "ISEE": ["IVERIC bio, Inc. - Common Stock", "NASDAQ"], "ISEM": ["Invesco RAFI Strategic Emerging Markets ETF", "NASDAQ"], "ISHG": ["iShares 1-3 Year International Treasury Bond ETF", "NASDAQ"], "ISIG": ["Insignia Systems, Inc. - Common Stock", "NASDAQ"], "ISLEU": ["Isleworth Healthcare Acquisition Corporation - Unit", "NASDAQ"], "ISNS": ["Image Sensing Systems, Inc. - Common Stock", "NASDAQ"], "ISRG": ["Intuitive Surgical Inc.", "S&P500"], "ISSC": ["Innovative Solutions and Support, Inc. - Common Stock", "NASDAQ"], "ISTB": ["iShares Core 1-5 Year USD Bond ETF", "NASDAQ"], "ISTR": ["Investar Holding Corporation - Common Stock", "NASDAQ"], "ISUN": ["iSun, Inc. - Common Stock", "NASDAQ"], "ITAC": ["Industrial Tech Acquisitions, Inc. - Class A common stock", "NASDAQ"], "ITACU": ["Industrial Tech Acquisitions, Inc. - Unit", "NASDAQ"], "ITACW": ["Industrial Tech Acquisitions, Inc. - Warrant", "NASDAQ"], "ITCI": ["Intra-Cellular Therapies Inc. - Common Stock", "NASDAQ"], "ITHXU": ["ITHAX Acquisition Corp. - Unit", "NASDAQ"], "ITI": ["Iteris, Inc. - Common Stock", "NASDAQ"], "ITIC": ["Investors Title Company - Common Stock", "NASDAQ"], "ITMR": ["Itamar Medical Ltd. - American Depository Shares", "NASDAQ"], "ITOS": ["iTeos Therapeutics, Inc. - Common Stock", "NASDAQ"], "ITQRU": ["Itiquira Acquisition Corp. - Unit", "NASDAQ"], "ITRI": ["Itron, Inc. - Common Stock", "NASDAQ"], "ITRM": ["Iterum Therapeutics plc - Ordinary Share", "NASDAQ"], "ITRN": ["Ituran Location and Control Ltd. - Ordinary Shares", "NASDAQ"], "IUS": ["Invesco RAFI Strategic US ETF", "NASDAQ"], "IUSB": ["iShares Core Total USD Bond Market ETF", "NASDAQ"], "IUSG": ["iShares Core S&P U.S. Growth ETF", "NASDAQ"], "IUSS": ["Invesco RAFI Strategic US Small Company ETF", "NASDAQ"], "IUSV": ["iShares Core S&P U.S. Value ETF", "NASDAQ"], "IVA": ["Inventiva S.A. - American Depository Shares", "NASDAQ"], "IVAC": ["Intevac, Inc. - Common Stock", "NASDAQ"], "IXUS": ["iShares Core MSCI Total International Stock ETF", "NASDAQ"], "IZEA": ["IZEA Worldwide, Inc. - Common Stock", "NASDAQ"], "JACK": ["Jack In The Box Inc. - Common Stock", "NASDAQ"], "JAGX": ["Jaguar Health, Inc. - Common Stock", "NASDAQ"], "JAKK": ["JAKKS Pacific, Inc. - Common Stock", "NASDAQ"], "JAMF": ["Jamf Holding Corp. - Common Stock", "NASDAQ"], "JAN": ["JanOne Inc. - Common Stock", "NASDAQ"], "JAZZ": ["Jazz Pharmaceuticals plc - Ordinary Shares", "NASDAQ"], "JBHT": ["J. B. Hunt Transport Services", "S&P500"], "JBLU": ["JetBlue Airways Corporation - Common Stock", "NASDAQ"], "JBSS": ["John B. Sanfilippo & Son, Inc. - Common Stock", "NASDAQ"], "JCIC": ["Jack Creek Investment Corp. - Class A Ordinary Shares", "NASDAQ"], "JCICU": ["Jack Creek Investment Corp. - Units", "NASDAQ"], "JCICW": ["Jack Creek Investment Corp. - Warrants", "NASDAQ"], "JCOM": ["j2 Global, Inc. - Common Stock", "NASDAQ"], "JCS": ["Communications Systems, Inc. - Common Stock", "NASDAQ"], "JCTCF": ["Jewett-Cameron Trading Company - Common Shares", "NASDAQ"], "JD": ["JD.com, Inc. - American Depositary Shares", "NASDAQ"], "JFIN": ["Jiayin Group Inc. - American Depositary Shares", "NASDAQ"], "JFU": ["9F Inc. - American Depositary Shares", "NASDAQ"], "JG": ["Aurora Mobile Limited - American Depositary Shares", "NASDAQ"], "JJSF": ["J & J Snack Foods Corp. - Common Stock", "NASDAQ"], "JKHY": ["Jack Henry & Associates", "S&P500"], "JKI": ["iShares Morningstar Mid-Cap ETF", "NASDAQ"], "JMPNL": ["JMP Group LLC - 7.25% Senior Notes due 2027", "NASDAQ"], "JMPNZ": ["JMP Group LLC - 6.875% Senior Notes due 2029", "NASDAQ"], "JNCE": ["Jounce Therapeutics, Inc. - Common Stock", "NASDAQ"], "JOAN": ["JOANN, Inc. - common stock", "NASDAQ"], "JOBS": ["51job, Inc. - American Depositary Shares, each representing two common shares", "NASDAQ"], "JOET": ["Virtus Terranova U.S. Quality Momentum ETF", "NASDAQ"], "JOFFU": ["JOFF Fintech Acquisition Corp. - Unit", "NASDAQ"], "JOUT": ["Johnson Outdoors Inc. - Class A Common Stock", "NASDAQ"], "JRJC": ["China Finance Online Co. Limited - American Depositary Shares", "NASDAQ"], "JRSH": ["Jerash Holdings (US), Inc. - Common Stock", "NASDAQ"], "JRVR": ["James River Group Holdings, Ltd. - Common Shares", "NASDAQ"], "JSM": ["Navient Corporation - 6% Senior Notes due December 15, 2043", "NASDAQ"], "JSMD": ["Janus Henderson Small/Mid Cap Growth Alpha ETF", "NASDAQ"], "JSML": ["Janus Henderson Small Cap Growth Alpha ETF", "NASDAQ"], "JUPW": ["Jupiter Wellness, Inc. - Common Stock", "NASDAQ"], "JUPWW": ["Jupiter Wellness, Inc. - Warrant", "NASDAQ"], "JVA": ["Coffee Holding Co., Inc. - Common Stock", "NASDAQ"], "JWEL": ["Jowell Global Ltd. - Ordinary Shares", "NASDAQ"], "JYAC": ["Jiya Acquisition Corp. - Class A Common Stock", "NASDAQ"], "JYNT": ["The Joint Corp. - Common Stock", "NASDAQ"], "KAIIU": ["Kismet Acquisition Two Corp. - Unit", "NASDAQ"], "KAIR": ["Kairos Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "KAIRU": ["Kairos Acquisition Corp. - Unit", "NASDAQ"], "KAIRW": ["Kairos Acquisition Corp. - Warrant", "NASDAQ"], "KALA": ["Kala Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "KALU": ["Kaiser Aluminum Corporation - Common Stock", "NASDAQ"], "KALV": ["KalVista Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "KBAL": ["Kimball International, Inc. - Class B Common Stock", "NASDAQ"], "KBNT": ["Kubient, Inc. - Common Stock", "NASDAQ"], "KBNTW": ["Kubient, Inc. - Warrant", "NASDAQ"], "KBSF": ["KBS Fashion Group Limited - Common Stock", "NASDAQ"], "KBWB": ["Invesco KBW Bank ETF", "NASDAQ"], "KBWD": ["Invesco KBW High Dividend Yield Financial ETF", "NASDAQ"], "KBWP": ["Invesco KBW Property & Casualty Insurance ETF", "NASDAQ"], "KBWR": ["Invesco KBW Regional Banking ETF", "NASDAQ"], "KBWY": ["Invesco KBW Premium Yield Equity REIT ETF", "NASDAQ"], "KC": ["Kingsoft Cloud Holdings Limited - American Depositary Shares", "NASDAQ"], "KCAPL": ["Portman Ridge Finance Corporation - 6.125% Notes due 2022", "NASDAQ"], "KDMN": ["Kadmon Holdings, Inc. - Common Stock", "NASDAQ"], "KDNY": ["Chinook Therapeutics, Inc. - Common Stock", "NASDAQ"], "KDP": ["Keurig Dr Pepper Inc. - Common Stock", "NASDAQ"], "KE": ["Kimball Electronics, Inc. - Common Stock", "NASDAQ"], "KEJI": ["Global X China Disruption ETF", "NASDAQ"], "KELYA": ["Kelly Services, Inc. - Class A Common Stock", "NASDAQ"], "KELYB": ["Kelly Services, Inc. - Class B Common Stock", "NASDAQ"], "KEQU": ["Kewaunee Scientific Corporation - Common Stock", "NASDAQ"], "KERN": ["Akerna Corp. - Common Stock", "NASDAQ"], "KERNW": ["Akerna Corp. - Warrant", "NASDAQ"], "KFFB": ["Kentucky First Federal Bancorp - Common Stock", "NASDAQ"], "KFRC": ["Kforce, Inc. - Common Stock", "NASDAQ"], "KHC": ["Kraft Heinz Co", "S&P500"], "KIDS": ["OrthoPediatrics Corp. - Common Stock", "NASDAQ"], "KIIIU": ["Kismet Acquisition Three Corp. - Unit", "NASDAQ"], "KIN": ["Kindred Biosciences, Inc. - Common Stock", "NASDAQ"], "KINS": ["Kingstone Companies, Inc - Common Stock", "NASDAQ"], "KINZ": ["KINS Technology Group Inc. - Class A Common Stock", "NASDAQ"], "KINZU": ["KINS Technology Group Inc. - Unit", "NASDAQ"], "KINZW": ["KINS Technology Group Inc. - Warrant", "NASDAQ"], "KIRK": ["Kirkland's, Inc. - Common Stock", "NASDAQ"], "KLAC": ["KLA Corporation", "S&P500"], "KLAQ": ["KL Acquisition Corp - Class A Common Stock", "NASDAQ"], "KLAQU": ["KL Acquisition Corp - Unit", "NASDAQ"], "KLAQW": ["KL Acquisition Corp - Warrant", "NASDAQ"], "KLDO": ["Kaleido Biosciences, Inc. - Common Stock", "NASDAQ"], "KLIC": ["Kulicke and Soffa Industries, Inc. - Common Stock", "NASDAQ"], "KLXE": ["KLX Energy Services Holdings, Inc. - Common Stock", "NASDAQ"], "KMDA": ["Kamada Ltd. - Ordinary Shares", "NASDAQ"], "KMPH": ["KemPharm, Inc. - Common Stock", "NASDAQ"], "KNDI": ["Kandi Technologies Group, Inc. - Common Stock", "NASDAQ"], "KNSA": ["Kiniksa Pharmaceuticals, Ltd. - Class A Common Stock", "NASDAQ"], "KNSL": ["Kinsale Capital Group, Inc. - Common Stock", "NASDAQ"], "KNTE": ["Kinnate Biopharma Inc. - Common Stock", "NASDAQ"], "KOD": ["Kodiak Sciences Inc - Common Stock", "NASDAQ"], "KOPN": ["Kopin Corporation - Common Stock", "NASDAQ"], "KOR": ["Corvus Gold Inc. - Common Shares", "NASDAQ"], "KOSS": ["Koss Corporation - Common Stock", "NASDAQ"], "KPTI": ["Karyopharm Therapeutics Inc. - Common Stock", "NASDAQ"], "KRBP": ["Kiromic BioPharma, Inc. - Common Stock", "NASDAQ"], "KRKR": ["36Kr Holdings Inc. - American Depositary Shares", "NASDAQ"], "KRMA": ["Global X Conscious Companies ETF", "NASDAQ"], "KRMD": ["Repro Med Systems, Inc. - Common Stock", "NASDAQ"], "KRNLU": ["Kernel Group Holdings, Inc. - Units", "NASDAQ"], "KRNT": ["Kornit Digital Ltd. - Ordinary Shares", "NASDAQ"], "KRNY": ["Kearny Financial - Common Stock", "NASDAQ"], "KRON": ["Kronos Bio, Inc. - Common Stock", "NASDAQ"], "KROS": ["Keros Therapeutics, Inc. - common stock", "NASDAQ"], "KRTX": ["Karuna Therapeutics, Inc. - Common Stock", "NASDAQ"], "KRUS": ["Kura Sushi USA, Inc. - Class A Common Stock", "NASDAQ"], "KRYS": ["Krystal Biotech, Inc. - Common Stock", "NASDAQ"], "KSICU": ["Kadem Sustainable Impact Corporation - Unit", "NASDAQ"], "KSMT": ["Kismet Acquisition One Corp - Ordinary Shares", "NASDAQ"], "KSMTU": ["Kismet Acquisition One Corp - Unit", "NASDAQ"], "KSMTW": ["Kismet Acquisition One Corp - Warrant", "NASDAQ"], "KSPN": ["Kaspien Holdings Inc. - Common Stock", "NASDAQ"], "KTCC": ["Key Tronic Corporation - Common Stock", "NASDAQ"], "KTOS": ["Kratos Defense & Security Solutions, Inc. - Common Stock", "NASDAQ"], "KTRA": ["Kintara Therapeutics, Inc. - Common Stock", "NASDAQ"], "KURA": ["Kura Oncology, Inc. - Common Stock", "NASDAQ"], "KURIU": ["Alkuri Global Acquisition Corp. - Unit", "NASDAQ"], "KVHI": ["KVH Industries, Inc. - Common Stock", "NASDAQ"], "KVSA": ["Khosla Ventures Acquisition Co. - Class A Common Stock", "NASDAQ"], "KXIN": ["Kaixin Auto Holdings - Ordinary Share", "NASDAQ"], "KYMR": ["Kymera Therapeutics, Inc. - Common Stock", "NASDAQ"], "KZIA": ["Kazia Therapeutics Limited - American Depositary Shares", "NASDAQ"], "KZR": ["Kezar Life Sciences, Inc. - Common Stock", "NASDAQ"], "LABP": ["Landos Biopharma, Inc. - Common Stock", "NASDAQ"], "LACQ": ["Leisure Acquisition Corp. - Common Stock", "NASDAQ"], "LACQU": ["Leisure Acquisition Corp. - Unit", "NASDAQ"], "LACQW": ["Leisure Acquisition Corp. - Warrant", "NASDAQ"], "LAKE": ["Lakeland Industries, Inc. - Common Stock", "NASDAQ"], "LAMR": ["Lamar Advertising Company - Class A Common Stock", "NASDAQ"], "LANC": ["Lancaster Colony Corporation - Common Stock", "NASDAQ"], "LAND": ["Gladstone Land Corporation - Common Stock", "NASDAQ"], "LANDM": ["Gladstone Land Corporation - 5.00% Series D Cumulative Term Preferred Stock", "NASDAQ"], "LANDO": ["Gladstone Land Corporation - 6.00% Series B Cumulative Redeemable Preferred Stock", "NASDAQ"], "LARK": ["Landmark Bancorp Inc. - Common Stock", "NASDAQ"], "LASR": ["nLIGHT, Inc. - Common Stock", "NASDAQ"], "LATN": ["Union Acquisition Corp. II - Ordinary Shares", "NASDAQ"], "LATNU": ["Union Acquisition Corp. II - Units", "NASDAQ"], "LATNW": ["Union Acquisition Corp. II - Warrant", "NASDAQ"], "LAUR": ["Laureate Education, Inc. - Class A Common Stock", "NASDAQ"], "LAWS": ["Lawson Products, Inc. - Common Stock", "NASDAQ"], "LAZR": ["Luminar Technologies, Inc. - Class A Common Stock", "NASDAQ"], "LAZY": ["Lazydays Holdings, Inc. - Common Stock", "NASDAQ"], "LBAI": ["Lakeland Bancorp, Inc. - Common Stock", "NASDAQ"], "LBC": ["Luther Burbank Corporation - Common Stock", "NASDAQ"], "LBPH": ["Longboard Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "LBRDA": ["Liberty Broadband Corporation - Class A Common Stock", "NASDAQ"], "LBRDK": ["Liberty Broadband Corporation - Class C Common Stock", "NASDAQ"], "LBRDP": ["Liberty Broadband Corporation - Series A Cumulative Redeemable Preferred Stock", "NASDAQ"], "LBTYA": ["Liberty Global plc - Class A Ordinary Shares", "NASDAQ"], "LBTYB": ["Liberty Global plc - Class B Ordinary Shares", "NASDAQ"], "LBTYK": ["Liberty Global plc - Class C Ordinary Shares", "NASDAQ"], "LCAAU": ["L Catterton Asia Acquisition Corp - Units", "NASDAQ"], "LCAP": ["Lionheart Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "LCAPU": ["Lionheart Acquisition Corp. II - Unit", "NASDAQ"], "LCAPW": ["Lionheart Acquisition Corp. II - Warrant", "NASDAQ"], "LCNB": ["LCNB Corporation - Common Stock", "NASDAQ"], "LCUT": ["Lifetime Brands, Inc. - Common Stock", "NASDAQ"], "LCY": ["Landcadia Holdings III, Inc. - Class A Common Stock", "NASDAQ"], "LCYAU": ["Landcadia Holdings III, Inc. - Unit", "NASDAQ"], "LCYAW": ["Landcadia Holdings III, Inc. - Warrant", "NASDAQ"], "LDEM": ["iShares ESG MSCI EM Leaders ETF", "NASDAQ"], "LDSF": ["First Trust Low Duration Strategic Focus ETF", "NASDAQ"], "LE": ["Lands' End, Inc. - Common Stock", "NASDAQ"], "LECO": ["Lincoln Electric Holdings, Inc. - Common Shares", "NASDAQ"], "LEDS": ["SemiLEDS Corporation - Common Stock", "NASDAQ"], "LEGH": ["Legacy Housing Corporation - Common Stock", "NASDAQ"], "LEGN": ["Legend Biotech Corporation - American Depositary Shares", "NASDAQ"], "LEGO": ["Legato Merger Corp. - Common stock", "NASDAQ"], "LEGOU": ["Legato Merger Corp. - Units", "NASDAQ"], "LEGOW": ["Legato Merger Corp. - Warrant", "NASDAQ"], "LEGR": ["First Trust Indxx Innovative Transaction & Process ETF", "NASDAQ"], "LESL": ["Leslie's, Inc. - Common Stock", "NASDAQ"], "LEVL": ["Level One Bancorp, Inc. - Common Stock", "NASDAQ"], "LEVLP": ["Level One Bancorp, Inc. - Depositary Shares, Each Representing a 1/100th Interest in a Share of 7.50% Non-Cumulative Perpetual Preferred Stock, Series B", "NASDAQ"], "LEXX": ["Lexaria Bioscience Corp. - Common Stock", "NASDAQ"], "LEXXW": ["Lexaria Bioscience Corp. - Warrant", "NASDAQ"], "LFMD": ["LifeMD, Inc. - Common Stock", "NASDAQ"], "LFTR": ["Lefteris Acquisition Corp. - Class A Common Stock", "NASDAQ"], "LFTRU": ["Lefteris Acquisition Corp. - Unit", "NASDAQ"], "LFTRW": ["Lefteris Acquisition Corp. - Warrant", "NASDAQ"], "LFUS": ["Littelfuse, Inc. - Common Stock", "NASDAQ"], "LFVN": ["Lifevantage Corporation - Common Stock", "NASDAQ"], "LGACU": ["Lazard Growth Acquisition Corp. I - Units", "NASDAQ"], "LGHL": ["Lion Group Holding Ltd. - American Depositary Share", "NASDAQ"], "LGHLW": ["Lion Group Holding Ltd. - Warrant", "NASDAQ"], "LGIH": ["LGI Homes, Inc. - Common Stock", "NASDAQ"], "LGND": ["Ligand Pharmaceuticals Incorporated - Common Stock", "NASDAQ"], "LGVN": ["Longeveron Inc. - common stock", "NASDAQ"], "LHAA": ["Lerer Hippeau Acquisition Corp. - Class A Common Stock", "NASDAQ"], "LHCG": ["LHC Group - common stock", "NASDAQ"], "LHDX": ["Lucira Health, Inc. - Common Stock", "NASDAQ"], "LI": ["Li Auto Inc. - American Depositary Shares", "NASDAQ"], "LIFE": ["aTyr Pharma, Inc. - Common Stock", "NASDAQ"], "LILA": ["Liberty Latin America Ltd. - Class A Common Stock", "NASDAQ"], "LILAK": ["Liberty Latin America Ltd. - Class C Common Stock", "NASDAQ"], "LINC": ["Lincoln Educational Services Corporation - Common Stock", "NASDAQ"], "LIND": ["Lindblad Expeditions Holdings Inc. - Common Stock", "NASDAQ"], "LIQT": ["LiqTech International, Inc. - Common Stock", "NASDAQ"], "LITE": ["Lumentum Holdings Inc. - Common Stock", "NASDAQ"], "LIVE": ["Live Ventures Incorporated - Common Stock", "NASDAQ"], "LIVK": ["LIV Capital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "LIVKU": ["LIV Capital Acquisition Corp. - Unit", "NASDAQ"], "LIVKW": ["LIV Capital Acquisition Corp. - Warrant", "NASDAQ"], "LIVN": ["LivaNova PLC - Ordinary Shares", "NASDAQ"], "LIVX": ["LiveXLive Media, Inc. - Common Stock", "NASDAQ"], "LIXT": ["Lixte Biotechnology Holdings, Inc. - Common Stock", "NASDAQ"], "LIXTW": ["Lixte Biotechnology Holdings, Inc. - Warrants", "NASDAQ"], "LIZI": ["LIZHI INC. - American Depositary Shares", "NASDAQ"], "LJAQ": ["LightJump Acquisition Corporation - Common Stock", "NASDAQ"], "LJAQU": ["LightJump Acquisition Corporation - Unit", "NASDAQ"], "LJAQW": ["LightJump Acquisition Corporation - Warrant", "NASDAQ"], "LJPC": ["La Jolla Pharmaceutical Company - Common Stock", "NASDAQ"], "LKCO": ["Luokung Technology Corp - Ordinary Shares", "NASDAQ"], "LKFN": ["Lakeland Financial Corporation - Common Stock", "NASDAQ"], "LKQ": ["LKQ Corporation", "S&P500"], "LLIT": ["Lianluo Smart Limited - Class A Common Stock", "NASDAQ"], "LLNW": ["Limelight Networks, Inc. - Common Stock", "NASDAQ"], "LMACA": ["Liberty Media Acquisition Corporation - Series A Common Stock", "NASDAQ"], "LMACU": ["Liberty Media Acquisition Corporation - Unit", "NASDAQ"], "LMACW": ["Liberty Media Acquisition Corporation - Warrants", "NASDAQ"], "LMAO": ["LMF Acquisition Opportunities Inc. - Class A common stock", "NASDAQ"], "LMAOU": ["LMF Acquisition Opportunities Inc. - Unit", "NASDAQ"], "LMAOW": ["LMF Acquisition Opportunities Inc. - Warrant", "NASDAQ"], "LMAT": ["LeMaitre Vascular, Inc. - Common Stock", "NASDAQ"], "LMB": ["Limbach Holdings, Inc. - Common Stock", "NASDAQ"], "LMBS": ["First Trust Low Duration Opportunities ETF", "NASDAQ"], "LMFA": ["LM Funding America, Inc. - Common Stock", "NASDAQ"], "LMNL": ["Liminal BioSciences Inc. - Common Shares", "NASDAQ"], "LMNR": ["Limoneira Co - Common Stock", "NASDAQ"], "LMNX": ["Luminex Corporation - Common Stock", "NASDAQ"], "LMPX": ["LMP Automotive Holdings, Inc. - Common Stock", "NASDAQ"], "LMRK": ["Landmark Infrastructure Partners LP - Common Units", "NASDAQ"], "LMRKN": ["Landmark Infrastructure Partners LP - Preferred Stock", "NASDAQ"], "LMRKO": ["Landmark Infrastructure Partners LP - Preferred Units", "NASDAQ"], "LMRKP": ["Landmark Infrastructure Partners LP - 8.00% Series A Cumulative Redeemable Perpetual Preferred Units", "NASDAQ"], "LMST": ["Limestone Bancorp, Inc. - Common Stock", "NASDAQ"], "LNDC": ["Landec Corporation - Common Stock", "NASDAQ"], "LNGR": ["Global X Longevity Thematic ETF", "NASDAQ"], "LNSR": ["LENSAR, Inc. - Common Stock", "NASDAQ"], "LNT": ["Alliant Energy", "S&P500"], "LNTH": ["Lantheus Holdings, Inc. - Common Stock", "NASDAQ"], "LOAC": ["Longevity Acquisition Corporation - Ordinary Shares", "NASDAQ"], "LOACR": ["Longevity Acquisition Corporation - Right", "NASDAQ"], "LOACU": ["Longevity Acquisition Corporation - Units", "NASDAQ"], "LOACW": ["Longevity Acquisition Corporation - Warrant", "NASDAQ"], "LOAN": ["Manhattan Bridge Capital, Inc - Common Stock", "NASDAQ"], "LOB": ["Live Oak Bancshares, Inc. - Common Stock", "NASDAQ"], "LOCO": ["El Pollo Loco Holdings, Inc. - Common Stock", "NASDAQ"], "LOGC": ["LogicBio Therapeutics, Inc. - Common Stock", "NASDAQ"], "LOGI": ["Logitech International S.A. - Registered Shares", "NASDAQ"], "LOOP": ["Loop Industries, Inc. - Common Stock", "NASDAQ"], "LOPE": ["Grand Canyon Education, Inc. - Common Stock", "NASDAQ"], "LORL": ["Loral Space and Communications, Inc. - Common Stock", "NASDAQ"], "LOTZ": ["CarLotz, Inc. - Class A Common Stock", "NASDAQ"], "LOTZW": ["CarLotz, Inc. - Warrant", "NASDAQ"], "LOVE": ["The Lovesac Company - Common Stock", "NASDAQ"], "LPCN": ["Lipocine Inc. - Common Stock", "NASDAQ"], "LPLA": ["LPL Financial Holdings Inc. - Common Stock", "NASDAQ"], "LPRO": ["Open Lending Corporation - Class A Common Stock", "NASDAQ"], "LPSN": ["LivePerson, Inc. - Common Stock", "NASDAQ"], "LPTH": ["LightPath Technologies, Inc. - Class A Common Stock", "NASDAQ"], "LPTX": ["Leap Therapeutics, Inc. - Common Stock", "NASDAQ"], "LQDA": ["Liquidia Corporation - Common Stock", "NASDAQ"], "LQDT": ["Liquidity Services, Inc. - Common Stock", "NASDAQ"], "LRCX": ["Lam Research", "S&P500"], "LRGE": ["ClearBridge Large Cap Growth ESG ETF", "NASDAQ"], "LRMR": ["Larimar Therapeutics, Inc. - Common Stock", "NASDAQ"], "LSAQ": ["LifeSci Acquisition II Corp. - Common Stock", "NASDAQ"], "LSBK": ["Lake Shore Bancorp, Inc. - Common Stock", "NASDAQ"], "LSCC": ["Lattice Semiconductor Corporation - Common Stock", "NASDAQ"], "LSEA": ["Landsea Homes Corporation - Common Stock", "NASDAQ"], "LSEAW": ["Landsea Homes Corporation - Warrant", "NASDAQ"], "LSTR": ["Landstar System, Inc. - Common Stock", "NASDAQ"], "LSXMA": ["Liberty Media Corporation - Series A Liberty SiriusXM Common Stock", "NASDAQ"], "LSXMB": ["Liberty Media Corporation - Series B Liberty SiriusXM Common Stock", "NASDAQ"], "LSXMK": ["Liberty Media Corporation - Series C Liberty SiriusXM Common Stock", "NASDAQ"], "LTBR": ["Lightbridge Corporation - Common Stock", "NASDAQ"], "LTRN": ["Lantern Pharma Inc. - Common Stock", "NASDAQ"], "LTRPA": ["Liberty TripAdvisor Holdings, Inc. - Series A Common Stock", "NASDAQ"], "LTRPB": ["Liberty TripAdvisor Holdings, Inc. - Series B Common Stock", "NASDAQ"], "LTRX": ["Lantronix, Inc. - Common Stock", "NASDAQ"], "LULU": ["lululemon athletica inc. - Common Stock", "NASDAQ"], "LUMO": ["Lumos Pharma, Inc. - Common Stock", "NASDAQ"], "LUNA": ["Luna Innovations Incorporated - Common Stock", "NASDAQ"], "LUNG": ["Pulmonx Corporation - Common Stock", "NASDAQ"], "LUXA": ["Lux Health Tech Acquisition Corp. - Class A Common Stock", "NASDAQ"], "LUXAU": ["Lux Health Tech Acquisition Corp. - Units", "NASDAQ"], "LUXAW": ["Lux Health Tech Acquisition Corp. - Warrants", "NASDAQ"], "LVHD": ["Legg Mason Low Volatility High Dividend ETF", "NASDAQ"], "LWAC": ["Locust Walk Acquisition Corp. - Class A Common stock", "NASDAQ"], "LWACU": ["Locust Walk Acquisition Corp. - Unit", "NASDAQ"], "LWACW": ["Locust Walk Acquisition Corp. - Warrant", "NASDAQ"], "LWAY": ["Lifeway Foods, Inc. - Common Stock", "NASDAQ"], "LX": ["LexinFintech Holdings Ltd. - American Depositary Shares", "NASDAQ"], "LXEH": ["Lixiang Education Holding Co., Ltd. - American Depositary Shares", "NASDAQ"], "LXRX": ["Lexicon Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "LYFT": ["Lyft, Inc. - Class A Common Stock", "NASDAQ"], "LYL": ["Dragon Victory International Limited - Ordinary Shares", "NASDAQ"], "LYRA": ["Lyra Therapeutics, Inc. - Common Stock", "NASDAQ"], "LYTS": ["LSI Industries Inc. - Common Stock", "NASDAQ"], "MAAC": ["Montes Archimedes Acquisition Corp. - Class A Common Stock", "NASDAQ"], "MAACU": ["Montes Archimedes Acquisition Corp. - Unit", "NASDAQ"], "MAACW": ["Montes Archimedes Acquisition Corp. - Warrant", "NASDAQ"], "MACAU": ["Moringa Acquisition Corp - Units", "NASDAQ"], "MACK": ["Merrimack Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "MACQU": ["MCAP Acquisition Corporation - Unit", "NASDAQ"], "MACU": ["Mallard Acquisition Corp. - Common Stock", "NASDAQ"], "MACUU": ["Mallard Acquisition Corp. - Unit", "NASDAQ"], "MACUW": ["Mallard Acquisition Corp. - Warrant", "NASDAQ"], "MAGS": ["Magal Security Systems Ltd. - Ordinary Shares", "NASDAQ"], "MANH": ["Manhattan Associates, Inc. - Common Stock", "NASDAQ"], "MANT": ["ManTech International Corporation - Class A Common Stock", "NASDAQ"], "MAR": ["Marriott International", "S&P500"], "MARA": ["Marathon Digital Holdings, Inc. - Common Stock", "NASDAQ"], "MARK": ["Remark Holdings, Inc. - Common Stock", "NASDAQ"], "MARPS": ["Marine Petroleum Trust - Units of Beneficial Interest", "NASDAQ"], "MASI": ["Masimo Corporation - Common Stock", "NASDAQ"], "MASS": ["908 Devices Inc. - Common Stock", "NASDAQ"], "MAT": ["Mattel, Inc. - Common Stock", "NASDAQ"], "MATW": ["Matthews International Corporation - Class A Common Stock", "NASDAQ"], "MAXN": ["Maxeon Solar Technologies, Ltd. - Ordinary Shares", "NASDAQ"], "MAYS": ["J. W. Mays, Inc. - Common Stock", "NASDAQ"], "MBB": ["iShares MBS ETF", "NASDAQ"], "MBCN": ["Middlefield Banc Corp. - Common Stock", "NASDAQ"], "MBII": ["Marrone Bio Innovations, Inc. - Common Stock", "NASDAQ"], "MBIN": ["Merchants Bancorp - Common Stock", "NASDAQ"], "MBINO": ["Merchants Bancorp - Depositary Shares Each Representing a 1/40th Interest in a Share of Series B Fixed-to-Floating Rate", "NASDAQ"], "MBINP": ["Merchants Bancorp - 7.00% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "MBIO": ["Mustang Bio, Inc. - Common Stock", "NASDAQ"], "MBNKP": ["Medallion Bank - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series F", "NASDAQ"], "MBOT": ["Microbot Medical Inc. - Common Stock", "NASDAQ"], "MBRX": ["Moleculin Biotech, Inc. - Common Stock", "NASDAQ"], "MBUU": ["Malibu Boats, Inc. - Common Stock", "NASDAQ"], "MBWM": ["Mercantile Bank Corporation - Common Stock", "NASDAQ"], "MCAD": ["Mountain Crest Acquisition Corp. II - Common Stock", "NASDAQ"], "MCADR": ["Mountain Crest Acquisition Corp. II - Right", "NASDAQ"], "MCADU": ["Mountain Crest Acquisition Corp. II - Units each consisting of one share of Common Stock, $0.0001 par value andone Right to acquire 1/10 of one share of Common Stock.", "NASDAQ"], "MCBC": ["Macatawa Bank Corporation - Common Stock", "NASDAQ"], "MCBS": ["MetroCity Bankshares, Inc. - Common Stock", "NASDAQ"], "MCEF": ["First Trust Municipal CEF Income Opportunity ETF", "NASDAQ"], "MCFE": ["McAfee Corp. - Class A Common Stock", "NASDAQ"], "MCFT": ["MasterCraft Boat Holdings, Inc. - Common Stock", "NASDAQ"], "MCHI": ["iShares MSCI China ETF", "NASDAQ"], "MCHP": ["Microchip Technology", "S&P500"], "MCHX": ["Marchex, Inc. - Class B Common Stock", "NASDAQ"], "MCMJ": ["Merida Merger Corp. I - Common Stock", "NASDAQ"], "MCMJW": ["Merida Merger Corp. I - Warrant", "NASDAQ"], "MCRB": ["Seres Therapeutics, Inc. - Common Stock", "NASDAQ"], "MCRI": ["Monarch Casino & Resort, Inc. - Common Stock", "NASDAQ"], "MDB": ["MongoDB, Inc. - Class A Common Stock", "NASDAQ"], "MDCA": ["MDC Partners Inc. - Class A Subordinate Voting Shares", "NASDAQ"], "MDGL": ["Madrigal Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "MDGS": ["Medigus Ltd. - American Depositary Shares", "NASDAQ"], "MDGSW": ["Medigus Ltd. - Series C Warrant", "NASDAQ"], "MDIA": ["Mediaco Holding Inc. - Class A Common Stock", "NASDAQ"], "MDIV": ["Multi-Asset Diversified Income Index Fund", "NASDAQ"], "MDJH": ["MDJM LTD - Ordinary Shares", "NASDAQ"], "MDLZ": ["Mondelez International", "S&P500"], "MDNA": ["Medicenna Therapeutics Corp. - Common Shares", "NASDAQ"], "MDRR": ["Medalist Diversified REIT, Inc. - Common Stock", "NASDAQ"], "MDRRP": ["Medalist Diversified REIT, Inc. - Series A Cumulative Redeemable Preferred Stock", "NASDAQ"], "MDRX": ["Allscripts Healthcare Solutions, Inc. - common stock", "NASDAQ"], "MDVL": ["MedAvail Holdings, Inc. - Common Stock", "NASDAQ"], "MDWD": ["MediWound Ltd. - Ordinary Shares", "NASDAQ"], "MDWT": ["Midwest Holding Inc. - Common Stock", "NASDAQ"], "MDXG": ["MiMedx Group, Inc - Common Stock", "NASDAQ"], "MEDP": ["Medpace Holdings, Inc. - Common Stock", "NASDAQ"], "MEDS": ["Trxade Group, Inc. - Common Stock", "NASDAQ"], "MEIP": ["MEI Pharma, Inc. - Common Stock", "NASDAQ"], "MELI": ["MercadoLibre, Inc. - Common Stock", "NASDAQ"], "MEOH": ["Methanex Corporation - Common Stock", "NASDAQ"], "MERC": ["Mercer International Inc. - Common Stock", "NASDAQ"], "MESA": ["Mesa Air Group, Inc. - Common Stock", "NASDAQ"], "MESO": ["Mesoblast Limited - American Depositary Shares", "NASDAQ"], "METC": ["Ramaco Resources, Inc. - Common Stock", "NASDAQ"], "METX": ["Meten EdtechX Education Group Ltd. - Ordinary Shares", "NASDAQ"], "METXW": ["Meten EdtechX Education Group Ltd. - Warrant", "NASDAQ"], "MFH": ["Mercurity Fintech Holding Inc. - American Depositary Shares", "NASDAQ"], "MFIN": ["Medallion Financial Corp. - Common Stock", "NASDAQ"], "MFINL": ["Medallion Financial Corp. - 9.000% Notes due 2021", "NASDAQ"], "MFNC": ["Mackinac Financial Corporation - Common Stock", "NASDAQ"], "MGEE": ["MGE Energy Inc. - Common Stock", "NASDAQ"], "MGI": ["Moneygram International, Inc. - Common Stock", "NASDAQ"], "MGIC": ["Magic Software Enterprises Ltd. - Ordinary Shares", "NASDAQ"], "MGLN": ["Magellan Health, Inc. - Common Stock", "NASDAQ"], "MGNI": ["Magnite, Inc. - Common Stock", "NASDAQ"], "MGNX": ["MacroGenics, Inc. - Common Stock", "NASDAQ"], "MGPI": ["MGP Ingredients, Inc. - Common Stock", "NASDAQ"], "MGRC": ["McGrath RentCorp - Common Stock", "NASDAQ"], "MGTA": ["Magenta Therapeutics, Inc. - Common Stock", "NASDAQ"], "MGTX": ["MeiraGTx Holdings plc - Ordinary Shares", "NASDAQ"], "MGYR": ["Magyar Bancorp, Inc. - Common Stock", "NASDAQ"], "MHLD": ["Maiden Holdings, Ltd. - Common Stock", "NASDAQ"], "MICT": ["MICT, Inc. - Common Stock", "NASDAQ"], "MIDD": ["The Middleby Corporation - Common Stock", "NASDAQ"], "MIK": ["The Michaels Companies, Inc. - Common Stock", "NASDAQ"], "MILE": ["Metromile, Inc. - Common Stock", "NASDAQ"], "MILEW": ["Metromile, Inc. - Warrant", "NASDAQ"], "MILN": ["Global X Millennials Thematic ETF", "NASDAQ"], "MIME": ["Mimecast Limited - Ordinary Shares", "NASDAQ"], "MIND": ["MIND Technology, Inc. - Common Stock", "NASDAQ"], "MINDP": ["MIND Technology, Inc. - Series A 9.00% Series A Cumulative Preferred Stock", "NASDAQ"], "MIRM": ["Mirum Pharmaceuticals, Inc. - common stock", "NASDAQ"], "MIST": ["Milestone Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "MITC": ["MeaTech 3D Ltd. - American Depositary Shares", "NASDAQ"], "MITK": ["Mitek Systems, Inc. - Common Stock", "NASDAQ"], "MITO": ["Stealth BioTherapeutics Corp. - American Depositary Shares", "NASDAQ"], "MKD": ["Molecular Data Inc. - ADS", "NASDAQ"], "MKGI": ["Monaker Group, Inc. - Common Stock", "NASDAQ"], "MKSI": ["MKS Instruments, Inc. - Common Stock", "NASDAQ"], "MKTX": ["MarketAxess", "S&P500"], "MLAB": ["Mesa Laboratories, Inc. - Common Stock", "NASDAQ"], "MLAC": ["Malacca Straits Acquisition Company Limited - Class A Ordinary Shares", "NASDAQ"], "MLACU": ["Malacca Straits Acquisition Company Limited - Units", "NASDAQ"], "MLACW": ["Malacca Straits Acquisition Company Limited - Warrants", "NASDAQ"], "MLCO": ["Melco Resorts & Entertainment Limited - American Depositary Shares ", "NASDAQ"], "MLHR": ["Herman Miller, Inc. - Common Stock", "NASDAQ"], "MLND": ["Millendo Therapeutics, Inc. - Common Stock", "NASDAQ"], "MLVF": ["Malvern Bancorp, Inc. - Common Stock", "NASDAQ"], "MMAC": ["MMA Capital Holdings, Inc. - Common Stock", "NASDAQ"], "MMLP": ["Martin Midstream Partners L.P. - Common Units Representing Limited Partnership Interests", "NASDAQ"], "MMSI": ["Merit Medical Systems, Inc. - Common Stock", "NASDAQ"], "MMYT": ["MakeMyTrip Limited - Ordinary Shares", "NASDAQ"], "MNDO": ["MIND C.T.I. Ltd. - Ordinary Shares", "NASDAQ"], "MNKD": ["MannKind Corporation - Common Stock", "NASDAQ"], "MNOV": ["MediciNova, Inc. - Common Stock", "NASDAQ"], "MNPR": ["Monopar Therapeutics Inc. - Common Stock", "NASDAQ"], "MNRO": ["Monro, Inc. - Common Stock", "NASDAQ"], "MNSB": ["MainStreet Bancshares, Inc. - Common Stock", "NASDAQ"], "MNSBP": ["MainStreet Bancshares, Inc. - Depositary Shares", "NASDAQ"], "MNST": ["Monster Beverage", "S&P500"], "MNTK": ["Montauk Renewables, Inc. - Common Stock", "NASDAQ"], "MNTX": ["Manitex International, Inc. - common stock", "NASDAQ"], "MODV": ["ModivCare Inc. - Common Stock", "NASDAQ"], "MOFG": ["MidWestOne Financial Group, Inc. - Common Stock", "NASDAQ"], "MOGO": ["Mogo Inc. - Common Shares", "NASDAQ"], "MOHO": ["ECMOHO Limited - American Depositary Shares", "NASDAQ"], "MOMO": ["Momo Inc. - American Depositary Shares", "NASDAQ"], "MON": ["Monument Circle Acquisition Corp. - Class A Common Stock", "NASDAQ"], "MONCU": ["Monument Circle Acquisition Corp. - Unit", "NASDAQ"], "MONCW": ["Monument Circle Acquisition Corp. - Warrant", "NASDAQ"], "MOR": ["MorphoSys AG - American Depositary Shares", "NASDAQ"], "MORF": ["Morphic Holding, Inc. - Common Stock", "NASDAQ"], "MORN": ["Morningstar, Inc. - Common Stock", "NASDAQ"], "MOSY": ["MoSys, Inc. - Common Stock", "NASDAQ"], "MOTN": ["Motion Acquisition Corp. - Class A Common Stock", "NASDAQ"], "MOTNU": ["Motion Acquisition Corp. - Unit", "NASDAQ"], "MOTNW": ["Motion Acquisition Corp. - Warrants to purchase one Class A common", "NASDAQ"], "MOTS": ["Motus GI Holdings, Inc. - Common Stock", "NASDAQ"], "MOXC": ["Moxian, Inc. - Common Stock", "NASDAQ"], "MPAA": ["Motorcar Parts of America, Inc. - Common Stock", "NASDAQ"], "MPB": ["Mid Penn Bancorp - Common Stock", "NASDAQ"], "MPWR": ["Monolithic Power Systems", "S&P500"], "MRAC": ["Marquee Raine Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "MRACU": ["Marquee Raine Acquisition Corp. - Unit", "NASDAQ"], "MRACW": ["Marquee Raine Acquisition Corp. - Warrant", "NASDAQ"], "MRAM": ["Everspin Technologies, Inc. - Common Stock", "NASDAQ"], "MRBK": ["Meridian Corporation - Common Stock", "NASDAQ"], "MRCC": ["Monroe Capital Corporation - Common Stock", "NASDAQ"], "MRCY": ["Mercury Systems Inc - Common Stock", "NASDAQ"], "MREO": ["Mereo BioPharma Group plc - American Depositary Shares", "NASDAQ"], "MRIN": ["Marin Software Incorporated - Common Stock", "NASDAQ"], "MRKR": ["Marker Therapeutics, Inc. - Common Stock", "NASDAQ"], "MRLN": ["Marlin Business Services Corp. - Common Stock", "NASDAQ"], "MRM": ["MEDIROM Healthcare Technologies Inc. - American Depositary Share", "NASDAQ"], "MRNA": ["Moderna, Inc. - Common Stock", "NASDAQ"], "MRNS": ["Marinus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "MRSN": ["Mersana Therapeutics, Inc. - Common Stock", "NASDAQ"], "MRTN": ["Marten Transport, Ltd. - Common Stock", "NASDAQ"], "MRTX": ["Mirati Therapeutics, Inc. - Common Stock", "NASDAQ"], "MRUS": ["Merus N.V. - Common Shares", "NASDAQ"], "MRVI": ["Maravai LifeSciences Holdings, Inc. - Class A common stock", "NASDAQ"], "MRVL": ["Marvell Technology Group Ltd. - Common Stock", "NASDAQ"], "MSACU": ["Medicus Sciences Acquisition Corp. - Unit", "NASDAQ"], "MSBI": ["Midland States Bancorp, Inc. - Common Stock", "NASDAQ"], "MSEX": ["Middlesex Water Company - Common Stock", "NASDAQ"], "MSFT": ["Microsoft Corp.", "S&P500"], "MSGM": ["Motorsport Games Inc. - Class A Common Stock", "NASDAQ"], "MSON": ["MISONIX, Inc. - Common Stock", "NASDAQ"], "MSTR": ["MicroStrategy Incorporated - Class A Common Stock", "NASDAQ"], "MSVB": ["Mid-Southern Bancorp, Inc. - Common Stock", "NASDAQ"], "MTAC": ["MedTech Acquisition Corporation - Class A Common Stock", "NASDAQ"], "MTACU": ["MedTech Acquisition Corporation - Unit", "NASDAQ"], "MTACW": ["MedTech Acquisition Corporation - Warrant", "NASDAQ"], "MTBC": ["MTBC, Inc. - Common Stock", "NASDAQ"], "MTBCP": ["MTBC, Inc. - 11% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "MTC": ["MMTec, Inc. - Common Shares", "NASDAQ"], "MTCH": ["Match Group, Inc. - Common Stock", "NASDAQ"], "MTCR": ["Metacrine, Inc. - Common Stock", "NASDAQ"], "MTEM": ["Molecular Templates, Inc. - Common Stock", "NASDAQ"], "MTEX": ["Mannatech, Incorporated - Common Stock", "NASDAQ"], "MTLS": ["Materialise NV - American Depositary Shares", "NASDAQ"], "MTP": ["Midatech Pharma PLC - American Depositary Shares", "NASDAQ"], "MTRX": ["Matrix Service Company - Common Stock", "NASDAQ"], "MTSC": ["MTS Systems Corporation - Common Stock", "NASDAQ"], "MTSI": ["MACOM Technology Solutions Holdings, Inc. - Common Stock", "NASDAQ"], "MTSL": ["MER Telemanagement Solutions Ltd. - Ordinary Shares", "NASDAQ"], "MU": ["Micron Technology", "S&P500"], "MUDS": ["Mudrick Capital Acquisition Corporation II - Class A Common Stock", "NASDAQ"], "MUDSU": ["Mudrick Capital Acquisition Corporation II - Unit", "NASDAQ"], "MUDSW": ["Mudrick Capital Acquisition Corporation II - Warrant", "NASDAQ"], "MVBF": ["MVB Financial Corp. - Common Stock", "NASDAQ"], "MVIS": ["MicroVision, Inc. - Common Stock", "NASDAQ"], "MWK": ["Mohawk Group Holdings, Inc. - Common Stock", "NASDAQ"], "MXIM": ["Maxim Integrated Products", "S&P500"], "MYFW": ["First Western Financial, Inc. - Common Stock", "NASDAQ"], "MYGN": ["Myriad Genetics, Inc. - Common Stock", "NASDAQ"], "MYRG": ["MYR Group, Inc. - Common Stock", "NASDAQ"], "MYSZ": ["My Size, Inc. - Common Stock", "NASDAQ"], "MYT": ["Urban Tea, Inc. - Ordinary Shares", "NASDAQ"], "NAAC": ["North Atlantic Acquisition Corporation - Class A Ordinary Share", "NASDAQ"], "NAACU": ["North Atlantic Acquisition Corporation - Unit", "NASDAQ"], "NAACW": ["North Atlantic Acquisition Corporation - Warrant", "NASDAQ"], "NAII": ["Natural Alternatives International, Inc. - Common Stock", "NASDAQ"], "NAKD": ["Naked Brand Group Limited - Ordinary Shares", "NASDAQ"], "NAOV": ["NanoVibronix, Inc. - Common Stock", "NASDAQ"], "NARI": ["Inari Medical, Inc. - Common Stock", "NASDAQ"], "NATH": ["Nathan's Famous, Inc. - Common Stock", "NASDAQ"], "NATI": ["National Instruments Corporation - Common Stock", "NASDAQ"], "NATR": ["Nature's Sunshine Products, Inc. - Common Stock", "NASDAQ"], "NAVI": ["Navient Corporation - Common Stock", "NASDAQ"], "NBAC": ["Newborn Acquisition Corp. - Ordinary Shares", "NASDAQ"], "NBACR": ["Newborn Acquisition Corp. - Right", "NASDAQ"], "NBACU": ["Newborn Acquisition Corp. - Unit", "NASDAQ"], "NBACW": ["Newborn Acquisition Corp. - Warrant", "NASDAQ"], "NBEV": ["NewAge, Inc. - Common Stock", "NASDAQ"], "NBIX": ["Neurocrine Biosciences, Inc. - Common Stock", "NASDAQ"], "NBLX": ["Noble Midstream Partners LP - Common Units, Representing Limited Partner Interests", "NASDAQ"], "NBN": ["Northeast Bank - Common Stock", "NASDAQ"], "NBRV": ["Nabriva Therapeutics plc - Ordinary Shares", "NASDAQ"], "NBSE": ["NeuBase Therapeutics, Inc. - Common Stock", "NASDAQ"], "NBTB": ["NBT Bancorp Inc. - Common Stock", "NASDAQ"], "NBTX": ["Nanobiotix S.A. - ADSs", "NASDAQ"], "NCBS": ["Nicolet Bankshares Inc. - Common Stock", "NASDAQ"], "NCMI": ["National CineMedia, Inc. - Common Stock", "NASDAQ"], "NCNA": ["NuCana plc - American Depositary Shares", "NASDAQ"], "NCNO": ["nCino, Inc. - Common Stock", "NASDAQ"], "NCSM": ["NCS Multistage Holdings, Inc. - Common Stock", "NASDAQ"], "NCTY": ["The9 Limited - American Depository Shares", "NASDAQ"], "NDACU": ["NightDragon Acquisition Corp. - SCALE Units", "NASDAQ"], "NDAQ": ["Nasdaq, Inc.", "S&P500"], "NDLS": ["Noodles & Company - Common Stock", "NASDAQ"], "NDRA": ["ENDRA Life Sciences Inc. - Common Stock", "NASDAQ"], "NDRAW": ["ENDRA Life Sciences Inc. - Warrants", "NASDAQ"], "NDSN": ["Nordson Corporation - Common Stock", "NASDAQ"], "NEBC": ["Nebula Caravel Acquisition Corp. - Class A Common Stock", "NASDAQ"], "NEBCU": ["Nebula Caravel Acquisition Corp. - Unit", "NASDAQ"], "NEBCW": ["Nebula Caravel Acquisition Corp. - Warrant", "NASDAQ"], "NEO": ["NeoGenomics, Inc. - Common Stock", "NASDAQ"], "NEOG": ["Neogen Corporation - Common Stock", "NASDAQ"], "NEON": ["Neonode Inc. - Common Stock", "NASDAQ"], "NEOS": ["Neos Therapeutics, Inc. - Common Stock", "NASDAQ"], "NEPH": ["Nephros, Inc. - Common Stock", "NASDAQ"], "NEPT": ["Neptune Wellness Solutions Inc. - Ordinary Shares", "NASDAQ"], "NERV": ["Minerva Neurosciences, Inc - Common Stock", "NASDAQ"], "NESR": ["National Energy Services Reunited Corp. - Ordinary Shares", "NASDAQ"], "NESRW": ["National Energy Services Reunited Corp. - Warrant", "NASDAQ"], "NETE": ["Net Element, Inc. - Common Stock", "NASDAQ"], "NEWA": ["Newater Technology, Inc. - Ordinary Shares", "NASDAQ"], "NEWT": ["Newtek Business Services Corp. - Common Stock", "NASDAQ"], "NEWTL": ["Newtek Business Services Corp. - 5.75% Notes due 2024", "NASDAQ"], "NEWTZ": ["Newtek Business Services Corp. - 5.50% Notes Due 2026", "NASDAQ"], "NEXI": ["NexImmune, Inc. - Common Stock", "NASDAQ"], "NEXT": ["NextDecade Corporation - Common Stock", "NASDAQ"], "NFBK": ["Northfield Bancorp, Inc. - Common Stock", "NASDAQ"], "NFE": ["New Fortress Energy Inc. - Class A Common Stock", "NASDAQ"], "NFLX": ["Netflix Inc.", "S&P500"], "NFTY": ["First Trust India Nifty 50 Equal Weight ETF", "NASDAQ"], "NGAC": ["NextGen Acquisition Corporation - Class A Ordinary Shares", "NASDAQ"], "NGACU": ["NextGen Acquisition Corporation - Units", "NASDAQ"], "NGACW": ["NextGen Acquisition Corporation - Warrants", "NASDAQ"], "NGM": ["NGM Biopharmaceuticals, Inc. - Common Stock", "NASDAQ"], "NGMS": ["NeoGames S.A. - Ordinary Shares", "NASDAQ"], "NH": ["NantHealth, Inc. - Common Stock", "NASDAQ"], "NHIC": ["NewHold Investment Corp. - Class A Common Stock", "NASDAQ"], "NHICU": ["NewHold Investment Corp. - Unit", "NASDAQ"], "NHICW": ["NewHold Investment Corp. - Warrant", "NASDAQ"], "NHTC": ["Natural Health Trends Corp. - Commn Stock", "NASDAQ"], "NICE": ["NICE Ltd - American Depositary Shares each representing one Ordinary Share", "NASDAQ"], "NICK": ["Nicholas Financial, Inc. - Common Stock", "NASDAQ"], "NISN": ["NiSun Intl Enterprise Development Group Co, Ltd - Class A Common Shares", "NASDAQ"], "NIU": ["Niu Technologies - American Depositary Shares", "NASDAQ"], "NKLA": ["Nikola Corporation - Common Stock", "NASDAQ"], "NKSH": ["National Bankshares, Inc. - Common Stock", "NASDAQ"], "NKTR": ["Nektar Therapeutics - Common Stock", "NASDAQ"], "NKTX": ["Nkarta, Inc. - Common Stock", "NASDAQ"], "NLOK": ["NortonLifeLock", "S&P500"], "NLSP": ["NLS Pharmaceutics Ltd. - Common Shares", "NASDAQ"], "NLSPW": ["NLS Pharmaceutics Ltd. - Warrant", "NASDAQ"], "NLTX": ["Neoleukin Therapeutics, Inc. - Common Stock", "NASDAQ"], "NMCI": ["Navios Maritime Containers L.P. - Common units representing limited partner interests", "NASDAQ"], "NMFC": ["New Mountain Finance Corporation - Common Stock", "NASDAQ"], "NMIH": ["NMI Holdings Inc - Common Stock", "NASDAQ"], "NMMC": ["North Mountain Merger Corp. - Class A Common Stock", "NASDAQ"], "NMMCU": ["North Mountain Merger Corp. - Unit", "NASDAQ"], "NMMCW": ["North Mountain Merger Corp. - Warrant", "NASDAQ"], "NMRD": ["Nemaura Medical Inc. - Common Stock", "NASDAQ"], "NMRK": ["Newmark Group, Inc. - Class A Common Stock", "NASDAQ"], "NMTR": ["9 Meters Biopharma, Inc. - Common Stock", "NASDAQ"], "NNBR": ["NN, Inc. - Common Stock", "NASDAQ"], "NNDM": ["Nano Dimension Ltd. - American Depositary Shares", "NASDAQ"], "NNOX": ["NANO-X IMAGING LTD - Ordinary Shares", "NASDAQ"], "NOAC": ["Natural Order Acquisition Corp. - Common Stock", "NASDAQ"], "NOACU": ["Natural Order Acquisition Corp. - Unit", "NASDAQ"], "NOACW": ["Natural Order Acquisition Corp. - Warrant", "NASDAQ"], "NODK": ["NI Holdings, Inc. - Common Stock", "NASDAQ"], "NOVN": ["Novan, Inc. - Common Stock", "NASDAQ"], "NOVT": ["Novanta Inc. - Common Shares", "NASDAQ"], "NPA": ["New Providence Acquisition Corp. - Class A Common Stock", "NASDAQ"], "NPAUU": ["New Providence Acquisition Corp. - Unit", "NASDAQ"], "NPAWW": ["New Providence Acquisition Corp. - Warrant", "NASDAQ"], "NRACU": ["Noble Rock Acquisition Corporation - Unit", "NASDAQ"], "NRBO": ["NeuroBo Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "NRC": ["National Research Corporation - Common Stock", "NASDAQ"], "NRIM": ["Northrim BanCorp Inc - Common Stock", "NASDAQ"], "NRIX": ["Nurix Therapeutics, Inc. - Common stock", "NASDAQ"], "NSEC": ["National Security Group, Inc. - Common Stock", "NASDAQ"], "NSIT": ["Insight Enterprises, Inc. - Common Stock", "NASDAQ"], "NSSC": ["NAPCO Security Technologies, Inc. - Common Stock", "NASDAQ"], "NSTG": ["NanoString Technologies, Inc. - Common Stock", "NASDAQ"], "NSYS": ["Nortech Systems Incorporated - Common Stock", "NASDAQ"], "NTAP": ["NetApp", "S&P500"], "NTCT": ["NetScout Systems, Inc. - Common Stock", "NASDAQ"], "NTEC": ["Intec Pharma Ltd. - Ordinary Shares", "NASDAQ"], "NTES": ["NetEase, Inc. - American Depositary Shares, each representing 5 ordinary shares", "NASDAQ"], "NTGR": ["NETGEAR, Inc. - Common Stock", "NASDAQ"], "NTIC": ["Northern Technologies International Corporation - Common Stock", "NASDAQ"], "NTLA": ["Intellia Therapeutics, Inc. - Common Stock", "NASDAQ"], "NTNX": ["Nutanix, Inc. - Class A Common Stock", "NASDAQ"], "NTRA": ["Natera, Inc. - Common Stock", "NASDAQ"], "NTRS": ["Northern Trust Corp.", "S&P500"], "NTRSO": ["Northern Trust Corporation - Depositary Shares Each Representing a 1/1,000th Interest in a Share of Series E Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "NTUS": ["Natus Medical Incorporated - Common Stock", "NASDAQ"], "NTWK": ["NETSOL Technologies Inc. - Common Stock", "NASDAQ"], "NUAN": ["Nuance Communications, Inc. - Common Stock", "NASDAQ"], "NURO": ["NeuroMetrix, Inc. - Common Stock", "NASDAQ"], "NUVA": ["NuVasive, Inc. - Common Stock", "NASDAQ"], "NUZE": ["NuZee, Inc. - Common Stock", "NASDAQ"], "NVAX": ["Novavax, Inc. - Common Stock", "NASDAQ"], "NVCN": ["Neovasc Inc. - Common Shares", "NASDAQ"], "NVCR": ["NovoCure Limited - Ordinary Shares", "NASDAQ"], "NVDA": ["Nvidia Corporation", "S&P500"], "NVEC": ["NVE Corporation - Common Stock", "NASDAQ"], "NVEE": ["NV5 Global, Inc. - Common Stock", "NASDAQ"], "NVFY": ["Nova Lifestyle, Inc - Common Stock", "NASDAQ"], "NVIV": ["InVivo Therapeutics Holdings Corp. - Common Stock", "NASDAQ"], "NVMI": ["Nova Measuring Instruments Ltd. - Ordinary Shares", "NASDAQ"], "NVOS": ["Novo Integrated Sciences, Inc. - Common Stock", "NASDAQ"], "NVSAU": ["New Vista Acquisition Corp - Unit", "NASDAQ"], "NWBI": ["Northwest Bancshares, Inc. - Common Stock", "NASDAQ"], "NWE": ["NorthWestern Corporation - Common Stock", "NASDAQ"], "NWFL": ["Norwood Financial Corp. - Common Stock", "NASDAQ"], "NWL": ["Newell Brands", "S&P500"], "NWLI": ["National Western Life Group, Inc. - Class A Common Stock", "NASDAQ"], "NWPX": ["Northwest Pipe Company - Common Stock", "NASDAQ"], "NWS": ["News Corp (Class B)", "S&P500"], "NWSA": ["News Corp (Class A)", "S&P500"], "NXGN": ["NextGen Healthcare, Inc. - Common Stock", "NASDAQ"], "NXPI": ["NXP Semiconductors N.V. - Common Stock", "NASDAQ"], "NXST": ["Nexstar Media Group, Inc. - Class A Common Stock", "NASDAQ"], "NXTC": ["NextCure, Inc. - Common Stock", "NASDAQ"], "NXTD": ["NXT-ID Inc. - Common Stock", "NASDAQ"], "NXTG": ["First Trust Indxx NextG ETF", "NASDAQ"], "NYMT": ["New York Mortgage Trust, Inc. - Common Stock", "NASDAQ"], "NYMTM": ["New York Mortgage Trust, Inc. - 7.875% Series E Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMTN": ["New York Mortgage Trust, Inc. - 8.00% Series D Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMTO": ["New York Mortgage Trust, Inc. - 7.875% Series C Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMTP": ["New York Mortgage Trust, Inc. - 7.75% Series B Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMX": ["Nymox Pharmaceutical Corporation - Common Stock", "NASDAQ"], "OAS": ["Oasis Petroleum Inc. - Common Stock", "NASDAQ"], "OBAS": ["Optibase Ltd. - Ordinary Shares", "NASDAQ"], "OBCI": ["Ocean Bio-Chem, Inc. - Common Stock", "NASDAQ"], "OBLG": ["Oblong Inc. - Common Stock", "NASDAQ"], "OBLN": ["Obalon Therapeutics, Inc. - Common Stock", "NASDAQ"], "OBNK": ["Origin Bancorp, Inc. - Common Stock", "NASDAQ"], "OBSV": ["ObsEva SA - Common Shares", "NASDAQ"], "OCAX": ["OCA Acquisition Corp. - Class A Common Stock", "NASDAQ"], "OCAXU": ["OCA Acquisition Corp. - Unit", "NASDAQ"], "OCAXW": ["OCA Acquisition Corp. - Warrant", "NASDAQ"], "OCC": ["Optical Cable Corporation - Common Stock", "NASDAQ"], "OCCI": ["OFS Credit Company, Inc. - Common Stock", "NASDAQ"], "OCCIP": ["OFS Credit Company, Inc. - 6.875% Series A Term Preferred Stock", "NASDAQ"], "OCDX": ["Ortho Clinical Diagnostics plc - Ordinary Shares", "NASDAQ"], "OCFC": ["OceanFirst Financial Corp. - Common Stock", "NASDAQ"], "OCFCP": ["OceanFirst Financial Corp. - Depositary Shares", "NASDAQ"], "OCG": ["Oriental Culture Holding LTD - Ordinary Shares", "NASDAQ"], "OCGN": ["Ocugen, Inc. - Common Stock", "NASDAQ"], "OCSI": ["Oaktree Strategic Income Corporation - Common Stock", "NASDAQ"], "OCSL": ["Oaktree Specialty Lending Corporation - Common Stock", "NASDAQ"], "OCUL": ["Ocular Therapeutix, Inc. - Common Stock", "NASDAQ"], "OCUP": ["Ocuphire Pharma, Inc. - Common Stock", "NASDAQ"], "OCX": ["OncoCyte Corporation - Common Stock", "NASDAQ"], "ODFL": ["Old Dominion Freight Line", "S&P500"], "ODP": ["The ODP Corporation - Common Stock", "NASDAQ"], "ODT": ["Odonate Therapeutics, Inc. - Common Stock", "NASDAQ"], "OEG": ["Orbital Energy Group, Inc. - Common Stock", "NASDAQ"], "OEPW": ["One Equity Partners Open Water I Corp. - Class A Common Stock", "NASDAQ"], "OEPWU": ["One Equity Partners Open Water I Corp. - Unit", "NASDAQ"], "OEPWW": ["One Equity Partners Open Water I Corp. - Warrant", "NASDAQ"], "OESX": ["Orion Energy Systems, Inc. - Common Stock", "NASDAQ"], "OFED": ["Oconee Federal Financial Corp. - Common Stock", "NASDAQ"], "OFIX": ["Orthofix Medical Inc. - Common Stock", "NASDAQ"], "OFLX": ["Omega Flex, Inc. - Common Stock", "NASDAQ"], "OFS": ["OFS Capital Corporation - Common Stock", "NASDAQ"], "OFSSG": ["OFS Capital Corporation - 6.25% Notes Due 2023", "NASDAQ"], "OFSSI": ["OFS Capital Corporation - 5.95% Notes due 2026", "NASDAQ"], "OGI": ["Organigram Holdings Inc. - Common Shares", "NASDAQ"], "OHPAU": ["Orion Acquisition Corp. - Unit", "NASDAQ"], "OIIM": ["O2Micro International Limited - American Depositary Shares", "NASDAQ"], "OKTA": ["Okta, Inc. - Class A Common Stock", "NASDAQ"], "OLB": ["The OLB Group, Inc. - Common Stock", "NASDAQ"], "OLD": ["The Long-Term Care ETF", "NASDAQ"], "OLED": ["Universal Display Corporation - Common Stock", "NASDAQ"], "OLLI": ["Ollie's Bargain Outlet Holdings, Inc. - Common Stock", "NASDAQ"], "OLMA": ["Olema Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "OM": ["Outset Medical, Inc. - Common Stock", "NASDAQ"], "OMAB": ["Grupo Aeroportuario del Centro Norte S.A.B. de C.V. - American Depositary Shares each representing 8 Series B shares", "NASDAQ"], "OMCL": ["Omnicell, Inc. - Common Stock", "NASDAQ"], "OMEG": ["Omega Alpha SPAC - Class A Ordinary Shares", "NASDAQ"], "OMER": ["Omeros Corporation - Common Stock", "NASDAQ"], "OMEX": ["Odyssey Marine Exploration, Inc. - Common Stock", "NASDAQ"], "OMP": ["Oasis Midstream Partners LP - Common Units, Representing Limited Partner Interests", "NASDAQ"], "ON": ["ON Semiconductor Corporation - Common Stock", "NASDAQ"], "ONB": ["Old National Bancorp - Common Stock", "NASDAQ"], "ONCR": ["Oncorus, Inc. - Common Stock", "NASDAQ"], "ONCS": ["OncoSec Medical Incorporated - Common Stock", "NASDAQ"], "ONCT": ["Oncternal Therapeutics, Inc. - Common Stock", "NASDAQ"], "ONCY": ["Oncolytics Biotech Inc. - Common Shares", "NASDAQ"], "ONDS": ["Ondas Holdings Inc. - Common Stock", "NASDAQ"], "ONEM": ["1Life Healthcare, Inc. - Common Stock", "NASDAQ"], "ONEQ": ["Fidelity Nasdaq Composite Index ETF", "NASDAQ"], "ONEW": ["OneWater Marine Inc. - Class A Common Stock", "NASDAQ"], "ONTX": ["Onconova Therapeutics, Inc. - Common Stock", "NASDAQ"], "ONTXW": ["Onconova Therapeutics, Inc. - Warrants", "NASDAQ"], "ONVO": ["Organovo Holdings, Inc. - Common Stock", "NASDAQ"], "OPBK": ["OP Bancorp - Common Stock", "NASDAQ"], "OPCH": ["Option Care Health, Inc. - Common Stock", "NASDAQ"], "OPEN": ["Opendoor Technologies Inc - Common Stock", "NASDAQ"], "OPENW": ["Opendoor Technologies Inc - Warrant", "NASDAQ"], "OPGN": ["OpGen, Inc. - Common Stock", "NASDAQ"], "OPHC": ["OptimumBank Holdings, Inc. - Common Stock", "NASDAQ"], "OPI": ["Office Properties Income Trust - Common Shares of Beneficial Interest", "NASDAQ"], "OPINI": ["Office Properties Income Trust - 5.875% Senior Notes due 2046", "NASDAQ"], "OPINL": ["Office Properties Income Trust - 6.375% Senior Notes due 2050", "NASDAQ"], "OPK": ["Opko Health, Inc. - Common Stock", "NASDAQ"], "OPNT": ["Opiant Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "OPOF": ["Old Point Financial Corporation - Common Stock", "NASDAQ"], "OPRA": ["Opera Limited - American Depositary Shares", "NASDAQ"], "OPRT": ["Oportun Financial Corporation - common stock", "NASDAQ"], "OPRX": ["OptimizeRx Corporation - Common Stock", "NASDAQ"], "OPT": ["Opthea Limited - American Depositary Shares", "NASDAQ"], "OPTN": ["OptiNose, Inc. - Common Stock", "NASDAQ"], "OPTT": ["Ocean Power Technologies, Inc. - Common Stock", "NASDAQ"], "ORBC": ["ORBCOMM Inc. - Common Stock", "NASDAQ"], "ORGO": ["Organogenesis Holdings Inc. - Class A ", "NASDAQ"], "ORGS": ["Orgenesis Inc. - Common Stock", "NASDAQ"], "ORIC": ["Oric Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ORLY": ["O'Reilly Automotive", "S&P500"], "ORMP": ["Oramed Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "ORPH": ["Orphazyme A/S - American Depositary Shares", "NASDAQ"], "ORRF": ["Orrstown Financial Services Inc - Common Stock", "NASDAQ"], "ORTX": ["Orchard Therapeutics plc - American Depositary Shares", "NASDAQ"], "OSBC": ["Old Second Bancorp, Inc. - Common Stock", "NASDAQ"], "OSIS": ["OSI Systems, Inc. - Common Stock", "NASDAQ"], "OSMT": ["Osmotica Pharmaceuticals plc - Ordinary Shares", "NASDAQ"], "OSN": ["Ossen Innovation Co., Ltd. - American Depositary Shares", "NASDAQ"], "OSPN": ["OneSpan Inc. - Common Stock", "NASDAQ"], "OSS": ["One Stop Systems, Inc. - Common Stock", "NASDAQ"], "OSTK": ["Overstock.com, Inc. - Common Stock", "NASDAQ"], "OSTR": ["Oyster Enterprises Acquisition Corp. - Class A Common Stock", "NASDAQ"], "OSTRU": ["Oyster Enterprises Acquisition Corp. - Unit", "NASDAQ"], "OSTRW": ["Oyster Enterprises Acquisition Corp. - Warrant", "NASDAQ"], "OSUR": ["OraSure Technologies, Inc. - Common Stock", "NASDAQ"], "OSW": ["OneSpaWorld Holdings Limited - Common Shares", "NASDAQ"], "OTEL": ["Otelco Inc. - Common Stock", "NASDAQ"], "OTEX": ["Open Text Corporation - Common Shares", "NASDAQ"], "OTIC": ["Otonomy, Inc. - Common Stock", "NASDAQ"], "OTLK": ["Outlook Therapeutics, Inc. - Common Stock", "NASDAQ"], "OTLKW": ["Outlook Therapeutics, Inc. - Series A Warrant", "NASDAQ"], "OTRA": ["OTR Acquisition Corp. - Class A Common Stock", "NASDAQ"], "OTRAU": ["OTR Acquisition Corp. - Unit", "NASDAQ"], "OTRAW": ["OTR Acquisition Corp. - Warrant", "NASDAQ"], "OTRK": ["Ontrak, Inc. - Common Stock", "NASDAQ"], "OTRKP": ["Ontrak, Inc. - 9.50% Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "OTTR": ["Otter Tail Corporation - Common Stock", "NASDAQ"], "OVBC": ["Ohio Valley Banc Corp. - Common Stock", "NASDAQ"], "OVID": ["Ovid Therapeutics Inc. - Common Stock", "NASDAQ"], "OVLY": ["Oak Valley Bancorp (CA) - Common Stock", "NASDAQ"], "OXBR": ["Oxbridge Re Holdings Limited - Ordinary Shares", "NASDAQ"], "OXBRW": ["Oxbridge Re Holdings Limited - Warrant", "NASDAQ"], "OXLC": ["Oxford Lane Capital Corp. - Common Stock", "NASDAQ"], "OXLCL": ["Oxford Lane Capital Corp. - 6.75% Notes due 2031", "NASDAQ"], "OXLCM": ["Oxford Lane Capital Corp. - 6.75% Series 2024 Term Preferred Stock", "NASDAQ"], "OXLCO": ["Oxford Lane Capital Corp. - Term Preferred Shares, 7.50% Series 2023", "NASDAQ"], "OXLCP": ["Oxford Lane Capital Corp. - 6.25% Series 2027 Term Preferred Shares", "NASDAQ"], "OXSQ": ["Oxford Square Capital Corp. - Closed End Fund", "NASDAQ"], "OXSQL": ["Oxford Square Capital Corp. - 6.50% Notes due 2024", "NASDAQ"], "OXSQZ": ["Oxford Square Capital Corp. - 6.25% Notes due 2026", "NASDAQ"], "OYST": ["Oyster Point Pharma, Inc. - common stock", "NASDAQ"], "OZK": ["Bank OZK - Common Stock", "NASDAQ"], "OZON": ["Ozon Holdings PLC - ADS, each ADS representing one ordinary share", "NASDAQ"], "PAA": ["Plains All American Pipeline, L.P. - Common Units representing Limited Partner Interests", "NASDAQ"], "PAAS": ["Pan American Silver Corp. - Common Stock", "NASDAQ"], "PACB": ["Pacific Biosciences of California, Inc. - Common Stock", "NASDAQ"], "PACW": ["PacWest Bancorp - Common Stock", "NASDAQ"], "PACX": ["Pioneer Merger Corp. - Class A Ordinary Share", "NASDAQ"], "PACXU": ["Pioneer Merger Corp. - Unit", "NASDAQ"], "PACXW": ["Pioneer Merger Corp. - Warrant", "NASDAQ"], "PAE": ["PAE Incorporated - Class A Common Stock", "NASDAQ"], "PAEWW": ["PAE Incorporated - Warrants", "NASDAQ"], "PAGP": ["Plains GP Holdings, L.P. - Class A Shares representing limited partner interests", "NASDAQ"], "PAHC": ["Phibro Animal Health Corporation - Class A Common Stock", "NASDAQ"], "PAIC": ["Petra Acquisition, Inc. - Common Stock", "NASDAQ"], "PAICU": ["Petra Acquisition, Inc. - Units", "NASDAQ"], "PAICW": ["Petra Acquisition, Inc. - Warrant", "NASDAQ"], "PAND": ["Pandion Therapeutics Inc. - Common stock", "NASDAQ"], "PANL": ["Pangaea Logistics Solutions Ltd. - Common Stock", "NASDAQ"], "PAQC": ["Provident Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "PAQCU": ["Provident Acquisition Corp. - Units", "NASDAQ"], "PAQCW": ["Provident Acquisition Corp. - Warrant", "NASDAQ"], "PASG": ["Passage Bio, Inc. - Common Stock", "NASDAQ"], "PATI": ["Patriot Transportation Holding, Inc. - Common Stock", "NASDAQ"], "PATK": ["Patrick Industries, Inc. - Common Stock", "NASDAQ"], "PAVM": ["PAVmed Inc. - Common Stock", "NASDAQ"], "PAVMW": ["PAVmed Inc. - Warrant", "NASDAQ"], "PAVMZ": ["PAVmed Inc. - Series Z Warrant", "NASDAQ"], "PAX": ["Patria Investments Limited - Class A Common Shares", "NASDAQ"], "PAYA": ["Paya Holdings Inc. - Common Stock", "NASDAQ"], "PAYAW": ["Paya Holdings Inc. - Warrant", "NASDAQ"], "PAYS": ["Paysign, Inc. - Common Stock", "NASDAQ"], "PAYX": ["Paychex Inc.", "S&P500"], "PBCT": ["People's United Financial", "S&P500"], "PBCTP": ["People's United Financial, Inc. - Perpetual Preferred Series A Fixed-to-floating Rate", "NASDAQ"], "PBFS": ["Pioneer Bancorp, Inc. - Common Stock", "NASDAQ"], "PBHC": ["Pathfinder Bancorp, Inc. - Common Stock", "NASDAQ"], "PBIP": ["Prudential Bancorp, Inc. - Common Stock", "NASDAQ"], "PBLA": ["Panbela Therapeutics, Inc. - Common Stock", "NASDAQ"], "PBPB": ["Potbelly Corporation - Common Stock", "NASDAQ"], "PBTS": ["Powerbridge Technologies Co., Ltd. - Ordinary Shares", "NASDAQ"], "PBYI": ["Puma Biotechnology Inc - Common Stock", "NASDAQ"], "PCAR": ["Paccar", "S&P500"], "PCB": ["PCB Bancorp - Common Stock", "NASDAQ"], "PCH": ["PotlatchDeltic Corporation - Common Stock", "NASDAQ"], "PCOM": ["Points International, Ltd. - Common Shares", "NASDAQ"], "PCRX": ["Pacira BioSciences, Inc. - Common Stock", "NASDAQ"], "PCSA": ["Processa Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PCSB": ["PCSB Financial Corporation - Common Stock", "NASDAQ"], "PCT": ["PureCycle Technologies, Inc. - Common stock", "NASDAQ"], "PCTI": ["PCTEL, Inc. - Common Stock", "NASDAQ"], "PCTTU": ["PureCycle Technologies, Inc. - Unit", "NASDAQ"], "PCTTW": ["PureCycle Technologies, Inc. - Warrant", "NASDAQ"], "PCTY": ["Paylocity Holding Corporation - Common Stock", "NASDAQ"], "PCVX": ["Vaxcyte, Inc. - Common Stock", "NASDAQ"], "PCYG": ["Park City Group, Inc. - Common Stock", "NASDAQ"], "PCYO": ["Pure Cycle Corporation - Common Stock", "NASDAQ"], "PDBC": ["Invesco Optimum Yield Diversified Commodity Strategy No K-1 ETF", "NASDAQ"], "PDCE": ["PDC Energy, Inc. - Common Stock", "NASDAQ"], "PDCO": ["Patterson Companies, Inc. - Common Stock", "NASDAQ"], "PDD": ["Pinduoduo Inc. - American Depositary Shares", "NASDAQ"], "PDEV": ["Principal International Multi-Factor ETF", "NASDAQ"], "PDEX": ["Pro-Dex, Inc. - Common Stock", "NASDAQ"], "PDFS": ["PDF Solutions, Inc. - Common Stock", "NASDAQ"], "PDLB": ["PDL Community Bancorp - Common Stock", "NASDAQ"], "PDP": ["Invesco DWA Momentum ETF", "NASDAQ"], "PDSB": ["PDS Biotechnology Corporation - Common Stock", "NASDAQ"], "PEBK": ["Peoples Bancorp of North Carolina, Inc. - Common Stock", "NASDAQ"], "PEBO": ["Peoples Bancorp Inc. - Common Stock", "NASDAQ"], "PEGA": ["Pegasystems Inc. - Common Stock", "NASDAQ"], "PENN": ["Penn National Gaming, Inc. - Common Stock", "NASDAQ"], "PEP": ["PepsiCo Inc.", "S&P500"], "PERI": ["Perion Network Ltd - Ordinary Shares", "NASDAQ"], "PESI": ["Perma-Fix Environmental Services, Inc. - Common Stock", "NASDAQ"], "PETQ": ["PetIQ, Inc. - Class A Common Stock", "NASDAQ"], "PETS": ["PetMed Express, Inc. - Common Stock", "NASDAQ"], "PETZ": ["TDH Holdings, Inc. - Common Shares", "NASDAQ"], "PEY": ["Invesco High Yield Equity Dividend Achievers ETF", "NASDAQ"], "PEZ": ["Invesco DWA Consumer Cyclicals Momentum ETF", "NASDAQ"], "PFBC": ["Preferred Bank - Common Stock", "NASDAQ"], "PFBI": ["Premier Financial Bancorp, Inc. - Common Stock", "NASDAQ"], "PFC": ["Premier Financial Corp. - Common Stock", "NASDAQ"], "PFDRU": ["Pathfinder Acquisition Corporation - Unit", "NASDAQ"], "PFF": ["iShares Preferred and Income Securities ETF", "NASDAQ"], "PFG": ["Principal Financial Group", "S&P500"], "PFHD": ["Professional Holding Corp. - Class A Common Stock", "NASDAQ"], "PFI": ["Invesco DWA Financial Momentum ETF", "NASDAQ"], "PFIE": ["Profire Energy, Inc. - Common Stock", "NASDAQ"], "PFIN": ["P & F Industries, Inc. - Class A Common Stock", "NASDAQ"], "PFIS": ["Peoples Financial Services Corp. - Common Stock", "NASDAQ"], "PFLT": ["PennantPark Floating Rate Capital Ltd. - Common Stock", "NASDAQ"], "PFM": ["Invesco Dividend Achievers ETF", "NASDAQ"], "PFMT": ["Performant Financial Corporation - Common Stock", "NASDAQ"], "PFPT": ["Proofpoint, Inc. - Common Stock", "NASDAQ"], "PFSW": ["PFSweb, Inc. - Common Stock", "NASDAQ"], "PFX": ["PhenixFIN Corporation - Common Stock", "NASDAQ"], "PFXNL": ["PhenixFIN Corporation - Notes Due 2023", "NASDAQ"], "PGC": ["Peapack-Gladstone Financial Corporation - Common Stock", "NASDAQ"], "PGEN": ["Precigen, Inc. - Common Stock", "NASDAQ"], "PGJ": ["Invesco Golden Dragon China ETF", "NASDAQ"], "PGNY": ["Progyny, Inc. - Common Stock", "NASDAQ"], "PGRW": ["Progress Acquisition Corp. - Class A Common Stock", "NASDAQ"], "PGRWU": ["Progress Acquisition Corp. - Units.", "NASDAQ"], "PGRWW": ["Progress Acquisition Corp. - Warrant", "NASDAQ"], "PHAR": ["Pharming Group N.V. - ADS, each representing 10 ordinary shares", "NASDAQ"], "PHAS": ["PhaseBio Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PHAT": ["Phathom Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PHCF": ["Puhui Wealth Investment Management Co., Ltd. - Ordinary Shares", "NASDAQ"], "PHIC": ["Population Health Investment Co., Inc. - Class A Ordinary Share", "NASDAQ"], "PHICU": ["Population Health Investment Co., Inc. - Unit", "NASDAQ"], "PHICW": ["Population Health Investment Co., Inc. - Warrant", "NASDAQ"], "PHIO": ["Phio Pharmaceuticals Corp. - Common Stock", "NASDAQ"], "PHIOW": ["Phio Pharmaceuticals Corp. - Warrants", "NASDAQ"], "PHO": ["Invesco Water Resources ETF", "NASDAQ"], "PHUN": ["Phunware, Inc. - Common Stock", "NASDAQ"], "PHUNW": ["Phunware, Inc. - Warrants", "NASDAQ"], "PHVS": ["Pharvaris N.V. - Ordinary Shares", "NASDAQ"], "PI": ["Impinj, Inc. - Common Stock", "NASDAQ"], "PID": ["Invesco International Dividend Achievers ETF", "NASDAQ"], "PIE": ["Invesco DWA Emerging Markets Momentum ETF", "NASDAQ"], "PINC": ["Premier, Inc. - Class A Common Stock", "NASDAQ"], "PIO": ["Invesco Global Water ETF", "NASDAQ"], "PIRS": ["Pieris Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PIXY": ["ShiftPixy, Inc. - Common Stock", "NASDAQ"], "PIZ": ["Invesco DWA Developed Markets Momentum ETF", "NASDAQ"], "PKBK": ["Parke Bancorp, Inc. - Common Stock", "NASDAQ"], "PKOH": ["Park-Ohio Holdings Corp. - Common Stock", "NASDAQ"], "PKW": ["Invesco BuyBack Achievers ETF", "NASDAQ"], "PLAB": ["Photronics, Inc. - Common Stock", "NASDAQ"], "PLAY": ["Dave & Buster's Entertainment, Inc. - Common Stock", "NASDAQ"], "PLBC": ["Plumas Bancorp - Common Stock", "NASDAQ"], "PLBY": ["PLBY Group, Inc. - Common Stock", "NASDAQ"], "PLCE": ["Children's Place, Inc. (The) - Common Stock", "NASDAQ"], "PLIN": ["China Xiangtai Food Co., Ltd. - Ordinary Shares", "NASDAQ"], "PLL": ["Piedmont Lithium Limited - American Depositary Shares", "NASDAQ"], "PLMIU": ["Plum Acquisition Corp. I - Units", "NASDAQ"], "PLMR": ["Palomar Holdings, Inc. - Common stock", "NASDAQ"], "PLPC": ["Preformed Line Products Company - Common Stock", "NASDAQ"], "PLRX": ["Pliant Therapeutics, Inc. - Common Stock", "NASDAQ"], "PLSE": ["Pulse Biosciences, Inc - Common Stock", "NASDAQ"], "PLTK": ["Playtika Holding Corp. - Common Stock", "NASDAQ"], "PLUG": ["Plug Power, Inc. - Common Stock", "NASDAQ"], "PLUS": ["ePlus inc. - Common Stock", "NASDAQ"], "PLW": ["Invesco 1-30 Laddered Treasury ETF", "NASDAQ"], "PLXP": ["PLx Pharma Inc. - Common Stock", "NASDAQ"], "PLXS": ["Plexus Corp. - Common Stock", "NASDAQ"], "PLYA": ["Playa Hotels & Resorts N.V. - Ordinary Shares", "NASDAQ"], "PMBC": ["Pacific Mercantile Bancorp - Common Stock", "NASDAQ"], "PMD": ["Psychemedics Corporation - Common Stock", "NASDAQ"], "PME": ["Pingtan Marine Enterprise Ltd. - Ordinary Shares", "NASDAQ"], "PMGMU": ["Priveterra Acquisition Corp. - Units", "NASDAQ"], "PMVP": ["PMV Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PNBK": ["Patriot National Bancorp Inc. - Common Stock", "NASDAQ"], "PNFP": ["Pinnacle Financial Partners, Inc. - Common Stock", "NASDAQ"], "PNFPP": ["Pinnacle Financial Partners, Inc. - Depositary shares of Pinnacle Financial Partners, Inc., each representing a 1/40th Interest in a share of its 6.75% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series B", "NASDAQ"], "PNNT": ["PennantPark Investment Corporation - common stock", "NASDAQ"], "PNNTG": ["PennantPark Investment Corporation - 5.50% Notes Due 2024", "NASDAQ"], "PNQI": ["Invesco Nasdaq Internet ETF", "NASDAQ"], "PNRG": ["PrimeEnergy Resources Corporation - Common Stock", "NASDAQ"], "PNTG": ["The Pennant Group, Inc. - Common Stock", "NASDAQ"], "POAI": ["Predictive Oncology Inc. - Common Stock", "NASDAQ"], "PODD": ["Insulet Corporation - Common Stock", "NASDAQ"], "POLA": ["Polar Power, Inc. - Common Stock", "NASDAQ"], "POOL": ["Pool Corporation", "S&P500"], "POSH": ["Poshmark, Inc. - Class A Common Stock", "NASDAQ"], "POTX": ["Global X Cannabis ETF", "NASDAQ"], "POW": ["Powered Brands - Class A Ordinary Shares", "NASDAQ"], "POWI": ["Power Integrations, Inc. - Common Stock", "NASDAQ"], "POWL": ["Powell Industries, Inc. - Common Stock", "NASDAQ"], "POWRU": ["Powered Brands - Units", "NASDAQ"], "POWRW": ["Powered Brands - Warrants", "NASDAQ"], "POWW": ["AMMO, Inc. - Common Stock", "NASDAQ"], "PPBI": ["Pacific Premier Bancorp Inc - Common Stock", "NASDAQ"], "PPBT": ["Purple Biotech Ltd. - American Depositary Shares", "NASDAQ"], "PPC": ["Pilgrim's Pride Corporation - Common Stock", "NASDAQ"], "PPD": ["PPD, Inc. - Common Stock", "NASDAQ"], "PPGH": ["Poema Global Holdings Corp. - Ordinary Share", "NASDAQ"], "PPGHU": ["Poema Global Holdings Corp. - Unit", "NASDAQ"], "PPGHW": ["Poema Global Holdings Corp. - Warrant", "NASDAQ"], "PPH": ["VanEck Vectors Pharmaceutical ETF", "NASDAQ"], "PPIH": ["Perma-Pipe International Holdings, Inc. - Common Stock", "NASDAQ"], "PPSI": ["Pioneer Power Solutions, Inc. - Common Stock", "NASDAQ"], "PPTA": ["Perpetua Resources Corp. - Common Shares", "NASDAQ"], "PRAA": ["PRA Group, Inc. - Common Stock", "NASDAQ"], "PRAH": ["PRA Health Sciences, Inc. - Common Stock", "NASDAQ"], "PRAX": ["Praxis Precision Medicines, Inc. - Common Stock", "NASDAQ"], "PRCH": ["Porch Group, Inc. - Common Stock", "NASDAQ"], "PRCHW": ["Porch Group, Inc. - Warrant", "NASDAQ"], "PRDO": ["Perdoceo Education Corporation - Common Stock", "NASDAQ"], "PRFT": ["Perficient, Inc. - Common Stock", "NASDAQ"], "PRFX": ["PainReform Ltd. - Ordinary Shares", "NASDAQ"], "PRFZ": ["Invesco FTSE RAFI US 1500 Small-Mid ETF", "NASDAQ"], "PRGS": ["Progress Software Corporation - Common Stock", "NASDAQ"], "PRIM": ["Primoris Services Corporation - Common Stock", "NASDAQ"], "PRLD": ["Prelude Therapeutics Incorporated - Common Stock", "NASDAQ"], "PRN": ["Invesco DWA Industrials Momentum ETF", "NASDAQ"], "PROF": ["Profound Medical Corp. - common stock", "NASDAQ"], "PROG": ["Progenity, Inc. - Common Stock", "NASDAQ"], "PROV": ["Provident Financial Holdings, Inc. - Common Stock", "NASDAQ"], "PRPH": ["ProPhase Labs, Inc. - Common Stock", "NASDAQ"], "PRPL": ["Purple Innovation, Inc. - Common Stock", "NASDAQ"], "PRPO": ["Precipio, Inc. - Common Stock", "NASDAQ"], "PRQR": ["ProQR Therapeutics N.V. - Ordinary Shares", "NASDAQ"], "PRSR": ["Prospector Capital Corp. - Class A Ordinary Shares", "NASDAQ"], "PRSRU": ["Prospector Capital Corp. - Unit", "NASDAQ"], "PRSRW": ["Prospector Capital Corp. - Warrants", "NASDAQ"], "PRTA": ["Prothena Corporation plc - Ordinary Shares", "NASDAQ"], "PRTC": ["PureTech Health plc - American Depositary Shares", "NASDAQ"], "PRTG": ["Portage Biotech Inc. - Common Stock", "NASDAQ"], "PRTH": ["Priority Technology Holdings, Inc. - Common Stock", "NASDAQ"], "PRTK": ["Paratek Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PRTS": ["CarParts.com, Inc. - Common Stock", "NASDAQ"], "PRVB": ["Provention Bio, Inc. - Common Stock", "NASDAQ"], "PS": ["Pluralsight, Inc. - Class A Common Stock", "NASDAQ"], "PSAC": ["Property Solutions Acquisition Corp. - Common Stock", "NASDAQ"], "PSACU": ["Property Solutions Acquisition Corp. - Unit", "NASDAQ"], "PSACW": ["Property Solutions Acquisition Corp. - Warrant", "NASDAQ"], "PSAGU": ["Property Solutions Acquisition Corporation II - Units", "NASDAQ"], "PSC": ["Principal U.S. Small-Cap Multi-Factor ETF", "NASDAQ"], "PSCC": ["Invesco S&P SmallCap Consumer Staples ETF", "NASDAQ"], "PSCD": ["Invesco S&P SmallCap Consumer Discretionary ETF", "NASDAQ"], "PSCE": ["Invesco S&P SmallCap Energy ETF", "NASDAQ"], "PSCF": ["Invesco S&P SmallCap Financials ETF", "NASDAQ"], "PSCH": ["Invesco S&P SmallCap Health Care ETF", "NASDAQ"], "PSCI": ["Invesco S&P SmallCap Industrials ETF", "NASDAQ"], "PSCM": ["Invesco S&P SmallCap Materials ETF", "NASDAQ"], "PSCT": ["Invesco S&P SmallCap Information Technology ETF", "NASDAQ"], "PSCU": ["Invesco S&P SmallCap Utilities & Communication Services ETF", "NASDAQ"], "PSEC": ["Prospect Capital Corporation - Common Stock", "NASDAQ"], "PSET": ["Principal Quality ETF", "NASDAQ"], "PSHG": ["Performance Shipping Inc. - Common Shares", "NASDAQ"], "PSL": ["Invesco DWA Consumer Staples Momentum ETF", "NASDAQ"], "PSMT": ["PriceSmart, Inc. - Common Stock", "NASDAQ"], "PSNL": ["Personalis, Inc. - Common Stock", "NASDAQ"], "PSTI": ["Pluristem Therapeutics, Inc. - Common Stock", "NASDAQ"], "PSTV": ["PLUS THERAPEUTICS, Inc. - Common Stock", "NASDAQ"], "PSTX": ["Poseida Therapeutics, Inc. - Common Stock", "NASDAQ"], "PT": ["Pintec Technology Holdings Limited - American Depositary Shares", "NASDAQ"], "PTC": ["PTC Inc. - Common Stock", "NASDAQ"], "PTCT": ["PTC Therapeutics, Inc. - Common Stock", "NASDAQ"], "PTE": ["PolarityTE, Inc. - Common Stock", "NASDAQ"], "PTEN": ["Patterson-UTI Energy, Inc. - Common Stock", "NASDAQ"], "PTF": ["Invesco DWA Technology Momentum ETF", "NASDAQ"], "PTGX": ["Protagonist Therapeutics, Inc. - Common Stock", "NASDAQ"], "PTH": ["Invesco DWA Healthcare Momentum ETF", "NASDAQ"], "PTIC": ["PropTech Investment Corporation II - Class A Common Stock", "NASDAQ"], "PTICU": ["PropTech Investment Corporation II - Unit", "NASDAQ"], "PTICW": ["PropTech Investment Corporation II - Warrant", "NASDAQ"], "PTMN": ["Portman Ridge Finance Corporation - common stock", "NASDAQ"], "PTNR": ["Partner Communications Company Ltd. - American Depositary Shares, each representing one ordinary share", "NASDAQ"], "PTOCU": ["Pine Technology Acquisition Corp. - Unit", "NASDAQ"], "PTON": ["Peloton Interactive, Inc. - Common Stock", "NASDAQ"], "PTPI": ["Petros Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PTRS": ["Partners Bancorp - Common Stock", "NASDAQ"], "PTSI": ["P.A.M. Transportation Services, Inc. - Common Stock", "NASDAQ"], "PTVCA": ["Protective Insurance Corporation - Class A (voting) Common Stock", "NASDAQ"], "PTVCB": ["Protective Insurance Corporation - Class B (nonvoting) Common Stock", "NASDAQ"], "PTVE": ["Pactiv Evergreen Inc. - Common stock", "NASDAQ"], "PUBM": ["PubMatic, Inc. - Class A Common Stock", "NASDAQ"], "PUCKU": ["Goal Acquisitions Corp. - Unit", "NASDAQ"], "PUI": ["Invesco DWA Utilities Momentum ETF", "NASDAQ"], "PULM": ["Pulmatrix, Inc. - Common Stock", "NASDAQ"], "PUYI": ["Puyi Inc. - American Depository Shares", "NASDAQ"], "PVAC": ["Penn Virginia Corporation - Common Stock", "NASDAQ"], "PVBC": ["Provident Bancorp, Inc. - Common Stock", "NASDAQ"], "PWFL": ["PowerFleet, Inc. - Common Stock", "NASDAQ"], "PWOD": ["Penns Woods Bancorp, Inc. - Common Stock", "NASDAQ"], "PXI": ["Invesco DWA Energy Momentum ETF", "NASDAQ"], "PXLW": ["Pixelworks, Inc. - Common Stock", "NASDAQ"], "PXS": ["Pyxis Tankers Inc. - Common Stock", "NASDAQ"], "PXSAP": ["Pyxis Tankers Inc. - 7.75% Series A Cumulative Convertible Preferred Shares", "NASDAQ"], "PXSAW": ["Pyxis Tankers Inc. - Warrant", "NASDAQ"], "PY": ["Principal Value ETF", "NASDAQ"], "PYPD": ["PolyPid Ltd. - Ordinary Shares", "NASDAQ"], "PYPL": ["PayPal", "S&P500"], "PYR": ["PyroGenesis Canada Inc. - Common Shares", "NASDAQ"], "PYZ": ["Invesco DWA Basic Materials Momentum ETF", "NASDAQ"], "PZZA": ["Papa John's International, Inc. - Common Stock", "NASDAQ"], "QABA": ["First Trust NASDAQ ABA Community Bank Index Fund", "NASDAQ"], "QADA": ["QAD Inc. - Class A Common Stock", "NASDAQ"], "QADB": ["QAD Inc. - Class B Common Stock", "NASDAQ"], "QAT": ["iShares MSCI Qatar ETF", "NASDAQ"], "QCLN": ["First Trust NASDAQ Clean Edge Green Energy Index Fund", "NASDAQ"], "QCOM": ["Qualcomm", "S&P500"], "QCRH": ["QCR Holdings, Inc. - Common Stock", "NASDAQ"], "QDEL": ["Quidel Corporation - Common Stock", "NASDAQ"], "QELL": ["Qell Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "QELLU": ["Qell Acquisition Corp. - Unit", "NASDAQ"], "QELLW": ["Qell Acquisition Corp. - Warrant", "NASDAQ"], "QFIN": ["360 DigiTech, Inc. - American Depositary Shares", "NASDAQ"], "QH": ["Quhuo Limited - American Depository Shares", "NASDAQ"], "QIWI": ["QIWI plc - American Depositary Shares", "NASDAQ"], "QK": ["Q&K International Group Limited - American Depositary Shares", "NASDAQ"], "QLGN": ["Qualigen Therapeutics, Inc. - Common Stock", "NASDAQ"], "QLI": ["Qilian International Holding Group Ltd. - Ordinary Shares", "NASDAQ"], "QLYS": ["Qualys, Inc. - Common Stock", "NASDAQ"], "QMCO": ["Quantum Corporation - Common Stock", "NASDAQ"], "QNST": ["QuinStreet, Inc. - Common Stock", "NASDAQ"], "QQC": ["Simplify Nasdaq 100 PLUS Convexity ETF", "NASDAQ"], "QQD": ["Simplify Nasdaq 100 PLUS Downside Convexity ETF", "NASDAQ"], "QQEW": ["First Trust NASDAQ-100 Equal Weighted Index Fund", "NASDAQ"], "QQQ": ["Invesco QQQ Trust, Series 1", "NASDAQ"], "QQQJ": ["Invesco NASDAQ Next Gen 100 ETF", "NASDAQ"], "QQQM": ["Invesco NASDAQ 100 ETF", "NASDAQ"], "QQQN": ["VictoryShares Nasdaq Next 50 ETF", "NASDAQ"], "QQQX": ["Nuveen NASDAQ 100 Dynamic Overwrite Fund - Shares of Beneficial Interest", "NASDAQ"], "QQXT": ["First Trust NASDAQ-100 Ex-Technology Sector Index Fund", "NASDAQ"], "QRHC": ["Quest Resource Holding Corporation - Common Stock", "NASDAQ"], "QRTEA": ["Qurate Retail, Inc. - Series A Common Stock", "NASDAQ"], "QRTEB": ["Qurate Retail, Inc. - Series B Common Stock", "NASDAQ"], "QRTEP": ["Qurate Retail, Inc. - 8.0% Fixed Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "QRVO": ["Qorvo", "S&P500"], "QTEC": ["First Trust NASDAQ-100-Technology Sector Index Fund", "NASDAQ"], "QTNT": ["Quotient Limited - Ordinary Shares", "NASDAQ"], "QTRX": ["Quanterix Corporation - Common Stock", "NASDAQ"], "QTT": ["Qutoutiao Inc. - American Depositary Shares", "NASDAQ"], "QUIK": ["QuickLogic Corporation - Common Stock", "NASDAQ"], "QUMU": ["Qumu Corporation - Common Stock", "NASDAQ"], "QURE": ["uniQure N.V. - Ordinary Shares", "NASDAQ"], "QYLD": ["Global X NASDAQ-100 Covered Call ETF", "NASDAQ"], "QYLG": ["Global X Nasdaq 100 Covered Call & Growth ETF", "NASDAQ"], "RAAC": ["Revolution Acceleration Acquisition Corp - Class A Common Stock", "NASDAQ"], "RAACU": ["Revolution Acceleration Acquisition Corp - Unit", "NASDAQ"], "RAACW": ["Revolution Acceleration Acquisition Corp - Warrant", "NASDAQ"], "RACA": ["Therapeutics Acquisition Corp. - Class A Common Stock", "NASDAQ"], "RACB": ["Research Alliance Corp. II - Class A Common Stock", "NASDAQ"], "RADA": ["RADA Electronic Industries Ltd. - Ordinary Shares", "NASDAQ"], "RADI": ["Radius Global Infrastructure, Inc. - Common Stock", "NASDAQ"], "RAIL": ["Freightcar America, Inc. - Common Stock", "NASDAQ"], "RAND": ["Rand Capital Corporation - Common Stock", "NASDAQ"], "RAPT": ["RAPT Therapeutics, Inc. - Common Stock", "NASDAQ"], "RARE": ["Ultragenyx Pharmaceutical Inc. - Common Stock", "NASDAQ"], "RAVE": ["Rave Restaurant Group, Inc. - Common Stock", "NASDAQ"], "RAVN": ["Raven Industries, Inc. - Common Stock", "NASDAQ"], "RBB": ["RBB Bancorp - Common Stock", "NASDAQ"], "RBBN": ["Ribbon Communications Inc. - Common Stock", "NASDAQ"], "RBCAA": ["Republic Bancorp, Inc. - Class A Common Stock", "NASDAQ"], "RBCN": ["Rubicon Technology, Inc. - Common Stock", "NASDAQ"], "RBKB": ["Rhinebeck Bancorp, Inc. - Common Stock", "NASDAQ"], "RBNC": ["Reliant Bancorp, Inc. - Common Stock", "NASDAQ"], "RCEL": ["Avita Therapeutics, Inc. - Common Stock", "NASDAQ"], "RCHG": ["Recharge Acquisition Corp. - Class A Common Stock", "NASDAQ"], "RCHGU": ["Recharge Acquisition Corp. - Unit", "NASDAQ"], "RCHGW": ["Recharge Acquisition Corp. - Warrant", "NASDAQ"], "RCII": ["Rent-A-Center Inc. - Common Stock", "NASDAQ"], "RCKT": ["Rocket Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "RCKY": ["Rocky Brands, Inc. - Common Stock", "NASDAQ"], "RCLFU": ["Rosecliff Acquisition Corp I - Units, consisting of one share Class A common stock and one-third redeemable warrants", "NASDAQ"], "RCM": ["R1 RCM Inc. - Common Stock", "NASDAQ"], "RCMT": ["RCM Technologies, Inc. - Common Stock", "NASDAQ"], "RCON": ["Recon Technology, Ltd. - Ordinary Shares", "NASDAQ"], "RDCM": ["Radcom Ltd. - Ordinary Shares", "NASDAQ"], "RDFN": ["Redfin Corporation - Common Stock", "NASDAQ"], "RDHL": ["Redhill Biopharma Ltd. - American Depositary Shares", "NASDAQ"], "RDI": ["Reading International Inc - Class A Non-voting Common Stock", "NASDAQ"], "RDIB": ["Reading International Inc - Class B Voting Common Stock", "NASDAQ"], "RDNT": ["RadNet, Inc. - Common Stock", "NASDAQ"], "RDUS": ["Radius Health, Inc. - Common Stock", "NASDAQ"], "RDVT": ["Red Violet, Inc. - Common Stock ", "NASDAQ"], "RDVY": ["First Trust Rising Dividend Achievers ETF", "NASDAQ"], "RDWR": ["Radware Ltd. - Ordinary Shares", "NASDAQ"], "REAL": ["The RealReal, Inc. - Common Stock", "NASDAQ"], "REDU": ["RISE Education Cayman Ltd - American Depositary Shares", "NASDAQ"], "REED": ["Reeds, Inc. - Common Stock", "NASDAQ"], "REFR": ["Research Frontiers Incorporated - Common Stock", "NASDAQ"], "REG": ["Regency Centers Corporation", "S&P500"], "REGI": ["Renewable Energy Group, Inc. - Common Stock", "NASDAQ"], "REGN": ["Regeneron Pharmaceuticals", "S&P500"], "REIT": ["ALPS Active REIT ETF", "NASDAQ"], "REKR": ["Rekor Systems, Inc. - Common Stock", "NASDAQ"], "RELI": ["Reliance Global Group, Inc. - Common Stock", "NASDAQ"], "RELIW": ["Reliance Global Group, Inc. - Series A Warrants", "NASDAQ"], "RELL": ["Richardson Electronics, Ltd. - Common Stock", "NASDAQ"], "REPH": ["Recro Pharma, Inc. - Common Stock", "NASDAQ"], "REPL": ["Replimune Group, Inc. - Common Stock", "NASDAQ"], "RESN": ["Resonant Inc. - Common Stock", "NASDAQ"], "RETA": ["Reata Pharmaceuticals, Inc. - Class A Common Stock", "NASDAQ"], "RETO": ["ReTo Eco-Solutions, Inc. - Common Shares", "NASDAQ"], "REVHU": ["Revolution Healthcare Acquisition Corp. - SAIL Units", "NASDAQ"], "REYN": ["Reynolds Consumer Products Inc. - Common Stock", "NASDAQ"], "RFAP": ["First Trust RiverFront Dynamic Asia Pacific ETF", "NASDAQ"], "RFDI": ["First Trust RiverFront Dynamic Developed International ETF", "NASDAQ"], "RFEM": ["First Trust RiverFront Dynamic Emerging Markets ETF", "NASDAQ"], "RFEU": ["First Trust RiverFront Dynamic Europe ETF", "NASDAQ"], "RFIL": ["RF Industries, Ltd. - Common Stock", "NASDAQ"], "RGCO": ["RGC Resources Inc. - Common Stock", "NASDAQ"], "RGEN": ["Repligen Corporation - Common Stock", "NASDAQ"], "RGLD": ["Royal Gold, Inc. - Common Stock", "NASDAQ"], "RGLS": ["Regulus Therapeutics Inc. - Common Stock", "NASDAQ"], "RGNX": ["REGENXBIO Inc. - Common Stock", "NASDAQ"], "RGP": ["Resources Connection, Inc. - Common Stock", "NASDAQ"], "RIBT": ["RiceBran Technologies - Common Stock", "NASDAQ"], "RICK": ["RCI Hospitality Holdings, Inc. - Common Stock", "NASDAQ"], "RIDE": ["Lordstown Motors Corp. - Class A Common Stock", "NASDAQ"], "RIGL": ["Rigel Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "RILY": ["B. Riley Financial, Inc. - Common Stock", "NASDAQ"], "RILYG": ["B. Riley Financial, Inc. - 7.25% Senior Notes due 2027", "NASDAQ"], "RILYH": ["B. Riley Financial, Inc. - 7.375% Senior Notes Due 2023", "NASDAQ"], "RILYI": ["B. Riley Financial, Inc. - 6.875% Senior Notes due 2023", "NASDAQ"], "RILYL": ["B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series B Cumulative Perpetual Preferred Stock", "NASDAQ"], "RILYM": ["B. Riley Financial, Inc. - 6.375% Senior Notes due 2025", "NASDAQ"], "RILYN": ["B. Riley Financial, Inc. - 6.50% Senior Notes Due 2026", "NASDAQ"], "RILYO": ["B. Riley Financial, Inc. - 6.75% Senior Notes due 2024", "NASDAQ"], "RILYP": ["B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "RILYT": ["B. Riley Financial, Inc. - 6.00% Senior Notes Due 2028", "NASDAQ"], "RILYZ": ["B. Riley Financial, Inc. - 7.50% Senior Notes Due 2027", "NASDAQ"], "RING": ["iShares MSCI Global Gold Miners ETF", "NASDAQ"], "RIOT": ["Riot Blockchain, Inc - Common Stock", "NASDAQ"], "RIVE": ["Riverview Financial Corporation - Common Stock", "NASDAQ"], "RKDA": ["Arcadia Biosciences, Inc. - Common Stock", "NASDAQ"], "RLAY": ["Relay Therapeutics, Inc. - Common Stock", "NASDAQ"], "RLMD": ["Relmada Therapeutics, Inc. - Common Stock", "NASDAQ"], "RMBI": ["Richmond Mutual Bancorporation, Inc. - Common Stock", "NASDAQ"], "RMBL": ["RumbleOn, Inc. - Class B Common Stock", "NASDAQ"], "RMBS": ["Rambus, Inc. - Common Stock", "NASDAQ"], "RMCF": ["Rocky Mountain Chocolate Factory, Inc. - Common Stock", "NASDAQ"], "RMGB": ["RMG Acquisition Corp. II - Class A Ordinary Shares", "NASDAQ"], "RMGBU": ["RMG Acquisition Corp. II - Unit", "NASDAQ"], "RMGBW": ["RMG Acquisition Corp. II - Warrant", "NASDAQ"], "RMGCU": ["RMG Acquisition Corp. III - Unit", "NASDAQ"], "RMNI": ["Rimini Street, Inc. - Common Stock", "NASDAQ"], "RMR": ["The RMR Group Inc. - Class A Common Stock", "NASDAQ"], "RMRM": ["RMR Mortgage Trust - Common Stock", "NASDAQ"], "RMTI": ["Rockwell Medical, Inc. - Common Stock", "NASDAQ"], "RNA": ["Avidity Biosciences, Inc. - Common Stock", "NASDAQ"], "RNDB": ["Randolph Bancorp, Inc. - Common Stock", "NASDAQ"], "RNDM": ["Developed International Equity Select ETF", "NASDAQ"], "RNDV": ["US Equity Dividend Select ETF", "NASDAQ"], "RNEM": ["Emerging Markets Equity Select ETF", "NASDAQ"], "RNET": ["RigNet, Inc. - Common Stock", "NASDAQ"], "RNLC": ["Large Cap US Equity Select ETF", "NASDAQ"], "RNLX": ["Renalytix AI plc - American Depositary Shares", "NASDAQ"], "RNMC": ["Mid Cap US Equity Select ETF", "NASDAQ"], "RNRG": ["Global X Renewable Energy Producers ETF", "NASDAQ"], "RNSC": ["Small Cap US Equity Select ETF", "NASDAQ"], "RNST": ["Renasant Corporation - Common Stock", "NASDAQ"], "RNWK": ["RealNetworks, Inc. - Common Stock", "NASDAQ"], "ROAD": ["Construction Partners, Inc. - Common Stock", "NASDAQ"], "ROBT": ["First Trust Nasdaq Artificial Intelligence and Robotics ETF", "NASDAQ"], "ROCC": ["Roth CH Acquisition II Co. - Common Stock", "NASDAQ"], "ROCCU": ["Roth CH Acquisition II Co. - Unit", "NASDAQ"], "ROCCW": ["Roth CH Acquisition II Co. - Warrant", "NASDAQ"], "ROCK": ["Gibraltar Industries, Inc. - Common Stock", "NASDAQ"], "ROCRU": ["Roth CH Acquisition III Co. - Unit", "NASDAQ"], "ROIC": ["Retail Opportunity Investments Corp. - Common Stock", "NASDAQ"], "ROKU": ["Roku, Inc. - Class A Common Stock", "NASDAQ"], "ROLL": ["RBC Bearings Incorporated - Common Stock", "NASDAQ"], "ROOT": ["Root, Inc. - common stock", "NASDAQ"], "ROST": ["Ross Stores", "S&P500"], "RP": ["RealPage, Inc. - Common Stock", "NASDAQ"], "RPAY": ["Repay Holdings Corporation - Class A Common Stock", "NASDAQ"], "RPD": ["Rapid7, Inc. - Common Stock", "NASDAQ"], "RPRX": ["Royalty Pharma plc - Class A Ordinary Shares", "NASDAQ"], "RPTX": ["Repare Therapeutics Inc. - Common Shares", "NASDAQ"], "RRBI": ["Red River Bancshares, Inc. - Common Stock", "NASDAQ"], "RRGB": ["Red Robin Gourmet Burgers, Inc. - Common Stock", "NASDAQ"], "RRR": ["Red Rock Resorts, Inc. - Class A Common Stock", "NASDAQ"], "RSSS": ["Research Solutions, Inc - Common Stock", "NASDAQ"], "RSVA": ["Rodgers Silicon Valley Acquisition Corp. - Common Stock", "NASDAQ"], "RSVAU": ["Rodgers Silicon Valley Acquisition Corp. - Unit", "NASDAQ"], "RSVAW": ["Rodgers Silicon Valley Acquisition Corp. - Warrant", "NASDAQ"], "RTH": ["VanEck Vectors Retail ETF", "NASDAQ"], "RTLR": ["Rattler Midstream LP - Common Units Representing Limited Partnership Interests", "NASDAQ"], "RTPYU": ["Reinvent Technology Partners Y - Unit", "NASDAQ"], "RUBY": ["Rubius Therapeutics, Inc. - Common Stock", "NASDAQ"], "RUHN": ["Ruhnn Holding Limited - American Depositary Shares", "NASDAQ"], "RUN": ["Sunrun Inc. - Common Stock", "NASDAQ"], "RUSHA": ["Rush Enterprises, Inc. - Class A Common Stock", "NASDAQ"], "RUSHB": ["Rush Enterprises, Inc. - Class B Common Stock", "NASDAQ"], "RUTH": ["Ruth's Hospitality Group, Inc. - Common Stock", "NASDAQ"], "RVMD": ["Revolution Medicines, Inc. - Common Stock", "NASDAQ"], "RVNC": ["Revance Therapeutics, Inc. - Common Stock", "NASDAQ"], "RVPH": ["Reviva Pharmaceuticals Holdings, Inc. - Common Stock", "NASDAQ"], "RVPHW": ["Reviva Pharmaceuticals Holdings, Inc. - Warrants", "NASDAQ"], "RVSB": ["Riverview Bancorp Inc - Common Stock", "NASDAQ"], "RWLK": ["ReWalk Robotics Ltd. - Ordinary Shares", "NASDAQ"], "RXDX": ["Prometheus Biosciences, Inc. - Common Stock", "NASDAQ"], "RXRAU": ["RXR Acquisition Corp. - Unit consisting of 1 share Class A common and 1/5th redeemable warrant", "NASDAQ"], "RXT": ["Rackspace Technology, Inc. - Common Stock", "NASDAQ"], "RYAAY": ["Ryanair Holdings plc - American Depositary Shares, each representing five Ordinary Shares", "NASDAQ"], "RYTM": ["Rhythm Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "RZLT": ["Rezolute, Inc. - Common Stock", "NASDAQ"], "SABR": ["Sabre Corporation - Common Stock", "NASDAQ"], "SABRP": ["Sabre Corporation - 6.50% Series A Mandatory Convertible Preferred Stock", "NASDAQ"], "SAFM": ["Sanderson Farms, Inc. - Common Stock", "NASDAQ"], "SAFT": ["Safety Insurance Group, Inc. - Common Stock", "NASDAQ"], "SAGE": ["Sage Therapeutics, Inc. - Common Stock", "NASDAQ"], "SAIA": ["Saia, Inc. - Common Stock", "NASDAQ"], "SAII": ["Software Acquisition Group Inc. II - Class A Common Stock", "NASDAQ"], "SAIIU": ["Software Acquisition Group Inc. II - Unit", "NASDAQ"], "SAIIW": ["Software Acquisition Group Inc. II - Warrant", "NASDAQ"], "SAL": ["Salisbury Bancorp, Inc. - Common Stock", "NASDAQ"], "SALM": ["Salem Media Group, Inc. - Class A Common Stock", "NASDAQ"], "SAMG": ["Silvercrest Asset Management Group Inc. - Common Stock", "NASDAQ"], "SANA": ["Sana Biotechnology, Inc. - Common Stock", "NASDAQ"], "SANM": ["Sanmina Corporation - Common Stock", "NASDAQ"], "SANW": ["S&W Seed Company - Common Stock", "NASDAQ"], "SASR": ["Sandy Spring Bancorp, Inc. - Common Stock", "NASDAQ"], "SATS": ["EchoStar Corporation - Common stock", "NASDAQ"], "SAVA": ["Cassava Sciences, Inc. - Common Stock", "NASDAQ"], "SBAC": ["SBA Communications", "S&P500"], "SBBP": ["Strongbridge Biopharma plc - Ordinary Shares", "NASDAQ"], "SBCF": ["Seacoast Banking Corporation of Florida - Common Stock", "NASDAQ"], "SBEAU": ["SilverBox Engaged Merger Corp I - Units", "NASDAQ"], "SBFG": ["SB Financial Group, Inc. - Common Stock", "NASDAQ"], "SBGI": ["Sinclair Broadcast Group, Inc. - Class A Common Stock", "NASDAQ"], "SBLK": ["Star Bulk Carriers Corp. - Common Shares", "NASDAQ"], "SBLKZ": ["Star Bulk Carriers Corp. - 8.30% Senior Notes due 2022", "NASDAQ"], "SBNY": ["Signature Bank - Common Stock", "NASDAQ"], "SBNYP": ["Signature Bank - Depositary shares, each representing a 1/40th ownership interest in a share of 5.000% Noncumulative Perpetual Series A Preferred Stock", "NASDAQ"], "SBRA": ["Sabra Health Care REIT, Inc. - Common Stock", "NASDAQ"], "SBSI": ["Southside Bancshares, Inc. - Common Stock", "NASDAQ"], "SBT": ["Sterling Bancorp, Inc. - Common Stock", "NASDAQ"], "SBTX": ["Silverback Therapeutics, Inc. - Common Stock", "NASDAQ"], "SBUX": ["Starbucks Corp.", "S&P500"], "SCAQU": ["Stratim Cloud Acquisition Corp. - Unit", "NASDAQ"], "SCHL": ["Scholastic Corporation - Common Stock", "NASDAQ"], "SCHN": ["Schnitzer Steel Industries, Inc. - Class A Common Stock", "NASDAQ"], "SCKT": ["Socket Mobile, Inc. - Common Stock", "NASDAQ"], "SCLEU": ["Broadscale Acquisition Corp. - Units", "NASDAQ"], "SCOA": ["ScION Tech Growth I - Class A Ordinary Shares", "NASDAQ"], "SCOAU": ["ScION Tech Growth I - Unit", "NASDAQ"], "SCOAW": ["ScION Tech Growth I - Warrant", "NASDAQ"], "SCOBU": ["ScION Tech Growth II - Units", "NASDAQ"], "SCOR": ["comScore, Inc. - Common Stock", "NASDAQ"], "SCPH": ["scPharmaceuticals Inc. - Common Stock", "NASDAQ"], "SCPL": ["SciPlay Corporation - Class A Common Stock", "NASDAQ"], "SCPS": ["Scopus BioPharma Inc. - Common Stock", "NASDAQ"], "SCR": ["Score Media and Gaming Inc. - Subordinate Voting Shares", "NASDAQ"], "SCSC": ["ScanSource, Inc. - Common Stock", "NASDAQ"], "SCVL": ["Shoe Carnival, Inc. - Common Stock", "NASDAQ"], "SCWX": ["SecureWorks Corp. - Class A Common Stock", "NASDAQ"], "SCYX": ["SCYNEXIS, Inc. - Common Stock", "NASDAQ"], "SCZ": ["iShares MSCI EAFE Small-Cap ETF", "NASDAQ"], "SDACU": ["Sustainable Development Acquisition I Corp. - Unit", "NASDAQ"], "SDC": ["SmileDirectClub, Inc. - Common Stock", "NASDAQ"], "SDG": ["iShares MSCI Global Impact ETF", "NASDAQ"], "SDGR": ["Schrodinger, Inc. - Common Stock", "NASDAQ"], "SDH": ["Global Internet of People, Inc. - Ordinary Shares", "NASDAQ"], "SDVY": ["First Trust SMID Cap Rising Dividend Achievers ETF", "NASDAQ"], "SEAC": ["SeaChange International, Inc. - Common Stock", "NASDAQ"], "SECO": ["Secoo Holding Limited - American Depositary Shares", "NASDAQ"], "SEDG": ["SolarEdge Technologies, Inc. - Common Stock", "NASDAQ"], "SEED": ["Origin Agritech Limited - Common Stock", "NASDAQ"], "SEEL": ["Seelos Therapeutics, Inc. - Common Stock", "NASDAQ"], "SEER": ["Seer, Inc. - Class A Common Stock", "NASDAQ"], "SEIC": ["SEI Investments Company - Common Stock", "NASDAQ"], "SELB": ["Selecta Biosciences, Inc. - Common Stock", "NASDAQ"], "SELF": ["Global Self Storage, Inc. - Common Stock", "NASDAQ"], "SENEA": ["Seneca Foods Corp. - Class A Common Stock", "NASDAQ"], "SENEB": ["Seneca Foods Corp. - Class B Common Stock", "NASDAQ"], "SESN": ["Sesen Bio, Inc. - Common Stock", "NASDAQ"], "SFBC": ["Sound Financial Bancorp, Inc. - Common Stock", "NASDAQ"], "SFBS": ["ServisFirst Bancshares, Inc. - Common Stock", "NASDAQ"], "SFET": ["Safe-T Group Ltd. - American Depositary Shares", "NASDAQ"], "SFIX": ["Stitch Fix, Inc. - Class A Common Stock", "NASDAQ"], "SFM": ["Sprouts Farmers Market, Inc. - Common Stock", "NASDAQ"], "SFNC": ["Simmons First National Corporation - Common Stock", "NASDAQ"], "SFST": ["Southern First Bancshares, Inc. - Common Stock", "NASDAQ"], "SFT": ["Shift Technologies, Inc. - Class A Common Stock", "NASDAQ"], "SGA": ["Saga Communications, Inc. - Class A Common Stock", "NASDAQ"], "SGAM": ["Seaport Global Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SGAMU": ["Seaport Global Acquisition Corp. - Unit", "NASDAQ"], "SGAMW": ["Seaport Global Acquisition Corp. - Warrant", "NASDAQ"], "SGBX": ["SG Blocks, Inc. - Common Stock", "NASDAQ"], "SGC": ["Superior Group of Companies, Inc. - Common Stock", "NASDAQ"], "SGEN": ["Seagen Inc. - Common Stock", "NASDAQ"], "SGH": ["SMART Global Holdings, Inc. - Ordinary Shares", "NASDAQ"], "SGLB": ["Sigma Labs, Inc. - Common Stock", "NASDAQ"], "SGLBW": ["Sigma Labs, Inc. - Warrant", "NASDAQ"], "SGMA": ["SigmaTron International, Inc. - Common Stock", "NASDAQ"], "SGMO": ["Sangamo Therapeutics, Inc. - Common Stock", "NASDAQ"], "SGMS": ["Scientific Games Corp - Common Stock", "NASDAQ"], "SGOC": ["SGOCO Group, Ltd - Ordinary Shares (Cayman Islands)", "NASDAQ"], "SGRP": ["SPAR Group, Inc. - Common Stock", "NASDAQ"], "SGRY": ["Surgery Partners, Inc. - Common Stock", "NASDAQ"], "SGTX": ["Sigilon Therapeutics, Inc. - Common Stock", "NASDAQ"], "SHAC": ["SCP & CO Healthcare Acquisition Company - Class A Common Stock", "NASDAQ"], "SHACU": ["SCP & CO Healthcare Acquisition Company - Unit", "NASDAQ"], "SHACW": ["SCP & CO Healthcare Acquisition Company - Warrant", "NASDAQ"], "SHBI": ["Shore Bancshares Inc - Common Stock", "NASDAQ"], "SHC": ["Sotera Health Company - Common Stock", "NASDAQ"], "SHEN": ["Shenandoah Telecommunications Co - Common Stock", "NASDAQ"], "SHIP": ["Seanergy Maritime Holdings Corp - Common Stock", "NASDAQ"], "SHIPW": ["Seanergy Maritime Holdings Corp - Class A Warrants", "NASDAQ"], "SHIPZ": ["Seanergy Maritime Holdings Corp - Class B Warrant", "NASDAQ"], "SHLD": ["VictoryShares Protect America ETF", "NASDAQ"], "SHLS": ["Shoals Technologies Group, Inc. - Class A Common Stock", "NASDAQ"], "SHOO": ["Steven Madden, Ltd. - Common Stock", "NASDAQ"], "SHSP": ["SharpSpring, Inc. - Common Stock", "NASDAQ"], "SHV": ["iShares Short Treasury Bond ETF", "NASDAQ"], "SHY": ["iShares 1-3 Year Treasury Bond ETF", "NASDAQ"], "SHYF": ["The Shyft Group, Inc. - Common Stock", "NASDAQ"], "SIBN": ["SI-BONE, Inc. - Common Stock", "NASDAQ"], "SIC": ["Select Interior Concepts, Inc. - Class A Common Stock", "NASDAQ"], "SIEB": ["Siebert Financial Corp. - Common Stock", "NASDAQ"], "SIEN": ["Sientra, Inc. - Common Stock", "NASDAQ"], "SIFY": ["Sify Technologies Limited - American Depository Shares, each represented by one Equity Share", "NASDAQ"], "SIGA": ["SIGA Technologies Inc. - Common Stock", "NASDAQ"], "SIGI": ["Selective Insurance Group, Inc. - Common Stock", "NASDAQ"], "SIGIP": ["Selective Insurance Group, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 4.60% Non-Cumulative Preferred Stock, Series B", "NASDAQ"], "SILC": ["Silicom Ltd - Ordinary Shares", "NASDAQ"], "SILK": ["Silk Road Medical, Inc. - Common Stock", "NASDAQ"], "SIMO": ["Silicon Motion Technology Corporation - American Depositary Shares, each representing four ordinary shares", "NASDAQ"], "SINA": ["Sina Corporation - Ordinary Shares", "NASDAQ"], "SINO": ["Sino-Global Shipping America, Ltd. - Common Stock", "NASDAQ"], "SINT": ["SiNtx Technologies, Inc. - Common Stock", "NASDAQ"], "SIOX": ["Sio Gene Therapies Inc. - Common Stock", "NASDAQ"], "SIRI": ["Sirius XM Holdings Inc. - Common Stock", "NASDAQ"], "SITM": ["SiTime Corporation - Common Stock", "NASDAQ"], "SIVB": ["SVB Financial", "S&P500"], "SIVBP": ["SVB Financial Group - Depositary Shs each representing a 1/40th interest in a share of 5.25% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "SJ": ["Scienjoy Holding Corporation - Ordinary Shares", "NASDAQ"], "SKOR": ["FlexShares Credit-Scored US Corporate Bond Index Fund", "NASDAQ"], "SKYU": ["ProShares Ultra Nasdaq Cloud Computing ETF", "NASDAQ"], "SKYW": ["SkyWest, Inc. - Common Stock", "NASDAQ"], "SKYY": ["First Trust Cloud Computing ETF", "NASDAQ"], "SLAB": ["Silicon Laboratories, Inc. - Common Stock", "NASDAQ"], "SLAMU": ["Slam Corp. - Unit", "NASDAQ"], "SLCR": ["Silver Crest Acquisition Corporation - Class A Ordinary Share", "NASDAQ"], "SLCRU": ["Silver Crest Acquisition Corporation - Unit", "NASDAQ"], "SLCRW": ["Silver Crest Acquisition Corporation - Warrant", "NASDAQ"], "SLCT": ["Select Bancorp, Inc. - Common Stock", "NASDAQ"], "SLDB": ["Solid Biosciences Inc. - Common Stock", "NASDAQ"], "SLGG": ["Super League Gaming, Inc. - Common Stock", "NASDAQ"], "SLGL": ["Sol-Gel Technologies Ltd. - Common Stock", "NASDAQ"], "SLGN": ["Silgan Holdings Inc. - Common Stock", "NASDAQ"], "SLM": ["SLM Corporation - Common Stock", "NASDAQ"], "SLMBP": ["SLM Corporation - Floating Rate Non-Cumulative Preferred Stock, Series B", "NASDAQ"], "SLN": ["Silence Therapeutics Plc - American Depository Share", "NASDAQ"], "SLNO": ["Soleno Therapeutics, Inc. - Common Stock", "NASDAQ"], "SLP": ["Simulations Plus, Inc. - Common Stock", "NASDAQ"], "SLQD": ["iShares 0-5 Year Investment Grade Corporate Bond ETF", "NASDAQ"], "SLRC": ["SLR Investment Corp. - Common Stock", "NASDAQ"], "SLRX": ["Salarius Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SLS": ["SELLAS Life Sciences Group, Inc. - Common Stock", "NASDAQ"], "SLVO": ["Credit Suisse Silver Shares Covered Call Exchange Traded Notes", "NASDAQ"], "SMBC": ["Southern Missouri Bancorp, Inc. - Common Stock", "NASDAQ"], "SMBK": ["SmartFinancial, Inc. - Common Stock", "NASDAQ"], "SMCI": ["Super Micro Computer, Inc. - Common Stock", "NASDAQ"], "SMCP": ["AlphaMark Actively Managed Small Cap ETF", "NASDAQ"], "SMED": ["Sharps Compliance Corp. - Common Stock", "NASDAQ"], "SMH": ["VanEck Vectors Semiconductor ETF", "NASDAQ"], "SMID": ["Smith-Midland Corporation - Common Stock", "NASDAQ"], "SMIT": ["Schmitt Industries, Inc. - Common Stock", "NASDAQ"], "SMMF": ["Summit Financial Group, Inc. - Common Stock", "NASDAQ"], "SMMT": ["Summit Therapeutics Inc. - Common Stock", "NASDAQ"], "SMPL": ["The Simply Good Foods Company - Common Stock", "NASDAQ"], "SMSI": ["Smith Micro Software, Inc. - Common Stock", "NASDAQ"], "SMTC": ["Semtech Corporation - Common Stock", "NASDAQ"], "SMTI": ["Sanara MedTech Inc. - Common Stock", "NASDAQ"], "SMTX": ["SMTC Corporation - Common Stock", "NASDAQ"], "SNBR": ["Sleep Number Corporation - Common Stock", "NASDAQ"], "SNCA": ["Seneca Biopharma, Inc. - Common Stock", "NASDAQ"], "SNCR": ["Synchronoss Technologies, Inc. - Common Stock", "NASDAQ"], "SNCY": ["Sun Country Airlines Holdings, Inc. - Common Stock", "NASDAQ"], "SND": ["Smart Sand, Inc. - Common Stock", "NASDAQ"], "SNDE": ["Sundance Energy Inc. - Common Stock", "NASDAQ"], "SNDL": ["Sundial Growers Inc. - Common Shares", "NASDAQ"], "SNDX": ["Syndax Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SNES": ["SenesTech, Inc. - Common Stock", "NASDAQ"], "SNEX": ["StoneX Group Inc. - Common Stock", "NASDAQ"], "SNFCA": ["Security National Financial Corporation - Class A Common Stock", "NASDAQ"], "SNGX": ["Soligenix, Inc. - Common Stock", "NASDAQ"], "SNGXW": ["Soligenix, Inc. - Warrant", "NASDAQ"], "SNLN": ["Highland/iBoxx Senior Loan ETF", "NASDAQ"], "SNOA": ["Sonoma Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SNPS": ["Synopsys Inc.", "S&P500"], "SNRH": ["Senior Connect Acquisition Corp. I - Class A Common Stock", "NASDAQ"], "SNRHU": ["Senior Connect Acquisition Corp. I - Unit", "NASDAQ"], "SNRHW": ["Senior Connect Acquisition Corp. I - Warrant", "NASDAQ"], "SNSE": ["Sensei Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "SNSR": ["Global X Internet of Things ETF", "NASDAQ"], "SNUG": ["Merlyn.AI Tactical Growth & Income ETF", "NASDAQ"], "SNY": ["Sanofi - American Depositary Shares", "NASDAQ"], "SOCL": ["Global X Social Media ETF", "NASDAQ"], "SOHO": ["Sotherly Hotels Inc. - Common Stock", "NASDAQ"], "SOHOB": ["Sotherly Hotels Inc. - 8.0% Series B Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SOHON": ["Sotherly Hotels Inc. - 8.25% Series D Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SOHOO": ["Sotherly Hotels Inc. - 7.875% Series C Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SOHU": ["Sohu.com Limited - American Depositary Shares", "NASDAQ"], "SOLO": ["Electrameccanica Vehicles Corp. Ltd. - Common Stock", "NASDAQ"], "SOLOW": ["Electrameccanica Vehicles Corp. Ltd. - Warrants", "NASDAQ"], "SOLY": ["Soliton, Inc. - Common Stock", "NASDAQ"], "SONA": ["Southern National Bancorp of Virginia, Inc. - Common Stock", "NASDAQ"], "SONM": ["Sonim Technologies, Inc. - Common Stock", "NASDAQ"], "SONN": ["Sonnet BioTherapeutics Holdings, Inc. - Common Stock", "NASDAQ"], "SONO": ["Sonos, Inc. - Common Stock", "NASDAQ"], "SOXX": ["iShares PHLX SOX Semiconductor Sector Index Fund", "NASDAQ"], "SP": ["SP Plus Corporation - Common Stock", "NASDAQ"], "SPCB": ["SuperCom, Ltd. - Ordinary Shares", "NASDAQ"], "SPFI": ["South Plains Financial, Inc. - Common Stock", "NASDAQ"], "SPI": ["SPI Energy Co., Ltd. - Ordinary Shares", "NASDAQ"], "SPKBU": ["Silver Spike Acquisition Corp II - Units", "NASDAQ"], "SPKE": ["Spark Energy, Inc. - Class A Common Stock", "NASDAQ"], "SPKEP": ["Spark Energy, Inc. - 8.75% Series A Fixed-to-Floating Rate Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SPLK": ["Splunk Inc. - Common Stock", "NASDAQ"], "SPNE": ["SeaSpine Holdings Corporation - Common Stock", "NASDAQ"], "SPNS": ["Sapiens International Corporation N.V. - Common Shares", "NASDAQ"], "SPOK": ["Spok Holdings, Inc. - Common Stock", "NASDAQ"], "SPPI": ["Spectrum Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SPQQ": ["Siren Large Cap Blend Index ETF", "NASDAQ"], "SPRB": ["Spruce Biosciences, Inc. - Common Stock", "NASDAQ"], "SPRO": ["Spero Therapeutics, Inc. - Common Stock", "NASDAQ"], "SPRT": ["Support.com, Inc. - Common Stock", "NASDAQ"], "SPSC": ["SPS Commerce, Inc. - Common Stock", "NASDAQ"], "SPT": ["Sprout Social, Inc - Class A Common Stock", "NASDAQ"], "SPTKU": ["SportsTek Acquisition Corp. - Unit", "NASDAQ"], "SPTN": ["SpartanNash Company - Common Stock", "NASDAQ"], "SPWH": ["Sportsman's Warehouse Holdings, Inc. - Common Stock", "NASDAQ"], "SPWR": ["SunPower Corporation - Common Stock", "NASDAQ"], "SQBG": ["Sequential Brands Group, Inc. - Common Stock", "NASDAQ"], "SQFT": ["Presidio Property Trust, Inc. - Class A Common Stock", "NASDAQ"], "SQLV": ["Legg Mason Small-Cap Quality Value ETF", "NASDAQ"], "SQQQ": ["ProShares UltraPro Short QQQ", "NASDAQ"], "SRAC": ["Stable Road Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SRACU": ["Stable Road Acquisition Corp. - Unit", "NASDAQ"], "SRACW": ["Stable Road Acquisition Corp. - Warrant", "NASDAQ"], "SRAX": ["SRAX, Inc. - Class A Common Stock", "NASDAQ"], "SRCE": ["1st Source Corporation - Common Stock", "NASDAQ"], "SRCL": ["Stericycle, Inc. - Common Stock", "NASDAQ"], "SRDX": ["Surmodics, Inc. - Common Stock", "NASDAQ"], "SRET": ["Global X SuperDividend REIT ETF", "NASDAQ"], "SREV": ["ServiceSource International, Inc. - Common Stock", "NASDAQ"], "SRGA": ["Surgalign Holdings, Inc. - Common Stock", "NASDAQ"], "SRNE": ["Sorrento Therapeutics, Inc. - Common Stock", "NASDAQ"], "SRNGU": ["Soaring Eagle Acquisition Corp. - Unit", "NASDAQ"], "SRPT": ["Sarepta Therapeutics, Inc. - Common Stock", "NASDAQ"], "SRRA": ["Sierra Oncology, Inc. - Common Stock", "NASDAQ"], "SRRK": ["Scholar Rock Holding Corporation - Common Stock", "NASDAQ"], "SRSA": ["Sarissa Capital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "SRSAU": ["Sarissa Capital Acquisition Corp. - Unit", "NASDAQ"], "SRSAW": ["Sarissa Capital Acquisition Corp. - Warrants", "NASDAQ"], "SRTS": ["Sensus Healthcare, Inc. - Common Stock", "NASDAQ"], "SSAA": ["Science Strategic Acquisition Corp. Alpha - Class A Common Stock", "NASDAQ"], "SSAAU": ["Science Strategic Acquisition Corp. Alpha - Unit", "NASDAQ"], "SSAAW": ["Science Strategic Acquisition Corp. Alpha - Warrant", "NASDAQ"], "SSB": ["South State Corporation - Common Stock", "NASDAQ"], "SSBI": ["Summit State Bank - Common Stock", "NASDAQ"], "SSKN": ["Strata Skin Sciences, Inc. - Common Stock", "NASDAQ"], "SSNC": ["SS&C Technologies Holdings, Inc. - Common Stock", "NASDAQ"], "SSNT": ["SilverSun Technologies, Inc. - Common Stock", "NASDAQ"], "SSP": ["E.W. Scripps Company (The) - Class A Common Stock", "NASDAQ"], "SSPK": ["Silver Spike Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "SSPKU": ["Silver Spike Acquisition Corp. - Units", "NASDAQ"], "SSPKW": ["Silver Spike Acquisition Corp. - Warrants", "NASDAQ"], "SSRM": ["SSR Mining Inc. - Common Stock", "NASDAQ"], "SSSS": ["SuRo Capital Corp. - Common Stock", "NASDAQ"], "SSTI": ["ShotSpotter, Inc. - Common Stock", "NASDAQ"], "SSYS": ["Stratasys, Ltd. - Common Stock", "NASDAQ"], "STAA": ["STAAR Surgical Company - Common Stock", "NASDAQ"], "STAF": ["Staffing 360 Solutions, Inc. - Common Stock", "NASDAQ"], "STAY": ["Extended Stay America, Inc. - Paired Shares", "NASDAQ"], "STBA": ["S&T Bancorp, Inc. - Common Stock", "NASDAQ"], "STCN": ["Steel Connect, Inc. - Common Stock", "NASDAQ"], "STEP": ["StepStone Group Inc. - Class A Common Stock", "NASDAQ"], "STFC": ["State Auto Financial Corporation - Common Stock", "NASDAQ"], "STIM": ["Neuronetics, Inc. - Common Stock", "NASDAQ"], "STKL": ["SunOpta, Inc. - Common Stock", "NASDAQ"], "STKS": ["The ONE Group Hospitality, Inc. - Common Stock", "NASDAQ"], "STLD": ["Steel Dynamics, Inc. - Common Stock", "NASDAQ"], "STMP": ["Stamps.com Inc. - Common Stock", "NASDAQ"], "STND": ["Standard AVB Financial Corp. - Common Stock", "NASDAQ"], "STNE": ["StoneCo Ltd. - Class A Common Share", "NASDAQ"], "STOK": ["Stoke Therapeutics, Inc. - Common Stock", "NASDAQ"], "STRA": ["Strategic Education, Inc. - Common Stock", "NASDAQ"], "STRL": ["Sterling Construction Company Inc - Common Stock", "NASDAQ"], "STRM": ["Streamline Health Solutions, Inc. - Common Stock", "NASDAQ"], "STRO": ["Sutro Biopharma, Inc. - Common Stock", "NASDAQ"], "STRR": ["Star Equity Holdings, Inc. - Common Stock", "NASDAQ"], "STRRP": ["Star Equity Holdings, Inc. - Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "STRS": ["Stratus Properties Inc. - Common Stock", "NASDAQ"], "STRT": ["STRATTEC SECURITY CORPORATION - Common Stock", "NASDAQ"], "STSA": ["Satsuma Pharmaceuticals, Inc. - Common stock", "NASDAQ"], "STTK": ["Shattuck Labs, Inc. - Common Stock", "NASDAQ"], "STWO": ["ACON S2 Acquisition Corp. - Class A ordinary shares", "NASDAQ"], "STWOU": ["ACON S2 Acquisition Corp. - Unit", "NASDAQ"], "STWOW": ["ACON S2 Acquisition Corp. - Warrant", "NASDAQ"], "STX": ["Seagate Technology", "S&P500"], "STXB": ["Spirit of Texas Bancshares, Inc. - Common Stock", "NASDAQ"], "SUMO": ["Sumo Logic, Inc. - Common Stock", "NASDAQ"], "SUMR": ["Summer Infant, Inc. - Common Stock", "NASDAQ"], "SUNS": ["SLR Senior Investment Corp. - Common Stock", "NASDAQ"], "SUNW": ["Sunworks, Inc. - Common Stock", "NASDAQ"], "SUPN": ["Supernus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SURF": ["Surface Oncology, Inc. - Common Stock", "NASDAQ"], "SUSB": ["iShares ESG Aware 1-5 Year USD Corporate Bond ETF", "NASDAQ"], "SUSC": ["iShares ESG Aware USD Corporate Bond ETF", "NASDAQ"], "SUSL": ["iShares ESG MSCI USA Leaders ETF", "NASDAQ"], "SV": ["Spring Valley Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "SVA": ["Sinovac Biotech, Ltd. - Ordinary Shares (Antigua/Barbudo)", "NASDAQ"], "SVAC": ["Starboard Value Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SVACU": ["Starboard Value Acquisition Corp. - Unit", "NASDAQ"], "SVACW": ["Starboard Value Acquisition Corp. - Warrant", "NASDAQ"], "SVBI": ["Severn Bancorp Inc - Common Stock", "NASDAQ"], "SVC": ["Service Properties Trust - Shares of Beneficial Interest", "NASDAQ"], "SVFA": ["SVF Investment Corp. - Class A Ordinary Shares", "NASDAQ"], "SVFAU": ["SVF Investment Corp. - Unit", "NASDAQ"], "SVFAW": ["SVF Investment Corp. - Warrant", "NASDAQ"], "SVFB": ["SVF Investment Corp. 2 - Class A Ordinary Shares", "NASDAQ"], "SVFC": ["SVF Investment Corp. 3 - Class A Ordinary Shares", "NASDAQ"], "SVMK": ["SVMK Inc. - Common Stock", "NASDAQ"], "SVOK": ["Seven Oaks Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SVOKU": ["Seven Oaks Acquisition Corp. - Unit", "NASDAQ"], "SVOKW": ["Seven Oaks Acquisition Corp. - Warrant", "NASDAQ"], "SVRA": ["Savara, Inc. - Common Stock", "NASDAQ"], "SVSVU": ["Spring Valley Acquisition Corp. - Unit", "NASDAQ"], "SVSVW": ["Spring Valley Acquisition Corp. - Warrant", "NASDAQ"], "SVVC": ["Firsthand Technology Value Fund, Inc. - Common Stock", "NASDAQ"], "SWAV": ["ShockWave Medical, Inc. - Common Stock", "NASDAQ"], "SWBI": ["Smith & Wesson Brands, Inc. - Common Stock", "NASDAQ"], "SWET": ["Athlon Acquisition Corp. - Class A Common stock", "NASDAQ"], "SWETU": ["Athlon Acquisition Corp. - Unit", "NASDAQ"], "SWETW": ["Athlon Acquisition Corp. - Warrant", "NASDAQ"], "SWIR": ["Sierra Wireless, Inc. - Common Stock", "NASDAQ"], "SWKH": ["SWK Holdings Corporation - Common Stock", "NASDAQ"], "SWKS": ["Skyworks Solutions", "S&P500"], "SWTX": ["SpringWorks Therapeutics, Inc. - common stock", "NASDAQ"], "SXTC": ["China SXT Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SY": ["So-Young International Inc. - American Depository Shares", "NASDAQ"], "SYBT": ["Stock Yards Bancorp, Inc. - Common Stock", "NASDAQ"], "SYBX": ["Synlogic, Inc. - Common Stock", "NASDAQ"], "SYKE": ["Sykes Enterprises, Incorporated - Common Stock", "NASDAQ"], "SYNA": ["Synaptics Incorporated - Common Stock", "NASDAQ"], "SYNC": ["Synacor, Inc. - Common Stock", "NASDAQ"], "SYNH": ["Syneos Health, Inc. - Class A Common Stock", "NASDAQ"], "SYNL": ["Synalloy Corporation - Common Stock", "NASDAQ"], "SYPR": ["Sypris Solutions, Inc. - Common Stock", "NASDAQ"], "SYRS": ["Syros Pharmaceuticals, Inc. - common stock", "NASDAQ"], "SYTA": ["Siyata Mobile, Inc. - Common Shares", "NASDAQ"], "SYTAW": ["Siyata Mobile, Inc. - Warrant", "NASDAQ"], "TA": ["TravelCenters of America Inc. - Common Stock", "NASDAQ"], "TACO": ["Del Taco Restaurants, Inc. - Common Stock", "NASDAQ"], "TACT": ["TransAct Technologies Incorporated - Common Stock", "NASDAQ"], "TAIT": ["Taitron Components Incorporated - Class A Common Stock", "NASDAQ"], "TANH": ["Tantech Holdings Ltd. - Common Stock", "NASDAQ"], "TANNI": ["TravelCenters of America Inc. - 8.25% Senior Notes due 2028", "NASDAQ"], "TANNL": ["TravelCenters of America Inc. - 8.00% Senior Notes due 2029", "NASDAQ"], "TANNZ": ["TravelCenters of America Inc. - 8.00% Senior Notes due 2030", "NASDAQ"], "TAOP": ["Taoping Inc. - Ordinary Shares", "NASDAQ"], "TARA": ["Protara Therapeutics, Inc. - Common Stock", "NASDAQ"], "TARS": ["Tarsus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TAST": ["Carrols Restaurant Group, Inc. - Common Stock", "NASDAQ"], "TATT": ["TAT Technologies Ltd. - Ordinary Shares", "NASDAQ"], "TAYD": ["Taylor Devices, Inc. - Common Stock", "NASDAQ"], "TBBK": ["The Bancorp, Inc. - Common Stock", "NASDAQ"], "TBCPU": ["Thunder Bridge Capital Partners III Inc. - Units", "NASDAQ"], "TBIO": ["Translate Bio, Inc. - Common Stock", "NASDAQ"], "TBK": ["Triumph Bancorp, Inc. - Common Stock", "NASDAQ"], "TBKCP": ["Triumph Bancorp, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of Series C Fixed-Rate Non-Cumulative Perpetual Preferred Stock ", "NASDAQ"], "TBLT": ["ToughBuilt Industries, Inc. - Common Stock", "NASDAQ"], "TBLTW": ["ToughBuilt Industries, Inc. - Warrant", "NASDAQ"], "TBNK": ["Territorial Bancorp Inc. - Common Stock", "NASDAQ"], "TBPH": ["Theravance Biopharma, Inc. - Ordinary Shares", "NASDAQ"], "TC": ["TuanChe Limited - American Depositary Shares", "NASDAQ"], "TCACU": ["Tuatara Capital Acquisition Corporation - Unit", "NASDAQ"], "TCBI": ["Texas Capital Bancshares, Inc. - Common Stock", "NASDAQ"], "TCBIL": ["Texas Capital Bancshares, Inc. - 6.50% Subordinated Notes due 2042", "NASDAQ"], "TCBIP": ["Texas Capital Bancshares, Inc. - Non Cumulative Preferred Perpetual Stock Series A", "NASDAQ"], "TCBK": ["TriCo Bancshares - Common Stock", "NASDAQ"], "TCDA": ["Tricida, Inc. - Common Stock", "NASDAQ"], "TCF": ["TCF Financial Corporation - Common Stock", "NASDAQ"], "TCFC": ["The Community Financial Corporation - Common Stock", "NASDAQ"], "TCFCP": ["TCF Financial Corporation - Depositary Shares representing 5.70% Series C Non-Cumulative Preferred Stock", "NASDAQ"], "TCMD": ["Tactile Systems Technology, Inc. - Common Stock", "NASDAQ"], "TCOM": ["Trip.com Group Limited - American Depositary Shares", "NASDAQ"], "TCON": ["TRACON Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TCPC": ["BlackRock TCP Capital Corp. - Common Stock", "NASDAQ"], "TCRR": ["TCR2 Therapeutics Inc. - Common Stock", "NASDAQ"], "TCX": ["Tucows Inc. - Common Stock", "NASDAQ"], "TDAC": ["Trident Acquisitions Corp. - Common Stock", "NASDAQ"], "TDACU": ["Trident Acquisitions Corp. - Units", "NASDAQ"], "TDACW": ["Trident Acquisitions Corp. - Warrant", "NASDAQ"], "TDIV": ["First Trust NASDAQ Technology Dividend Index Fund", "NASDAQ"], "TEAM": ["Atlassian Corporation Plc - Class A Ordinary Shares", "NASDAQ"], "TECH": ["Bio-Techne Corp - Common Stock", "NASDAQ"], "TECTP": ["Tectonic Financial, Inc. - 9.00% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "TEDU": ["Tarena International, Inc. - American Depositary Shares", "NASDAQ"], "TEKK": ["Tekkorp Digital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "TEKKU": ["Tekkorp Digital Acquisition Corp. - Unit", "NASDAQ"], "TEKKW": ["Tekkorp Digital Acquisition Corp. - Warrant", "NASDAQ"], "TELA": ["TELA Bio, Inc. - Common stock", "NASDAQ"], "TELL": ["Tellurian Inc. - Common Stock", "NASDAQ"], "TENB": ["Tenable Holdings, Inc. - Common Stock", "NASDAQ"], "TENX": ["Tenax Therapeutics, Inc. - Common Stock", "NASDAQ"], "TER": ["Teradyne", "S&P500"], "TERN": ["Terns Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TESS": ["TESSCO Technologies Incorporated - Common Stock", "NASDAQ"], "TETCU": ["Tech and Energy Transition Corporation - Unit", "NASDAQ"], "TFFP": ["TFF Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TFSL": ["TFS Financial Corporation - Common Stock", "NASDAQ"], "TGA": ["TransGlobe Energy Corporation - Common Shares", "NASDAQ"], "TGLS": ["Tecnoglass Inc. - Ordinary Shares", "NASDAQ"], "TGTX": ["TG Therapeutics, Inc. - Common Stock", "NASDAQ"], "TH": ["Target Hospitality Corp. - Common Stock", "NASDAQ"], "THBR": ["Thunder Bridge Acquisition II, Ltd. - Class A Ordinary Shares", "NASDAQ"], "THBRU": ["Thunder Bridge Acquisition II, Ltd. - Units", "NASDAQ"], "THBRW": ["Thunder Bridge Acquisition II, Ltd. - Warrants", "NASDAQ"], "THCA": ["Tuscan Holdings Corp. II - Common Stock", "NASDAQ"], "THCAU": ["Tuscan Holdings Corp. II - Unit", "NASDAQ"], "THCAW": ["Tuscan Holdings Corp. II - Warrant", "NASDAQ"], "THCB": ["Tuscan Holdings Corp. - Common Stock", "NASDAQ"], "THCBU": ["Tuscan Holdings Corp. - Unit", "NASDAQ"], "THCBW": ["Tuscan Holdings Corp. - Warrant", "NASDAQ"], "THFF": ["First Financial Corporation Indiana - Common Stock", "NASDAQ"], "THMAU": ["Thimble Point Acquisition Corp. - Unit", "NASDAQ"], "THMO": ["ThermoGenesis Holdings, Inc. - Common Stock", "NASDAQ"], "THRM": ["Gentherm Inc - Common Stock", "NASDAQ"], "THRY": ["Thryv Holdings, Inc. - Common Stock", "NASDAQ"], "THTX": ["Theratechnologies Inc. - Common Shares", "NASDAQ"], "THWWW": ["Target Hospitality Corp. - Warrant expiring 3/15/2024", "NASDAQ"], "TIG": ["Trean Insurance Group, Inc. - Common Stock", "NASDAQ"], "TIGO": ["Millicom International Cellular S.A. - Common Stock", "NASDAQ"], "TIGR": ["UP Fintech Holding Limited - American Depositary Shares representing fifteen Class A Ordinary Shares", "NASDAQ"], "TILE": ["Interface, Inc. - Common Stock", "NASDAQ"], "TIPT": ["Tiptree Inc. - Common Stock", "NASDAQ"], "TIRX": ["TIAN RUIXIANG Holdings Ltd - Class A Ordinary Shares", "NASDAQ"], "TITN": ["Titan Machinery Inc. - Common Stock", "NASDAQ"], "TLC": ["Taiwan Liposome Company, Ltd. - American Depositary Shares", "NASDAQ"], "TLGT": ["Teligent, Inc. - Common Stock", "NASDAQ"], "TLIS": ["Talis Biomedical Corporation - common stock", "NASDAQ"], "TLMD": ["SOC Telemed, Inc. - Class A Common Stock", "NASDAQ"], "TLMDW": ["SOC Telemed, Inc. - Warrants", "NASDAQ"], "TLND": ["Talend S.A. - American Depositary Shares", "NASDAQ"], "TLRY": ["Tilray, Inc. - Class 2 Common Stock", "NASDAQ"], "TLS": ["Telos Corporation - Common Stock", "NASDAQ"], "TLSA": ["Tiziana Life Sciences plc - American Depository Share", "NASDAQ"], "TLT": ["iShares 20+ Year Treasury Bond ETF", "NASDAQ"], "TMDI": ["Titan Medical Inc. - Ordinary Shares", "NASDAQ"], "TMDX": ["TransMedics Group, Inc. - Common Stock", "NASDAQ"], "TMKR": ["Tastemaker Acquisition Corp. - Class A common stock", "NASDAQ"], "TMKRU": ["Tastemaker Acquisition Corp. - Unit", "NASDAQ"], "TMKRW": ["Tastemaker Acquisition Corp. - Warrant to purchase Class A common stock", "NASDAQ"], "TMPM": ["Turmeric Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "TMPMU": ["Turmeric Acquisition Corp. - Unit", "NASDAQ"], "TMPMW": ["Turmeric Acquisition Corp. - Warrant", "NASDAQ"], "TMTS": ["Spartacus Acquisition Corporation - Class A Common Stock", "NASDAQ"], "TMTSU": ["Spartacus Acquisition Corporation - Unit", "NASDAQ"], "TMTSW": ["Spartacus Acquisition Corporation - Warrant", "NASDAQ"], "TMUS": ["T-Mobile US", "S&P500"], "TNDM": ["Tandem Diabetes Care, Inc. - Common Stock", "NASDAQ"], "TNXP": ["Tonix Pharmaceuticals Holding Corp. - Common Stock", "NASDAQ"], "TOMZ": ["TOMI Environmental Solutions, Inc. - Common Stock", "NASDAQ"], "TOPS": ["TOP Ships Inc. - Common Stock", "NASDAQ"], "TOUR": ["Tuniu Corporation - American Depositary Shares", "NASDAQ"], "TOWN": ["Towne Bank - Common Stock", "NASDAQ"], "TPCO": ["Tribune Publishing Company - Common Stock", "NASDAQ"], "TPIC": ["TPI Composites, Inc. - Common Stock", "NASDAQ"], "TPTX": ["Turning Point Therapeutics, Inc. - Common stock", "NASDAQ"], "TQQQ": ["ProShares UltraPro QQQ", "NASDAQ"], "TRCH": ["Torchlight Energy Resources, Inc. - Common Stock", "NASDAQ"], "TREE": ["LendingTree, Inc. - Common Stock", "NASDAQ"], "TRHC": ["Tabula Rasa HealthCare, Inc. - Common Stock", "NASDAQ"], "TRIB": ["Trinity Biotech plc - American Depositary Shares each representing 4 A Ordinary Shares", "NASDAQ"], "TRIL": ["Trillium Therapeutics Inc. - Common Shares", "NASDAQ"], "TRIN": ["Trinity Capital Inc. - Common Stock", "NASDAQ"], "TRIP": ["TripAdvisor, Inc. - Common Stock", "NASDAQ"], "TRIT": ["Triterras, Inc. - Class A Ordinary Shares", "NASDAQ"], "TRITW": ["Triterras, Inc. - Warrant", "NASDAQ"], "TRMB": ["Trimble Inc.", "S&P500"], "TRMD": ["TORM plc - Class A Common Stock", "NASDAQ"], "TRMK": ["Trustmark Corporation - Common Stock", "NASDAQ"], "TRMT": ["Tremont Mortgage Trust - Common Shares of Beneficial Interest", "NASDAQ"], "TRNS": ["Transcat, Inc. - Common Stock", "NASDAQ"], "TROW": ["T. Rowe Price Group", "S&P500"], "TRS": ["TriMas Corporation - Common Stock", "NASDAQ"], "TRST": ["TrustCo Bank Corp NY - Common Stock", "NASDAQ"], "TRUE": ["TrueCar, Inc. - Common Stock", "NASDAQ"], "TRUP": ["Trupanion, Inc. - Common Stock", "NASDAQ"], "TRVG": ["trivago N.V. - American Depositary Shares", "NASDAQ"], "TRVI": ["Trevi Therapeutics, Inc. - Common Stock", "NASDAQ"], "TRVN": ["Trevena, Inc. - Common Stock", "NASDAQ"], "TSBK": ["Timberland Bancorp, Inc. - Common Stock", "NASDAQ"], "TSC": ["TriState Capital Holdings, Inc. - Common Stock", "NASDAQ"], "TSCAP": ["TriState Capital Holdings, Inc. - Dep Shs Rep 1/40th Int 6.75% Srs A Non-Cum Pfd", "NASDAQ"], "TSCBP": ["TriState Capital Holdings, Inc. - Depositary Share, representing a 1/40th Interest in a Share of 6.375% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "TSCO": ["Tractor Supply Company", "S&P500"], "TSEM": ["Tower Semiconductor Ltd. - Ordinary Shares", "NASDAQ"], "TSHA": ["Taysha Gene Therapies, Inc. - Common Stock", "NASDAQ"], "TSIA": ["TS Innovation Acquisitions Corp. - Class A Common Stock", "NASDAQ"], "TSIAU": ["TS Innovation Acquisitions Corp. - Unit", "NASDAQ"], "TSIAW": ["TS Innovation Acquisitions Corp. - Warrant", "NASDAQ"], "TSIBU": ["Tishman Speyer Innovation Corp. II - Unit", "NASDAQ"], "TSLA": ["Tesla, Inc.", "S&P500"], "TSRI": ["TSR, Inc. - Common Stock", "NASDAQ"], "TTCF": ["Tattooed Chef, Inc. - Class A Common Stock", "NASDAQ"], "TTD": ["The Trade Desk, Inc. - Class A Common Stock", "NASDAQ"], "TTEC": ["TTEC Holdings, Inc. - Common Stock", "NASDAQ"], "TTEK": ["Tetra Tech, Inc. - Common Stock", "NASDAQ"], "TTGT": ["TechTarget, Inc. - Common Stock", "NASDAQ"], "TTMI": ["TTM Technologies, Inc. - Common Stock", "NASDAQ"], "TTNP": ["Titan Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TTOO": ["T2 Biosystems, Inc. - Common Stock", "NASDAQ"], "TTWO": ["Take-Two Interactive", "S&P500"], "TUR": ["iShares MSCI Turkey ETF", "NASDAQ"], "TURN": ["180 Degree Capital Corp. - Common Stock", "NASDAQ"], "TUSA": ["First Trust Total US Market AlphaDEX ETF", "NASDAQ"], "TUSK": ["Mammoth Energy Services, Inc. - Common Stock", "NASDAQ"], "TVAC": ["Thayer Ventures Acquisition Corporation - Class A Common Stock", "NASDAQ"], "TVACU": ["Thayer Ventures Acquisition Corporation - Units", "NASDAQ"], "TVACW": ["Thayer Ventures Acquisition Corporation - Warrant", "NASDAQ"], "TVTX": ["Travere Therapeutics, Inc. - Common Stock", "NASDAQ"], "TVTY": ["Tivity Health, Inc. - Common Stock", "NASDAQ"], "TW": ["Tradeweb Markets Inc. - Class A Common Stock", "NASDAQ"], "TWCT": ["TWC Tech Holdings II Corp. - Class A Common Stock", "NASDAQ"], "TWCTU": ["TWC Tech Holdings II Corp. - Unit", "NASDAQ"], "TWCTW": ["TWC Tech Holdings II Corp. - Warrant", "NASDAQ"], "TWIN": ["Twin Disc, Incorporated - Common Stock", "NASDAQ"], "TWLVU": ["Twelve Seas Investment Company II - Unit", "NASDAQ"], "TWNK": ["Hostess Brands, Inc. - Class A Common Stock", "NASDAQ"], "TWNKW": ["Hostess Brands, Inc. - Warrants", "NASDAQ"], "TWOU": ["2U, Inc. - Common Stock", "NASDAQ"], "TWST": ["Twist Bioscience Corporation - Common Stock", "NASDAQ"], "TXG": ["10x Genomics, Inc. - Common Stock", "NASDAQ"], "TXMD": ["TherapeuticsMD, Inc. - Common Stock", "NASDAQ"], "TXN": ["Texas Instruments", "S&P500"], "TXRH": ["Texas Roadhouse, Inc. - Common Stock", "NASDAQ"], "TYHT": ["Shineco, Inc. - Common Stock", "NASDAQ"], "TYME": ["Tyme Technologies, Inc. - Common Stock", "NASDAQ"], "TZOO": ["Travelzoo - Common Stock", "NASDAQ"], "TZPS": ["TZP Strategies Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "TZPSU": ["TZP Strategies Acquisition Corp. - Unit", "NASDAQ"], "TZPSW": ["TZP Strategies Acquisition Corp. - Warrant", "NASDAQ"], "UAE": ["iShares MSCI UAE ETF", "NASDAQ"], "UAL": ["United Airlines Holdings", "S&P500"], "UBCP": ["United Bancorp, Inc. - Common Stock", "NASDAQ"], "UBFO": ["United Security Bancshares - Common Stock", "NASDAQ"], "UBOH": ["United Bancshares, Inc. - Common Stock", "NASDAQ"], "UBSI": ["United Bankshares, Inc. - Common Stock", "NASDAQ"], "UBX": ["Unity Biotechnology, Inc. - Common Stock", "NASDAQ"], "UCBI": ["United Community Banks, Inc. - Common Stock", "NASDAQ"], "UCBIO": ["United Community Banks, Inc. - Depositary Shares each representing 1/1,000th interest in a share of Series I Non-Cumulative Preferred Stock", "NASDAQ"], "UCL": ["uCloudlink Group Inc. - American Depositary Shares", "NASDAQ"], "UCTT": ["Ultra Clean Holdings, Inc. - Common Stock", "NASDAQ"], "UCYB": ["ProShares Ultra Nasdaq Cybersecurity ETF", "NASDAQ"], "UEIC": ["Universal Electronics Inc. - Common Stock", "NASDAQ"], "UEPS": ["Net 1 UEPS Technologies, Inc. - Common Stock", "NASDAQ"], "UFCS": ["United Fire Group, Inc - Common Stock", "NASDAQ"], "UFO": ["Procure Space ETF", "NASDAQ"], "UFPI": ["UFP Industries, Inc. - Common Stock", "NASDAQ"], "UFPT": ["UFP Technologies, Inc. - Common Stock", "NASDAQ"], "UG": ["United-Guardian, Inc. - Common Stock", "NASDAQ"], "UGRO": ["urban-gro, Inc. - Common Stock", "NASDAQ"], "UHAL": ["Amerco - Common Stock", "NASDAQ"], "UIHC": ["United Insurance Holdings Corp. - Common Stock", "NASDAQ"], "UK": ["Ucommune International Ltd - Ordinary Shares", "NASDAQ"], "UKOMW": ["Ucommune International Ltd - Warrant expiring 11/17/2025", "NASDAQ"], "ULBI": ["Ultralife Corporation - Common Stock", "NASDAQ"], "ULH": ["Universal Logistics Holdings, Inc. - Common Stock", "NASDAQ"], "ULTA": ["Ulta Beauty", "S&P500"], "UMBF": ["UMB Financial Corporation - Common Stock", "NASDAQ"], "UMPQ": ["Umpqua Holdings Corporation - Common Stock", "NASDAQ"], "UNAM": ["Unico American Corporation - Common Stock", "NASDAQ"], "UNB": ["Union Bankshares, Inc. - Common Stock", "NASDAQ"], "UNIT": ["Uniti Group Inc. - Common Stock", "NASDAQ"], "UNTY": ["Unity Bancorp, Inc. - Common Stock", "NASDAQ"], "UONE": ["Urban One, Inc. - Class A Common Stock", "NASDAQ"], "UONEK": ["Urban One, Inc. - Class D Common Stock", "NASDAQ"], "UPLD": ["Upland Software, Inc. - Common Stock", "NASDAQ"], "UPST": ["Upstart Holdings, Inc. - Common stock", "NASDAQ"], "UPWK": ["Upwork Inc. - Common Stock", "NASDAQ"], "URBN": ["Urban Outfitters, Inc. - Common Stock", "NASDAQ"], "URGN": ["UroGen Pharma Ltd. - Ordinary Shares", "NASDAQ"], "UROV": ["Urovant Sciences Ltd. - Common Stock", "NASDAQ"], "USAK": ["USA Truck, Inc. - Common Stock", "NASDAQ"], "USAP": ["Universal Stainless & Alloy Products, Inc. - Common Stock", "NASDAQ"], "USAT": ["USA Technologies, Inc. - Common Stock", "NASDAQ"], "USAU": ["U.S. Gold Corp. - Common Stock", "NASDAQ"], "USCR": ["U S Concrete, Inc. - Common Stock", "NASDAQ"], "USEG": ["U.S. Energy Corp. - Common Stock", "NASDAQ"], "USIG": ["iShares Broad USD Investment Grade Corporate Bond ETF", "NASDAQ"], "USIO": ["Usio, Inc. - Common Stock", "NASDAQ"], "USLB": ["Invesco Russell 1000 Low Beta Equal Weight ETF", "NASDAQ"], "USLM": ["United States Lime & Minerals, Inc. - Common Stock", "NASDAQ"], "USMC": ["Principal U.S. Mega-Cap ETF", "NASDAQ"], "USOI": ["Credit Suisse X-Links Crude Oil Shares Covered Call ETN", "NASDAQ"], "USWS": ["U.S. Well Services, Inc. - Class A Common Stock", "NASDAQ"], "USWSW": ["U.S. Well Services, Inc. - Warrants", "NASDAQ"], "USXF": ["iShares ESG Advanced MSCI USA ETF", "NASDAQ"], "UTHR": ["United Therapeutics Corporation - Common Stock", "NASDAQ"], "UTMD": ["Utah Medical Products, Inc. - Common Stock", "NASDAQ"], "UTSI": ["UTStarcom Holdings Corp - Ordinary Shares", "NASDAQ"], "UVSP": ["Univest Financial Corporation - Common Stock", "NASDAQ"], "UXIN": ["Uxin Limited - American Depositary Shares", "NASDAQ"], "VACQ": ["Vector Acquisition Corporation - Class A Common Stock", "NASDAQ"], "VACQU": ["Vector Acquisition Corporation - Unit", "NASDAQ"], "VACQW": ["Vector Acquisition Corporation - Warrant", "NASDAQ"], "VALU": ["Value Line, Inc. - Common Stock", "NASDAQ"], "VAQC": ["Vector Acquisition Corporation II - Class A Ordinary Shares", "NASDAQ"], "VBFC": ["Village Bank and Trust Financial Corp. - Common Stock", "NASDAQ"], "VBIV": ["VBI Vaccines, Inc. - Ordinary Shares", "NASDAQ"], "VBLT": ["Vascular Biogenics Ltd. - Ordinary Shares", "NASDAQ"], "VBTX": ["Veritex Holdings, Inc. - Common Stock", "NASDAQ"], "VC": ["Visteon Corporation - Common Stock", "NASDAQ"], "VCEL": ["Vericel Corporation - Common Stock", "NASDAQ"], "VCIT": ["Vanguard Intermediate-Term Corporate Bond ETF", "NASDAQ"], "VCKA": ["Vickers Vantage Corp. I - Ordinary Shares", "NASDAQ"], "VCKAU": ["Vickers Vantage Corp. I - Unit", "NASDAQ"], "VCKAW": ["Vickers Vantage Corp. I - Warrant", "NASDAQ"], "VCLT": ["Vanguard Long-Term Corporate Bond ETF", "NASDAQ"], "VCNX": ["Vaccinex, Inc. - Common Stock", "NASDAQ"], "VCSH": ["Vanguard Short-Term Corporate Bond ETF", "NASDAQ"], "VCTR": ["Victory Capital Holdings, Inc. - Common Stock", "NASDAQ"], "VCVC": ["10X Capital Venture Acquisition Corp - Common Stock", "NASDAQ"], "VCVCU": ["10X Capital Venture Acquisition Corp - Unit", "NASDAQ"], "VCVCW": ["10X Capital Venture Acquisition Corp - Warrant", "NASDAQ"], "VCYT": ["Veracyte, Inc. - Common Stock", "NASDAQ"], "VECO": ["Veeco Instruments Inc. - Common Stock", "NASDAQ"], "VELOU": ["Velocity Acquisition Corp. - Units", "NASDAQ"], "VENAU": ["Venus Acquisition Corporation - Units", "NASDAQ"], "VEON": ["VEON Ltd. - American Depositary Shares", "NASDAQ"], "VERB": ["Verb Technology Company, Inc. - Common Stock", "NASDAQ"], "VERBW": ["Verb Technology Company, Inc. - Warrant", "NASDAQ"], "VERI": ["Veritone, Inc. - Common Stock", "NASDAQ"], "VERO": ["Venus Concept Inc. - Common Stock", "NASDAQ"], "VERU": ["Veru Inc. - Common Stock", "NASDAQ"], "VERX": ["Vertex, Inc. - Class A Common Stock", "NASDAQ"], "VERY": ["Vericity, Inc. - Common Stock", "NASDAQ"], "VETS": ["Pacer Military Times Best Employers ETF", "NASDAQ"], "VFF": ["Village Farms International, Inc. - Common Shares", "NASDAQ"], "VG": ["Vonage Holdings Corp. - Common Stock", "NASDAQ"], "VGIT": ["Vanguard Intermediate-Term Treasury ETF", "NASDAQ"], "VGLT": ["Vanguard Long-Treasury ETF", "NASDAQ"], "VGSH": ["Vanguard Short-Term Treasury ETF", "NASDAQ"], "VIAC": ["ViacomCBS", "S&P500"], "VIACA": ["ViacomCBS Inc. - Class A Common Stock", "NASDAQ"], "VIAV": ["Viavi Solutions Inc. - Common Stock", "NASDAQ"], "VICR": ["Vicor Corporation - Common Stock", "NASDAQ"], "VIEW": ["View, Inc. - Class A Common Stock", "NASDAQ"], "VIEWW": ["View, Inc. - Warrant", "NASDAQ"], "VIGI": ["Vanguard International Dividend Appreciation ETF", "NASDAQ"], "VIH": ["VPC Impact Acquisition Holdings - Class A Ordinary Shares", "NASDAQ"], "VIHAU": ["VPC Impact Acquisition Holdings - Unit", "NASDAQ"], "VIHAW": ["VPC Impact Acquisition Holdings - Warrant", "NASDAQ"], "VII": ["7GC & Co. Holdings Inc. - Class A common stock", "NASDAQ"], "VIIAU": ["7GC & Co. Holdings Inc. - Unit", "NASDAQ"], "VIIAW": ["7GC & Co. Holdings Inc. - Warrant", "NASDAQ"], "VINC": ["Vincerx Pharma, Inc. - Common Stock", "NASDAQ"], "VINCU": ["Vincerx Pharma, Inc. - Unit", "NASDAQ"], "VINCW": ["Vincerx Pharma, Inc. - Warrant", "NASDAQ"], "VINO": ["Gaucho Group Holdings, Inc. - Common Stock", "NASDAQ"], "VINP": ["Vinci Partners Investments Ltd. - Class A Common Shares", "NASDAQ"], "VIOT": ["Viomi Technology Co., Ltd - American Depositary Shares", "NASDAQ"], "VIR": ["Vir Biotechnology, Inc. - Common Stock", "NASDAQ"], "VIRC": ["Virco Manufacturing Corporation - Common Stock", "NASDAQ"], "VIRI": ["Virios Therapeutics, Inc. - Common Stock", "NASDAQ"], "VIRT": ["Virtu Financial, Inc. - Class A Common Stock", "NASDAQ"], "VIRX": ["Viracta Therapeutics, Inc. - Common Stock", "NASDAQ"], "VISL": ["Vislink Technologies, Inc. - Common Stock", "NASDAQ"], "VITL": ["Vital Farms, Inc. - Common Stock", "NASDAQ"], "VIVE": ["Viveve Medical, Inc. - Common Stock", "NASDAQ"], "VIVO": ["Meridian Bioscience Inc. - Common Stock", "NASDAQ"], "VJET": ["voxeljet AG - American Depositary Shares", "NASDAQ"], "VKTX": ["Viking Therapeutics, Inc. - Common Stock", "NASDAQ"], "VKTXW": ["Viking Therapeutics, Inc. - Warrants", "NASDAQ"], "VLDR": ["Velodyne Lidar, Inc. - Common Stock", "NASDAQ"], "VLDRW": ["Velodyne Lidar, Inc. - Warrant", "NASDAQ"], "VLGEA": ["Village Super Market, Inc. - Class A Common Stock", "NASDAQ"], "VLON": ["Vallon Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "VLY": ["Valley National Bancorp - Common Stock", "NASDAQ"], "VLYPO": ["Valley National Bancorp - 5.5% Fixed to Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "VLYPP": ["Valley National Bancorp - 6.25% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "VMAC": ["Vistas Media Acquisition Company Inc. - Class A Common Stock", "NASDAQ"], "VMACU": ["Vistas Media Acquisition Company Inc. - Unit", "NASDAQ"], "VMACW": ["Vistas Media Acquisition Company Inc. - Warrant", "NASDAQ"], "VMAR": ["Vision Marine Technologies Inc. - Common Shares", "NASDAQ"], "VMBS": ["Vanguard Mortgage-Backed Securities ETF", "NASDAQ"], "VMD": ["Viemed Healthcare, Inc. - Common Shares", "NASDAQ"], "VNDA": ["Vanda Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "VNET": ["21Vianet Group, Inc. - American Depositary Shares", "NASDAQ"], "VNOM": ["Viper Energy Partners LP - Common Unit", "NASDAQ"], "VNQI": ["Vanguard Global ex-U.S. Real Estate ETF", "NASDAQ"], "VOD": ["Vodafone Group Plc - American Depositary Shares each representing ten Ordinary Shares", "NASDAQ"], "VONE": ["Vanguard Russell 1000 ETF", "NASDAQ"], "VONG": ["Vanguard Russell 1000 Growth ETF", "NASDAQ"], "VONV": ["Vanguard Russell 1000 Value ETF", "NASDAQ"], "VOR": ["Vor Biopharma Inc. - Common Stock", "NASDAQ"], "VOSO": ["Virtuoso Acquisition Corp. - Class A Common Stock", "NASDAQ"], "VOSOU": ["Virtuoso Acquisition Corp. - Unit", "NASDAQ"], "VOSOW": ["Virtuoso Acquisition Corp. - Warrant", "NASDAQ"], "VOXX": ["VOXX International Corporation - Class A Common Stock", "NASDAQ"], "VPCBU": ["VPC Impact Acquisition Holdings II - Unit", "NASDAQ"], "VPN": ["Global X Data Center REITs & Digital Infrastructure ETF", "NASDAQ"], "VRA": ["Vera Bradley, Inc. - Common Stock", "NASDAQ"], "VRAY": ["ViewRay, Inc. - Common Stock", "NASDAQ"], "VRCA": ["Verrica Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "VRDN": ["Viridian Therapeutics, Inc. - Common Stock", "NASDAQ"], "VREX": ["Varex Imaging Corporation - Common Stock", "NASDAQ"], "VRIG": ["Invesco Variable Rate Investment Grade ETF", "NASDAQ"], "VRM": ["Vroom, Inc. - Common Stock", "NASDAQ"], "VRME": ["VerifyMe, Inc. - Common Stock", "NASDAQ"], "VRMEW": ["VerifyMe, Inc. - Warrant", "NASDAQ"], "VRNA": ["Verona Pharma plc - American Depositary Shares", "NASDAQ"], "VRNS": ["Varonis Systems, Inc. - Common Stock", "NASDAQ"], "VRNT": ["Verint Systems Inc. - Common Stock", "NASDAQ"], "VRPX": ["Virpax Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "VRRM": ["Verra Mobility Corporation - Class A Common Stock", "NASDAQ"], "VRSK": ["Verisk Analytics", "S&P500"], "VRSN": ["Verisign Inc.", "S&P500"], "VRTS": ["Virtus Investment Partners, Inc. - Common Stock", "NASDAQ"], "VRTX": ["Vertex Pharmaceuticals Inc", "S&P500"], "VS": ["Versus Systems Inc. - Common Shares", "NASDAQ"], "VSAT": ["ViaSat, Inc. - Common Stock", "NASDAQ"], "VSDA": ["VictoryShares Dividend Accelerator ETF", "NASDAQ"], "VSEC": ["VSE Corporation - Common Stock", "NASDAQ"], "VSMV": ["VictoryShares US Multi-Factor Minimum Volatility ETF", "NASDAQ"], "VSPR": ["Vesper Healthcare Acquisition Corp. - Class A Common Stock", "NASDAQ"], "VSPRU": ["Vesper Healthcare Acquisition Corp. - Unit", "NASDAQ"], "VSPRW": ["Vesper Healthcare Acquisition Corp. - Warrant", "NASDAQ"], "VSSYW": ["Versus Systems Inc. - Class A Warrants", "NASDAQ"], "VSTA": ["Vasta Platform Limited - Class A Ordinary Shares", "NASDAQ"], "VSTM": ["Verastem, Inc. - Common Stock", "NASDAQ"], "VTAQ": ["Ventoux CCM Acquisition Corp. - Common Stock", "NASDAQ"], "VTAQR": ["Ventoux CCM Acquisition Corp. - Right", "NASDAQ"], "VTAQU": ["Ventoux CCM Acquisition Corp. - Unit", "NASDAQ"], "VTAQW": ["Ventoux CCM Acquisition Corp. - Warrant", "NASDAQ"], "VTC": ["Vanguard Total Corporate Bond ETF", "NASDAQ"], "VTGN": ["VistaGen Therapeutics, Inc. - Common Stock", "NASDAQ"], "VTHR": ["Vanguard Russell 3000 ETF", "NASDAQ"], "VTIP": ["Vanguard Short-Term Inflation-Protected Securities Index Fund", "NASDAQ"], "VTIQ": ["VectoIQ Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "VTIQU": ["VectoIQ Acquisition Corp. II - Unit", "NASDAQ"], "VTIQW": ["VectoIQ Acquisition Corp. II - Warrant", "NASDAQ"], "VTNR": ["Vertex Energy, Inc - Common Stock", "NASDAQ"], "VTRN": ["VictoryShares Top Veteran Employers ETF", "NASDAQ"], "VTRS": ["Viatris", "S&P500"], "VTRU": ["Vitru Limited - Common Shares", "NASDAQ"], "VTSI": ["VirTra, Inc. - Common Stock", "NASDAQ"], "VTVT": ["vTv Therapeutics Inc. - Class A Common Stock", "NASDAQ"], "VTWG": ["Vanguard Russell 2000 Growth ETF", "NASDAQ"], "VTWO": ["Vanguard Russell 2000 ETF", "NASDAQ"], "VTWV": ["Vanguard Russell 2000 Value ETF", "NASDAQ"], "VUZI": ["Vuzix Corporation - Common Stock", "NASDAQ"], "VVOS": ["Vivos Therapeutics, Inc. - Common Stock", "NASDAQ"], "VVPR": ["VivoPower International PLC - Ordinary Shares", "NASDAQ"], "VWOB": ["Vanguard Emerging Markets Government Bond ETF", "NASDAQ"], "VWTR": ["Vidler Water Resources, Inc. - Common Stock", "NASDAQ"], "VXRT": ["Vaxart, Inc. - Common Stock", "NASDAQ"], "VXUS": ["Vanguard Total International Stock ETF", "NASDAQ"], "VYGR": ["Voyager Therapeutics, Inc. - Common Stock", "NASDAQ"], "VYMI": ["Vanguard International High Dividend Yield ETF", "NASDAQ"], "VYNE": ["VYNE Therapeutics Inc. - Common Stock", "NASDAQ"], "WABC": ["Westamerica Bancorporation - Common Stock", "NASDAQ"], "WAFD": ["Washington Federal, Inc. - Common Stock", "NASDAQ"], "WAFDP": ["Washington Federal, Inc. - Depositary Shares", "NASDAQ"], "WAFU": ["Wah Fu Education Group Limited - Ordinary Shares", "NASDAQ"], "WALDU": ["Waldencast Acquisition Corp. - Units", "NASDAQ"], "WASH": ["Washington Trust Bancorp, Inc. - Common Stock", "NASDAQ"], "WATT": ["Energous Corporation - Common Stock", "NASDAQ"], "WB": ["Weibo Corporation - American Depositary Shares", "NASDAQ"], "WBA": ["Walgreens Boots Alliance", "S&P500"], "WBND": ["Western Asset Total Return ETF", "NASDAQ"], "WCBR": ["WisdomTree Cybersecurity Fund", "NASDAQ"], "WCLD": ["WisdomTree Cloud Computing Fund", "NASDAQ"], "WDAY": ["Workday, Inc. - Class A Common Stock", "NASDAQ"], "WDC": ["Western Digital", "S&P500"], "WDFC": ["WD-40 Company - Common Stock", "NASDAQ"], "WEN": ["Wendy's Company (The) - Common Stock", "NASDAQ"], "WERN": ["Werner Enterprises, Inc. - Common Stock", "NASDAQ"], "WETF": ["WisdomTree Investments, Inc. - Common Stock", "NASDAQ"], "WEYS": ["Weyco Group, Inc. - Common Stock", "NASDAQ"], "WHF": ["WhiteHorse Finance, Inc. - Common Stock", "NASDAQ"], "WHFBZ": ["WhiteHorse Finance, Inc. - 6.50% Notes due 2025", "NASDAQ"], "WHLM": ["Wilhelmina International, Inc. - Common Stock", "NASDAQ"], "WHLR": ["Wheeler Real Estate Investment Trust, Inc. - Common Stock", "NASDAQ"], "WHLRD": ["Wheeler Real Estate Investment Trust, Inc. - Series D Cumulative Preferred Stock", "NASDAQ"], "WHLRP": ["Wheeler Real Estate Investment Trust, Inc. - Series B Preferred Stock", "NASDAQ"], "WIFI": ["Boingo Wireless, Inc. - Common Stock", "NASDAQ"], "WILC": ["G. Willi-Food International, Ltd. - Ordinary Shares", "NASDAQ"], "WIMI": ["WiMi Hologram Cloud Inc. - American Depositary Share", "NASDAQ"], "WINA": ["Winmark Corporation - Common Stock", "NASDAQ"], "WINC": ["Western Asset Short Duration Income ETF", "NASDAQ"], "WING": ["Wingstop Inc. - Common Stock", "NASDAQ"], "WINT": ["Windtree Therapeutics, Inc. - Common Stock", "NASDAQ"], "WIRE": ["Encore Wire Corporation - Common Stock", "NASDAQ"], "WISA": ["Summit Wireless Technologies, Inc. - Common Stock", "NASDAQ"], "WISH": ["ContextLogic Inc. - Class A Common Stock", "NASDAQ"], "WIX": ["Wix.com Ltd. - Ordinary Shares", "NASDAQ"], "WKEY": ["WISeKey International Holding AG - American Depositary Shares", "NASDAQ"], "WKHS": ["Workhorse Group, Inc. - Common Stock", "NASDAQ"], "WLDN": ["Willdan Group, Inc. - Common Stock", "NASDAQ"], "WLFC": ["Willis Lease Finance Corporation - Common Stock", "NASDAQ"], "WLTW": ["Willis Towers Watson", "S&P500"], "WMG": ["Warner Music Group Corp. - Class A Common Stock", "NASDAQ"], "WNEB": ["Western New England Bancorp, Inc. - Common Stock", "NASDAQ"], "WNW": ["Wunong Net Technology Company Limited - Ordinary Shares", "NASDAQ"], "WOOD": ["iShares S&P Global Timber & Forestry Index Fund", "NASDAQ"], "WOOF": ["Petco Health and Wellness Company, Inc. - Class A Common Stock", "NASDAQ"], "WORX": ["SCWorx Corp. - Common Stock", "NASDAQ"], "WPRT": ["Westport Fuel Systems Inc - Common Shares", "NASDAQ"], "WRAP": ["Wrap Technologies, Inc. - Common Stock", "NASDAQ"], "WRLD": ["World Acceptance Corporation - Common Stock", "NASDAQ"], "WSBC": ["WesBanco, Inc. - Common Stock", "NASDAQ"], "WSBCP": ["WesBanco, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of 6.75% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "WSBF": ["Waterstone Financial, Inc. - Common Stock", "NASDAQ"], "WSC": ["WillScot Mobile Mini Holdings Corp. - Class A Common Stock", "NASDAQ"], "WSFS": ["WSFS Financial Corporation - Common Stock", "NASDAQ"], "WSTG": ["Wayside Technology Group, Inc. - Common Stock", "NASDAQ"], "WTBA": ["West Bancorporation - Common Stock", "NASDAQ"], "WTER": ["The Alkaline Water Company Inc. - Common Stock", "NASDAQ"], "WTFC": ["Wintrust Financial Corporation - Common Stock", "NASDAQ"], "WTFCM": ["Wintrust Financial Corporation - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series D", "NASDAQ"], "WTFCP": ["Wintrust Financial Corporation - Depositary Shares, Each Representing a 1/1,000th Interest in a Share of 6.875% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "NASDAQ"], "WTRE": ["Watford Holdings Ltd. - Common Shares", "NASDAQ"], "WTREP": ["Watford Holdings Ltd. - 8.25% Cumulative Redeemable Preference Shares", "NASDAQ"], "WTRH": ["Waitr Holdings Inc. - Common Stock", "NASDAQ"], "WVE": ["Wave Life Sciences Ltd. - Ordinary Shares", "NASDAQ"], "WVFC": ["WVS Financial Corp. - Common Stock", "NASDAQ"], "WVVI": ["Willamette Valley Vineyards, Inc. - Common Stock", "NASDAQ"], "WVVIP": ["Willamette Valley Vineyards, Inc. - Series A Redeemable Preferred Stock", "NASDAQ"], "WW": ["WW International, Inc. - Common Stock", "NASDAQ"], "WWD": ["Woodward, Inc. - Common Stock", "NASDAQ"], "WWR": ["Westwater Resources, Inc. - Common Stock", "NASDAQ"], "WYNN": ["Wynn Resorts Ltd", "S&P500"], "XAIR": ["Beyond Air, Inc. - Common Stock", "NASDAQ"], "XBIO": ["Xenetic Biosciences, Inc. - Common Stock", "NASDAQ"], "XBIOW": ["Xenetic Biosciences, Inc. - Warrants", "NASDAQ"], "XBIT": ["XBiotech Inc. - Common Stock", "NASDAQ"], "XCUR": ["Exicure, Inc. - Common Stock", "NASDAQ"], "XEL": ["Xcel Energy Inc", "S&P500"], "XELA": ["Exela Technologies, Inc. - Common Stock", "NASDAQ"], "XELB": ["Xcel Brands, Inc - Common Stock", "NASDAQ"], "XENE": ["Xenon Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "XENT": ["Intersect ENT, Inc. - Common Stock", "NASDAQ"], "XERS": ["Xeris Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "XFOR": ["X4 Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "XGN": ["Exagen Inc. - Common Stock", "NASDAQ"], "XLNX": ["Xilinx", "S&P500"], "XLRN": ["Acceleron Pharma Inc. - Common Stock", "NASDAQ"], "XM": ["Qualtrics International Inc. - Class A Common Stock", "NASDAQ"], "XNCR": ["Xencor, Inc. - Common Stock", "NASDAQ"], "XNET": ["Xunlei Limited - American Depositary Shares", "NASDAQ"], "XOG": ["Extraction Oil & Gas, Inc. - Common Stock", "NASDAQ"], "XOMA": ["XOMA Corporation - Common Stock", "NASDAQ"], "XOMAP": ["XOMA Corporation - 8.625% Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "XONE": ["The ExOne Company - Common Stock", "NASDAQ"], "XP": ["XP Inc. - Class A Common Stock", "NASDAQ"], "XPDIU": ["Power & Digital Infrastructure Acquisition Corp. - Unit", "NASDAQ"], "XPEL": ["XPEL, Inc. - Common Stock", "NASDAQ"], "XPER": ["Xperi Holding Corporation - Common Stock", "NASDAQ"], "XRAY": ["Dentsply Sirona", "S&P500"], "XSPA": ["XpresSpa Group, Inc. - Common Stock", "NASDAQ"], "XT": ["iShares Exponential Technologies ETF", "NASDAQ"], "XTLB": ["XTL Biopharmaceuticals Ltd. - American Depositary Shares", "NASDAQ"], "YELL": ["Yellow Corporation - Common Stock", "NASDAQ"], "YGMZ": ["MingZhu Logistics Holdings Limited - Ordinary Shares", "NASDAQ"], "YI": ["111, Inc. - American Depositary Shares", "NASDAQ"], "YJ": ["Yunji Inc. - American Depository Shares", "NASDAQ"], "YLDE": ["ClearBridge Dividend Strategy ESG ETF", "NASDAQ"], "YMAB": ["Y-mAbs Therapeutics, Inc. - Common Stock", "NASDAQ"], "YMTX": ["Yumanity Therapeutics, Inc. - Common Stock", "NASDAQ"], "YNDX": ["Yandex N.V. - Class A Ordinary Shares", "NASDAQ"], "YORW": ["The York Water Company - Common Stock", "NASDAQ"], "YQ": ["17 Education & Technology Group Inc. - American Depositary Shares", "NASDAQ"], "YSAC": ["Yellowstone Acquisition Company - Class A Common Stock", "NASDAQ"], "YSACU": ["Yellowstone Acquisition Company - Units", "NASDAQ"], "YSACW": ["Yellowstone Acquisition Company - Warrants to purchase Class A common stock", "NASDAQ"], "YTEN": ["Yield10 Bioscience, Inc. - Common Stock", "NASDAQ"], "YTRA": ["Yatra Online, Inc. - Ordinary Shares", "NASDAQ"], "YVR": ["Liquid Media Group Ltd. - Common Shares", "NASDAQ"], "YY": ["JOYY Inc. - American Depositary Shares", "NASDAQ"], "Z": ["Zillow Group, Inc. - Class C Capital Stock", "NASDAQ"], "ZAZZT": ["Tick Pilot Test Stock Class A Common Stock", "NASDAQ"], "ZBRA": ["Zebra Technologies", "S&P500"], "ZBZZT": ["Test Pilot Test Stock Class B Common Stock", "NASDAQ"], "ZCMD": ["Zhongchao Inc. - Class A Ordinary Shares", "NASDAQ"], "ZCZZT": ["Tick Pilot Test Stock Class C ", "NASDAQ"], "ZEAL": ["Zealand Pharma A/S - American Depositary Shares", "NASDAQ"], "ZEUS": ["Olympic Steel, Inc. - Common Stock", "NASDAQ"], "ZG": ["Zillow Group, Inc. - Class A Common Stock", "NASDAQ"], "ZGNX": ["Zogenix, Inc. - Common Stock", "NASDAQ"], "ZGYH": ["Yunhong International - Class A Ordinary Shares", "NASDAQ"], "ZGYHR": ["Yunhong International - Right", "NASDAQ"], "ZGYHU": ["Yunhong International - Unit", "NASDAQ"], "ZGYHW": ["Yunhong International - Warrant", "NASDAQ"], "ZI": ["ZoomInfo Technologies Inc. - Class A Common Stock", "NASDAQ"], "ZION": ["Zions Bancorp", "S&P500"], "ZIONL": ["Zions Bancorporation N.A. - 6.95% Fixed-to-Floating Rate Subordinated Notes due September 15, 2028", "NASDAQ"], "ZIONN": ["Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series H 5.75% Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "ZIONO": ["Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series G Fixed/Floating-Rate Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "ZIONP": ["Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series A Floating-Rate Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "ZIOP": ["ZIOPHARM Oncology Inc - Common Stock", "NASDAQ"], "ZIXI": ["Zix Corporation - Common Stock", "NASDAQ"], "ZJZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZKIN": ["ZK International Group Co., Ltd - Ordinary Share", "NASDAQ"], "ZLAB": ["Zai Lab Limited - American Depositary Shares", "NASDAQ"], "ZM": ["Zoom Video Communications, Inc. - Class A Common Stock", "NASDAQ"], "ZNGA": ["Zynga Inc. - Class A Common Stock", "NASDAQ"], "ZNTE": ["Zanite Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ZNTEU": ["Zanite Acquisition Corp. - Unit", "NASDAQ"], "ZNTEW": ["Zanite Acquisition Corp. - Warrant", "NASDAQ"], "ZNTL": ["Zentalis Pharmaceuticals, Inc. - common stock", "NASDAQ"], "ZS": ["Zscaler, Inc. - Common Stock", "NASDAQ"], "ZSAN": ["Zosano Pharma Corporation - Common Stock", "NASDAQ"], "ZUMZ": ["Zumiez Inc. - Common Stock", "NASDAQ"], "ZVO": ["Zovio Inc. - Common Stock", "NASDAQ"], "ZVZZC": ["NASDAQ TEST STOCK Nextshares Test Security", "NASDAQ"], "ZVZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZWRKU": ["Z-Work Acquisition Corp. - Units", "NASDAQ"], "ZWZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZXYZ.A": ["Nasdaq Symbology Test Common Stock", "NASDAQ"], "ZXZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZYNE": ["Zynerba Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ZYXI": ["Zynex, Inc. - Common Stock", "NASDAQ"], "MMM": ["3M Company", "S&P500"], "ABT": ["Abbott Laboratories", "S&P500"], "ABBV": ["AbbVie Inc.", "S&P500"], "ACN": ["Accenture", "S&P500"], "AAP": ["Advance Auto Parts", "S&P500"], "AES": ["AES Corp", "S&P500"], "AFL": ["Aflac", "S&P500"], "A": ["Agilent Technologies", "S&P500"], "APD": ["Air Products & Chemicals", "S&P500"], "ALK": ["Alaska Air Group", "S&P500"], "ALB": ["Albemarle Corporation", "S&P500"], "ARE": ["Alexandria Real Estate Equities", "S&P500"], "ALLE": ["Allegion", "S&P500"], "ALL": ["Allstate Corp", "S&P500"], "MO": ["Altria Group Inc", "S&P500"], "AMCR": ["Amcor plc", "S&P500"], "AEE": ["Ameren Corp", "S&P500"], "AXP": ["American Express", "S&P500"], "AIG": ["American International Group", "S&P500"], "AMT": ["American Tower Corp.", "S&P500"], "AWK": ["American Water Works", "S&P500"], "AMP": ["Ameriprise Financial", "S&P500"], "ABC": ["AmerisourceBergen", "S&P500"], "AME": ["Ametek", "S&P500"], "APH": ["Amphenol Corp", "S&P500"], "ANTM": ["Anthem", "S&P500"], "AON": ["Aon plc", "S&P500"], "AOS": ["A.O. Smith Corp", "S&P500"], "APTV": ["Aptiv PLC", "S&P500"], "ADM": ["Archer-Daniels-Midland Co", "S&P500"], "ANET": ["Arista Networks", "S&P500"], "AJG": ["Arthur J. Gallagher & Co.", "S&P500"], "AIZ": ["Assurant", "S&P500"], "T": ["AT&T Inc.", "S&P500"], "ATO": ["Atmos Energy", "S&P500"], "AZO": ["AutoZone Inc", "S&P500"], "AVB": ["AvalonBay Communities", "S&P500"], "AVY": ["Avery Dennison Corp", "S&P500"], "BKR": ["Baker Hughes Co", "S&P500"], "BLL": ["Ball Corp", "S&P500"], "BAC": ["Bank of America Corp", "S&P500"], "BK": ["The Bank of New York Mellon", "S&P500"], "BAX": ["Baxter International Inc.", "S&P500"], "BDX": ["Becton Dickinson", "S&P500"], "BRK.B": ["Berkshire Hathaway", "S&P500"], "BBY": ["Best Buy Co. Inc.", "S&P500"], "BIO": ["Bio-Rad Laboratories", "S&P500"], "BLK": ["BlackRock", "S&P500"], "BA": ["Boeing Company", "S&P500"], "BWA": ["BorgWarner", "S&P500"], "BXP": ["Boston Properties", "S&P500"], "BSX": ["Boston Scientific", "S&P500"], "BMY": ["Bristol-Myers Squibb", "S&P500"], "BR": ["Broadridge Financial Solutions", "S&P500"], "BF.B": ["Brown-Forman Corp.", "S&P500"], "COG": ["Cabot Oil & Gas", "S&P500"], "CPB": ["Campbell Soup", "S&P500"], "COF": ["Capital One Financial", "S&P500"], "CAH": ["Cardinal Health Inc.", "S&P500"], "KMX": ["Carmax Inc", "S&P500"], "CCL": ["Carnival Corp.", "S&P500"], "CARR": ["Carrier Global", "S&P500"], "CTLT": ["Catalent", "S&P500"], "CAT": ["Caterpillar Inc.", "S&P500"], "CBOE": ["Cboe Global Markets", "S&P500"], "CBRE": ["CBRE Group", "S&P500"], "CE": ["Celanese", "S&P500"], "CNC": ["Centene Corporation", "S&P500"], "CNP": ["CenterPoint Energy", "S&P500"], "CF": ["CF Industries Holdings Inc", "S&P500"], "SCHW": ["Charles Schwab Corporation", "S&P500"], "CVX": ["Chevron Corp.", "S&P500"], "CMG": ["Chipotle Mexican Grill", "S&P500"], "CB": ["Chubb Limited", "S&P500"], "CHD": ["Church & Dwight", "S&P500"], "CI": ["Cigna", "S&P500"], "C": ["Citigroup Inc.", "S&P500"], "CFG": ["Citizens Financial Group", "S&P500"], "CLX": ["The Clorox Company", "S&P500"], "CMS": ["CMS Energy", "S&P500"], "KO": ["Coca-Cola Company", "S&P500"], "CL": ["Colgate-Palmolive", "S&P500"], "CMA": ["Comerica Inc.", "S&P500"], "CAG": ["Conagra Brands", "S&P500"], "COP": ["ConocoPhillips", "S&P500"], "ED": ["Consolidated Edison", "S&P500"], "STZ": ["Constellation Brands", "S&P500"], "COO": ["The Cooper Companies", "S&P500"], "GLW": ["Corning Inc.", "S&P500"], "CTVA": ["Corteva", "S&P500"], "CCI": ["Crown Castle", "S&P500"], "CMI": ["Cummins Inc.", "S&P500"], "CVS": ["CVS Health", "S&P500"], "DHI": ["D. R. Horton", "S&P500"], "DHR": ["Danaher Corp.", "S&P500"], "DRI": ["Darden Restaurants", "S&P500"], "DVA": ["DaVita Inc.", "S&P500"], "DE": ["Deere & Co.", "S&P500"], "DAL": ["Delta Air Lines Inc.", "S&P500"], "DVN": ["Devon Energy", "S&P500"], "DLR": ["Digital Realty Trust Inc", "S&P500"], "DFS": ["Discover Financial Services", "S&P500"], "DG": ["Dollar General", "S&P500"], "D": ["Dominion Energy", "S&P500"], "DPZ": ["Domino's Pizza", "S&P500"], "DOV": ["Dover Corporation", "S&P500"], "DOW": ["Dow Inc.", "S&P500"], "DTE": ["DTE Energy Co.", "S&P500"], "DUK": ["Duke Energy", "S&P500"], "DRE": ["Duke Realty Corp", "S&P500"], "DD": ["DuPont de Nemours Inc", "S&P500"], "DXC": ["DXC Technology", "S&P500"], "EMN": ["Eastman Chemical", "S&P500"], "ETN": ["Eaton Corporation", "S&P500"], "ECL": ["Ecolab Inc.", "S&P500"], "EIX": ["Edison Int'l", "S&P500"], "EW": ["Edwards Lifesciences", "S&P500"], "EMR": ["Emerson Electric Company", "S&P500"], "ETR": ["Entergy Corp.", "S&P500"], "EOG": ["EOG Resources", "S&P500"], "EFX": ["Equifax Inc.", "S&P500"], "EQR": ["Equity Residential", "S&P500"], "ESS": ["Essex Property Trust, Inc.", "S&P500"], "EL": ["Est\u00e9e Lauder Companies", "S&P500"], "EVRG": ["Evergy", "S&P500"], "ES": ["Eversource Energy", "S&P500"], "RE": ["Everest Re Group Ltd.", "S&P500"], "EXR": ["Extra Space Storage", "S&P500"], "XOM": ["Exxon Mobil Corp.", "S&P500"], "FRT": ["Federal Realty Investment Trust", "S&P500"], "FDX": ["FedEx Corporation", "S&P500"], "FIS": ["Fidelity National Information Services", "S&P500"], "FE": ["FirstEnergy Corp", "S&P500"], "FRC": ["First Republic Bank", "S&P500"], "FLT": ["FleetCor Technologies Inc", "S&P500"], "FLS": ["Flowserve Corporation", "S&P500"], "FMC": ["FMC Corporation", "S&P500"], "F": ["Ford Motor Company", "S&P500"], "FTV": ["Fortive Corp", "S&P500"], "FBHS": ["Fortune Brands Home & Security", "S&P500"], "BEN": ["Franklin Resources", "S&P500"], "FCX": ["Freeport-McMoRan Inc.", "S&P500"], "GPS": ["Gap Inc.", "S&P500"], "IT": ["Gartner Inc", "S&P500"], "GD": ["General Dynamics", "S&P500"], "GE": ["General Electric", "S&P500"], "GIS": ["General Mills", "S&P500"], "GM": ["General Motors", "S&P500"], "GPC": ["Genuine Parts", "S&P500"], "GL": ["Globe Life Inc.", "S&P500"], "GPN": ["Global Payments Inc.", "S&P500"], "GS": ["Goldman Sachs Group", "S&P500"], "GWW": ["Grainger (W.W.) Inc.", "S&P500"], "HAL": ["Halliburton Co.", "S&P500"], "HBI": ["Hanesbrands Inc", "S&P500"], "HIG": ["Hartford Financial Svc.Gp.", "S&P500"], "HCA": ["HCA Healthcare", "S&P500"], "PEAK": ["Healthpeak Properties", "S&P500"], "HSY": ["The Hershey Company", "S&P500"], "HES": ["Hess Corporation", "S&P500"], "HPE": ["Hewlett Packard Enterprise", "S&P500"], "HLT": ["Hilton Worldwide Holdings Inc", "S&P500"], "HFC": ["HollyFrontier Corp", "S&P500"], "HD": ["Home Depot", "S&P500"], "HON": ["Honeywell Int'l Inc.", "S&P500"], "HRL": ["Hormel Foods Corp.", "S&P500"], "HWM": ["Howmet Aerospace", "S&P500"], "HPQ": ["HP Inc.", "S&P500"], "HUM": ["Humana Inc.", "S&P500"], "HII": ["Huntington Ingalls Industries", "S&P500"], "IEX": ["IDEX Corporation", "S&P500"], "INFO": ["IHS Markit", "S&P500"], "ITW": ["Illinois Tool Works", "S&P500"], "IR": ["Ingersoll Rand", "S&P500"], "ICE": ["Intercontinental Exchange", "S&P500"], "IBM": ["International Business Machines", "S&P500"], "IP": ["International Paper", "S&P500"], "IPG": ["Interpublic Group", "S&P500"], "IFF": ["International Flavors & Fragrances", "S&P500"], "IVZ": ["Invesco Ltd.", "S&P500"], "IQV": ["IQVIA Holdings Inc.", "S&P500"], "IRM": ["Iron Mountain Incorporated", "S&P500"], "J": ["Jacobs Engineering Group", "S&P500"], "SJM": ["JM Smucker", "S&P500"], "JNJ": ["Johnson & Johnson", "S&P500"], "JCI": ["Johnson Controls International", "S&P500"], "JPM": ["JPMorgan Chase & Co.", "S&P500"], "JNPR": ["Juniper Networks", "S&P500"], "KSU": ["Kansas City Southern", "S&P500"], "K": ["Kellogg Co.", "S&P500"], "KEY": ["KeyCorp", "S&P500"], "KEYS": ["Keysight Technologies", "S&P500"], "KMB": ["Kimberly-Clark", "S&P500"], "KIM": ["Kimco Realty", "S&P500"], "KMI": ["Kinder Morgan", "S&P500"], "KR": ["Kroger Co.", "S&P500"], "LB": ["L Brands Inc.", "S&P500"], "LHX": ["L3Harris Technologies", "S&P500"], "LH": ["Laboratory Corp. of America Holding", "S&P500"], "LW": ["Lamb Weston Holdings Inc", "S&P500"], "LVS": ["Las Vegas Sands", "S&P500"], "LEG": ["Leggett & Platt", "S&P500"], "LDOS": ["Leidos Holdings", "S&P500"], "LEN": ["Lennar Corp.", "S&P500"], "LLY": ["Lilly (Eli) & Co.", "S&P500"], "LNC": ["Lincoln National", "S&P500"], "LIN": ["Linde plc", "S&P500"], "LYV": ["Live Nation Entertainment", "S&P500"], "LMT": ["Lockheed Martin Corp.", "S&P500"], "L": ["Loews Corp.", "S&P500"], "LOW": ["Lowe's Cos.", "S&P500"], "LUMN": ["Lumen Technologies", "S&P500"], "LYB": ["LyondellBasell", "S&P500"], "MTB": ["M&T Bank", "S&P500"], "MRO": ["Marathon Oil Corp.", "S&P500"], "MPC": ["Marathon Petroleum", "S&P500"], "MMC": ["Marsh & McLennan", "S&P500"], "MLM": ["Martin Marietta Materials", "S&P500"], "MAS": ["Masco Corp.", "S&P500"], "MA": ["Mastercard Inc.", "S&P500"], "MKC": ["McCormick & Co.", "S&P500"], "MCD": ["McDonald's Corp.", "S&P500"], "MCK": ["McKesson Corp.", "S&P500"], "MDT": ["Medtronic plc", "S&P500"], "MRK": ["Merck & Co.", "S&P500"], "MET": ["MetLife Inc.", "S&P500"], "MTD": ["Mettler Toledo", "S&P500"], "MGM": ["MGM Resorts International", "S&P500"], "MAA": ["Mid-America Apartments", "S&P500"], "MHK": ["Mohawk Industries", "S&P500"], "TAP": ["Molson Coors Beverage Company", "S&P500"], "MCO": ["Moody's Corp", "S&P500"], "MS": ["Morgan Stanley", "S&P500"], "MOS": ["The Mosaic Company", "S&P500"], "MSI": ["Motorola Solutions Inc.", "S&P500"], "MSCI": ["MSCI Inc", "S&P500"], "NEM": ["Newmont Corporation", "S&P500"], "NEE": ["NextEra Energy", "S&P500"], "NLSN": ["Nielsen Holdings", "S&P500"], "NKE": ["Nike, Inc.", "S&P500"], "NI": ["NiSource Inc.", "S&P500"], "NSC": ["Norfolk Southern Corp.", "S&P500"], "NOC": ["Northrop Grumman", "S&P500"], "NCLH": ["Norwegian Cruise Line Holdings", "S&P500"], "NOV": ["NOV Inc.", "S&P500"], "NRG": ["NRG Energy", "S&P500"], "NUE": ["Nucor Corp.", "S&P500"], "NVR": ["NVR, Inc.", "S&P500"], "OXY": ["Occidental Petroleum", "S&P500"], "OMC": ["Omnicom Group", "S&P500"], "OKE": ["Oneok", "S&P500"], "ORCL": ["Oracle Corp.", "S&P500"], "OTIS": ["Otis Worldwide", "S&P500"], "PKG": ["Packaging Corporation of America", "S&P500"], "PH": ["Parker-Hannifin", "S&P500"], "PAYC": ["Paycom", "S&P500"], "PNR": ["Pentair plc", "S&P500"], "PKI": ["PerkinElmer", "S&P500"], "PRGO": ["Perrigo", "S&P500"], "PFE": ["Pfizer Inc.", "S&P500"], "PM": ["Philip Morris International", "S&P500"], "PSX": ["Phillips 66", "S&P500"], "PNW": ["Pinnacle West Capital", "S&P500"], "PXD": ["Pioneer Natural Resources", "S&P500"], "PNC": ["PNC Financial Services", "S&P500"], "PPG": ["PPG Industries", "S&P500"], "PPL": ["PPL Corp.", "S&P500"], "PG": ["Procter & Gamble", "S&P500"], "PGR": ["Progressive Corp.", "S&P500"], "PLD": ["Prologis", "S&P500"], "PRU": ["Prudential Financial", "S&P500"], "PEG": ["Public Service Enterprise Group (PSEG)", "S&P500"], "PSA": ["Public Storage", "S&P500"], "PHM": ["PulteGroup", "S&P500"], "PVH": ["PVH Corp.", "S&P500"], "PWR": ["Quanta Services Inc.", "S&P500"], "DGX": ["Quest Diagnostics", "S&P500"], "RL": ["Ralph Lauren Corporation", "S&P500"], "RJF": ["Raymond James Financial", "S&P500"], "RTX": ["Raytheon Technologies", "S&P500"], "O": ["Realty Income Corporation", "S&P500"], "RF": ["Regions Financial Corp.", "S&P500"], "RSG": ["Republic Services Inc", "S&P500"], "RMD": ["ResMed", "S&P500"], "RHI": ["Robert Half International", "S&P500"], "ROK": ["Rockwell Automation Inc.", "S&P500"], "ROL": ["Rollins, Inc.", "S&P500"], "ROP": ["Roper Technologies", "S&P500"], "RCL": ["Royal Caribbean Group", "S&P500"], "SPGI": ["S&P Global Inc.", "S&P500"], "CRM": ["Salesforce.com", "S&P500"], "SLB": ["Schlumberger Ltd.", "S&P500"], "SEE": ["Sealed Air", "S&P500"], "SRE": ["Sempra Energy", "S&P500"], "NOW": ["ServiceNow", "S&P500"], "SHW": ["Sherwin-Williams", "S&P500"], "SPG": ["Simon Property Group Inc", "S&P500"], "SLG": ["SL Green Realty", "S&P500"], "SNA": ["Snap-on", "S&P500"], "SO": ["Southern Company", "S&P500"], "LUV": ["Southwest Airlines", "S&P500"], "SWK": ["Stanley Black & Decker", "S&P500"], "STT": ["State Street Corp.", "S&P500"], "STE": ["Steris", "S&P500"], "SYK": ["Stryker Corp.", "S&P500"], "SYF": ["Synchrony Financial", "S&P500"], "SYY": ["Sysco Corp.", "S&P500"], "TPR": ["Tapestry, Inc.", "S&P500"], "TGT": ["Target Corp.", "S&P500"], "TEL": ["TE Connectivity Ltd.", "S&P500"], "TDY": ["Teledyne Technologies", "S&P500"], "TFX": ["Teleflex", "S&P500"], "TXT": ["Textron Inc.", "S&P500"], "TMO": ["Thermo Fisher Scientific", "S&P500"], "TJX": ["TJX Companies Inc.", "S&P500"], "TT": ["Trane Technologies plc", "S&P500"], "TDG": ["TransDigm Group", "S&P500"], "TRV": ["The Travelers Companies", "S&P500"], "TFC": ["Truist Financial", "S&P500"], "TWTR": ["Twitter, Inc.", "S&P500"], "TYL": ["Tyler Technologies", "S&P500"], "TSN": ["Tyson Foods", "S&P500"], "UDR": ["UDR, Inc.", "S&P500"], "USB": ["U.S. Bancorp", "S&P500"], "UAA": ["Under Armour (Class A)", "S&P500"], "UA": ["Under Armour (Class C)", "S&P500"], "UNP": ["Union Pacific Corp", "S&P500"], "UNH": ["UnitedHealth Group Inc.", "S&P500"], "UPS": ["United Parcel Service", "S&P500"], "URI": ["United Rentals, Inc.", "S&P500"], "UHS": ["Universal Health Services", "S&P500"], "UNM": ["Unum Group", "S&P500"], "VLO": ["Valero Energy", "S&P500"], "VAR": ["Varian Medical Systems", "S&P500"], "VTR": ["Ventas Inc", "S&P500"], "VZ": ["Verizon Communications", "S&P500"], "VFC": ["VF Corporation", "S&P500"], "V": ["Visa Inc.", "S&P500"], "VNT": ["Vontier", "S&P500"], "VNO": ["Vornado Realty Trust", "S&P500"], "VMC": ["Vulcan Materials", "S&P500"], "WRB": ["W. R. Berkley Corporation", "S&P500"], "WAB": ["Westinghouse Air Brake Technologies Corp", "S&P500"], "WMT": ["Walmart", "S&P500"], "DIS": ["The Walt Disney Company", "S&P500"], "WM": ["Waste Management Inc.", "S&P500"], "WAT": ["Waters Corporation", "S&P500"], "WEC": ["WEC Energy Group", "S&P500"], "WFC": ["Wells Fargo", "S&P500"], "WELL": ["Welltower Inc.", "S&P500"], "WST": ["West Pharmaceutical Services", "S&P500"], "WU": ["Western Union Co", "S&P500"], "WRK": ["WestRock", "S&P500"], "WY": ["Weyerhaeuser", "S&P500"], "WHR": ["Whirlpool Corp.", "S&P500"], "WMB": ["Williams Companies", "S&P500"], "XRX": ["Xerox", "S&P500"], "XYL": ["Xylem Inc.", "S&P500"], "YUM": ["Yum! Brands Inc", "S&P500"], "ZBH": ["Zimmer Biomet", "S&P500"], "ZTS": ["Zoetis", "S&P500"]} \ No newline at end of file diff --git a/app/launcher.py b/app/launcher.py index f8f4594..716de43 100644 --- a/app/launcher.py +++ b/app/launcher.py @@ -3,6 +3,7 @@ from PySide2 import QtWidgets from resources.style import style +from libs.yahoo_fin import stock_info as sf import view SCRIPT_PATH = os.path.dirname(__file__) @@ -11,8 +12,20 @@ def read_data(): """Temp function to load all tickers. Should be loaded by a request in the future""" data = {} - with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: - data = json.load(f) + try: + with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: + data = json.load(f) + except: + dow = sf.tickers_dow() + cac = sf.tickers_cac() + sp500 = sf.tickers_sp500() + nasdaq = sf.tickers_nasdaq() + for i in [cac, dow, nasdaq, sp500]: + data.update(i) + print(data) + with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "w") as outfile: + json.dump(data, outfile) + return data @@ -24,3 +37,4 @@ def read_data(): win = view.MainWindow(data=data) win.show() app.exec_() + diff --git a/app/libs/articles_widget.py b/app/libs/articles_widget.py index 5d047a0..3d11813 100644 --- a/app/libs/articles_widget.py +++ b/app/libs/articles_widget.py @@ -1,10 +1,11 @@ -import webbrowser +import random +from ui import articles as ui from PySide2 import QtWidgets, QtGui from libs.thread_pool import ThreadPool from libs.articles.get_articles import Articles -class ArticlesWidget(QtWidgets.QWidget): +class ArticlesWidget(QtWidgets.QListWidget): def __init__(self, parent=None, ticker=None): super(ArticlesWidget, self).__init__(parent) @@ -12,67 +13,52 @@ def __init__(self, parent=None, ticker=None): self.get_articles(ticker) def get_articles(self, ticker): + print(ticker, "wgt_articles") if ticker: + # rdm_tickers = random.sample(,5) + articles = self._get_articles_dict(ticker=ticker).articles else: # Remplacer par 2 3 ticker Random articles = self._get_articles_dict(ticker="GLE").articles - scroll = QtWidgets.QScrollArea(self) - widget = QtWidgets.QWidget() - container = QtWidgets.QVBoxLayout(widget) - for i in articles: title = i["title"] date = i["date"] description = i["descritpion"] link = i["link"] + article = ArticlesWidgetItem( parent=self, - title=title, - date=date, - description=description, - link=link, ) - container.addWidget(article) + article.set_title(title, link) + article.set_date(date) + article.set_description(description) - widget.setLayout(container) - scroll.setWidget(widget) - scroll.setWidgetResizable(True) + article_item = QtWidgets.QListWidgetItem(self) + article_item.setSizeHint(article.sizeHint()) + self.addItem(article_item) + self.setItemWidget(article_item, article) - layout = QtWidgets.QVBoxLayout(self) - layout.addWidget(scroll) def _get_articles_dict(self, ticker): return Articles(ticker=ticker) -class ArticlesWidgetItem(QtWidgets.QWidget): - def __init__( - self, parent=None, title=None, date=None, description=None, link=None - ): +class ArticlesWidgetItem(QtWidgets.QWidget, ui.Ui_Form): + def __init__(self, parent=None): super(ArticlesWidgetItem, self).__init__(parent) + self.setupUi(self) - self.layout = QtWidgets.QVBoxLayout(self) - self.layout.setObjectName(u"layout") - self.title = LabelTitle(title, link) - self.title.setObjectName(u"title") - self.layout.addWidget(self.title) + def set_title(self, text, link=None): + self.title_lb.setText(text) - self.date = QtWidgets.QLabel(self) - self.date.setObjectName(u"date") - self.date.setText(date) - self.date.setFont(QtGui.QFont("Times", 10)) - self.layout.addWidget(self.date) + def set_date(self, text): + self.date_lb.setText(text) - self.description = Description(description) - self.description.setObjectName(u"description") - self.description.setEnabled(True) - self.layout.addWidget(self.description) - - self.spliter = QHLine() - self.layout.addWidget(self.spliter) + def set_description(self, text): + self.descri.setText(text) class QHLine(QtWidgets.QFrame): @@ -81,24 +67,3 @@ def __init__(self): self.setFrameShape(QtWidgets.QFrame.HLine) self.setFrameShadow(QtWidgets.QFrame.Sunken) - -class LabelTitle(QtWidgets.QLabel): - def __init__(self, text, link=None): - super(LabelTitle, self).__init__() - self.link = link - - if text: - self.setText(text) - self.setFont(QtGui.QFont("Times", 20)) - - def mousePressEvent(self, event) -> None: - webbrowser.open(self.link) - - -class Description(QtWidgets.QTextBrowser): - def __init__(self, text): - super(Description, self).__init__() - self.setStyleSheet("background-color: rgba(0, 0, 0, 0);") - if text: - self.setText(text) - self.setFont(QtGui.QFont("Times", 10)) diff --git a/app/libs/tickers_dialog.py b/app/libs/tickers_dialog.py index d264211..3cde806 100644 --- a/app/libs/tickers_dialog.py +++ b/app/libs/tickers_dialog.py @@ -43,13 +43,17 @@ def build_ticker_tree(self, data: list): :param data: All tickers :type data: list """ - for ticker, company in data.items(): + + for ticker, infos in data.items(): + company = infos[0] + market = infos[1] item = TreeWidgetItem( self.trw_all_tickers, - [ticker, company], + [ticker, company, market], checkable=True, ticker=ticker, name=company, + market=market, ) def update_ticker_favorite_state(self, favorite): diff --git a/app/libs/widgets/label.py b/app/libs/widgets/label.py new file mode 100644 index 0000000..c6a4736 --- /dev/null +++ b/app/libs/widgets/label.py @@ -0,0 +1,11 @@ +import webbrowser +from PySide2 import QtWidgets, QtGui + +class LabelTitle(QtWidgets.QLabel): + def __init__(self, link=None, size=20): + super(LabelTitle, self).__init__() + self.link = link + self.setFont(QtGui.QFont("Times", size)) + + def mousePressEvent(self, event) -> None: + webbrowser.open(self.link) diff --git a/app/libs/widgets/textbrowser.py b/app/libs/widgets/textbrowser.py new file mode 100644 index 0000000..7ddbcca --- /dev/null +++ b/app/libs/widgets/textbrowser.py @@ -0,0 +1,9 @@ +from PySide2 import QtWidgets, QtGui + +class Description(QtWidgets.QTextBrowser): + def __init__(self, text): + super(Description, self).__init__() + self.setStyleSheet("background-color: rgba(0, 0, 0, 0);") + if text: + self.setText("text") + self.setFont(QtGui.QFont("Times", 10)) diff --git a/app/libs/yahoo_fin/stock_info.py b/app/libs/yahoo_fin/stock_info.py index 506c973..64e9e0c 100644 --- a/app/libs/yahoo_fin/stock_info.py +++ b/app/libs/yahoo_fin/stock_info.py @@ -137,7 +137,7 @@ def tickers_sp500(include_company_data=False): )[0] sp500 = { - key: value for key, value in zip(sp500["Symbol"], sp500["Security"]) + key: [value, "S&P500"] for key, value in zip(sp500["Symbol"], sp500["Security"]) } if include_company_data: @@ -180,7 +180,7 @@ def tickers_nasdaq(include_company_data=False): name.append(x) ftp.close() - nasdaq = {key: value for key, value in zip(tickers, name)} + nasdaq = {key: [value, "NASDAQ"] for key, value in zip(tickers, name)} return nasdaq @@ -194,7 +194,7 @@ def tickers_cac(include_company_data=False): return cac cac_tickers = { - key: value for key, value in zip(cac["Ticker"], cac["Company"]) + key: [value, "EURONEXT"] for key, value in zip(cac["Ticker"], cac["Company"]) } return cac_tickers @@ -239,7 +239,7 @@ def tickers_dow(include_company_data=False): return table dow_tickers = { - key: value + key: [value, "DOWJOHNS"] for key, value in zip(table["Symbol"], table["Company Name"]) } diff --git a/app/ui/articles.py b/app/ui/articles.py new file mode 100644 index 0000000..df935a3 --- /dev/null +++ b/app/ui/articles.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'articles.ui' +## +## Created by: Qt User Interface Compiler version 5.15.2 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide2.QtCore import * +from PySide2.QtGui import * +from PySide2.QtWidgets import * + +from libs.widgets.label import LabelTitle +from libs.widgets.textbrowser import Description + + +class Ui_Form(object): + def setupUi(self, Form): + if not Form.objectName(): + Form.setObjectName(u"Form") + Form.resize(400, 282) + self.verticalLayout = QVBoxLayout(Form) + self.verticalLayout.setObjectName(u"verticalLayout") + self.title_lb = LabelTitle(Form) + self.title_lb.setObjectName(u"title_lb") + + self.verticalLayout.addWidget(self.title_lb) + + self.date_lb = QLabel(Form) + self.date_lb.setObjectName(u"date_lb") + + self.verticalLayout.addWidget(self.date_lb) + + self.descri = Description(Form) + self.descri.setObjectName(u"descri") + + self.verticalLayout.addWidget(self.descri) + + self.line = QFrame(Form) + self.line.setObjectName(u"line") + self.line.setFrameShape(QFrame.HLine) + self.line.setFrameShadow(QFrame.Sunken) + + self.verticalLayout.addWidget(self.line) + + + self.retranslateUi(Form) + + QMetaObject.connectSlotsByName(Form) + # setupUi + + def retranslateUi(self, Form): + Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None)) + self.title_lb.setText(QCoreApplication.translate("Form", u"Title", None)) + self.date_lb.setText(QCoreApplication.translate("Form", u"Dates", None)) + # retranslateUi + diff --git a/app/ui/articles.ui b/app/ui/articles.ui new file mode 100644 index 0000000..9fb85cd --- /dev/null +++ b/app/ui/articles.ui @@ -0,0 +1,57 @@ + + + Form + + + + 0 + 0 + 400 + 282 + + + + Form + + + + + + Title + + + + + + + Dates + + + + + + + + + + Qt::Horizontal + + + + + + + + LabelTitle + QLabel +
libs.widgets.label.h
+
+ + Description + QTextBrowser +
libs.widgets.textbrowser.h
+
+
+ + +
diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 85ba138..1d63e61 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -76,9 +76,6 @@ 25 - - PointingHandCursor - @@ -104,13 +101,15 @@ 1 - - - - - CrossCursor - + + + + + + + + @@ -180,21 +179,6 @@ false - - - - 75 - true - - - - Favorites - - - 2 - - - Reload Indicators @@ -226,22 +210,21 @@ 1 - CompanyWidget + WelcomeWidget QWidget -
libs.company_widget
+
libs.welcome_widget
1
- FavoritesWidget + CompanyWidget QWidget -
libs.favorites_widget
+
libs.company_widget
1
ArticlesWidget - QWidget + QListWidget
libs.articles_widget.h
- 1
diff --git a/app/ui/run.py b/app/ui/run.py new file mode 100644 index 0000000..9549d97 --- /dev/null +++ b/app/ui/run.py @@ -0,0 +1,6 @@ +import subprocess + +cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" +# cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" + +subprocess.run(cmd, shell=True) \ No newline at end of file diff --git a/app/view.py b/app/view.py index 094a030..830151e 100644 --- a/app/view.py +++ b/app/view.py @@ -67,8 +67,7 @@ def __init__(self, parent=None, data=None): self.signals.sig_ticker_infos_fetched.connect( self.wgt_company._on_ticker_infos ) - ## - self.signals.sig_ticker_articles_fetched.connect( + self.signals.sig_ticker_choosen.connect( self.wgt_articles.get_articles ) self.thread_pool.signals.sig_thread_pre.connect( From 9474b72b182b988f8514778a8de65228d104f5ed Mon Sep 17 00:00:00 2001 From: vince Date: Fri, 19 Mar 2021 22:52:44 +0100 Subject: [PATCH 02/28] Ajout Articles par ticker + Article Page d'Acceuil + Table Finances --- app/data/dataset.json | 2 +- app/launcher.py | 18 +--- app/libs/analysies/analyse_financials.py | 21 ++-- app/libs/articles/get_articles.py | 5 +- app/libs/articles_widget.py | 54 +++------- app/libs/financial_widgets.py | 89 ++++++++++++++++ app/libs/tickers_dialog.py | 8 +- app/libs/welcome_widget.py | 52 +++++++++ app/libs/widgets/article_itemwidget.py | 16 +++ app/libs/yahoo_fin/stock_info.py | 8 +- app/resources/style/style.qss | 21 ++++ app/ui/{articles.py => article.py} | 26 ++--- app/ui/{articles.ui => article.ui} | 10 +- app/ui/main_window.py | 105 ++++++++++--------- app/ui/main_window.ui | 128 ++++++++++++++++++++--- app/utils/utils.py | 69 ++++++++++++ app/view.py | 5 +- 17 files changed, 474 insertions(+), 163 deletions(-) create mode 100644 app/libs/financial_widgets.py create mode 100644 app/libs/welcome_widget.py create mode 100644 app/libs/widgets/article_itemwidget.py rename app/ui/{articles.py => article.py} (65%) rename app/ui/{articles.ui => article.ui} (85%) diff --git a/app/data/dataset.json b/app/data/dataset.json index 601ab10..f9f24ef 100644 --- a/app/data/dataset.json +++ b/app/data/dataset.json @@ -1 +1 @@ -{"AI.PA": ["Air Liquide", "EURONEXT"], "AIR.PA": ["Airbus", "EURONEXT"], "ALO.PA": ["Alstom", "EURONEXT"], "MT.AS": ["ArcelorMittal", "EURONEXT"], "ATO.PA": ["Atos", "EURONEXT"], "CS.PA": ["AXA", "EURONEXT"], "BNP.PA": ["BNP Paribas", "EURONEXT"], "EN.PA": ["Bouygues", "EURONEXT"], "CAP.PA": ["Capgemini", "EURONEXT"], "CA.PA": ["Carrefour", "EURONEXT"], "ACA.PA": ["Cr\u00e9dit Agricole", "EURONEXT"], "BN.PA": ["Danone", "EURONEXT"], "DSY.PA": ["Dassault Syst\u00e8mes", "EURONEXT"], "ENGI.PA": ["Engie", "EURONEXT"], "EL.PA": ["EssilorLuxottica", "EURONEXT"], "RMS.PA": ["Herm\u00e8s", "EURONEXT"], "KER.PA": ["Kering", "EURONEXT"], "OR.PA": ["L'Or\u00e9al", "EURONEXT"], "LR.PA": ["Legrand", "EURONEXT"], "MC.PA": ["LVMH", "EURONEXT"], "ML.PA": ["Michelin", "EURONEXT"], "ORA.PA": ["Orange", "EURONEXT"], "RI.PA": ["Pernod Ricard", "EURONEXT"], "PUB.PA": ["Publicis", "EURONEXT"], "RNO.PA": ["Renault", "EURONEXT"], "SAF.PA": ["Safran", "EURONEXT"], "SGO.PA": ["Saint-Gobain", "EURONEXT"], "SAN.PA": ["Sanofi", "EURONEXT"], "SU.PA": ["Schneider Electric", "EURONEXT"], "GLE.PA": ["Soci\u00e9t\u00e9 G\u00e9n\u00e9rale", "EURONEXT"], "STLA.PA": ["Stellantis", "EURONEXT"], "STM.PA": ["STMicroelectronics", "EURONEXT"], "TEP.PA": ["Teleperformance", "EURONEXT"], "HO.PA": ["Thales", "EURONEXT"], "FP.PA": ["Total", "EURONEXT"], "URW.AS": ["Unibail-Rodamco-Westfield", "EURONEXT"], "VIE.PA": ["Veolia", "EURONEXT"], "DG.PA": ["Vinci", "EURONEXT"], "VIV.PA": ["Vivendi", "EURONEXT"], "WLN.PA": ["Worldline", "EURONEXT"], "AACG": ["ATA Creativity Global - American Depositary Shares, each representing two common shares", "NASDAQ"], "AACQ": ["Artius Acquisition Inc. - Class A Common Stock", "NASDAQ"], "AACQU": ["Artius Acquisition Inc. - Unit consisting of one ordinary share and one third redeemable warrant", "NASDAQ"], "AACQW": ["Artius Acquisition Inc. - Warrant", "NASDAQ"], "AAL": ["American Airlines Group", "S&P500"], "AAME": ["Atlantic American Corporation - Common Stock", "NASDAQ"], "AAOI": ["Applied Optoelectronics, Inc. - Common Stock", "NASDAQ"], "AAON": ["AAON, Inc. - Common Stock", "NASDAQ"], "AAPL": ["Apple Inc.", "S&P500"], "AAWW": ["Atlas Air Worldwide Holdings - Common Stock", "NASDAQ"], "AAXJ": ["iShares MSCI All Country Asia ex Japan Index Fund", "NASDAQ"], "ABCB": ["Ameris Bancorp - Common Stock", "NASDAQ"], "ABCL": ["AbCellera Biologics Inc. - Common Shares", "NASDAQ"], "ABCM": ["Abcam plc - American Depositary Shares", "NASDAQ"], "ABEO": ["Abeona Therapeutics Inc. - Common Stock", "NASDAQ"], "ABGI": ["ABG Acquisition Corp. I - Class A Ordinary Shares", "NASDAQ"], "ABIO": ["ARCA biopharma, Inc. - Common Stock", "NASDAQ"], "ABMD": ["Abiomed", "S&P500"], "ABNB": ["Airbnb, Inc. - Class A Common Stock", "NASDAQ"], "ABST": ["Absolute Software Corporation - Common Stock", "NASDAQ"], "ABTX": ["Allegiance Bancshares, Inc. - Common Stock", "NASDAQ"], "ABUS": ["Arbutus Biopharma Corporation - Common Stock", "NASDAQ"], "ACAC": ["Acies Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "ACACU": ["Acies Acquisition Corp. - Unit", "NASDAQ"], "ACACW": ["Acies Acquisition Corp. - Warrant", "NASDAQ"], "ACAD": ["ACADIA Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "ACAHU": ["Atlantic Coastal Acquisition Corp. - Unit", "NASDAQ"], "ACBI": ["Atlantic Capital Bancshares, Inc. - Common Stock", "NASDAQ"], "ACCD": ["Accolade, Inc. - common stock", "NASDAQ"], "ACER": ["Acer Therapeutics Inc. - Common Stock", "NASDAQ"], "ACET": ["Adicet Bio, Inc. - Common Stock", "NASDAQ"], "ACEV": ["ACE Convergence Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "ACEVU": ["ACE Convergence Acquisition Corp. - Unit", "NASDAQ"], "ACEVW": ["ACE Convergence Acquisition Corp. - Warrant", "NASDAQ"], "ACGL": ["Arch Capital Group Ltd. - Common Stock", "NASDAQ"], "ACGLO": ["Arch Capital Group Ltd. - Depositary Shares Each Representing 1/1,000th Interest in a Share of5.45% Non-Cumulative Preferred Shares, Series F", "NASDAQ"], "ACGLP": ["Arch Capital Group Ltd. - Depositary Shares Representing Interest in 5.25% Non-Cumulative Preferred Series E Shrs", "NASDAQ"], "ACHC": ["Acadia Healthcare Company, Inc. - Common Stock", "NASDAQ"], "ACHV": ["Achieve Life Sciences, Inc. - Common Shares", "NASDAQ"], "ACIU": ["AC Immune SA - Common Stock", "NASDAQ"], "ACIW": ["ACI Worldwide, Inc. - Common Stock", "NASDAQ"], "ACKIT": ["Ackrell SPAC Partners I Co. - Subunits", "NASDAQ"], "ACKIU": ["Ackrell SPAC Partners I Co. - Units", "NASDAQ"], "ACKIW": ["Ackrell SPAC Partners I Co. - Warrants", "NASDAQ"], "ACLS": ["Axcelis Technologies, Inc. - Common Stock", "NASDAQ"], "ACMR": ["ACM Research, Inc. - Class A Common Stock", "NASDAQ"], "ACNB": ["ACNB Corporation - Common Stock", "NASDAQ"], "ACOR": ["Acorda Therapeutics, Inc. - Common Stock", "NASDAQ"], "ACQRU": ["Independence Holdings Corp. - Units", "NASDAQ"], "ACRS": ["Aclaris Therapeutics, Inc. - Common Stock", "NASDAQ"], "ACRX": ["AcelRx Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ACST": ["Acasti Pharma, Inc. - Class A Common Stock", "NASDAQ"], "ACTC": ["ArcLight Clean Transition Corp. - Class A Ordinary Shares", "NASDAQ"], "ACTCU": ["ArcLight Clean Transition Corp. - Unit", "NASDAQ"], "ACTCW": ["ArcLight Clean Transition Corp. - Warrant", "NASDAQ"], "ACTG": ["Acacia Research Corporation - Common Stock", "NASDAQ"], "ACWI": ["iShares MSCI ACWI Index Fund", "NASDAQ"], "ACWX": ["iShares MSCI ACWI ex US Index Fund", "NASDAQ"], "ADAG": ["Adagene Inc. - ADS, each representing 1.25 ordinary shares", "NASDAQ"], "ADAP": ["Adaptimmune Therapeutics plc - American Depositary Shares", "NASDAQ"], "ADBE": ["Adobe Inc.", "S&P500"], "ADER": ["26 Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ADERU": ["26 Capital Acquisition Corp. - Unit", "NASDAQ"], "ADERW": ["26 Capital Acquisition Corp. - Warrant", "NASDAQ"], "ADES": ["Advanced Emissions Solutions, Inc. - Common Stock", "NASDAQ"], "ADI": ["Analog Devices, Inc.", "S&P500"], "ADIL": ["Adial Pharmaceuticals, Inc - Common Stock", "NASDAQ"], "ADILW": ["Adial Pharmaceuticals, Inc - Warrant", "NASDAQ"], "ADMA": ["ADMA Biologics Inc - Common Stock", "NASDAQ"], "ADMP": ["Adamis Pharmaceuticals Corporation - Common Stock", "NASDAQ"], "ADMS": ["Adamas Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ADN": ["Advent Technologies Holdings, Inc. - Class A Common Stock", "NASDAQ"], "ADNWW": ["Advent Technologies Holdings, Inc. - Warrant", "NASDAQ"], "ADOC": ["Edoc Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "ADOCR": ["Edoc Acquisition Corp. - Right", "NASDAQ"], "ADOCW": ["Edoc Acquisition Corp. - Warrant", "NASDAQ"], "ADP": ["Automatic Data Processing", "S&P500"], "ADPT": ["Adaptive Biotechnologies Corporation - Common Stock", "NASDAQ"], "ADRE": ["Invesco BLDRS Emerging Markets 50 ADR Index Fund", "NASDAQ"], "ADSK": ["Autodesk Inc.", "S&P500"], "ADTN": ["ADTRAN, Inc. - Common Stock", "NASDAQ"], "ADTX": ["ADiTx Therapeutics, Inc. - Common Stock", "NASDAQ"], "ADUS": ["Addus HomeCare Corporation - Common Stock", "NASDAQ"], "ADV": ["Advantage Solutions Inc. - Class A Common Stock", "NASDAQ"], "ADVM": ["Adverum Biotechnologies, Inc. - Common Stock", "NASDAQ"], "ADVWW": ["Advantage Solutions Inc. - Warrant", "NASDAQ"], "ADXN": ["Addex Therapeutics Ltd - American Depositary Shares", "NASDAQ"], "ADXS": ["Advaxis, Inc. - Common Stock", "NASDAQ"], "AEAC": ["Authentic Equity Acquisition Corp. - Class A ordinary share", "NASDAQ"], "AEACU": ["Authentic Equity Acquisition Corp. - Unit", "NASDAQ"], "AEACW": ["Authentic Equity Acquisition Corp. - Warrant", "NASDAQ"], "AEGN": ["Aegion Corp - Class A Common Stock", "NASDAQ"], "AEHL": ["Antelope Enterprise Holdings Limited - Common Stock", "NASDAQ"], "AEHR": ["Aehr Test Systems - Common Stock", "NASDAQ"], "AEI": ["Alset EHome International Inc. - Common Stock", "NASDAQ"], "AEIS": ["Advanced Energy Industries, Inc. - Common Stock", "NASDAQ"], "AEMD": ["Aethlon Medical, Inc. - Common Stock", "NASDAQ"], "AEP": ["American Electric Power", "S&P500"], "AEPPL": ["American Electric Power Company, Inc. - Corporate Unit", "NASDAQ"], "AEPPZ": ["American Electric Power Company, Inc. - Corporate Unit", "NASDAQ"], "AERI": ["Aerie Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AESE": ["Allied Esports Entertainment, Inc. - Common Stock", "NASDAQ"], "AEY": ["ADDvantage Technologies Group, Inc. - Common Stock", "NASDAQ"], "AEYE": ["AudioEye, Inc. - Common Stock", "NASDAQ"], "AEZS": ["Aeterna Zentaris Inc. - Common Stock", "NASDAQ"], "AFBI": ["Affinity Bancshares, Inc. - Common Stock", "NASDAQ"], "AFIB": ["Acutus Medical, Inc. - Common Stock", "NASDAQ"], "AFIN": ["American Finance Trust, Inc. - Class A Common Stock", "NASDAQ"], "AFINO": ["American Finance Trust, Inc. - 7.375% Series C Cumulative Redeemable Preferred Stock", "NASDAQ"], "AFINP": ["American Finance Trust, Inc. - 7.50% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "AFMD": ["Affimed N.V. - Common Stock", "NASDAQ"], "AFRM": ["Affirm Holdings, Inc. - Class A Common Stock", "NASDAQ"], "AFYA": ["Afya Limited - Class A Common Shares", "NASDAQ"], "AGBA": ["AGBA Acquisition Limited - Ordinary Share", "NASDAQ"], "AGBAR": ["AGBA Acquisition Limited - Right", "NASDAQ"], "AGBAU": ["AGBA Acquisition Limited - Unit", "NASDAQ"], "AGBAW": ["AGBA Acquisition Limited - Warrant", "NASDAQ"], "AGC": ["Altimeter Growth Corp. - Class A Ordinary Shares", "NASDAQ"], "AGCUU": ["Altimeter Growth Corp. - Unit", "NASDAQ"], "AGCWW": ["Altimeter Growth Corp. - Warrant", "NASDAQ"], "AGEN": ["Agenus Inc. - Common Stock", "NASDAQ"], "AGFS": ["AgroFresh Solutions, Inc. - Common Stock", "NASDAQ"], "AGFY": ["Agrify Corporation - Common Stock", "NASDAQ"], "AGGRU": ["Agile Growth Corp. - Units", "NASDAQ"], "AGIO": ["Agios Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AGLE": ["Aeglea BioTherapeutics, Inc. - Common Stock", "NASDAQ"], "AGMH": ["AGM Group Holdings Inc. - Class A Ordinary Shares", "NASDAQ"], "AGNC": ["AGNC Investment Corp. - Common Stock", "NASDAQ"], "AGNCM": ["AGNC Investment Corp. - Depositary Shares rep 6.875% Series D Fixed-to-Floating Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGNCN": ["AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 7.00% Series C Fixed-To-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGNCO": ["AGNC Investment Corp. - Depositary Shares, each representing a 1/1,000th interest in a share of Series E Fixed-to-Floating Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGNCP": ["AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 6.125% Series F Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "AGRX": ["Agile Therapeutics, Inc. - Common Stock", "NASDAQ"], "AGTC": ["Applied Genetic Technologies Corporation - Common Stock", "NASDAQ"], "AGYS": ["Agilysys, Inc. - Common Stock", "NASDAQ"], "AGZD": ["WisdomTree Interest Rate Hedged U.S. Aggregate Bond Fund", "NASDAQ"], "AHAC": ["Alpha Healthcare Acquisition Corp. - Common Stock", "NASDAQ"], "AHACU": ["Alpha Healthcare Acquisition Corp. - Unit", "NASDAQ"], "AHACW": ["Alpha Healthcare Acquisition Corp. - Warrant", "NASDAQ"], "AHCO": ["AdaptHealth Corp. - Class A Common Stock", "NASDAQ"], "AHPI": ["Allied Healthcare Products, Inc. - Common Stock", "NASDAQ"], "AIA": ["iShares Asia 50 ETF", "NASDAQ"], "AIH": ["Aesthetic Medical International Holdings Group Ltd. - American Depositary Shares", "NASDAQ"], "AIHS": ["Senmiao Technology Limited - Common Stock", "NASDAQ"], "AIKI": ["AIkido Pharma Inc. - Common Stock", "NASDAQ"], "AIMC": ["Altra Industrial Motion Corp. - Common Stock", "NASDAQ"], "AINV": ["Apollo Investment Corporation - Closed End Fund", "NASDAQ"], "AIQ": ["Global X Artificial Intelligence & Technology ETF", "NASDAQ"], "AIRG": ["Airgain, Inc. - Common Stock", "NASDAQ"], "AIRR": ["First Trust RBA American Industrial Renaissance ETF", "NASDAQ"], "AIRT": ["Air T, Inc. - Common Stock", "NASDAQ"], "AIRTP": ["Air T, Inc. - Trust Preferred Securities", "NASDAQ"], "AIRTW": ["Air T, Inc. - Air T Funding Warrants to Purchase Trust Preferred", "NASDAQ"], "AKAM": ["Akamai Technologies", "S&P500"], "AKBA": ["Akebia Therapeutics, Inc. - Common Stock", "NASDAQ"], "AKER": ["Akers Biosciences Inc. - Common Stock", "NASDAQ"], "AKIC": ["Sports Ventures Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "AKICU": ["Sports Ventures Acquisition Corp. - Unit", "NASDAQ"], "AKICW": ["Sports Ventures Acquisition Corp. - Warrant", "NASDAQ"], "AKRO": ["Akero Therapeutics, Inc. - Common Stock", "NASDAQ"], "AKTS": ["Akoustis Technologies, Inc. - Common Stock", "NASDAQ"], "AKTX": ["Akari Therapeutics Plc - American Depositary Shares", "NASDAQ"], "AKU": ["Akumin Inc. - Common Shares", "NASDAQ"], "AKUS": ["Akouos, Inc. - Common Stock", "NASDAQ"], "ALAC": ["Alberton Acquisition Corporation - Ordinary Shares", "NASDAQ"], "ALACR": ["Alberton Acquisition Corporation - Rights", "NASDAQ"], "ALACU": ["Alberton Acquisition Corporation - Unit", "NASDAQ"], "ALACW": ["Alberton Acquisition Corporation - Warrant", "NASDAQ"], "ALBO": ["Albireo Pharma, Inc. - Common Stock", "NASDAQ"], "ALCO": ["Alico, Inc. - Common Stock", "NASDAQ"], "ALDX": ["Aldeyra Therapeutics, Inc. - Common Stock", "NASDAQ"], "ALEC": ["Alector, Inc. - Common Stock", "NASDAQ"], "ALGM": ["Allegro MicroSystems, Inc. - Common Stock", "NASDAQ"], "ALGN": ["Align Technology", "S&P500"], "ALGS": ["Aligos Therapeutics, Inc. - Common stock", "NASDAQ"], "ALGT": ["Allegiant Travel Company - Common Stock", "NASDAQ"], "ALIM": ["Alimera Sciences, Inc. - Common Stock", "NASDAQ"], "ALJJ": ["ALJ Regional Holdings, Inc. - Common Stock", "NASDAQ"], "ALKS": ["Alkermes plc - Ordinary Shares", "NASDAQ"], "ALLK": ["Allakos Inc. - Common Stock", "NASDAQ"], "ALLO": ["Allogene Therapeutics, Inc. - Common Stock", "NASDAQ"], "ALLT": ["Allot Ltd. - Ordinary Shares", "NASDAQ"], "ALNA": ["Allena Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ALNY": ["Alnylam Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ALOT": ["AstroNova, Inc. - Common Stock", "NASDAQ"], "ALPN": ["Alpine Immune Sciences, Inc. - Common Stock", "NASDAQ"], "ALRM": ["Alarm.com Holdings, Inc. - Common Stock", "NASDAQ"], "ALRN": ["Aileron Therapeutics, Inc. - Common Stock", "NASDAQ"], "ALRS": ["Alerus Financial Corporation - Common Stock", "NASDAQ"], "ALSK": ["Alaska Communications Systems Group, Inc. - Common Stock", "NASDAQ"], "ALT": ["Altimmune, Inc. - Common Stock", "NASDAQ"], "ALTA": ["Altabancorp - Common Stock", "NASDAQ"], "ALTM": ["Altus Midstream Company - Class A Common Stock", "NASDAQ"], "ALTO": ["Alto Ingredients, Inc. - Common Stock", "NASDAQ"], "ALTR": ["Altair Engineering Inc. - Class A Common Stock", "NASDAQ"], "ALTU": ["Altitude Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ALTUU": ["Altitude Acquisition Corp. - Unit", "NASDAQ"], "ALTUW": ["Altitude Acquisition Corp. - Warrant", "NASDAQ"], "ALTY": ["Global X SuperDividend Alternatives ETF", "NASDAQ"], "ALVR": ["AlloVir, Inc. - Common Stock", "NASDAQ"], "ALXN": ["Alexion Pharmaceuticals", "S&P500"], "ALXO": ["ALX Oncology Holdings Inc. - Common Stock", "NASDAQ"], "ALYA": ["Alithya Group inc. - Class A subordinate voting shares", "NASDAQ"], "AMAL": ["Amalgamated Financial Corp. - Common Stock", "NASDAQ"], "AMAOU": ["American Acquisition Opportunity Inc. - Units", "NASDAQ"], "AMAT": ["Applied Materials Inc.", "S&P500"], "AMBA": ["Ambarella, Inc. - Ordinary Shares", "NASDAQ"], "AMCA": ["iShares Russell 1000 Pure U.S. Revenue ETF", "NASDAQ"], "AMCX": ["AMC Networks Inc. - Class A Common Stock", "NASDAQ"], "AMD": ["Advanced Micro Devices", "S&P500"], "AMED": ["Amedisys Inc - Common Stock", "NASDAQ"], "AMEH": ["Apollo Medical Holdings, Inc. - Common Stock", "NASDAQ"], "AMGN": ["Amgen Inc.", "S&P500"], "AMHC": ["Amplitude Healthcare Acquisition Corporation - Class A Common Stock", "NASDAQ"], "AMHCU": ["Amplitude Healthcare Acquisition Corporation - Unit", "NASDAQ"], "AMHCW": ["Amplitude Healthcare Acquisition Corporation - Warrant", "NASDAQ"], "AMKR": ["Amkor Technology, Inc. - Common Stock", "NASDAQ"], "AMNB": ["American National Bankshares, Inc. - Common Stock", "NASDAQ"], "AMOT": ["Allied Motion Technologies, Inc. - Common Stock", "NASDAQ"], "AMPG": ["Amplitech Group, Inc. - Common Stock", "NASDAQ"], "AMPGW": ["Amplitech Group, Inc. - Warrants", "NASDAQ"], "AMPH": ["Amphastar Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AMRB": ["American River Bankshares - Common Stock", "NASDAQ"], "AMRK": ["A-Mark Precious Metals, Inc. - Common Stock", "NASDAQ"], "AMRN": ["Amarin Corporation plc - American Depositary Shares, each representing one Ordinary Share", "NASDAQ"], "AMRS": ["Amyris, Inc. - Common Stock", "NASDAQ"], "AMSC": ["American Superconductor Corporation - Common Stock", "NASDAQ"], "AMSF": ["AMERISAFE, Inc. - Common Stock", "NASDAQ"], "AMST": ["Amesite Inc. - Common Stock", "NASDAQ"], "AMSWA": ["American Software, Inc. - Class A Common Stock", "NASDAQ"], "AMTB": ["Amerant Bancorp Inc. - Class A Common Stock", "NASDAQ"], "AMTBB": ["Amerant Bancorp Inc. - Class B Common Stock", "NASDAQ"], "AMTI": ["Applied Molecular Transport Inc. - common stock", "NASDAQ"], "AMTX": ["Aemetis, Inc - Common Stock", "NASDAQ"], "AMWD": ["American Woodmark Corporation - Common Stock", "NASDAQ"], "AMYT": ["Amryt Pharma plc - American Depositary Shares", "NASDAQ"], "AMZN": ["Amazon.com Inc.", "S&P500"], "ANAB": ["AnaptysBio, Inc. - Common Stock", "NASDAQ"], "ANAT": ["American National Group, Inc. - Common Stock", "NASDAQ"], "ANDA": ["Andina Acquisition Corp. III - Ordinary Shares", "NASDAQ"], "ANDAR": ["Andina Acquisition Corp. III - Right", "NASDAQ"], "ANDAU": ["Andina Acquisition Corp. III - Unit", "NASDAQ"], "ANDAW": ["Andina Acquisition Corp. III - Warrant", "NASDAQ"], "ANDE": ["The Andersons, Inc. - Common Stock", "NASDAQ"], "ANGI": ["Angi Inc. - Class A Common Stock", "NASDAQ"], "ANGL": ["VanEck Vectors Fallen Angel High Yield Bond ETF", "NASDAQ"], "ANGN": ["Angion Biomedica Corp. - Common Stock", "NASDAQ"], "ANGO": ["AngioDynamics, Inc. - Common Stock", "NASDAQ"], "ANIK": ["Anika Therapeutics Inc. - Common Stock", "NASDAQ"], "ANIP": ["ANI Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ANIX": ["Anixa Biosciences, Inc. - Common Stock", "NASDAQ"], "ANNX": ["Annexon, Inc. - common stock", "NASDAQ"], "ANPC": ["AnPac Bio-Medical Science Co., Ltd. - American Depositary Shares", "NASDAQ"], "ANSS": ["ANSYS, Inc.", "S&P500"], "ANTE": ["AirNet Technology Inc. - American Depositary Shares, each representing ten ordinary shares", "NASDAQ"], "ANY": ["Sphere 3D Corp. - Common Shares", "NASDAQ"], "ANZUU": ["Anzu Special Acquisition Corp I - Units", "NASDAQ"], "AOSL": ["Alpha and Omega Semiconductor Limited - Common Shares", "NASDAQ"], "AOUT": ["American Outdoor Brands, Inc. - Common Stock", "NASDAQ"], "APA": ["APA Corporation", "S&P500"], "APDN": ["Applied DNA Sciences, Inc. - Common Stock", "NASDAQ"], "APEI": ["American Public Education, Inc. - Common Stock", "NASDAQ"], "APEN": ["Apollo Endosurgery, Inc. - Common Stock", "NASDAQ"], "APHA": ["Aphria Inc. - Common Shares", "NASDAQ"], "API": ["Agora, Inc. - ADS", "NASDAQ"], "APLS": ["Apellis Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "APLT": ["Applied Therapeutics, Inc. - Common Stock", "NASDAQ"], "APM": ["Aptorum Group Limited - Class A Ordinary Shares", "NASDAQ"], "APOG": ["Apogee Enterprises, Inc. - Common Stock", "NASDAQ"], "APOP": ["Cellect Biotechnology Ltd. - American Depositary Shares", "NASDAQ"], "APOPW": ["Cellect Biotechnology Ltd. - Warrants to Purchase ADR (1 WT and $7.50 to purchase 0.2 ADS)", "NASDAQ"], "APPF": ["AppFolio, Inc. - Class A Common Stock", "NASDAQ"], "APPH": ["AppHarvest, Inc. - Common Stock", "NASDAQ"], "APPHW": ["AppHarvest, Inc. - Warrants", "NASDAQ"], "APPN": ["Appian Corporation - Class A Common Stock", "NASDAQ"], "APPS": ["Digital Turbine, Inc. - Common Stock", "NASDAQ"], "APR": ["Apria, Inc. - Common Stock", "NASDAQ"], "APRE": ["Aprea Therapeutics, Inc. - Common Stock", "NASDAQ"], "APTO": ["Aptose Biosciences, Inc. - Common Shares", "NASDAQ"], "APTX": ["Aptinyx Inc. - Common Stock", "NASDAQ"], "APVO": ["Aptevo Therapeutics Inc. - Common Stock", "NASDAQ"], "APWC": ["Asia Pacific Wire - Common shares, Par value .01 per share", "NASDAQ"], "APXT": ["Apex Technology Acquisition Corporation - Class A Common Stock", "NASDAQ"], "APXTU": ["Apex Technology Acquisition Corporation - Unit", "NASDAQ"], "APXTW": ["Apex Technology Acquisition Corporation - Warrant", "NASDAQ"], "APYX": ["Apyx Medical Corporation - Common Stock", "NASDAQ"], "AQB": ["AquaBounty Technologies, Inc. - Common Stock", "NASDAQ"], "AQMS": ["Aqua Metals, Inc. - Common Stock", "NASDAQ"], "AQST": ["Aquestive Therapeutics, Inc. - Common Stock", "NASDAQ"], "ARAV": ["Aravive, Inc. - Common Stock", "NASDAQ"], "ARAY": ["Accuray Incorporated - Common Stock", "NASDAQ"], "ARBG": ["Aequi Acquisition Corp. - common stock", "NASDAQ"], "ARBGU": ["Aequi Acquisition Corp. - Unit", "NASDAQ"], "ARBGW": ["Aequi Acquisition Corp. - warrants", "NASDAQ"], "ARCB": ["ArcBest Corporation - Common Stock", "NASDAQ"], "ARCC": ["Ares Capital Corporation - Closed End Fund", "NASDAQ"], "ARCE": ["Arco Platform Limited - Class A Common Shares", "NASDAQ"], "ARCT": ["Arcturus Therapeutics Holdings Inc. - Common Stock", "NASDAQ"], "ARDS": ["Aridis Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "ARDX": ["Ardelyx, Inc. - Common Stock", "NASDAQ"], "AREC": ["American Resources Corporation - Class A Common Stock", "NASDAQ"], "ARGX": ["argenx SE - American Depositary Shares", "NASDAQ"], "ARKO": ["ARKO Corp. - Common Stock", "NASDAQ"], "ARKOW": ["ARKO Corp. - Warrant", "NASDAQ"], "ARKR": ["Ark Restaurants Corp. - Common Stock", "NASDAQ"], "ARLP": ["Alliance Resource Partners, L.P. - Common Units Representing Limited Partnership Interests", "NASDAQ"], "ARNA": ["Arena Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AROW": ["Arrow Financial Corporation - Common Stock", "NASDAQ"], "ARPO": ["Aerpio Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ARQT": ["Arcutis Biotherapeutics, Inc. - Common stock", "NASDAQ"], "ARRWU": ["Arrowroot Acquisition Corp. - Unit", "NASDAQ"], "ARRY": ["Array Technologies, Inc. - Common Stock", "NASDAQ"], "ARTL": ["Artelo Biosciences, Inc. - Common Stock", "NASDAQ"], "ARTLW": ["Artelo Biosciences, Inc. - Warrant", "NASDAQ"], "ARTNA": ["Artesian Resources Corporation - Class A Non-Voting Common Stock", "NASDAQ"], "ARTW": ["Art's-Way Manufacturing Co., Inc. - Common Stock", "NASDAQ"], "ARVN": ["Arvinas, Inc. - Common Stock", "NASDAQ"], "ARWR": ["Arrowhead Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ARYA": ["ARYA Sciences Acquisition Corp III - Class A Ordinary Shares", "NASDAQ"], "ARYD": ["ARYA Sciences Acquisition Corp IV - Class A Ordinary Shares", "NASDAQ"], "ASAX": ["Astrea Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ASAXU": ["Astrea Acquisition Corp. - Unit", "NASDAQ"], "ASAXW": ["Astrea Acquisition Corp. - Warrant", "NASDAQ"], "ASET": ["FlexShares Real Assets Allocation Index Fund", "NASDAQ"], "ASLE": ["AerSale Corporation - Common Stock", "NASDAQ"], "ASLEW": ["AerSale Corporation - Warrants", "NASDAQ"], "ASLN": ["ASLAN Pharmaceuticals Limited - American Depositary Shares", "NASDAQ"], "ASMB": ["Assembly Biosciences, Inc. - Common Stock", "NASDAQ"], "ASML": ["ASML Holding N.V. - New York Registry Shares", "NASDAQ"], "ASND": ["Ascendis Pharma A/S - American Depositary Shares", "NASDAQ"], "ASO": ["Academy Sports and Outdoors, Inc. - Common Stock", "NASDAQ"], "ASPCU": ["Alpha Capital Acquisition Company - Unit", "NASDAQ"], "ASPS": ["Altisource Portfolio Solutions S.A. - Common Stock", "NASDAQ"], "ASPU": ["Aspen Group Inc. - Common Stock", "NASDAQ"], "ASRT": ["Assertio Holdings, Inc. - Common Stock", "NASDAQ"], "ASRV": ["AmeriServ Financial Inc. - Common Stock", "NASDAQ"], "ASRVP": ["AmeriServ Financial Inc. - AmeriServ Financial Trust I - 8.45% Beneficial Unsecured Securities, Series A", "NASDAQ"], "ASTC": ["Astrotech Corporation - Common Stock", "NASDAQ"], "ASTE": ["Astec Industries, Inc. - Common Stock", "NASDAQ"], "ASUR": ["Asure Software Inc - Common Stock", "NASDAQ"], "ASYS": ["Amtech Systems, Inc. - Common Stock", "NASDAQ"], "ATAX": ["America First Multifamily Investors, L.P. - Beneficial Unit Certificates (BUCs) representing Limited Partnership Interests", "NASDAQ"], "ATCX": ["Atlas Technical Consultants, Inc. - Class A Common Stock", "NASDAQ"], "ATEC": ["Alphatec Holdings, Inc. - Common Stock", "NASDAQ"], "ATEX": ["Anterix Inc. - Common Stock", "NASDAQ"], "ATHA": ["Athira Pharma, Inc. - Common Stock", "NASDAQ"], "ATHE": ["Alterity Therapeutics Limited - American Depositary Shares", "NASDAQ"], "ATHX": ["Athersys, Inc. - Common Stock", "NASDAQ"], "ATIF": ["ATIF Holdings Limited - Ordinary Shares", "NASDAQ"], "ATLC": ["Atlanticus Holdings Corporation - Common Stock", "NASDAQ"], "ATLO": ["Ames National Corporation - Common Stock", "NASDAQ"], "ATNF": ["180 Life Sciences Corp. - Common Stock", "NASDAQ"], "ATNFW": ["180 Life Sciences Corp. - Warrant", "NASDAQ"], "ATNI": ["ATN International, Inc. - Common Stock", "NASDAQ"], "ATNX": ["Athenex, Inc. - Common Stock", "NASDAQ"], "ATOM": ["Atomera Incorporated - Common Stock", "NASDAQ"], "ATOS": ["Atossa Therapeutics, Inc. - Common Stock", "NASDAQ"], "ATRA": ["Atara Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "ATRC": ["AtriCure, Inc. - Common Stock", "NASDAQ"], "ATRI": ["Atrion Corporation - Common Stock", "NASDAQ"], "ATRO": ["Astronics Corporation - Common Stock", "NASDAQ"], "ATRS": ["Antares Pharma, Inc. - Common Stock", "NASDAQ"], "ATSG": ["Air Transport Services Group, Inc - Common Stock", "NASDAQ"], "ATSPU": ["Archimedes Tech SPAC Partners Co. - Unit", "NASDAQ"], "ATVCU": ["Tribe Capital Growth Corp I - Units", "NASDAQ"], "ATVI": ["Activision Blizzard", "S&P500"], "ATXI": ["Avenue Therapeutics, Inc. - Common Stock", "NASDAQ"], "AUB": ["Atlantic Union Bankshares Corporation - Common Stock", "NASDAQ"], "AUBAP": ["Atlantic Union Bankshares Corporation - Depositary Shares each representing a 1/400th ownership interest in a share of 6.875%Perpetual Non-Cumulative Preferred Stock, Series A", "NASDAQ"], "AUBN": ["Auburn National Bancorporation, Inc. - Common Stock", "NASDAQ"], "AUDC": ["AudioCodes Ltd. - Ordinary Shares", "NASDAQ"], "AUPH": ["Aurinia Pharmaceuticals Inc - Common Shares", "NASDAQ"], "AURCU": ["Aurora Acquisition Corp. - Unit", "NASDAQ"], "AUTL": ["Autolus Therapeutics plc - American Depositary Shares", "NASDAQ"], "AUTO": ["AutoWeb, Inc. - Common Stock", "NASDAQ"], "AUUD": ["Auddia Inc. - Common Stock", "NASDAQ"], "AUUDW": ["Auddia Inc. - Warrants", "NASDAQ"], "AUVI": ["Applied UV, Inc. - Common Stock", "NASDAQ"], "AVAV": ["AeroVironment, Inc. - Common Stock", "NASDAQ"], "AVCO": ["Avalon GloboCare Corp. - Common Stock", "NASDAQ"], "AVCT": ["American Virtual Cloud Technologies, Inc. - Common Stock", "NASDAQ"], "AVCTW": ["American Virtual Cloud Technologies, Inc. - Warrant expiring 4/7/2020", "NASDAQ"], "AVDL": ["Avadel Pharmaceuticals plc - American Depositary Shares each representing one Ordinary Share", "NASDAQ"], "AVEO": ["AVEO Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AVGO": ["Broadcom Inc.", "S&P500"], "AVGOP": ["Broadcom Inc. - 8.00% Mandatory Convertible Preferred Stock, Series A", "NASDAQ"], "AVGR": ["Avinger, Inc. - Common Stock", "NASDAQ"], "AVID": ["Avid Technology, Inc. - Common Stock", "NASDAQ"], "AVIR": ["Atea Pharmaceuticals, Inc. - common stock", "NASDAQ"], "AVNW": ["Aviat Networks, Inc. - Common Stock", "NASDAQ"], "AVO": ["Mission Produce, Inc. - Common Stock", "NASDAQ"], "AVRO": ["AVROBIO, Inc. - Common Stock", "NASDAQ"], "AVT": ["Avnet, Inc. - Common Stock", "NASDAQ"], "AVXL": ["Anavex Life Sciences Corp. - Common Stock", "NASDAQ"], "AWH": ["Aspira Women's Health Inc. - Common Stock", "NASDAQ"], "AWRE": ["Aware, Inc. - Common Stock", "NASDAQ"], "AXAS": ["Abraxas Petroleum Corporation - Common Stock", "NASDAQ"], "AXDX": ["Accelerate Diagnostics, Inc. - Common Stock", "NASDAQ"], "AXGN": ["Axogen, Inc. - Common Stock", "NASDAQ"], "AXLA": ["Axcella Health Inc. - Common Stock", "NASDAQ"], "AXNX": ["Axonics Modulation Technologies, Inc. - Common Stock", "NASDAQ"], "AXON": ["Axon Enterprise, Inc. - Common Stock", "NASDAQ"], "AXSM": ["Axsome Therapeutics, Inc. - Common Stock", "NASDAQ"], "AXTI": ["AXT Inc - Common Stock", "NASDAQ"], "AY": ["Atlantica Sustainable Infrastructure plc - Ordinary Shares", "NASDAQ"], "AYLA": ["Ayala Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "AYRO": ["AYRO, Inc. - Common Stock", "NASDAQ"], "AYTU": ["Aytu BioScience, Inc. - Common Stock", "NASDAQ"], "AZN": ["AstraZeneca PLC - American Depositary Shares", "NASDAQ"], "AZPN": ["Aspen Technology, Inc. - Common Stock", "NASDAQ"], "AZRX": ["AzurRx BioPharma, Inc. - Common Stock", "NASDAQ"], "AZYO": ["Aziyo Biologics, Inc. - Class A Common Stock", "NASDAQ"], "BAND": ["Bandwidth Inc. - Class A Common Stock", "NASDAQ"], "BANF": ["BancFirst Corporation - Common Stock", "NASDAQ"], "BANFP": ["BancFirst Corporation - 7.2% Cumulative Trust Preferred Securities", "NASDAQ"], "BANR": ["Banner Corporation - Common Stock", "NASDAQ"], "BANX": ["StoneCastle Financial Corp - Common Stock", "NASDAQ"], "BAOS": ["Baosheng Media Group Holdings Limited - Ordinary shares", "NASDAQ"], "BASI": ["Bioanalytical Systems, Inc. - Common Stock", "NASDAQ"], "BATRA": ["Liberty Media Corporation - Series A Liberty Braves Common Stock", "NASDAQ"], "BATRK": ["Liberty Media Corporation - Series C Liberty Braves Common Stock", "NASDAQ"], "BBBY": ["Bed Bath & Beyond Inc. - Common Stock", "NASDAQ"], "BBCP": ["Concrete Pumping Holdings, Inc. - Common Stock", "NASDAQ"], "BBGI": ["Beasley Broadcast Group, Inc. - Class A Common Stock", "NASDAQ"], "BBH": ["VanEck Vectors Biotech ETF", "NASDAQ"], "BBI": ["Brickell Biotech, Inc. - Common Stock", "NASDAQ"], "BBIG": ["Vinco Ventures, Inc. - Common Stock", "NASDAQ"], "BBIO": ["BridgeBio Pharma, Inc. - Common Stock", "NASDAQ"], "BBQ": ["BBQ Holdings, Inc. - Common Stock", "NASDAQ"], "BBSI": ["Barrett Business Services, Inc. - Common Stock", "NASDAQ"], "BCAB": ["BioAtla, Inc. - Common Stock", "NASDAQ"], "BCAC": ["Brookline Capital Acquisition Corp. - Common Stock", "NASDAQ"], "BCACU": ["Brookline Capital Acquisition Corp. - Units", "NASDAQ"], "BCACW": ["Brookline Capital Acquisition Corp. - Warrant", "NASDAQ"], "BCBP": ["BCB Bancorp, Inc. (NJ) - Common Stock", "NASDAQ"], "BCDA": ["BioCardia, Inc. - Common Stock", "NASDAQ"], "BCDAW": ["BioCardia, Inc. - Warrant", "NASDAQ"], "BCEL": ["Atreca, Inc. - Class A Common Stock", "NASDAQ"], "BCLI": ["Brainstorm Cell Therapeutics Inc. - Common Stock", "NASDAQ"], "BCML": ["BayCom Corp - Common Stock", "NASDAQ"], "BCOR": ["Blucora, Inc. - Common Stock", "NASDAQ"], "BCOV": ["Brightcove Inc. - Common Stock", "NASDAQ"], "BCOW": ["1895 Bancorp of Wisconsin, Inc. - Common Stock", "NASDAQ"], "BCPC": ["Balchem Corporation - Common Stock", "NASDAQ"], "BCRX": ["BioCryst Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "BCTG": ["BCTG Acquisition Corp. - Common Stock", "NASDAQ"], "BCTX": ["BriaCell Therapeutics Corp. - Common Shares", "NASDAQ"], "BCTXW": ["BriaCell Therapeutics Corp. - Warrant", "NASDAQ"], "BCYC": ["Bicycle Therapeutics plc - American Depositary Shares", "NASDAQ"], "BCYP": ["Big Cypress Acquisition Corp. - Common stock", "NASDAQ"], "BCYPU": ["Big Cypress Acquisition Corp. - Unit", "NASDAQ"], "BCYPW": ["Big Cypress Acquisition Corp. - Warrant", "NASDAQ"], "BDSI": ["BioDelivery Sciences International, Inc. - Common Stock", "NASDAQ"], "BDSX": ["Biodesix, Inc. - Common Stock", "NASDAQ"], "BDTX": ["Black Diamond Therapeutics, Inc. - Common Stock", "NASDAQ"], "BEAM": ["Beam Therapeutics Inc. - Common Stock", "NASDAQ"], "BECN": ["Beacon Roofing Supply, Inc. - Common Stock", "NASDAQ"], "BEEM": ["Beam Global - Common Stock", "NASDAQ"], "BEEMW": ["Beam Global - Warrant", "NASDAQ"], "BELFA": ["Bel Fuse Inc. - Class A Common Stock", "NASDAQ"], "BELFB": ["Bel Fuse Inc. - Class B Common Stock", "NASDAQ"], "BENE": ["Benessere Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BENER": ["Benessere Capital Acquisition Corp. - Right", "NASDAQ"], "BENEU": ["Benessere Capital Acquisition Corp. - Unit", "NASDAQ"], "BENEW": ["Benessere Capital Acquisition Corp. - Warrant", "NASDAQ"], "BFC": ["Bank First Corporation - Common Stock", "NASDAQ"], "BFI": ["BurgerFi International Inc - Common Stock", "NASDAQ"], "BFIIW": ["BurgerFi International Inc - Warrant", "NASDAQ"], "BFIN": ["BankFinancial Corporation - Common Stock", "NASDAQ"], "BFIT": ["Global X Health & Wellness Thematic ETF", "NASDAQ"], "BFRA": ["Biofrontera AG - American Depositary Shares", "NASDAQ"], "BFST": ["Business First Bancshares, Inc. - Common Stock", "NASDAQ"], "BGCP": ["BGC Partners, Inc. - Class A Common Stock", "NASDAQ"], "BGFV": ["Big 5 Sporting Goods Corporation - Common Stock", "NASDAQ"], "BGNE": ["BeiGene, Ltd. - American Depositary Shares", "NASDAQ"], "BGRN": ["iShares Global Green Bond ETF", "NASDAQ"], "BHAT": ["Blue Hat Interactive Entertainment Technology - Ordinary Shares", "NASDAQ"], "BHF": ["Brighthouse Financial, Inc. - Common Stock", "NASDAQ"], "BHFAL": ["Brighthouse Financial, Inc. - Junior Subordinated Debentures due 2058", "NASDAQ"], "BHFAN": ["Brighthouse Financial, Inc. - depositary shares, each representing a 1/1,000th interest in a share of 5.375% Non-Cumulative Preferred Stock, Series C", "NASDAQ"], "BHFAO": ["Brighthouse Financial, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 6.750% Non-Cumulative Preferred Stock, Series B", "NASDAQ"], "BHFAP": ["Brighthouse Financial, Inc. - Depositary Shares 6.6% Non-Cumulative Preferred Stock, Series A", "NASDAQ"], "BHSE": ["Bull Horn Holdings Corp. - Ordinary Shares", "NASDAQ"], "BHSEU": ["Bull Horn Holdings Corp. - Unit", "NASDAQ"], "BHSEW": ["Bull Horn Holdings Corp. - Warrants", "NASDAQ"], "BHTG": ["BioHiTech Global, Inc. - Common Stock", "NASDAQ"], "BIB": ["ProShares Ultra Nasdaq Biotechnology", "NASDAQ"], "BICK": ["First Trust BICK Index Fund", "NASDAQ"], "BIDU": ["Baidu, Inc. - American Depositary Shares, each representing 8 ordinary share", "NASDAQ"], "BIGC": ["BigCommerce Holdings, Inc. - Series 1 Common Stock", "NASDAQ"], "BIIB": ["Biogen Inc.", "S&P500"], "BILI": ["Bilibili Inc. - American Depositary Shares", "NASDAQ"], "BIMI": ["BOQI International Medical Inc. - Common Stock", "NASDAQ"], "BIOC": ["Biocept, Inc. - Common Stock", "NASDAQ"], "BIOL": ["Biolase, Inc. - Common Stock", "NASDAQ"], "BIOT": ["Biotech Acquisition Company - Class A Ordinary Shares", "NASDAQ"], "BIOTU": ["Biotech Acquisition Company - Unit", "NASDAQ"], "BIOTW": ["Biotech Acquisition Company - Warrant", "NASDAQ"], "BIS": ["ProShares UltraShort Nasdaq Biotechnology", "NASDAQ"], "BIVI": ["BioVie Inc. - Common stock", "NASDAQ"], "BJK": ["VanEck Vectors Gaming ETF", "NASDAQ"], "BJRI": ["BJ's Restaurants, Inc. - Common Stock", "NASDAQ"], "BKCC": ["BlackRock Capital Investment Corporation - Common Stock", "NASDAQ"], "BKEP": ["Blueknight Energy Partners L.P., L.L.C. - Common Units representing Limited Partner Interests", "NASDAQ"], "BKEPP": ["Blueknight Energy Partners L.P., L.L.C. - Series A Preferred Units", "NASDAQ"], "BKNG": ["Booking Holdings Inc", "S&P500"], "BKSC": ["Bank of South Carolina Corp. - Common Stock", "NASDAQ"], "BKYI": ["BIO-key International, Inc. - Common Stock", "NASDAQ"], "BL": ["BlackLine, Inc. - Common Stock", "NASDAQ"], "BLBD": ["Blue Bird Corporation - Common Stock", "NASDAQ"], "BLCM": ["Bellicum Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "BLCN": ["Siren Nasdaq NexGen Economy ETF", "NASDAQ"], "BLCT": ["BlueCity Holdings Limited - American Depositary Shares", "NASDAQ"], "BLDP": ["Ballard Power Systems, Inc. - Common Shares", "NASDAQ"], "BLDR": ["Builders FirstSource, Inc. - Common Stock", "NASDAQ"], "BLFS": ["BioLife Solutions, Inc. - Common Stock", "NASDAQ"], "BLI": ["Berkeley Lights, Inc. - Common Stock", "NASDAQ"], "BLIN": ["Bridgeline Digital, Inc. - Common Stock", "NASDAQ"], "BLKB": ["Blackbaud, Inc. - Common Stock", "NASDAQ"], "BLMN": ["Bloomin' Brands, Inc. - Common Stock", "NASDAQ"], "BLNK": ["Blink Charging Co. - Common Stock", "NASDAQ"], "BLNKW": ["Blink Charging Co. - Warrant", "NASDAQ"], "BLPH": ["Bellerophon Therapeutics, Inc. - Common Stock", "NASDAQ"], "BLRX": ["BioLineRx Ltd. - American Depositary Shares", "NASDAQ"], "BLSA": ["BCLS Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "BLTS": ["Bright Lights Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BLTSU": ["Bright Lights Acquisition Corp. - Unit", "NASDAQ"], "BLTSW": ["Bright Lights Acquisition Corp. - Warrant", "NASDAQ"], "BLU": ["BELLUS Health Inc. - Common Shares", "NASDAQ"], "BLUE": ["bluebird bio, Inc. - Common Stock", "NASDAQ"], "BLUW": ["Blue Water Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BLUWU": ["Blue Water Acquisition Corp. - Unit", "NASDAQ"], "BLUWW": ["Blue Water Acquisition Corp. - Warrant", "NASDAQ"], "BMBL": ["Bumble Inc. - common stock", "NASDAQ"], "BMRA": ["Biomerica, Inc. - Common Stock", "NASDAQ"], "BMRC": ["Bank of Marin Bancorp - Common Stock", "NASDAQ"], "BMRN": ["BioMarin Pharmaceutical Inc. - Common Stock", "NASDAQ"], "BMTC": ["Bryn Mawr Bank Corporation - Common Stock", "NASDAQ"], "BND": ["Vanguard Total Bond Market ETF", "NASDAQ"], "BNDW": ["Vanguard Total World Bond ETF", "NASDAQ"], "BNDX": ["Vanguard Total International Bond ETF", "NASDAQ"], "BNFT": ["Benefitfocus, Inc. - Common Stock", "NASDAQ"], "BNGO": ["Bionano Genomics, Inc. - Common Stock", "NASDAQ"], "BNGOW": ["Bionano Genomics, Inc. - Warrant", "NASDAQ"], "BNR": ["Burning Rock Biotech Limited - American Depositary Shares", "NASDAQ"], "BNSO": ["Bonso Electronics International, Inc. - Common Stock", "NASDAQ"], "BNTC": ["Benitec Biopharma Inc. - Common Stock", "NASDAQ"], "BNTX": ["BioNTech SE - American Depositary Shares", "NASDAQ"], "BOCH": ["Bank of Commerce Holdings (CA) - Common Stock", "NASDAQ"], "BOKF": ["BOK Financial Corporation - Common Stock", "NASDAQ"], "BOKFL": ["BOK Financial Corporation - 5.375% Subordinated Notes due 2056", "NASDAQ"], "BOLT": ["Bolt Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "BOMN": ["Boston Omaha Corporation - Class A Common Stock", "NASDAQ"], "BOOM": ["DMC Global Inc. - Common Stock", "NASDAQ"], "BOSC": ["B.O.S. Better Online Solutions - Ordinary Shares", "NASDAQ"], "BOTJ": ["Bank of the James Financial Group, Inc. - Common Stock", "NASDAQ"], "BOTZ": ["Global X Robotics & Artificial Intelligence ETF", "NASDAQ"], "BOWX": ["BowX Acquisition Corp. - Class A Common Stock", "NASDAQ"], "BOWXU": ["BowX Acquisition Corp. - Unit", "NASDAQ"], "BOWXW": ["BowX Acquisition Corp. - Warrant", "NASDAQ"], "BOXL": ["Boxlight Corporation - Class A Common Stock", "NASDAQ"], "BPFH": ["Boston Private Financial Holdings, Inc. - Common Stock", "NASDAQ"], "BPMC": ["Blueprint Medicines Corporation - Common Stock", "NASDAQ"], "BPOP": ["Popular, Inc. - Common Stock", "NASDAQ"], "BPOPM": ["Popular, Inc. - Popular Capital Trust II - 6.125% Cumulative Monthly Income Trust Preferred Securities", "NASDAQ"], "BPOPN": ["Popular, Inc. - Popular Capital Trust I -6.70% Cumulative Monthly Income Trust Preferred Securities", "NASDAQ"], "BPRN": ["The Bank of Princeton - Common Stock", "NASDAQ"], "BPTH": ["Bio-Path Holdings, Inc. - Common Stock", "NASDAQ"], "BPTS": ["Biophytis SA - American Depositary Share", "NASDAQ"], "BPY": ["Brookfield Property Partners L.P. - Limited Partnership Units", "NASDAQ"], "BPYPN": ["Brookfield Property Partners L.P. - 5.750% Class A Cumulative Redeemable Perpetual Preferred Units, Series 3", "NASDAQ"], "BPYPO": ["Brookfield Property Partners L.P. - 6.375% Class A Cumulative Redeemable Perpetual Preferred Units, Series 2", "NASDAQ"], "BPYPP": ["Brookfield Property Partners L.P. - 6.50% Class A Cumulative Redeemable Perpetual Preferred Units", "NASDAQ"], "BPYU": ["Brookfield Property REIT Inc. - Class A Common Stock", "NASDAQ"], "BPYUP": ["Brookfield Property REIT Inc. - 6.375% Series A Preferred Stock", "NASDAQ"], "BREZ": ["Breeze Holdings Acquisition Corp. - Common Stock", "NASDAQ"], "BREZR": ["Breeze Holdings Acquisition Corp. - Right", "NASDAQ"], "BREZW": ["Breeze Holdings Acquisition Corp. - Warrant", "NASDAQ"], "BRID": ["Bridgford Foods Corporation - Common Stock", "NASDAQ"], "BRKL": ["Brookline Bancorp, Inc. - Common Stock", "NASDAQ"], "BRKR": ["Bruker Corporation - Common Stock", "NASDAQ"], "BRKS": ["Brooks Automation, Inc. - Common Stock", "NASDAQ"], "BRLI": ["Brilliant Acquisition Corporation - Ordinary Shares", "NASDAQ"], "BRLIR": ["Brilliant Acquisition Corporation - Rights", "NASDAQ"], "BRLIU": ["Brilliant Acquisition Corporation - Unit", "NASDAQ"], "BRLIW": ["Brilliant Acquisition Corporation - Warrants", "NASDAQ"], "BROG": ["Brooge Energy Limited - Ordinary Shares", "NASDAQ"], "BROGW": ["Brooge Energy Limited - Warrant", "NASDAQ"], "BRP": ["BRP Group, Inc. - Class A Common Stock", "NASDAQ"], "BRPA": ["Big Rock Partners Acquisition Corp. - Common Stock", "NASDAQ"], "BRPAR": ["Big Rock Partners Acquisition Corp. - Right", "NASDAQ"], "BRPAU": ["Big Rock Partners Acquisition Corp. - Unit", "NASDAQ"], "BRPAW": ["Big Rock Partners Acquisition Corp. - Warrant", "NASDAQ"], "BRPMU": ["B. Riley Principal 150 Merger Corp. - Unit", "NASDAQ"], "BRQS": ["Borqs Technologies, Inc. - Ordinary Shares", "NASDAQ"], "BRY": ["Berry Corporation (bry) - Common Stock", "NASDAQ"], "BSAE": ["Invesco BulletShares 2021 USD Emerging Markets Debt ETF", "NASDAQ"], "BSBE": ["Invesco BulletShares 2022 USD Emerging Markets Debt ETF", "NASDAQ"], "BSBK": ["Bogota Financial Corp. - Common Stock", "NASDAQ"], "BSCE": ["Invesco BulletShares 2023 USD Emerging Markets Debt ETF", "NASDAQ"], "BSCL": ["Invesco BulletShares 2021 Corporate Bond ETF", "NASDAQ"], "BSCM": ["Invesco BulletShares 2022 Corporate Bond ETF", "NASDAQ"], "BSCN": ["Invesco BulletShares 2023 Corporate Bond ETF", "NASDAQ"], "BSCO": ["Invesco BulletShares 2024 Corporate Bond ETF", "NASDAQ"], "BSCP": ["Invesco BulletShares 2025 Corporate Bond ETF", "NASDAQ"], "BSCQ": ["Invesco BulletShares 2026 Corporate Bond ETF", "NASDAQ"], "BSCR": ["Invesco BulletShares 2027 Corporate Bond ETF", "NASDAQ"], "BSCS": ["Invesco BulletShares 2028 Corporate Bond ETF", "NASDAQ"], "BSCT": ["Invesco BulletShares 2029 Corporate Bond ETF", "NASDAQ"], "BSCU": ["Invesco BulletShares 2030 Corporate Bond ETF", "NASDAQ"], "BSDE": ["Invesco BulletShares 2024 USD Emerging Markets Debt ETF", "NASDAQ"], "BSET": ["Bassett Furniture Industries, Incorporated - Common Stock", "NASDAQ"], "BSGM": ["BioSig Technologies, Inc. - Common Stock", "NASDAQ"], "BSJL": ["Invesco BulletShares 2021 High Yield Corporate Bond ETF", "NASDAQ"], "BSJM": ["Invesco BulletShares 2022 High Yield Corporate Bond ETF", "NASDAQ"], "BSJN": ["Invesco BulletShares 2023 High Yield Corporate Bond ETF", "NASDAQ"], "BSJO": ["Invesco BulletShares 2024 High Yield Corporate Bond ETF", "NASDAQ"], "BSJP": ["Invesco BulletShares 2025 High Yield Corporate Bond ETF", "NASDAQ"], "BSJQ": ["Invesco BulletShares 2026 High Yield Corporate Bond ETF", "NASDAQ"], "BSJR": ["Invesco BulletShares 2027 High Yield Corporate Bond ETF", "NASDAQ"], "BSJS": ["Invesco BulletShares 2028 High Yield Corporate Bond ETF", "NASDAQ"], "BSML": ["Invesco BulletShares 2021 Municipal Bond ETF", "NASDAQ"], "BSMM": ["Invesco BulletShares 2022 Municipal Bond ETF", "NASDAQ"], "BSMN": ["Invesco BulletShares 2023 Municipal Bond ETF", "NASDAQ"], "BSMO": ["Invesco BulletShares 2024 Municipal Bond ETF", "NASDAQ"], "BSMP": ["Invesco BulletShares 2025 Municipal Bond ETF", "NASDAQ"], "BSMQ": ["Invesco BulletShares 2026 Municipal Bond ETF", "NASDAQ"], "BSMR": ["Invesco BulletShares 2027 Municipal Bond ETF", "NASDAQ"], "BSMS": ["Invesco BulletShares 2028 Municipal Bond ETF", "NASDAQ"], "BSMT": ["Invesco BulletShares 2029 Municipal Bond ETF", "NASDAQ"], "BSMU": ["Invesco BulletShares 2030 Municipal Bond ETF", "NASDAQ"], "BSPE": ["Bespoke Capital Acquisition Corp. - Class A Restricted Voting Shares", "NASDAQ"], "BSQR": ["BSQUARE Corporation - Common Stock", "NASDAQ"], "BSRR": ["Sierra Bancorp - Common Stock", "NASDAQ"], "BSVN": ["Bank7 Corp. - Common stock", "NASDAQ"], "BSY": ["Bentley Systems, Incorporated - Class B Common Stock", "NASDAQ"], "BTAI": ["BioXcel Therapeutics, Inc. - Common Stock", "NASDAQ"], "BTAQ": ["Burgundy Technology Acquisition Corporation - Class A Ordinary Shares", "NASDAQ"], "BTAQU": ["Burgundy Technology Acquisition Corporation - Unit", "NASDAQ"], "BTAQW": ["Burgundy Technology Acquisition Corporation - Warrant", "NASDAQ"], "BTBT": ["Bit Digital, Inc. - Ordinary Share", "NASDAQ"], "BTEC": ["Principal Healthcare Innovators Index ETF", "NASDAQ"], "BTNB": ["Bridgetown 2 Holdings Limited - Class A Ordinary Shares", "NASDAQ"], "BTRS": ["BTRS Holdings Inc. - Class 1 Common Stock", "NASDAQ"], "BTRSW": ["BTRS Holdings Inc. - Warrants", "NASDAQ"], "BTWN": ["Bridgetown Holdings Limited - Class A Ordinary Shares", "NASDAQ"], "BTWNU": ["Bridgetown Holdings Limited - Units", "NASDAQ"], "BTWNW": ["Bridgetown Holdings Limited - Warrants", "NASDAQ"], "BUG": ["Global X Cybersecurity ETF", "NASDAQ"], "BUSE": ["First Busey Corporation - Common Stock", "NASDAQ"], "BVS": ["Bioventus Inc. - Class A Common Stock", "NASDAQ"], "BVXV": ["BiondVax Pharmaceuticals Ltd. - American Depositary Shares", "NASDAQ"], "BWAC": ["Better World Acquisition Corp. - Common Stock", "NASDAQ"], "BWACU": ["Better World Acquisition Corp. - Unit", "NASDAQ"], "BWACW": ["Better World Acquisition Corp. - Warrants", "NASDAQ"], "BWAY": ["Brainsway Ltd. - American Depositary Shares", "NASDAQ"], "BWB": ["Bridgewater Bancshares, Inc. - Common Stock", "NASDAQ"], "BWEN": ["Broadwind, Inc. - Common Stock", "NASDAQ"], "BWFG": ["Bankwell Financial Group, Inc. - Common Stock", "NASDAQ"], "BWMX": ["Betterware de Mexico, S.A.B de C.V. - Ordinary Shares", "NASDAQ"], "BXRX": ["Baudax Bio, Inc. - Common stock", "NASDAQ"], "BYFC": ["Broadway Financial Corporation - Common Stock", "NASDAQ"], "BYND": ["Beyond Meat, Inc. - Common stock", "NASDAQ"], "BYSI": ["BeyondSpring, Inc. - Ordinary Shares", "NASDAQ"], "BZUN": ["Baozun Inc. - American Depositary Shares", "NASDAQ"], "CAAS": ["China Automotive Systems, Inc. - Common Stock", "NASDAQ"], "CABA": ["Cabaletta Bio, Inc. - Common Stock", "NASDAQ"], "CAC": ["Camden National Corporation - Common Stock", "NASDAQ"], "CACC": ["Credit Acceptance Corporation - Common Stock", "NASDAQ"], "CACG": ["ClearBridge All Cap Growth ETF", "NASDAQ"], "CAHC": ["CA Healthcare Acquisition Corp. - Class A Common Stock", "NASDAQ"], "CAHCU": ["CA Healthcare Acquisition Corp. - Unit", "NASDAQ"], "CAHCW": ["CA Healthcare Acquisition Corp. - Warrant", "NASDAQ"], "CAKE": ["The Cheesecake Factory Incorporated - Common Stock", "NASDAQ"], "CALA": ["Calithera Biosciences, Inc. - Common Stock", "NASDAQ"], "CALB": ["California BanCorp - Common Stock", "NASDAQ"], "CALM": ["Cal-Maine Foods, Inc. - Common Stock", "NASDAQ"], "CALT": ["Calliditas Therapeutics AB - American Depositary Shares", "NASDAQ"], "CAMP": ["CalAmp Corp. - Common Stock", "NASDAQ"], "CAMT": ["Camtek Ltd. - Ordinary Shares", "NASDAQ"], "CAN": ["Canaan Inc. - American Depositary Shares", "NASDAQ"], "CAPA": ["HighCape Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "CAPAU": ["HighCape Capital Acquisition Corp. - Unit", "NASDAQ"], "CAPAW": ["HighCape Capital Acquisition Corp. - Warrant", "NASDAQ"], "CAPR": ["Capricor Therapeutics, Inc. - Common Stock", "NASDAQ"], "CAR": ["Avis Budget Group, Inc. - Common Stock", "NASDAQ"], "CARA": ["Cara Therapeutics, Inc. - Common Stock", "NASDAQ"], "CARE": ["Carter Bankshares, Inc. - Common Stock", "NASDAQ"], "CARG": ["CarGurus, Inc. - Class A Common Stock", "NASDAQ"], "CARV": ["Carver Bancorp, Inc. - Common Stock", "NASDAQ"], "CARZ": ["First Trust NASDAQ Global Auto Index Fund", "NASDAQ"], "CASA": ["Casa Systems, Inc. - Common Stock", "NASDAQ"], "CASH": ["Meta Financial Group, Inc. - Common Stock", "NASDAQ"], "CASI": ["CASI Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CASS": ["Cass Information Systems, Inc - Common Stock", "NASDAQ"], "CASY": ["Caseys General Stores, Inc. - Common Stock", "NASDAQ"], "CATB": ["Catabasis Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CATC": ["Cambridge Bancorp - Common Stock", "NASDAQ"], "CATH": ["Global X S&P 500 Catholic Values ETF", "NASDAQ"], "CATM": ["Cardtronics plc - Common Stock", "NASDAQ"], "CATY": ["Cathay General Bancorp - Common Stock", "NASDAQ"], "CBAN": ["Colony Bankcorp, Inc. - Common Stock", "NASDAQ"], "CBAT": ["CBAK Energy Technology, Inc. - Common Stock", "NASDAQ"], "CBAY": ["CymaBay Therapeutics Inc. - Common Stock", "NASDAQ"], "CBFV": ["CB Financial Services, Inc. - Common Stock", "NASDAQ"], "CBIO": ["Catalyst Biosciences, Inc. - Common Stock", "NASDAQ"], "CBLI": ["Cleveland BioLabs, Inc. - Common Stock", "NASDAQ"], "CBMB": ["CBM Bancorp, Inc. - Common Stock", "NASDAQ"], "CBNK": ["Capital Bancorp, Inc. - Common Stock", "NASDAQ"], "CBPO": ["China Biologic Products Holdings, Inc. - Common Stock", "NASDAQ"], "CBRL": ["Cracker Barrel Old Country Store, Inc. - Common Stock", "NASDAQ"], "CBSH": ["Commerce Bancshares, Inc. - Common Stock", "NASDAQ"], "CBTX": ["CBTX, Inc. - Common Stock", "NASDAQ"], "CCAP": ["Crescent Capital BDC, Inc. - Common Stock", "NASDAQ"], "CCB": ["Coastal Financial Corporation - Common Stock", "NASDAQ"], "CCBG": ["Capital City Bank Group - Common Stock", "NASDAQ"], "CCCC": ["C4 Therapeutics, Inc. - Common Stock", "NASDAQ"], "CCD": ["Calamos Dynamic Convertible & Income Fund - Common Shares", "NASDAQ"], "CCLP": ["CSI Compressco LP - common units", "NASDAQ"], "CCMP": ["CMC Materials, Inc. - Common Stock", "NASDAQ"], "CCNC": ["Code Chain New Continent Limited - Common Stock", "NASDAQ"], "CCNE": ["CNB Financial Corporation - Common Stock", "NASDAQ"], "CCNEP": ["CNB Financial Corporation - Depositary shares, each representing a 1/40th ownership interest in a share of 7.125% Series A Fixed- Rate Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "CCOI": ["Cogent Communications Holdings, Inc. - Common Stock", "NASDAQ"], "CCRC": ["China Customer Relations Centers, Inc. - Ordinary Shares", "NASDAQ"], "CCRN": ["Cross Country Healthcare, Inc. - Common Stock", "NASDAQ"], "CCXI": ["ChemoCentryx, Inc. - Common Stock", "NASDAQ"], "CD": ["Chindata Group Holdings Limited - American Depositary Shares", "NASDAQ"], "CDAK": ["Codiak BioSciences, Inc. - Common Stock", "NASDAQ"], "CDC": ["VictoryShares US EQ Income Enhanced Volatility Wtd ETF", "NASDAQ"], "CDEV": ["Centennial Resource Development, Inc. - Class A Common Stock", "NASDAQ"], "CDK": ["CDK Global, Inc. - Common Stock", "NASDAQ"], "CDL": ["VictoryShares US Large Cap High Div Volatility Wtd ETF", "NASDAQ"], "CDLX": ["Cardlytics, Inc. - Common Stock", "NASDAQ"], "CDMO": ["Avid Bioservices, Inc. - Common Stock", "NASDAQ"], "CDMOP": ["Avid Bioservices, Inc. - 10.50% Series E Convertible Preferred Stock", "NASDAQ"], "CDNA": ["CareDx, Inc. - Common Stock", "NASDAQ"], "CDNS": ["Cadence Design Systems", "S&P500"], "CDTX": ["Cidara Therapeutics, Inc. - Common Stock", "NASDAQ"], "CDW": ["CDW", "S&P500"], "CDXC": ["ChromaDex Corporation - Common Stock", "NASDAQ"], "CDXS": ["Codexis, Inc. - Common Stock", "NASDAQ"], "CDZI": ["Cadiz, Inc. - Common Stock", "NASDAQ"], "CECE": ["CECO Environmental Corp. - Common Stock", "NASDAQ"], "CEFA": ["Global X S&P Catholic Values Developed ex-U.S. ETF", "NASDAQ"], "CELC": ["Celcuity Inc. - Common Stock", "NASDAQ"], "CELH": ["Celsius Holdings, Inc. - Common Stock", "NASDAQ"], "CEMI": ["Chembio Diagnostics, Inc. - Common Stock", "NASDAQ"], "CENHU": ["Centricus Acquisition Corp. - Unit", "NASDAQ"], "CENT": ["Central Garden & Pet Company - Common Stock", "NASDAQ"], "CENTA": ["Central Garden & Pet Company - Class A Common Stock Nonvoting", "NASDAQ"], "CENX": ["Century Aluminum Company - Common Stock", "NASDAQ"], "CERC": ["Cerecor Inc. - Common Stock", "NASDAQ"], "CERE": ["Cerevel Therapeutics Holdings, Inc. - Common Stock", "NASDAQ"], "CEREW": ["Cerevel Therapeutics Holdings, Inc. - Warrant", "NASDAQ"], "CERN": ["Cerner", "S&P500"], "CERS": ["Cerus Corporation - Common Stock", "NASDAQ"], "CERT": ["Certara, Inc. - Common Stock", "NASDAQ"], "CETX": ["Cemtrex Inc. - Common Stock", "NASDAQ"], "CETXP": ["Cemtrex Inc. - Series 1 Preferred Stock", "NASDAQ"], "CETXW": ["Cemtrex Inc. - Series 1 Warrant", "NASDAQ"], "CEVA": ["CEVA, Inc. - Common Stock", "NASDAQ"], "CEY": ["VictoryShares Emerging Market High Div Volatility Wtd ETF", "NASDAQ"], "CEZ": ["VictoryShares Emerging Market Volatility Wtd ETF", "NASDAQ"], "CFA": ["VictoryShares US 500 Volatility Wtd ETF", "NASDAQ"], "CFAC": ["CF Finance Acquisition Corp. III - Common Stock", "NASDAQ"], "CFACU": ["CF Finance Acquisition Corp. III - Unit", "NASDAQ"], "CFACW": ["CF Finance Acquisition Corp. III - Warrant", "NASDAQ"], "CFB": ["CrossFirst Bankshares, Inc. - Common Stock", "NASDAQ"], "CFBK": ["CF Bankshares Inc. - Common Stock", "NASDAQ"], "CFFEU": ["CF Acquisition Corp. VIII - Unit", "NASDAQ"], "CFFI": ["C&F Financial Corporation - Common Stock", "NASDAQ"], "CFFN": ["Capitol Federal Financial, Inc. - Common Stock", "NASDAQ"], "CFFVU": ["CF Acquisition Corp. V - Unit", "NASDAQ"], "CFIV": ["CF Acquisition Corp. IV - Class A common stock", "NASDAQ"], "CFIVU": ["CF Acquisition Corp. IV - Unit", "NASDAQ"], "CFIVW": ["CF Acquisition Corp. IV - Warrant", "NASDAQ"], "CFMS": ["Conformis, Inc. - Common Stock", "NASDAQ"], "CFO": ["VictoryShares US 500 Enhanced Volatility Wtd ETF", "NASDAQ"], "CFRX": ["ContraFect Corporation - Common Stock", "NASDAQ"], "CFVIU": ["CF Acquisition Corp. VI - Unit", "NASDAQ"], "CG": ["The Carlyle Group Inc. - Common Stock", "NASDAQ"], "CGBD": ["TCG BDC, Inc. - Common Stock", "NASDAQ"], "CGC": ["Canopy Growth Corporation - Common Shares", "NASDAQ"], "CGEM": ["Cullinan Oncology, Inc. - Common Stock", "NASDAQ"], "CGEN": ["Compugen Ltd. - Ordinary Shares", "NASDAQ"], "CGIX": ["Cancer Genetics, Inc. - Common Stock", "NASDAQ"], "CGNT": ["Cognyte Software Ltd. - Ordinary Shares", "NASDAQ"], "CGNX": ["Cognex Corporation - Common Stock", "NASDAQ"], "CGO": ["Calamos Global Total Return Fund - Common Stock", "NASDAQ"], "CGRO": ["Collective Growth Corporation - Class A Common Stock", "NASDAQ"], "CGROU": ["Collective Growth Corporation - Unit", "NASDAQ"], "CGROW": ["Collective Growth Corporation - Warrant", "NASDAQ"], "CHB": ["Global X China Biotech Innovation ETF", "NASDAQ"], "CHCI": ["Comstock Holding Companies, Inc. - Class A Common Stock", "NASDAQ"], "CHCO": ["City Holding Company - Common Stock", "NASDAQ"], "CHDN": ["Churchill Downs, Incorporated - Common Stock", "NASDAQ"], "CHEF": ["The Chefs' Warehouse, Inc. - Common Stock", "NASDAQ"], "CHEK": ["Check-Cap Ltd. - Ordinary Share", "NASDAQ"], "CHEKZ": ["Check-Cap Ltd. - Series C Warrant", "NASDAQ"], "CHFS": ["CHF Solutions, Inc. - Common Stock", "NASDAQ"], "CHI": ["Calamos Convertible Opportunities and Income Fund - Common Stock", "NASDAQ"], "CHK": ["Chesapeake Energy Corporation - Common Stock", "NASDAQ"], "CHKEL": ["Chesapeake Energy Corporation - Class C Warrants", "NASDAQ"], "CHKEW": ["Chesapeake Energy Corporation - Class A Warrants", "NASDAQ"], "CHKEZ": ["Chesapeake Energy Corporation - Class B Warrants", "NASDAQ"], "CHKP": ["Check Point Software Technologies Ltd. - Ordinary Shares", "NASDAQ"], "CHMA": ["Chiasma, Inc. - Common Stock", "NASDAQ"], "CHMG": ["Chemung Financial Corp - Common Stock", "NASDAQ"], "CHNA": ["Loncar China BioPharma ETF", "NASDAQ"], "CHNG": ["Change Healthcare Inc. - Common Stock", "NASDAQ"], "CHNGU": ["Change Healthcare Inc. - Tangible Equity Units", "NASDAQ"], "CHNR": ["China Natural Resources, Inc. - Common Stock", "NASDAQ"], "CHPM": ["CHP Merger Corp. - Class A Common Stock", "NASDAQ"], "CHPMU": ["CHP Merger Corp. - Unit", "NASDAQ"], "CHPMW": ["CHP Merger Corp. - Warrant", "NASDAQ"], "CHRS": ["Coherus BioSciences, Inc. - Common Stock", "NASDAQ"], "CHRW": ["C. H. Robinson Worldwide", "S&P500"], "CHSCL": ["CHS Inc - Class B Cumulative Redeemable Preferred Stock, Series 4", "NASDAQ"], "CHSCM": ["CHS Inc - Class B Reset Rate Cumulative Redeemable Preferred Stock, Series 3", "NASDAQ"], "CHSCN": ["CHS Inc - Preferred Class B Series 2 Reset Rate", "NASDAQ"], "CHSCO": ["CHS Inc - Class B Cumulative Redeemable Preferred Stock", "NASDAQ"], "CHSCP": ["CHS Inc - 8% Cumulative Redeemable Preferred Stock", "NASDAQ"], "CHTR": ["Charter Communications", "S&P500"], "CHUY": ["Chuy's Holdings, Inc. - Common Stock", "NASDAQ"], "CHW": ["Calamos Global Dynamic Income Fund - Common Stock", "NASDAQ"], "CHX": ["ChampionX Corporation - Common Stock", "NASDAQ"], "CHY": ["Calamos Convertible and High Income Fund - Common Stock", "NASDAQ"], "CIBR": ["First Trust NASDAQ Cybersecurity ETF", "NASDAQ"], "CID": ["VictoryShares International High Div Volatility Wtd ETF", "NASDAQ"], "CIDM": ["Cinedigm Corp - Class A Common Stock", "NASDAQ"], "CIGI": ["Colliers International Group Inc. - Subordinate Voting Shares", "NASDAQ"], "CIH": ["China Index Holdings Limited - American Depository Shares", "NASDAQ"], "CIIC": ["CIIG Merger Corp. - Class A Common Stock", "NASDAQ"], "CIICU": ["CIIG Merger Corp. - Units", "NASDAQ"], "CIICW": ["CIIG Merger Corp. - Warrants", "NASDAQ"], "CIL": ["VictoryShares International Volatility Wtd ETF", "NASDAQ"], "CINF": ["Cincinnati Financial", "S&P500"], "CIVB": ["Civista Bancshares, Inc. - Common Stock", "NASDAQ"], "CIZ": ["VictoryShares Developed Enhanced Volatility Wtd ETF", "NASDAQ"], "CIZN": ["Citizens Holding Company - Common Stock", "NASDAQ"], "CJJD": ["China Jo-Jo Drugstores, Inc. - Common Stock", "NASDAQ"], "CKPT": ["Checkpoint Therapeutics, Inc. - Common Stock", "NASDAQ"], "CLAR": ["Clarus Corporation - Common Stock", "NASDAQ"], "CLBK": ["Columbia Financial, Inc. - Common Stock", "NASDAQ"], "CLBS": ["Caladrius Biosciences, Inc. - Common Stock", "NASDAQ"], "CLDB": ["Cortland Bancorp - Common Stock", "NASDAQ"], "CLDX": ["Celldex Therapeutics, Inc. - Common Stock", "NASDAQ"], "CLEU": ["China Liberal Education Holdings Limited - Ordinary Shares", "NASDAQ"], "CLFD": ["Clearfield, Inc. - Common Stock", "NASDAQ"], "CLGN": ["CollPlant Biotechnologies Ltd. - American Depositary Shares", "NASDAQ"], "CLIR": ["ClearSign Technologies Corporation - Common Stock", "NASDAQ"], "CLLS": ["Cellectis S.A. - American Depositary Shares", "NASDAQ"], "CLMT": ["Calumet Specialty Products Partners, L.P. - Common units representing limited partner interests", "NASDAQ"], "CLNE": ["Clean Energy Fuels Corp. - Common Stock", "NASDAQ"], "CLNN": ["Clene Inc. - Common Stock", "NASDAQ"], "CLNNW": ["Clene Inc. - Warrant", "NASDAQ"], "CLOU": ["Global X Cloud Computing ETF", "NASDAQ"], "CLOV": ["Clover Health Investments, Corp. - Class A Common stock", "NASDAQ"], "CLOVW": ["Clover Health Investments, Corp. - Warrants", "NASDAQ"], "CLPS": ["CLPS Incorporation - Common Stock", "NASDAQ"], "CLPT": ["ClearPoint Neuro Inc. - Common Stock", "NASDAQ"], "CLRB": ["Cellectar Biosciences, Inc. - Common Stock", "NASDAQ"], "CLRBZ": ["Cellectar Biosciences, Inc. - Series A Warrants", "NASDAQ"], "CLRG": ["IQ Chaikin U.S. Large Cap ETF", "NASDAQ"], "CLRMU": ["Clarim Acquisition Corp. - Unit", "NASDAQ"], "CLRO": ["ClearOne, Inc. - Common Stock", "NASDAQ"], "CLSD": ["Clearside Biomedical, Inc. - Common Stock", "NASDAQ"], "CLSK": ["CleanSpark, Inc. - Common Stock", "NASDAQ"], "CLSN": ["Celsion Corporation - Common Stock", "NASDAQ"], "CLVR": ["Clever Leaves Holdings Inc. - Common Shares", "NASDAQ"], "CLVRW": ["Clever Leaves Holdings Inc. - Warrant", "NASDAQ"], "CLVS": ["Clovis Oncology, Inc. - Common Stock", "NASDAQ"], "CLWT": ["Euro Tech Holdings Company Limited - Ordinary Shares", "NASDAQ"], "CLXT": ["Calyxt, Inc. - Common Stock", "NASDAQ"], "CMBM": ["Cambium Networks Corporation - Ordinary Shares", "NASDAQ"], "CMCO": ["Columbus McKinnon Corporation - Common Stock", "NASDAQ"], "CMCSA": ["Comcast Corp.", "S&P500"], "CMCT": ["CIM Commercial Trust Corporation - Common Stock", "NASDAQ"], "CMCTP": ["CIM Commercial Trust Corporation - Series L Preferred Stock", "NASDAQ"], "CME": ["CME Group Inc.", "S&P500"], "CMFNL": ["Investcorp Credit Management BDC, Inc. - 6.125% Notes due 2023", "NASDAQ"], "CMIIU": ["CM Life Sciences II Inc. - Unit", "NASDAQ"], "CMLF": ["CM Life Sciences, Inc. - Class A Common Stock", "NASDAQ"], "CMLFU": ["CM Life Sciences, Inc. - Unit", "NASDAQ"], "CMLFW": ["CM Life Sciences, Inc. - Warrant", "NASDAQ"], "CMLS": ["Cumulus Media Inc. - Class A Common Stock", "NASDAQ"], "CMMB": ["Chemomab Therapeutics Ltd. - American Depositary Shares", "NASDAQ"], "CMPI": ["Checkmate Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CMPR": ["Cimpress plc - Ordinary Shares", "NASDAQ"], "CMPS": ["COMPASS Pathways Plc - American Depository Shares", "NASDAQ"], "CMRX": ["Chimerix, Inc. - Common Stock", "NASDAQ"], "CMTL": ["Comtech Telecommunications Corp. - Common Stock", "NASDAQ"], "CNBKA": ["Century Bancorp, Inc. - Class A Common Stock", "NASDAQ"], "CNCE": ["Concert Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CNCR": ["Loncar Cancer Immunotherapy ETF", "NASDAQ"], "CNDT": ["Conduent Incorporated - Common Stock", "NASDAQ"], "CNET": ["ZW Data Action Technologies Inc. - Common Stock", "NASDAQ"], "CNEY": ["CN Energy Group Inc. - Ordinary Shares", "NASDAQ"], "CNFR": ["Conifer Holdings, Inc. - Common Stock", "NASDAQ"], "CNFRL": ["Conifer Holdings, Inc. - Senior Unsecured Notes", "NASDAQ"], "CNNB": ["Cincinnati Bancorp, Inc. - Common Stock", "NASDAQ"], "CNOB": ["ConnectOne Bancorp, Inc. - Common Stock", "NASDAQ"], "CNSL": ["Consolidated Communications Holdings, Inc. - Common Stock", "NASDAQ"], "CNSP": ["CNS Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CNST": ["Constellation Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CNTG": ["Centogene N.V. - Common Shares", "NASDAQ"], "CNTY": ["Century Casinos, Inc. - Common Stock", "NASDAQ"], "CNXC": ["Concentrix Corporation - Common Stock", "NASDAQ"], "CNXN": ["PC Connection, Inc. - Common Stock", "NASDAQ"], "COCP": ["Cocrystal Pharma, Inc. - Common Stock", "NASDAQ"], "CODA": ["Coda Octopus Group, Inc. - Common stock", "NASDAQ"], "CODX": ["Co-Diagnostics, Inc. - Common Stock", "NASDAQ"], "COFS": ["ChoiceOne Financial Services, Inc. - Common Stock", "NASDAQ"], "COGT": ["Cogent Biosciences, Inc. - Common Stock", "NASDAQ"], "COHR": ["Coherent, Inc. - Common Stock", "NASDAQ"], "COHU": ["Cohu, Inc. - Common Stock", "NASDAQ"], "COKE": ["Coca-Cola Consolidated, Inc. - Common Stock", "NASDAQ"], "COLB": ["Columbia Banking System, Inc. - Common Stock", "NASDAQ"], "COLIU": ["Colicity Inc. - Units", "NASDAQ"], "COLL": ["Collegium Pharmaceutical, Inc. - Common Stock", "NASDAQ"], "COLM": ["Columbia Sportswear Company - Common Stock", "NASDAQ"], "COMM": ["CommScope Holding Company, Inc. - Common Stock", "NASDAQ"], "COMS": ["ComSovereign Holding Corp. - Common Stock", "NASDAQ"], "COMSW": ["ComSovereign Holding Corp. - Warrants", "NASDAQ"], "COMT": ["iShares GSCI Commodity Dynamic Roll Strategy ETF", "NASDAQ"], "CONE": ["CyrusOne Inc - Common Stock", "NASDAQ"], "CONN": ["Conn's, Inc. - Common Stock", "NASDAQ"], "CONX": ["CONX Corp. - Class A Common Stock", "NASDAQ"], "CONXU": ["CONX Corp. - Unit", "NASDAQ"], "CONXW": ["CONX Corp. - Warrant", "NASDAQ"], "COOL": ["Corner Growth Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "COOLU": ["Corner Growth Acquisition Corp. - Unit", "NASDAQ"], "COOLW": ["Corner Growth Acquisition Corp. - Warrant", "NASDAQ"], "COOP": ["Mr. Cooper Group Inc. - Common Stock", "NASDAQ"], "CORE": ["Core-Mark Holding Company, Inc. - Common Stock", "NASDAQ"], "CORT": ["Corcept Therapeutics Incorporated - Common Stock", "NASDAQ"], "COST": ["Costco Wholesale Corp.", "S&P500"], "COUP": ["Coupa Software Incorporated - Common Stock", "NASDAQ"], "COVAU": ["COVA Acquisition Corp. - Unit", "NASDAQ"], "COWN": ["Cowen Inc. - Class A Common Stock", "NASDAQ"], "COWNL": ["Cowen Inc. - 7.75% Senior Notes due 2033", "NASDAQ"], "COWNZ": ["Cowen Inc. - 7.35% Senior Notes Due 2027", "NASDAQ"], "CPHC": ["Canterbury Park Holding Corporation - Common Stock", "NASDAQ"], "CPIX": ["Cumberland Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "CPLP": ["Capital Product Partners L.P. - common units representing limited partner interests", "NASDAQ"], "CPRT": ["Copart Inc", "S&P500"], "CPRX": ["Catalyst Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CPSH": ["CPS Technologies Corp. - Common Stock", "NASDAQ"], "CPSI": ["Computer Programs and Systems, Inc. - Common Stock", "NASDAQ"], "CPSS": ["Consumer Portfolio Services, Inc. - Common Stock", "NASDAQ"], "CPST": ["Capstone Turbine Corporation - Common Stock", "NASDAQ"], "CPTA": ["Capitala Finance Corp. - Common Stock", "NASDAQ"], "CPTAG": ["Capitala Finance Corp. - 5.75% Convertible Notes Due 2022", "NASDAQ"], "CPTAL": ["Capitala Finance Corp. - 6% Notes Due 2022", "NASDAQ"], "CPZ": ["Calamos Long/Short Equity & Dynamic Income Trust - Common Stock", "NASDAQ"], "CRAI": ["CRA International,Inc. - Common Stock", "NASDAQ"], "CRBP": ["Corbus Pharmaceuticals Holdings, Inc. - Common Stock", "NASDAQ"], "CRDF": ["Cardiff Oncology, Inc. - Common Stock", "NASDAQ"], "CREE": ["Cree, Inc. - Common Stock", "NASDAQ"], "CREG": ["China Recycling Energy Corporation - Common Stock", "NASDAQ"], "CRESY": ["Cresud S.A.C.I.F. y A. - American Depositary Shares, each representing ten shares of Common Stock", "NASDAQ"], "CREX": ["Creative Realities, Inc. - Common Stock", "NASDAQ"], "CREXW": ["Creative Realities, Inc. - Warrant", "NASDAQ"], "CRIS": ["Curis, Inc. - Common Stock", "NASDAQ"], "CRKN": ["Crown Electrokinetics Corp. - Common Stock", "NASDAQ"], "CRMD": ["CorMedix Inc. - Common Stock", "NASDAQ"], "CRMT": ["America's Car-Mart, Inc. - Common Stock", "NASDAQ"], "CRNC": ["Cerence Inc. - Common Stock", "NASDAQ"], "CRNT": ["Ceragon Networks Ltd. - Ordinary Shares", "NASDAQ"], "CRNX": ["Crinetics Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CRON": ["Cronos Group Inc. - Common Share", "NASDAQ"], "CROX": ["Crocs, Inc. - Common Stock", "NASDAQ"], "CRSA": ["Crescent Acquisition Corp - Class A Common Stock", "NASDAQ"], "CRSAU": ["Crescent Acquisition Corp - Unit", "NASDAQ"], "CRSAW": ["Crescent Acquisition Corp - Warrant", "NASDAQ"], "CRSP": ["CRISPR Therapeutics AG - Common Shares", "NASDAQ"], "CRSR": ["Corsair Gaming, Inc. - Common Stock", "NASDAQ"], "CRTD": ["Creatd Inc. - Common Stock", "NASDAQ"], "CRTDW": ["Creatd Inc. - Warrant", "NASDAQ"], "CRTO": ["Criteo S.A. - American Depositary Shares", "NASDAQ"], "CRTX": ["Cortexyme, Inc. - Common Stock", "NASDAQ"], "CRUS": ["Cirrus Logic, Inc. - Common Stock", "NASDAQ"], "CRVL": ["CorVel Corp. - Common Stock", "NASDAQ"], "CRVS": ["Corvus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CRWD": ["CrowdStrike Holdings, Inc. - Class A Common Stock", "NASDAQ"], "CRWS": ["Crown Crafts, Inc. - Common Stock", "NASDAQ"], "CSA": ["VictoryShares US Small Cap Volatility Wtd ETF", "NASDAQ"], "CSB": ["VictoryShares US Small Cap High Div Volatility Wtd ETF", "NASDAQ"], "CSBR": ["Champions Oncology, Inc. - Common Stock", "NASDAQ"], "CSCO": ["Cisco Systems", "S&P500"], "CSCW": ["Color Star Technology Co. Ltd. - Ordinary Shares", "NASDAQ"], "CSF": ["VictoryShares US Discovery Enhanced Volatility Wtd ETF", "NASDAQ"], "CSGP": ["CoStar Group, Inc. - Common Stock", "NASDAQ"], "CSGS": ["CSG Systems International, Inc. - Common Stock", "NASDAQ"], "CSII": ["Cardiovascular Systems, Inc. - Common Stock", "NASDAQ"], "CSIQ": ["Canadian Solar Inc. - Common Shares", "NASDAQ"], "CSML": ["IQ Chaikin U.S. Small Cap ETF", "NASDAQ"], "CSOD": ["Cornerstone OnDemand, Inc. - Common Stock", "NASDAQ"], "CSPI": ["CSP Inc. - Common Stock", "NASDAQ"], "CSQ": ["Calamos Strategic Total Return Fund - Common Stock", "NASDAQ"], "CSSE": ["Chicken Soup for the Soul Entertainment, Inc. - Class A Common Stock", "NASDAQ"], "CSSEN": ["Chicken Soup for the Soul Entertainment, Inc. - 9.50% Notes due 2025", "NASDAQ"], "CSSEP": ["Chicken Soup for the Soul Entertainment, Inc. - 9.75% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "CSTE": ["Caesarstone Ltd. - Ordinary Shares", "NASDAQ"], "CSTL": ["Castle Biosciences, Inc. - Common stock", "NASDAQ"], "CSTR": ["CapStar Financial Holdings, Inc. - Common Stock", "NASDAQ"], "CSWC": ["Capital Southwest Corporation - Common Stock", "NASDAQ"], "CSWI": ["CSW Industrials, Inc. - Common Stock", "NASDAQ"], "CSX": ["CSX Corp.", "S&P500"], "CTAQ": ["Carney Technology Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "CTAQU": ["Carney Technology Acquisition Corp. II - Units", "NASDAQ"], "CTAQW": ["Carney Technology Acquisition Corp. II - Warrant", "NASDAQ"], "CTAS": ["Cintas Corporation", "S&P500"], "CTBI": ["Community Trust Bancorp, Inc. - Common Stock", "NASDAQ"], "CTEC": ["Global X CleanTech ETF", "NASDAQ"], "CTG": ["Computer Task Group, Incorporated - Common Stock", "NASDAQ"], "CTHR": ["Charles & Colvard Ltd. - Common Stock", "NASDAQ"], "CTIB": ["Yunhong CTI Ltd. - Common Stock", "NASDAQ"], "CTIC": ["CTI BioPharma Corp. - Common Stock", "NASDAQ"], "CTMX": ["CytomX Therapeutics, Inc. - Common Stock", "NASDAQ"], "CTRE": ["CareTrust REIT, Inc. - Common Stock", "NASDAQ"], "CTRM": ["Castor Maritime Inc. - Common Shares", "NASDAQ"], "CTRN": ["Citi Trends, Inc. - Common Stock", "NASDAQ"], "CTSH": ["Cognizant Technology Solutions", "S&P500"], "CTSO": ["Cytosorbents Corporation - Common Stock", "NASDAQ"], "CTXR": ["Citius Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CTXRW": ["Citius Pharmaceuticals, Inc. - Warrant", "NASDAQ"], "CTXS": ["Citrix Systems", "S&P500"], "CUBA": ["The Herzfeld Caribbean Basin Fund, Inc. - Closed End FUnd", "NASDAQ"], "CUE": ["Cue Biopharma, Inc. - Common Stock", "NASDAQ"], "CUEN": ["Cuentas, Inc. - Common Stock", "NASDAQ"], "CUENW": ["Cuentas, Inc. - Warrant", "NASDAQ"], "CURI": ["CuriosityStream Inc. - Class A Common Stock", "NASDAQ"], "CURIW": ["CuriosityStream Inc. - Warrant", "NASDAQ"], "CUTR": ["Cutera, Inc. - Common Stock", "NASDAQ"], "CVAC": ["CureVac N.V. - Ordinary Shares", "NASDAQ"], "CVBF": ["CVB Financial Corporation - Common Stock", "NASDAQ"], "CVCO": ["Cavco Industries, Inc. - Common Stock", "NASDAQ"], "CVCY": ["Central Valley Community Bancorp - Common Stock", "NASDAQ"], "CVET": ["Covetrus, Inc. - Common Stock", "NASDAQ"], "CVGI": ["Commercial Vehicle Group, Inc. - Common Stock", "NASDAQ"], "CVGW": ["Calavo Growers, Inc. - Common Stock", "NASDAQ"], "CVLG": ["Covenant Logistics Group, Inc. - Class A Common Stock", "NASDAQ"], "CVLT": ["Commvault Systems, Inc. - Common Stock", "NASDAQ"], "CVLY": ["Codorus Valley Bancorp, Inc - Common Stock", "NASDAQ"], "CVV": ["CVD Equipment Corporation - Common Stock", "NASDAQ"], "CWBC": ["Community West Bancshares - Common Stock", "NASDAQ"], "CWBR": ["CohBar, Inc. - Common Stock", "NASDAQ"], "CWCO": ["Consolidated Water Co. Ltd. - Ordinary Shares", "NASDAQ"], "CWST": ["Casella Waste Systems, Inc. - Class A Common Stock", "NASDAQ"], "CXDC": ["China XD Plastics Company Limited - Common Stock", "NASDAQ"], "CXDO": ["Crexendo, Inc. - Common Stock", "NASDAQ"], "CXSE": ["WisdomTree China ex-State-Owned Enterprises Fund", "NASDAQ"], "CYAD": ["Celyad Oncology SA - American Depositary Shares", "NASDAQ"], "CYAN": ["Cyanotech Corporation - Common Stock", "NASDAQ"], "CYBE": ["CyberOptics Corporation - Common Stock", "NASDAQ"], "CYBR": ["CyberArk Software Ltd. - Ordinary Shares", "NASDAQ"], "CYCC": ["Cyclacel Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "CYCCP": ["Cyclacel Pharmaceuticals, Inc. - 6% Convertible Preferred Stock", "NASDAQ"], "CYCN": ["Cyclerion Therapeutics, Inc. - Common Stock ", "NASDAQ"], "CYRN": ["CYREN Ltd. - Ordinary Shares", "NASDAQ"], "CYRX": ["CryoPort, Inc. - Common Stock", "NASDAQ"], "CYTH": ["Cyclo Therapeutics, Inc. - Common Stock", "NASDAQ"], "CYTHW": ["Cyclo Therapeutics, Inc. - Warrant", "NASDAQ"], "CYTK": ["Cytokinetics, Incorporated - Common Stock", "NASDAQ"], "CZNC": ["Citizens & Northern Corp - Common Stock", "NASDAQ"], "CZR": ["Caesars Entertainment, Inc. - Common Stock", "NASDAQ"], "CZWI": ["Citizens Community Bancorp, Inc. - Common Stock", "NASDAQ"], "DADA": ["Dada Nexus Limited - American Depositary Shares", "NASDAQ"], "DAIO": ["Data I/O Corporation - Common Stock", "NASDAQ"], "DAKT": ["Daktronics, Inc. - Common Stock", "NASDAQ"], "DALI": ["First Trust Dorsey Wright DALI 1 ETF", "NASDAQ"], "DARE": ["Dare Bioscience, Inc. - Common Stock", "NASDAQ"], "DAX": ["Global X DAX Germany ETF", "NASDAQ"], "DBDR": ["Roman DBDR Tech Acquisition Corp. - Class A Common Stock", "NASDAQ"], "DBDRU": ["Roman DBDR Tech Acquisition Corp. - Unit", "NASDAQ"], "DBDRW": ["Roman DBDR Tech Acquisition Corp. - Warrant", "NASDAQ"], "DBTX": ["Decibel Therapeutics, Inc. - Common Stock", "NASDAQ"], "DBVT": ["DBV Technologies S.A. - American Depositary Shares", "NASDAQ"], "DBX": ["Dropbox, Inc. - Class A Common Stock", "NASDAQ"], "DCBO": ["Docebo Inc. - Common Shares", "NASDAQ"], "DCOM": ["Dime Community Bancshares, Inc. - Common Stock", "NASDAQ"], "DCOMP": ["Dime Community Bancshares, Inc. - Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "DCPH": ["Deciphera Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "DCRB": ["Decarbonization Plus Acquisition Corporation - Class A Common Stock", "NASDAQ"], "DCRBU": ["Decarbonization Plus Acquisition Corporation - Unit", "NASDAQ"], "DCRBW": ["Decarbonization Plus Acquisition Corporation - Warrant", "NASDAQ"], "DCRNU": ["Decarbonization Plus Acquisition Corporation II - Unit", "NASDAQ"], "DCT": ["Duck Creek Technologies, Inc. - Common Stock", "NASDAQ"], "DCTH": ["Delcath Systems, Inc. - Common Stock", "NASDAQ"], "DDIV": ["First Trust Dorsey Wright Momentum & Dividend ETF", "NASDAQ"], "DDMX": ["DD3 Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "DDMXU": ["DD3 Acquisition Corp. II - Unit", "NASDAQ"], "DDMXW": ["DD3 Acquisition Corp. II - Warrant", "NASDAQ"], "DDOG": ["Datadog, Inc. - Class A Common Stock", "NASDAQ"], "DEMZ": ["Democratic Large Cap Core ETF", "NASDAQ"], "DENN": ["Denny's Corporation - Common Stock", "NASDAQ"], "DFFN": ["Diffusion Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "DFH": ["Dream Finders Homes, Inc. - Class A Common Stock", "NASDAQ"], "DFHT": ["Deerfield Healthcare Technology Acquisitions Corp. - Class A Common Stock", "NASDAQ"], "DFHTU": ["Deerfield Healthcare Technology Acquisitions Corp. - Unit", "NASDAQ"], "DFHTW": ["Deerfield Healthcare Technology Acquisitions Corp. - Warrant", "NASDAQ"], "DFNL": ["Davis Select Financial ETF", "NASDAQ"], "DFPH": ["DFP Healthcare Acquisitions Corp. - Class A Common Stock", "NASDAQ"], "DFPHU": ["DFP Healthcare Acquisitions Corp. - Unit", "NASDAQ"], "DFPHW": ["DFP Healthcare Acquisitions Corp. - Warrant", "NASDAQ"], "DGICA": ["Donegal Group, Inc. - Class A Common Stock", "NASDAQ"], "DGICB": ["Donegal Group, Inc. - Class B Common Stock", "NASDAQ"], "DGII": ["Digi International Inc. - Common Stock", "NASDAQ"], "DGLY": ["Digital Ally, Inc. - Common Stock", "NASDAQ"], "DGNS": ["Dragoneer Growth Opportunities Corp. II - Class A Ordinary Shares", "NASDAQ"], "DGRE": ["WisdomTree Emerging Markets Quality Dividend Growth Fund", "NASDAQ"], "DGRS": ["WisdomTree U.S. SmallCap Quality Dividend Growth Fund", "NASDAQ"], "DGRW": ["WisdomTree U.S. Quality Dividend Growth Fund", "NASDAQ"], "DHBCU": ["DHB Capital Corp. - Unit", "NASDAQ"], "DHC": ["Diversified Healthcare Trust - Common Shares of Beneficial Interest", "NASDAQ"], "DHCAU": ["DHC Acquisition Corp. - Unit", "NASDAQ"], "DHCNI": ["Diversified Healthcare Trust - 5.625% Senior Notes due 2042", "NASDAQ"], "DHCNL": ["Diversified Healthcare Trust - 6.25% Senior Notes Due 2046", "NASDAQ"], "DHHC": ["DiamondHead Holdings Corp. - Class A Common Stock", "NASDAQ"], "DHHCU": ["DiamondHead Holdings Corp. - Unit", "NASDAQ"], "DHHCW": ["DiamondHead Holdings Corp. - Warrant", "NASDAQ"], "DHIL": ["Diamond Hill Investment Group, Inc. - Class A Common Stock", "NASDAQ"], "DINT": ["Davis Select International ETF", "NASDAQ"], "DIOD": ["Diodes Incorporated - Common Stock", "NASDAQ"], "DISCA": ["Discovery, Inc. (Series A)", "S&P500"], "DISCB": ["Discovery, Inc. - Series B Common Stock", "NASDAQ"], "DISCK": ["Discovery, Inc. (Series C)", "S&P500"], "DISH": ["Dish Network", "S&P500"], "DJCO": ["Daily Journal Corp. (S.C.) - Common Stock", "NASDAQ"], "DKNG": ["DraftKings Inc. - Class A Common Stock", "NASDAQ"], "DLCA": ["Deep Lake Capital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "DLCAU": ["Deep Lake Capital Acquisition Corp. - Unit", "NASDAQ"], "DLCAW": ["Deep Lake Capital Acquisition Corp. - Warrant", "NASDAQ"], "DLHC": ["DLH Holdings Corp. - Common Stock", "NASDAQ"], "DLPN": ["Dolphin Entertainment, Inc. - Common Stock", "NASDAQ"], "DLTH": ["Duluth Holdings Inc. - Class B Common Stock", "NASDAQ"], "DLTR": ["Dollar Tree", "S&P500"], "DMAC": ["DiaMedica Therapeutics Inc. - Common Stock", "NASDAQ"], "DMLP": ["Dorchester Minerals, L.P. - Common Units Representing Limited Partnership Interests", "NASDAQ"], "DMRC": ["Digimarc Corporation - Common Stock", "NASDAQ"], "DMTK": ["DermTech, Inc. - Common Stock", "NASDAQ"], "DMXF": ["iShares ESG Advanced MSCI EAFE ETF", "NASDAQ"], "DNLI": ["Denali Therapeutics Inc. - Common Stock", "NASDAQ"], "DOCU": ["DocuSign, Inc. - Common Stock", "NASDAQ"], "DOGZ": ["Dogness (International) Corporation - Class A Common Stock", "NASDAQ"], "DOMO": ["Domo, Inc. - Class B Common Stock", "NASDAQ"], "DOOO": ["BRP Inc. - Common Subordinate Voting Shares", "NASDAQ"], "DORM": ["Dorman Products, Inc. - Common Stock", "NASDAQ"], "DOX": ["Amdocs Limited - Ordinary Shares", "NASDAQ"], "DOYU": ["DouYu International Holdings Limited - American Depositary Shares", "NASDAQ"], "DRIO": ["DarioHealth Corp. - Common Stock", "NASDAQ"], "DRIV": ["Global X Autonomous & Electric Vehicles ETF", "NASDAQ"], "DRNA": ["Dicerna Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "DRRX": ["DURECT Corporation - Common Stock", "NASDAQ"], "DRTT": ["DIRTT Environmental Solutions Ltd. - Common Shares", "NASDAQ"], "DRVN": ["Driven Brands Holdings Inc. - Common Stock", "NASDAQ"], "DSAC": ["Duddell Street Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "DSACU": ["Duddell Street Acquisition Corp. - Unit", "NASDAQ"], "DSACW": ["Duddell Street Acquisition Corp. - Warrant", "NASDAQ"], "DSGX": ["The Descartes Systems Group Inc. - Common Stock", "NASDAQ"], "DSKE": ["Daseke, Inc. - Common Stock", "NASDAQ"], "DSKEW": ["Daseke, Inc. - Warrant", "NASDAQ"], "DSP": ["Viant Technology Inc. - common stock", "NASDAQ"], "DSPG": ["DSP Group, Inc. - Common Stock", "NASDAQ"], "DSWL": ["Deswell Industries, Inc. - Common Shares", "NASDAQ"], "DTEA": ["DAVIDsTEA Inc. - Common Stock", "NASDAQ"], "DTIL": ["Precision BioSciences, Inc. - Common Stock", "NASDAQ"], "DTOCU": ["Digital Transformation Opportunities Corp. - Units", "NASDAQ"], "DTSS": ["Datasea Inc. - Common Stock", "NASDAQ"], "DUNE": ["Dune Acquisition Corporation - Class A Common Stock", "NASDAQ"], "DUNEU": ["Dune Acquisition Corporation - Unit", "NASDAQ"], "DUNEW": ["Dune Acquisition Corporation - Warrant", "NASDAQ"], "DUO": ["Fangdd Network Group Ltd. - American Depositary Shares", "NASDAQ"], "DUOT": ["Duos Technologies Group, Inc. - Common Stock", "NASDAQ"], "DUSA": ["Davis Select U.S. Equity ETF", "NASDAQ"], "DVAX": ["Dynavax Technologies Corporation - Common Stock", "NASDAQ"], "DVLU": ["First Trust Dorsey Wright Momentum & Value ETF", "NASDAQ"], "DVOL": ["First Trust Dorsey Wright Momentum & Low Volatility ETF", "NASDAQ"], "DVY": ["iShares Select Dividend ETF", "NASDAQ"], "DWAS": ["Invesco DWA SmallCap Momentum ETF", "NASDAQ"], "DWAT": ["Arrow DWA Tactical: Macro ETF", "NASDAQ"], "DWAW": ["AdvisorShares Dorsey Wright FSM All Cap World ETF", "NASDAQ"], "DWCR": ["Arrow DWA Tactical: International ETF", "NASDAQ"], "DWEQ": ["AdvisorShares Dorsey Wright Alpha Equal Weight ETF", "NASDAQ"], "DWLD": ["Davis Select Worldwide ETF", "NASDAQ"], "DWMC": ["AdvisorShares Dorsey Wright Micro-Cap ETF", "NASDAQ"], "DWPP": ["First Trust Dorsey Wright People's Portfolio ETF", "NASDAQ"], "DWSH": ["AdvisorShares Dorsey Wright Short ETF", "NASDAQ"], "DWSN": ["Dawson Geophysical Company - Common Stock", "NASDAQ"], "DWUS": ["AdvisorShares Dorsey Wright FSM US Core ETF", "NASDAQ"], "DXCM": ["DexCom", "S&P500"], "DXGE": ["WisdomTree Germany Hedged Equity Fund", "NASDAQ"], "DXJS": ["WisdomTree Japan Hedged SmallCap Equity Fund", "NASDAQ"], "DXPE": ["DXP Enterprises, Inc. - Common Stock", "NASDAQ"], "DXYN": ["The Dixie Group, Inc. - Common Stock", "NASDAQ"], "DYAI": ["Dyadic International, Inc. - Common Stock", "NASDAQ"], "DYN": ["Dyne Therapeutics, Inc. - Common Stock", "NASDAQ"], "DYNT": ["Dynatronics Corporation - Common Stock", "NASDAQ"], "DZSI": ["DZS Inc. - Common Stock", "NASDAQ"], "EA": ["Electronic Arts", "S&P500"], "EAC": ["Edify Acquisition Corp. - Class A Common Stock", "NASDAQ"], "EACPU": ["Edify Acquisition Corp. - Units", "NASDAQ"], "EACPW": ["Edify Acquisition Corp. - Warrant", "NASDAQ"], "EAR": ["Eargo, Inc. - Common Stock", "NASDAQ"], "EARS": ["Auris Medical Holding Ltd. - Common Shares", "NASDAQ"], "EAST": ["Eastside Distilling, Inc. - Common Stock", "NASDAQ"], "EBACU": ["European Biotech Acquisition Corp. - Units", "NASDAQ"], "EBAY": ["eBay Inc.", "S&P500"], "EBC": ["Eastern Bankshares, Inc. - Common Stock", "NASDAQ"], "EBIX": ["Ebix, Inc. - Common Stock", "NASDAQ"], "EBIZ": ["Global X E-commerce ETF", "NASDAQ"], "EBMT": ["Eagle Bancorp Montana, Inc. - Common Stock", "NASDAQ"], "EBON": ["Ebang International Holdings Inc. - Class A Ordinary Shares", "NASDAQ"], "EBSB": ["Meridian Bancorp, Inc. - Common Stock", "NASDAQ"], "EBTC": ["Enterprise Bancorp Inc - Common Stock", "NASDAQ"], "ECHO": ["Echo Global Logistics, Inc. - Common Stock", "NASDAQ"], "ECOL": ["US Ecology, Inc. - Common Stock", "NASDAQ"], "ECOLW": ["US Ecology, Inc. - warrant", "NASDAQ"], "ECOR": ["electroCore, Inc. - Common Stock", "NASDAQ"], "ECOW": ["Pacer Emerging Markets Cash Cows 100 ETF", "NASDAQ"], "ECPG": ["Encore Capital Group Inc - Common Stock", "NASDAQ"], "EDAP": ["EDAP TMS S.A. - American Depositary Shares, each representing One Ordinary Share", "NASDAQ"], "EDIT": ["Editas Medicine, Inc. - Common Stock", "NASDAQ"], "EDOC": ["Global X Telemedicine & Digital Health ETF", "NASDAQ"], "EDRY": ["EuroDry Ltd. - Common Shares", "NASDAQ"], "EDSA": ["Edesa Biotech, Inc. - Common Shares", "NASDAQ"], "EDTK": ["Skillful Craftsman Education Technology Limited - Ordinary Share", "NASDAQ"], "EDTX": ["EdtechX Holdings Acquisition Corp. II - Class A common stock", "NASDAQ"], "EDTXU": ["EdtechX Holdings Acquisition Corp. II - Unit", "NASDAQ"], "EDTXW": ["EdtechX Holdings Acquisition Corp. II - Warrant", "NASDAQ"], "EDUC": ["Educational Development Corporation - Common Stock", "NASDAQ"], "EDUT": ["Global X Education ETF", "NASDAQ"], "EEFT": ["Euronet Worldwide, Inc. - Common Stock", "NASDAQ"], "EEMA": ["iShares MSCI Emerging Markets Asia ETF", "NASDAQ"], "EFAS": ["Global X MSCI SuperDividend EAFE ETF", "NASDAQ"], "EFOI": ["Energy Focus, Inc. - Common Stock", "NASDAQ"], "EFSC": ["Enterprise Financial Services Corporation - Common Stock", "NASDAQ"], "EGAN": ["eGain Corporation - Common Stock", "NASDAQ"], "EGBN": ["Eagle Bancorp, Inc. - Common Stock", "NASDAQ"], "EGLE": ["Eagle Bulk Shipping Inc. - Common Stock", "NASDAQ"], "EGOV": ["NIC Inc. - Common Stock", "NASDAQ"], "EGRX": ["Eagle Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EH": ["EHang Holdings Limited - ADS", "NASDAQ"], "EHTH": ["eHealth, Inc. - Common Stock", "NASDAQ"], "EIGR": ["Eiger BioPharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EJFAU": ["EJF Acquisition Corp. - Unit", "NASDAQ"], "EKSO": ["Ekso Bionics Holdings, Inc. - Common Stock", "NASDAQ"], "ELDN": ["Eledon Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ELOX": ["Eloxx Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ELSE": ["Electro-Sensors, Inc. - Common Stock", "NASDAQ"], "ELTK": ["Eltek Ltd. - Ordinary Shares", "NASDAQ"], "ELYS": ["Elys Game Technology, Corp. - Common Stock", "NASDAQ"], "EMB": ["iShares J.P. Morgan USD Emerging Markets Bond ETF", "NASDAQ"], "EMCB": ["WisdomTree Emerging Markets Corporate Bond Fund", "NASDAQ"], "EMCF": ["Emclaire Financial Corp - Common Stock", "NASDAQ"], "EMIF": ["iShares S&P Emerging Markets Infrastructure Index Fund", "NASDAQ"], "EMKR": ["EMCORE Corporation - Common Stock", "NASDAQ"], "EML": ["Eastern Company (The) - Common Stock", "NASDAQ"], "EMXC": ["iShares MSCI Emerging Markets ex China ETF", "NASDAQ"], "EMXF": ["iShares ESG Advanced MSCI EM ETF", "NASDAQ"], "ENDP": ["Endo International plc - Ordinary Shares", "NASDAQ"], "ENFA": ["890 5th Avenue Partners, Inc. - Class A Common Stock", "NASDAQ"], "ENFAU": ["890 5th Avenue Partners, Inc. - Unit", "NASDAQ"], "ENFAW": ["890 5th Avenue Partners, Inc. - Warrant", "NASDAQ"], "ENG": ["ENGlobal Corporation - Common Stock", "NASDAQ"], "ENLV": ["Enlivex Therapeutics Ltd. - Ordinary Shares", "NASDAQ"], "ENNVU": ["ECP Environmental Growth Opportunities Corp. - Unit", "NASDAQ"], "ENOB": ["Enochian Biosciences, Inc. - Common Stock", "NASDAQ"], "ENPH": ["Enphase Energy", "S&P500"], "ENSG": ["The Ensign Group, Inc. - Common Stock", "NASDAQ"], "ENTA": ["Enanta Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ENTG": ["Entegris, Inc. - Common Stock", "NASDAQ"], "ENTX": ["Entera Bio Ltd. - Ordinary Shares", "NASDAQ"], "ENTXW": ["Entera Bio Ltd. - Warrant", "NASDAQ"], "ENVB": ["Enveric Biosciences, Inc. - Common Stock", "NASDAQ"], "ENVI": ["Environmental Impact Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ENVIU": ["Environmental Impact Acquisition Corp. - Unit", "NASDAQ"], "ENVIW": ["Environmental Impact Acquisition Corp. - Warrant", "NASDAQ"], "ENZL": ["iShares MSCI New Zealand ETF", "NASDAQ"], "EOLS": ["Evolus, Inc. - Common Stock", "NASDAQ"], "EOSE": ["Eos Energy Enterprises, Inc. - Common Stock", "NASDAQ"], "EOSEW": ["Eos Energy Enterprises, Inc. - Warrant", "NASDAQ"], "EPAY": ["Bottomline Technologies, Inc. - Common Stock", "NASDAQ"], "EPHY": ["Epiphany Technology Acquisition Corp. - Class A Common Stock", "NASDAQ"], "EPHYU": ["Epiphany Technology Acquisition Corp. - Unit", "NASDAQ"], "EPHYW": ["Epiphany Technology Acquisition Corp. - Warrant", "NASDAQ"], "EPIX": ["ESSA Pharma Inc. - Common Stock", "NASDAQ"], "EPSN": ["Epsilon Energy Ltd. - Common Shares", "NASDAQ"], "EPZM": ["Epizyme, Inc. - Common Stock", "NASDAQ"], "EQ": ["Equillium, Inc. - Common Stock", "NASDAQ"], "EQBK": ["Equity Bancshares, Inc. - Class A Common Stock", "NASDAQ"], "EQIX": ["Equinix", "S&P500"], "EQOS": ["Diginex Limited - Ordinary Shares", "NASDAQ"], "EQOSW": ["Diginex Limited - Warrant", "NASDAQ"], "EQRR": ["ProShares Equities for Rising Rates ETF", "NASDAQ"], "ERES": ["East Resources Acquisition Company - Class A Common Stock", "NASDAQ"], "ERESU": ["East Resources Acquisition Company - Unit", "NASDAQ"], "ERESW": ["East Resources Acquisition Company - Warrant", "NASDAQ"], "ERIC": ["Ericsson - American Depositary Shares each representing 1 underlying Class B share", "NASDAQ"], "ERIE": ["Erie Indemnity Company - Class A Common Stock", "NASDAQ"], "ERII": ["Energy Recovery, Inc. - Common Stock", "NASDAQ"], "ERYP": ["Erytech Pharma S.A. - American Depositary Shares", "NASDAQ"], "ESBK": ["Elmira Savings Bank NY (The) - Common Stock", "NASDAQ"], "ESCA": ["Escalade, Incorporated - Common Stock", "NASDAQ"], "ESEA": ["Euroseas Ltd. - Common Stock", "NASDAQ"], "ESGD": ["iShares ESG Aware MSCI EAFE ETF", "NASDAQ"], "ESGE": ["iShares ESG Aware MSCI EM ETF", "NASDAQ"], "ESGR": ["Enstar Group Limited - Ordinary Shares", "NASDAQ"], "ESGRO": ["Enstar Group Limited - Depository Shares 7.00% Perpetual Non-Cumulative Preference Shares, Series E", "NASDAQ"], "ESGRP": ["Enstar Group Limited - Depositary Shares Each Representing 1/1000th of an interest in Preference Shares", "NASDAQ"], "ESGU": ["iShares ESG Aware MSCI USA ETF", "NASDAQ"], "ESLT": ["Elbit Systems Ltd. - Ordinary Shares", "NASDAQ"], "ESPO": ["VanEck Vectors Video Gaming and eSports ETF", "NASDAQ"], "ESPR": ["Esperion Therapeutics, Inc. - Common Stock", "NASDAQ"], "ESQ": ["Esquire Financial Holdings, Inc. - Common Stock", "NASDAQ"], "ESSA": ["ESSA Bancorp, Inc. - common stock", "NASDAQ"], "ESSC": ["East Stone Acquisition Corporation - Ordinary Shares", "NASDAQ"], "ESSCR": ["East Stone Acquisition Corporation - Right", "NASDAQ"], "ESSCU": ["East Stone Acquisition Corporation - Unit", "NASDAQ"], "ESSCW": ["East Stone Acquisition Corporation - Warrant", "NASDAQ"], "ESTA": ["Establishment Labs Holdings Inc. - Common Shares", "NASDAQ"], "ESXB": ["Community Bankers Trust Corporation. - Common Stock", "NASDAQ"], "ETAC": ["E.Merge Technology Acquisition Corp. - Class A Common stock", "NASDAQ"], "ETACU": ["E.Merge Technology Acquisition Corp. - Unit", "NASDAQ"], "ETACW": ["E.Merge Technology Acquisition Corp. - Warrant", "NASDAQ"], "ETNB": ["89bio, Inc. - Common Stock", "NASDAQ"], "ETON": ["Eton Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ETSY": ["Etsy", "S&P500"], "ETTX": ["Entasis Therapeutics Holdings Inc. - Common Stock", "NASDAQ"], "EUCR": ["Eucrates Biomedical Acquisition Corp. - Ordinary Shares", "NASDAQ"], "EUCRU": ["Eucrates Biomedical Acquisition Corp. - Unit", "NASDAQ"], "EUCRW": ["Eucrates Biomedical Acquisition Corp. - Warrant", "NASDAQ"], "EUFN": ["iShares MSCI Europe Financials Sector Index Fund", "NASDAQ"], "EUSG": ["European Sustainable Growth Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "EUSGU": ["European Sustainable Growth Acquisition Corp. - Unit", "NASDAQ"], "EUSGW": ["European Sustainable Growth Acquisition Corp. - Warrant", "NASDAQ"], "EVAX": ["Evaxion Biotech A/S - American Depositary Share", "NASDAQ"], "EVBG": ["Everbridge, Inc. - Common Stock", "NASDAQ"], "EVER": ["EverQuote, Inc. - Class A Common Stock", "NASDAQ"], "EVFM": ["Evofem Biosciences, Inc. - Common Stock", "NASDAQ"], "EVGBC": ["Eaton Vance Global Income Builder NextShares", "NASDAQ"], "EVGN": ["Evogene Ltd. - Ordinary Shares", "NASDAQ"], "EVK": ["Ever-Glory International Group, Inc. - Common Stock", "NASDAQ"], "EVLMC": ["Eaton Vance TABS 5-to-15 Year Laddered Municipal Bond NextShares", "NASDAQ"], "EVLO": ["Evelo Biosciences, Inc. - Common Stock", "NASDAQ"], "EVOJU": ["Evo Acquisition Corp. - Unit", "NASDAQ"], "EVOK": ["Evoke Pharma, Inc. - Common Stock", "NASDAQ"], "EVOL": ["Evolving Systems, Inc. - Common Stock", "NASDAQ"], "EVOP": ["EVO Payments, Inc. - Class A Common Stock", "NASDAQ"], "EVSTC": ["Eaton Vance Stock NextShares", "NASDAQ"], "EWBC": ["East West Bancorp, Inc. - Common Stock", "NASDAQ"], "EWEB": ["Global X Emerging Markets Internet & E-commerce ETF", "NASDAQ"], "EWJE": ["iShares MSCI Japan Equal Weighted ETF", "NASDAQ"], "EWJV": ["iShares MSCI Japan Value ETF", "NASDAQ"], "EWZS": ["iShares MSCI Brazil Small-Cap ETF", "NASDAQ"], "EXAS": ["Exact Sciences Corporation - Common Stock", "NASDAQ"], "EXC": ["Exelon Corp.", "S&P500"], "EXEL": ["Exelixis, Inc. - Common Stock", "NASDAQ"], "EXFO": ["EXFO Inc - Subordinate Voting Shares", "NASDAQ"], "EXLS": ["ExlService Holdings, Inc. - Common Stock", "NASDAQ"], "EXPC": ["Experience Investment Corp. - Class A Common Stock", "NASDAQ"], "EXPCU": ["Experience Investment Corp. - Unit", "NASDAQ"], "EXPCW": ["Experience Investment Corp. - Warrants", "NASDAQ"], "EXPD": ["Expeditors", "S&P500"], "EXPE": ["Expedia Group", "S&P500"], "EXPI": ["eXp World Holdings, Inc. - Common Stock", "NASDAQ"], "EXPO": ["Exponent, Inc. - Common Stock", "NASDAQ"], "EXTR": ["Extreme Networks, Inc. - Common Stock", "NASDAQ"], "EYE": ["National Vision Holdings, Inc. - Common Stock", "NASDAQ"], "EYEG": ["Eyegate Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EYEN": ["Eyenovia, Inc. - Common Stock", "NASDAQ"], "EYES": ["Second Sight Medical Products, Inc. - Common Stock", "NASDAQ"], "EYESW": ["Second Sight Medical Products, Inc. - Warrants expiring 3/14/2024", "NASDAQ"], "EYPT": ["EyePoint Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "EZGO": ["EZGO Technologies Ltd. - Ordinary Shares", "NASDAQ"], "EZPW": ["EZCORP, Inc. - Class A Non-Voting Common Stock", "NASDAQ"], "FAAR": ["First Trust Alternative Absolute Return Strategy ETF", "NASDAQ"], "FAB": ["First Trust Multi Cap Value AlphaDEX Fund", "NASDAQ"], "FAD": ["First Trust Multi Cap Growth AlphaDEX Fund", "NASDAQ"], "FALN": ["iShares Fallen Angels USD Bond ETF", "NASDAQ"], "FAMI": ["Farmmi, INC. - Ordinary Shares", "NASDAQ"], "FANG": ["Diamondback Energy", "S&P500"], "FANH": ["Fanhua Inc. - American depositary shares, each representing 20 ordinary shares", "NASDAQ"], "FARM": ["Farmer Brothers Company - Common Stock", "NASDAQ"], "FARO": ["FARO Technologies, Inc. - Common Stock", "NASDAQ"], "FAST": ["Fastenal Co", "S&P500"], "FAT": ["FAT Brands Inc. - Common Stock", "NASDAQ"], "FATBP": ["FAT Brands Inc. - 8.25% Series B Cumulative Preferred Stock", "NASDAQ"], "FATBW": ["FAT Brands Inc. - Warrant", "NASDAQ"], "FATE": ["Fate Therapeutics, Inc. - Common Stock", "NASDAQ"], "FB": ["Facebook, Inc.", "S&P500"], "FBIO": ["Fortress Biotech, Inc. - Common Stock", "NASDAQ"], "FBIOP": ["Fortress Biotech, Inc. - 9.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "FBIZ": ["First Business Financial Services, Inc. - Common Stock", "NASDAQ"], "FBMS": ["The First Bancshares, Inc. - Common Stock", "NASDAQ"], "FBNC": ["First Bancorp - Common Stock", "NASDAQ"], "FBRX": ["Forte Biosciences, Inc. - Common Stock", "NASDAQ"], "FBSS": ["Fauquier Bankshares, Inc. - Common Stock", "NASDAQ"], "FBZ": ["First Trust Brazil AlphaDEX Fund", "NASDAQ"], "FCA": ["First Trust China AlphaDEX Fund", "NASDAQ"], "FCAC": ["Falcon Capital Acquisition Corp. - Class A Common Stock", "NASDAQ"], "FCACU": ["Falcon Capital Acquisition Corp. - Unit", "NASDAQ"], "FCACW": ["Falcon Capital Acquisition Corp. - Warrant", "NASDAQ"], "FCAL": ["First Trust California Municipal High income ETF", "NASDAQ"], "FCAP": ["First Capital, Inc. - Common Stock", "NASDAQ"], "FCBC": ["First Community Bankshares, Inc. - Common Stock", "NASDAQ"], "FCBP": ["First Choice Bancorp - Common Stock", "NASDAQ"], "FCCO": ["First Community Corporation - Common Stock", "NASDAQ"], "FCCY": ["1st Constitution Bancorp (NJ) - Common Stock", "NASDAQ"], "FCEF": ["First Trust CEF Income Opportunity ETF", "NASDAQ"], "FCEL": ["FuelCell Energy, Inc. - Common Stock", "NASDAQ"], "FCFS": ["FirstCash, Inc. - Common Stock", "NASDAQ"], "FCNCA": ["First Citizens BancShares, Inc. - Class A Common Stock", "NASDAQ"], "FCNCP": ["First Citizens BancShares, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of 5.375% Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "FCRD": ["First Eagle Alternative Capital BDC, Inc. - Common Stock", "NASDAQ"], "FCVT": ["First Trust SSI Strategic Convertible Securities ETF", "NASDAQ"], "FDBC": ["Fidelity D & D Bancorp, Inc. - Common Stock", "NASDAQ"], "FDIV": ["First Trust Strategic Income ETF", "NASDAQ"], "FDMT": ["4D Molecular Therapeutics, Inc. - Common Stock", "NASDAQ"], "FDNI": ["First Trust Dow Jones International Internet ETF", "NASDAQ"], "FDT": ["First Trust Developed Markets Ex-US AlphaDEX Fund", "NASDAQ"], "FDTS": ["First Trust Developed Markets ex-US Small Cap AlphaDEX Fund", "NASDAQ"], "FDUS": ["Fidus Investment Corporation - Common Stock", "NASDAQ"], "FDUSG": ["Fidus Investment Corporation - 5.375% Notes Due 2024", "NASDAQ"], "FDUSZ": ["Fidus Investment Corporation - 6% Notes due 2024", "NASDAQ"], "FEIM": ["Frequency Electronics, Inc. - Common Stock", "NASDAQ"], "FELE": ["Franklin Electric Co., Inc. - Common Stock", "NASDAQ"], "FEM": ["First Trust Emerging Markets AlphaDEX Fund", "NASDAQ"], "FEMB": ["First Trust Emerging Markets Local Currency Bond ETF", "NASDAQ"], "FEMS": ["First Trust Emerging Markets Small Cap AlphaDEX Fund", "NASDAQ"], "FENC": ["Fennec Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "FEP": ["First Trust Europe AlphaDEX Fund", "NASDAQ"], "FEUZ": ["First Trust Eurozone AlphaDEX ETF", "NASDAQ"], "FEX": ["First Trust Large Cap Core AlphaDEX Fund", "NASDAQ"], "FEYE": ["FireEye, Inc. - Common Stock", "NASDAQ"], "FFBC": ["First Financial Bancorp. - Common Stock", "NASDAQ"], "FFBW": ["FFBW, Inc. - Common Stock", "NASDAQ"], "FFHL": ["Fuwei Films (Holdings) Co., Ltd. - ORDINARY SHARES", "NASDAQ"], "FFIC": ["Flushing Financial Corporation - Common Stock", "NASDAQ"], "FFIN": ["First Financial Bankshares, Inc. - Common Stock", "NASDAQ"], "FFIV": ["F5 Networks", "S&P500"], "FFNW": ["First Financial Northwest, Inc. - Common Stock", "NASDAQ"], "FFWM": ["First Foundation Inc. - Common Stock", "NASDAQ"], "FGBI": ["First Guaranty Bancshares, Inc. - Common Stock", "NASDAQ"], "FGEN": ["FibroGen, Inc - Common Stock", "NASDAQ"], "FGF": ["FG Financial Group, Inc. - Common Stock", "NASDAQ"], "FGFPP": ["FG Financial Group, Inc. - 8.00% Cumulative Series A Preferred Stock", "NASDAQ"], "FGM": ["First Trust Germany AlphaDEX Fund", "NASDAQ"], "FHB": ["First Hawaiian, Inc. - Common Stock", "NASDAQ"], "FHTX": ["Foghorn Therapeutics Inc. - Common Stock", "NASDAQ"], "FIBK": ["First Interstate BancSystem, Inc. - Class A Common Stock", "NASDAQ"], "FICS": ["First Trust International Developed Capital Strength ETF", "NASDAQ"], "FID": ["First Trust S&P International Dividend Aristocrats ETF", "NASDAQ"], "FIII": ["Forum Merger III Corporation - Class A Common Stock", "NASDAQ"], "FIIIU": ["Forum Merger III Corporation - Units", "NASDAQ"], "FIIIW": ["Forum Merger III Corporation - Warrant", "NASDAQ"], "FINM": ["Marlin Technology Corporation - Class A Ordinary Share", "NASDAQ"], "FINMU": ["Marlin Technology Corporation - Unit", "NASDAQ"], "FINMW": ["Marlin Technology Corporation - Warrant", "NASDAQ"], "FINX": ["Global X FinTech ETF", "NASDAQ"], "FISI": ["Financial Institutions, Inc. - Common Stock", "NASDAQ"], "FISV": ["Fiserv Inc", "S&P500"], "FITB": ["Fifth Third Bancorp", "S&P500"], "FITBI": ["Fifth Third Bancorp - Depositary Share repstg 1/1000th Ownership Interest Perp Pfd Series I", "NASDAQ"], "FITBO": ["Fifth Third Bancorp - Depositary Shares each representing a 1/1000th ownership interest in a share of Non-Cumulative Perpetual Preferred Stock, Series K", "NASDAQ"], "FITBP": ["Fifth Third Bancorp - Depositary Shares each representing 1/40th share of Fifth Third 6.00% Non-Cumulative Perpetual Class B Preferred Stock, Series A", "NASDAQ"], "FIVE": ["Five Below, Inc. - Common Stock", "NASDAQ"], "FIVN": ["Five9, Inc. - Common Stock", "NASDAQ"], "FIXD": ["First Trust TCW Opportunistic Fixed Income ETF", "NASDAQ"], "FIXX": ["Homology Medicines, Inc. - Common Stock", "NASDAQ"], "FIZZ": ["National Beverage Corp. - Common Stock", "NASDAQ"], "FJP": ["First Trust Japan AlphaDEX Fund", "NASDAQ"], "FKU": ["First Trust United Kingdom AlphaDEX Fund", "NASDAQ"], "FLAC": ["Frazier Lifesciences Acquisition Corporation - Class A Ordinary Shares", "NASDAQ"], "FLACU": ["Frazier Lifesciences Acquisition Corporation - Unit", "NASDAQ"], "FLACW": ["Frazier Lifesciences Acquisition Corporation - Warrant", "NASDAQ"], "FLDM": ["Fluidigm Corporation - Common Stock", "NASDAQ"], "FLEX": ["Flex Ltd. - Ordinary Shares", "NASDAQ"], "FLGT": ["Fulgent Genetics, Inc. - Common Stock", "NASDAQ"], "FLIC": ["The First of Long Island Corporation - Common Stock", "NASDAQ"], "FLIR": ["FLIR Systems", "S&P500"], "FLL": ["Full House Resorts, Inc. - Common Stock", "NASDAQ"], "FLMN": ["Falcon Minerals Corporation - Class A Common Stock", "NASDAQ"], "FLMNW": ["Falcon Minerals Corporation - Warrant", "NASDAQ"], "FLN": ["First Trust Latin America AlphaDEX Fund", "NASDAQ"], "FLNT": ["Fluent, Inc. - Common Stock", "NASDAQ"], "FLUX": ["Flux Power Holdings, Inc. - Common Stock", "NASDAQ"], "FLWS": ["1-800-FLOWERS.COM, Inc. - Class A Common Stock", "NASDAQ"], "FLXN": ["Flexion Therapeutics, Inc. - Common Stock", "NASDAQ"], "FLXS": ["Flexsteel Industries, Inc. - Common Stock", "NASDAQ"], "FMAO": ["Farmers & Merchants Bancorp, Inc. - Common Stock", "NASDAQ"], "FMB": ["First Trust Managed Municipal ETF", "NASDAQ"], "FMBH": ["First Mid Bancshares, Inc. - Common Stock", "NASDAQ"], "FMBI": ["First Midwest Bancorp, Inc. - Common Stock", "NASDAQ"], "FMBIO": ["First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series C", "NASDAQ"], "FMBIP": ["First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "FMHI": ["First Trust Municipal High Income ETF", "NASDAQ"], "FMIVU": ["Forum Merger IV Corporation - Unit", "NASDAQ"], "FMNB": ["Farmers National Banc Corp. - Common Stock", "NASDAQ"], "FMTX": ["Forma Therapeutics Holdings, Inc. - Common Stock", "NASDAQ"], "FNCB": ["FNCB Bancorp Inc. - Common Stock", "NASDAQ"], "FNHC": ["FedNat Holding Company - Common Stock", "NASDAQ"], "FNK": ["First Trust Mid Cap Value AlphaDEX Fund", "NASDAQ"], "FNKO": ["Funko, Inc. - Class A Common Stock", "NASDAQ"], "FNLC": ["First Bancorp, Inc (ME) - Common Stock", "NASDAQ"], "FNWB": ["First Northwest Bancorp - Common Stock", "NASDAQ"], "FNX": ["First Trust Mid Cap Core AlphaDEX Fund", "NASDAQ"], "FNY": ["First Trust Mid Cap Growth AlphaDEX Fund", "NASDAQ"], "FOCS": ["Focus Financial Partners Inc. - Common Stock", "NASDAQ"], "FOLD": ["Amicus Therapeutics, Inc. - Common Stock", "NASDAQ"], "FONR": ["Fonar Corporation - Common Stock", "NASDAQ"], "FORA": ["Forian Inc. - Common Stock", "NASDAQ"], "FORD": ["Forward Industries, Inc. - Common Stock", "NASDAQ"], "FOREU": ["Foresight Acquisition Corp. - Unit, consisting of one share of Class A Common Stock and one-third of one redeemable warrant", "NASDAQ"], "FORM": ["FormFactor, Inc. - Common Stock", "NASDAQ"], "FORR": ["Forrester Research, Inc. - Common Stock", "NASDAQ"], "FORTY": ["Formula Systems (1985) Ltd. - American Depositary Shares", "NASDAQ"], "FOSL": ["Fossil Group, Inc. - Common Stock", "NASDAQ"], "FOX": ["Fox Corporation (Class B)", "S&P500"], "FOXA": ["Fox Corporation (Class A)", "S&P500"], "FOXF": ["Fox Factory Holding Corp. - Common Stock", "NASDAQ"], "FOXW": ["FoxWayne Enterprises Acquisition Corp. - Class A common stock", "NASDAQ"], "FOXWU": ["FoxWayne Enterprises Acquisition Corp. - Unit", "NASDAQ"], "FOXWW": ["FoxWayne Enterprises Acquisition Corp. - Warrant", "NASDAQ"], "FPA": ["First Trust Asia Pacific Ex-Japan AlphaDEX Fund", "NASDAQ"], "FPAY": ["FlexShopper, Inc. - Common Stock", "NASDAQ"], "FPRX": ["Five Prime Therapeutics, Inc. - Common Stock", "NASDAQ"], "FPXE": ["First Trust IPOX Europe Equity Opportunities ETF", "NASDAQ"], "FPXI": ["First Trust International Equity Opportunities ETF", "NASDAQ"], "FRAF": ["Franklin Financial Services Corporation - Common Stock", "NASDAQ"], "FRBA": ["First Bank - Common Stock", "NASDAQ"], "FRBK": ["Republic First Bancorp, Inc. - Common Stock", "NASDAQ"], "FREE": ["Whole Earth Brands, Inc. - Class A Common Stock", "NASDAQ"], "FREEW": ["Whole Earth Brands, Inc. - Warrant", "NASDAQ"], "FREQ": ["Frequency Therapeutics, Inc. - Common Stock", "NASDAQ"], "FRG": ["Franchise Group, Inc. - Common Stock", "NASDAQ"], "FRGAP": ["Franchise Group, Inc. - 7.50% Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "FRGI": ["Fiesta Restaurant Group, Inc. - Common Stock", "NASDAQ"], "FRHC": ["Freedom Holding Corp. - Common Stock", "NASDAQ"], "FRLN": ["Freeline Therapeutics Holdings plc - ADSs", "NASDAQ"], "FRME": ["First Merchants Corporation - Common Stock", "NASDAQ"], "FROG": ["JFrog Ltd. - Ordinary shares", "NASDAQ"], "FRONU": ["Frontier Acquisition Corp. - Units", "NASDAQ"], "FRPH": ["FRP Holdings, Inc. - Common Stock", "NASDAQ"], "FRPT": ["Freshpet, Inc. - Common Stock", "NASDAQ"], "FRSGU": ["First Reserve Sustainable Growth Corp. - Unit", "NASDAQ"], "FRSX": ["Foresight Autonomous Holdings Ltd. - American Depositary Shares", "NASDAQ"], "FRTA": ["Forterra, Inc. - Common Stock", "NASDAQ"], "FRWAU": ["PWP Forward Acquisition Corp. I - Units", "NASDAQ"], "FSBW": ["FS Bancorp, Inc. - Common Stock", "NASDAQ"], "FSEA": ["First Seacoast Bancorp - Common Stock", "NASDAQ"], "FSFG": ["First Savings Financial Group, Inc. - Common Stock", "NASDAQ"], "FSII": ["FS Development Corp. II - Class A Common Stock", "NASDAQ"], "FSLR": ["First Solar, Inc. - Common Stock", "NASDAQ"], "FSRV": ["FinServ Acquisition Corp. - Class A Common Stock", "NASDAQ"], "FSRVU": ["FinServ Acquisition Corp. - Unit", "NASDAQ"], "FSRVW": ["FinServ Acquisition Corp. - Warrant", "NASDAQ"], "FSRXU": ["FinServ Acquisition Corp. II - Unit", "NASDAQ"], "FSSIU": ["Fortistar Sustainable Solutions Corp. - Unit", "NASDAQ"], "FSTR": ["L.B. Foster Company - Common Stock", "NASDAQ"], "FSTX": ["F-star Therapeutics, Inc. - Common Stock", "NASDAQ"], "FSV": ["FirstService Corporation - Common Shares", "NASDAQ"], "FSZ": ["First Trust Switzerland AlphaDEX Fund", "NASDAQ"], "FTA": ["First Trust Large Cap Value AlphaDEX Fund", "NASDAQ"], "FTAAU": ["FTAC Athena Acquisition Corp. - Unit", "NASDAQ"], "FTAG": ["First Trust Indxx Global Agriculture ETF", "NASDAQ"], "FTC": ["First Trust Large Cap Growth AlphaDEX Fund", "NASDAQ"], "FTCS": ["First Trust Capital Strength ETF", "NASDAQ"], "FTCV": ["FinTech Acquisition Corp. V - Class A Common Stock", "NASDAQ"], "FTCVU": ["FinTech Acquisition Corp. V - Unit", "NASDAQ"], "FTCVW": ["FinTech Acquisition Corp. V - Warrant", "NASDAQ"], "FTDR": ["frontdoor, inc. - Common Stock", "NASDAQ"], "FTEK": ["Fuel Tech, Inc. - Common Stock", "NASDAQ"], "FTFT": ["Future FinTech Group Inc. - Common Stock", "NASDAQ"], "FTGC": ["First Trust Global Tactical Commodity Strategy Fund", "NASDAQ"], "FTHI": ["First Trust BuyWrite Income ETF", "NASDAQ"], "FTHM": ["Fathom Holdings Inc. - Common Stock", "NASDAQ"], "FTIV": ["FinTech Acquisition Corp. IV - Class A Common Stock", "NASDAQ"], "FTIVU": ["FinTech Acquisition Corp. IV - Unit", "NASDAQ"], "FTIVW": ["FinTech Acquisition Corp. IV - Warrant", "NASDAQ"], "FTLB": ["First Trust Hedged BuyWrite Income ETF", "NASDAQ"], "FTNT": ["Fortinet", "S&P500"], "FTOC": ["FTAC Olympus Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "FTOCU": ["FTAC Olympus Acquisition Corp. - Unit", "NASDAQ"], "FTOCW": ["FTAC Olympus Acquisition Corp. - Warrant", "NASDAQ"], "FTPAU": ["FTAC Parnassus Acquisition Corp. - Unit", "NASDAQ"], "FTRI": ["First Trust Indxx Global Natural Resources Income ETF", "NASDAQ"], "FTSL": ["First Trust Senior Loan Fund ETF", "NASDAQ"], "FTSM": ["First Trust Enhanced Short Maturity ETF", "NASDAQ"], "FTXD": ["First Trust Nasdaq Retail ETF", "NASDAQ"], "FTXG": ["First Trust Nasdaq Food & Beverage ETF", "NASDAQ"], "FTXH": ["First Trust Nasdaq Pharmaceuticals ETF", "NASDAQ"], "FTXL": ["First Trust Nasdaq Semiconductor ETF", "NASDAQ"], "FTXN": ["First Trust Nasdaq Oil & Gas ETF", "NASDAQ"], "FTXO": ["First Trust Nasdaq Bank ETF", "NASDAQ"], "FTXR": ["First Trust Nasdaq Transportation ETF", "NASDAQ"], "FULC": ["Fulcrum Therapeutics, Inc. - Common Stock", "NASDAQ"], "FULT": ["Fulton Financial Corporation - Common Stock", "NASDAQ"], "FULTP": ["Fulton Financial Corporation - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "FUNC": ["First United Corporation - Common Stock", "NASDAQ"], "FUND": ["Sprott Focus Trust, Inc. - Closed End Fund", "NASDAQ"], "FUSB": ["First US Bancshares, Inc. - Common Stock", "NASDAQ"], "FUSN": ["Fusion Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "FUTU": ["Futu Holdings Limited - American Depositary Shares", "NASDAQ"], "FUV": ["Arcimoto, Inc. - Common Stock", "NASDAQ"], "FV": ["First Trust Dorsey Wright Focus 5 ETF", "NASDAQ"], "FVAM": ["5:01 Acquisition Corp. - Class A Common Stock", "NASDAQ"], "FVC": ["First Trust Dorsey Wright Dynamic Focus 5 ETF", "NASDAQ"], "FVCB": ["FVCBankcorp, Inc. - Common Stock", "NASDAQ"], "FVE": ["Five Star Senior Living Inc. - Common Shares", "NASDAQ"], "FWAA": ["Fifth Wall Acquisition Corp. I - Class A Common Stock", "NASDAQ"], "FWONA": ["Liberty Media Corporation - Series A Liberty Formula One Common Stock", "NASDAQ"], "FWONK": ["Liberty Media Corporation - Series C Liberty Formula One Common Stock", "NASDAQ"], "FWP": ["Forward Pharma A/S - American Depositary Shares", "NASDAQ"], "FWRD": ["Forward Air Corporation - Common Stock", "NASDAQ"], "FXNC": ["First National Corporation - Common Stock", "NASDAQ"], "FYC": ["First Trust Small Cap Growth AlphaDEX Fund", "NASDAQ"], "FYT": ["First Trust Small Cap Value AlphaDEX Fund", "NASDAQ"], "FYX": ["First Trust Small Cap Core AlphaDEX Fund", "NASDAQ"], "GABC": ["German American Bancorp, Inc. - Common Stock", "NASDAQ"], "GAIA": ["Gaia, Inc. - Class A Common Stock", "NASDAQ"], "GAIN": ["Gladstone Investment Corporation - Business Development Company", "NASDAQ"], "GAINL": ["Gladstone Investment Corporation - 6.375% Series E Cumulative Term Preferred Stock due 2025", "NASDAQ"], "GAINN": ["Gladstone Investment Corporation - 5.00% Notes Due 2026", "NASDAQ"], "GALT": ["Galectin Therapeutics Inc. - Common Stock", "NASDAQ"], "GAMCU": ["Golden Arrow Merger Corp. - Unit", "NASDAQ"], "GAN": ["GAN Limited - Ordinary Shares", "NASDAQ"], "GANX": ["Gain Therapeutics, Inc. - Common Stock", "NASDAQ"], "GASS": ["StealthGas, Inc. - common stock", "NASDAQ"], "GBCI": ["Glacier Bancorp, Inc. - Common Stock", "NASDAQ"], "GBDC": ["Golub Capital BDC, Inc. - Common Stock", "NASDAQ"], "GBIO": ["Generation Bio Co. - Common stock", "NASDAQ"], "GBLI": ["Global Indemnity Group, LLC - Class A Common Stock", "NASDAQ"], "GBLIL": ["Global Indemnity Group, LLC - 7.875% Subordinated Notes due 2047", "NASDAQ"], "GBNH": ["Greenbrook TMS Inc. - Common Shares", "NASDAQ"], "GBNY": ["Generations Bancorp NY, Inc. - Common Stock", "NASDAQ"], "GBOX": ["Greenbox POS - Common Stock", "NASDAQ"], "GBRGU": ["Goldenbridge Acquisition Limited - Unit", "NASDAQ"], "GBS": ["GBS Inc. - Common Stock", "NASDAQ"], "GBT": ["Global Blood Therapeutics, Inc. - Common Stock", "NASDAQ"], "GCACU": ["Growth Capital Acquisition Corp. - Unit", "NASDAQ"], "GCBC": ["Greene County Bancorp, Inc. - Common Stock", "NASDAQ"], "GCMG": ["GCM Grosvenor Inc. - Class A Common Stock", "NASDAQ"], "GCMGW": ["GCM Grosvenor Inc. - Warrant", "NASDAQ"], "GDEN": ["Golden Entertainment, Inc. - Common Stock", "NASDAQ"], "GDRX": ["GoodRx Holdings, Inc. - Class A Common Stock", "NASDAQ"], "GDS": ["GDS Holdings Limited - American Depositary Shares", "NASDAQ"], "GDYN": ["Grid Dynamics Holdings, Inc. - Class A Common Stock", "NASDAQ"], "GDYNW": ["Grid Dynamics Holdings, Inc. - Warrant", "NASDAQ"], "GECC": ["Great Elm Capital Corp. - Common Stock", "NASDAQ"], "GECCL": ["Great Elm Capital Corp. - 6.50% Notes due 2022", "NASDAQ"], "GECCM": ["Great Elm Capital Corp. - 6.75% Notes Due 2025", "NASDAQ"], "GECCN": ["Great Elm Capital Corp. - Notes", "NASDAQ"], "GEG": ["Great Elm Group, Inc. - Common Stock", "NASDAQ"], "GENC": ["Gencor Industries Inc. - Common Stock", "NASDAQ"], "GENE": ["Genetic Technologies Ltd - American Depositary Shares representing 600 ordinary shares", "NASDAQ"], "GENY": ["Principal Millennials Index ETF", "NASDAQ"], "GEOS": ["Geospace Technologies Corporation - Common Stock", "NASDAQ"], "GERN": ["Geron Corporation - Common Stock", "NASDAQ"], "GEVO": ["Gevo, Inc. - Common Stock", "NASDAQ"], "GFED": ["Guaranty Federal Bancshares, Inc. - Common Stock", "NASDAQ"], "GFN": ["General Finance Corporation - Common Stock", "NASDAQ"], "GFNCP": ["General Finance Corporation - Cumulative Redeemable Perpetual Preferred Series C", "NASDAQ"], "GFNSZ": ["General Finance Corporation - 7.875% Senior Notes due 2025", "NASDAQ"], "GGAL": ["Grupo Financiero Galicia S.A. - American Depositary Shares, Class B Shares underlying", "NASDAQ"], "GH": ["Guardant Health, Inc. - Common Stock", "NASDAQ"], "GHACU": ["Gaming & Hospitality Acquisition Corp. - Unit", "NASDAQ"], "GHSI": ["Guardion Health Sciences, Inc. - Common Stock", "NASDAQ"], "GHVI": ["Gores Holdings VI, Inc. - Class A Common Stock", "NASDAQ"], "GHVIU": ["Gores Holdings VI, Inc. - Unit", "NASDAQ"], "GHVIW": ["Gores Holdings VI, Inc. - Warrant", "NASDAQ"], "GIFI": ["Gulf Island Fabrication, Inc. - Common Stock", "NASDAQ"], "GIGE": ["SoFi Gig Economy ETF", "NASDAQ"], "GIGGU": ["GigCapital4, Inc. - Unit", "NASDAQ"], "GIGM": ["GigaMedia Limited - Ordinary Shares", "NASDAQ"], "GIII": ["G-III Apparel Group, LTD. - Common Stock", "NASDAQ"], "GIIXU": ["Gores Holdings VIII, Inc. - Unit", "NASDAQ"], "GILD": ["Gilead Sciences", "S&P500"], "GILT": ["Gilat Satellite Networks Ltd. - Ordinary Shares", "NASDAQ"], "GLAD": ["Gladstone Capital Corporation - Common Stock", "NASDAQ"], "GLADL": ["Gladstone Capital Corporation - 5.375% Notes due 2024", "NASDAQ"], "GLAQ": ["Globis Acquisition Corp. - Common stock", "NASDAQ"], "GLAQU": ["Globis Acquisition Corp. - Unit", "NASDAQ"], "GLAQW": ["Globis Acquisition Corp. - Warrant", "NASDAQ"], "GLBLU": ["Cartesian Growth Corporation - Unit", "NASDAQ"], "GLBS": ["Globus Maritime Limited - Common Stock", "NASDAQ"], "GLBZ": ["Glen Burnie Bancorp - Common Stock", "NASDAQ"], "GLDD": ["Great Lakes Dredge & Dock Corporation - Common Stock", "NASDAQ"], "GLDI": ["Credit Suisse Gold Shares Covered Call Exchange Traded Notes", "NASDAQ"], "GLG": ["TD Holdings, Inc. - Common Stock", "NASDAQ"], "GLMD": ["Galmed Pharmaceuticals Ltd. - Ordinary Shares", "NASDAQ"], "GLNG": ["Golar LNG Limited - Common Shares", "NASDAQ"], "GLPG": ["Galapagos NV - American Depositary Shares", "NASDAQ"], "GLPI": ["Gaming and Leisure Properties, Inc. - Common Stock", "NASDAQ"], "GLRE": ["Greenlight Reinsurance, Ltd. - Class A Ordinary Shares", "NASDAQ"], "GLSI": ["Greenwich LifeSciences, Inc. - Common stock", "NASDAQ"], "GLTO": ["Galecto, Inc. - Common Stock", "NASDAQ"], "GLUU": ["Glu Mobile Inc. - Common Stock", "NASDAQ"], "GLYC": ["GlycoMimetics, Inc. - Common Stock", "NASDAQ"], "GMAB": ["Genmab A/S - American Depositary Shares", "NASDAQ"], "GMBL": ["Esports Entertainment Group Inc. - Common Stock", "NASDAQ"], "GMBLW": ["Esports Entertainment Group Inc. - Warrant", "NASDAQ"], "GMBT": ["Queen's Gambit Growth Capital - Class A Ordinary Share", "NASDAQ"], "GMBTU": ["Queen's Gambit Growth Capital - Unit", "NASDAQ"], "GMBTW": ["Queen's Gambit Growth Capital - Warrant", "NASDAQ"], "GMDA": ["Gamida Cell Ltd. - Ordinary Shares", "NASDAQ"], "GMII": ["Gores Metropoulos II, Inc. - Class A Common Stock", "NASDAQ"], "GMIIU": ["Gores Metropoulos II, Inc. - Unit", "NASDAQ"], "GMIIW": ["Gores Metropoulos II, Inc. - Warrants", "NASDAQ"], "GMLP": ["Golar LNG Partners LP - Common Units Representing Limited Partnership", "NASDAQ"], "GMLPP": ["Golar LNG Partners LP - 8.75% Series A Cumulative Redeemable Preferred Units", "NASDAQ"], "GMTX": ["Gemini Therapeutics, Inc. - Common Stock", "NASDAQ"], "GNAC": ["Group Nine Acquisition Corp. - Class A Common stock", "NASDAQ"], "GNACU": ["Group Nine Acquisition Corp. - Unit", "NASDAQ"], "GNACW": ["Group Nine Acquisition Corp. - Warrant", "NASDAQ"], "GNCA": ["Genocea Biosciences, Inc. - Common Stock", "NASDAQ"], "GNFT": ["GENFIT S.A. - American Depositary Shares", "NASDAQ"], "GNLN": ["Greenlane Holdings, Inc. - Class A Common Stock", "NASDAQ"], "GNMA": ["iShares GNMA Bond ETF", "NASDAQ"], "GNMK": ["GenMark Diagnostics, Inc. - Common Stock", "NASDAQ"], "GNOG": ["Golden Nugget Online Gaming, Inc. - Class A Common Stock", "NASDAQ"], "GNOM": ["Global X Genomics & Biotechnology ETF", "NASDAQ"], "GNPX": ["Genprex, Inc. - Common Stock", "NASDAQ"], "GNRS": ["Greenrose Acquisition Corp. - Common Stock", "NASDAQ"], "GNRSU": ["Greenrose Acquisition Corp. - Unit", "NASDAQ"], "GNRSW": ["Greenrose Acquisition Corp. - Warrant", "NASDAQ"], "GNSS": ["Genasys Inc. - Common Stock", "NASDAQ"], "GNTX": ["Gentex Corporation - Common Stock", "NASDAQ"], "GNTY": ["Guaranty Bancshares, Inc. - Common Stock", "NASDAQ"], "GNUS": ["Genius Brands International, Inc. - Common Stock", "NASDAQ"], "GO": ["Grocery Outlet Holding Corp. - Common Stock", "NASDAQ"], "GOCO": ["GoHealth, Inc. - Class A Common Stock", "NASDAQ"], "GOEV": ["Canoo Inc. - Class A Common Stock", "NASDAQ"], "GOEVW": ["Canoo Inc. - Warrant", "NASDAQ"], "GOGL": ["Golden Ocean Group Limited - Common Stock", "NASDAQ"], "GOGO": ["Gogo Inc. - Common Stock", "NASDAQ"], "GOOD": ["Gladstone Commercial Corporation - Real Estate Investment Trust", "NASDAQ"], "GOODM": ["Gladstone Commercial Corporation - Series D Cumulative Redeemable Preferred Stock", "NASDAQ"], "GOODN": ["Gladstone Commercial Corporation - 6.625% Series E Cumulative Redeemable Preferred Stock", "NASDAQ"], "GOOG": ["Alphabet Inc. (Class C)", "S&P500"], "GOOGL": ["Alphabet Inc. (Class A)", "S&P500"], "GOSS": ["Gossamer Bio, Inc. - Common Stock", "NASDAQ"], "GOVX": ["GeoVax Labs, Inc. - Common Stock", "NASDAQ"], "GOVXW": ["GeoVax Labs, Inc. - Warrants", "NASDAQ"], "GP": ["GreenPower Motor Company Inc. - Common Shares", "NASDAQ"], "GPAC": ["Global Partner Acquisition Corp II - Class A Ordinary Share", "NASDAQ"], "GPACU": ["Global Partner Acquisition Corp II - Unit", "NASDAQ"], "GPACW": ["Global Partner Acquisition Corp II - Warrant", "NASDAQ"], "GPP": ["Green Plains Partners LP - Common Units", "NASDAQ"], "GPRE": ["Green Plains, Inc. - Common Stock", "NASDAQ"], "GPRO": ["GoPro, Inc. - Class A Common Stock", "NASDAQ"], "GRAY": ["Graybug Vision, Inc. - Common Stock", "NASDAQ"], "GRBK": ["Green Brick Partners, Inc. - Common Stock", "NASDAQ"], "GRCL": ["Gracell Biotechnologies Inc. - American Depositary Shares", "NASDAQ"], "GRCY": ["Greencity Acquisition Corporation - Ordinary Shares", "NASDAQ"], "GRCYU": ["Greencity Acquisition Corporation - Unit", "NASDAQ"], "GRCYW": ["Greencity Acquisition Corporation - Warrants", "NASDAQ"], "GRFS": ["Grifols, S.A. - American Depositary Shares", "NASDAQ"], "GRID": ["First Trust NASDAQ Clean Edge Smart Grid Infrastructure Index Fund", "NASDAQ"], "GRIL": ["Muscle Maker, Inc - Common Stock", "NASDAQ"], "GRIN": ["Grindrod Shipping Holdings Ltd. - Ordinary Shares", "NASDAQ"], "GRMN": ["Garmin Ltd.", "S&P500"], "GRNQ": ["Greenpro Capital Corp. - Common Stock", "NASDAQ"], "GRNV": ["GreenVision Acquisition Corp - Common Stock", "NASDAQ"], "GRNVR": ["GreenVision Acquisition Corp - Rights", "NASDAQ"], "GRNVU": ["GreenVision Acquisition Corp - Unit", "NASDAQ"], "GRNVW": ["GreenVision Acquisition Corp - Warrant", "NASDAQ"], "GROW": ["U.S. Global Investors, Inc. - Class A Common Stock", "NASDAQ"], "GRPN": ["Groupon, Inc. - Common Stock", "NASDAQ"], "GRSV": ["Gores Holdings V, Inc. - Common stock", "NASDAQ"], "GRSVU": ["Gores Holdings V, Inc. - Unit", "NASDAQ"], "GRSVW": ["Gores Holdings V, Inc. - Warrant", "NASDAQ"], "GRTS": ["Gritstone Oncology, Inc. - Common Stock", "NASDAQ"], "GRTX": ["Galera Therapeutics, Inc. - Common Stock", "NASDAQ"], "GRVY": ["GRAVITY Co., Ltd. - American depositary shares, each representing one common share.", "NASDAQ"], "GRWG": ["GrowGeneration Corp. - Common Stock", "NASDAQ"], "GSAQ": ["Global Synergy Acquisition Corp. - Ordinary Shares", "NASDAQ"], "GSAQU": ["Global Synergy Acquisition Corp. - Units", "NASDAQ"], "GSAQW": ["Global Synergy Acquisition Corp. - Warrant", "NASDAQ"], "GSBC": ["Great Southern Bancorp, Inc. - Common Stock", "NASDAQ"], "GSEVU": ["Gores Holdings VII, Inc. - Units", "NASDAQ"], "GSHD": ["Goosehead Insurance, Inc. - Class A Common Stock", "NASDAQ"], "GSIT": ["GSI Technology, Inc. - Common Stock", "NASDAQ"], "GSKY": ["GreenSky, Inc. - Common Stock", "NASDAQ"], "GSM": ["Ferroglobe PLC - Ordinary Shares", "NASDAQ"], "GSMG": ["Glory Star New Media Group Holdings Limited - Ordinary Share", "NASDAQ"], "GSMGW": ["Glory Star New Media Group Holdings Limited - Warrant", "NASDAQ"], "GSUM": ["Gridsum Holding Inc. - American Depositary Shares", "NASDAQ"], "GT": ["The Goodyear Tire & Rubber Company - Common Stock", "NASDAQ"], "GTBP": ["GT Biopharma, Inc. - Common Stock", "NASDAQ"], "GTEC": ["Greenland Technologies Holding Corporation - Ordinary Shares", "NASDAQ"], "GTH": ["Genetron Holdings Limited - American Depositary Shares", "NASDAQ"], "GTHX": ["G1 Therapeutics, Inc. - Common Stock", "NASDAQ"], "GTIM": ["Good Times Restaurants Inc. - Common Stock", "NASDAQ"], "GTPAU": ["Gores Technology Partners, Inc. - Units", "NASDAQ"], "GTPBU": ["Gores Technology Partners II, Inc. - Units", "NASDAQ"], "GTYH": ["GTY Technology Holdings, Inc. - Common Stock", "NASDAQ"], "GURE": ["Gulf Resources, Inc. - Common Stock", "NASDAQ"], "GVP": ["GSE Systems, Inc. - Common Stock", "NASDAQ"], "GWAC": ["Good Works Acquisition Corp. - Common Stock", "NASDAQ"], "GWACW": ["Good Works Acquisition Corp. - Warrant", "NASDAQ"], "GWGH": ["GWG Holdings, Inc - Common Stock", "NASDAQ"], "GWPH": ["GW Pharmaceuticals Plc - American Depositary Shares", "NASDAQ"], "GWRS": ["Global Water Resources, Inc. - common stock", "NASDAQ"], "GXGX": ["GX Acquisition Corp. - Class A Common Stock", "NASDAQ"], "GXGXU": ["GX Acquisition Corp. - Unit", "NASDAQ"], "GXGXW": ["GX Acquisition Corp. - Warrant", "NASDAQ"], "GXIIU": ["GX Acquisition Corp. II - Unit", "NASDAQ"], "GXTG": ["Global X Thematic Growth ETF", "NASDAQ"], "GYRO": ["Gyrodyne , LLC - Common Stock", "NASDAQ"], "HA": ["Hawaiian Holdings, Inc. - Common Stock", "NASDAQ"], "HAAC": ["Health Assurance Acquisition Corp. - Class A Common Stock", "NASDAQ"], "HAACU": ["Health Assurance Acquisition Corp. - SAIL Securities", "NASDAQ"], "HAACW": ["Health Assurance Acquisition Corp. - Warrants", "NASDAQ"], "HAFC": ["Hanmi Financial Corporation - Common Stock", "NASDAQ"], "HAIN": ["The Hain Celestial Group, Inc. - Common Stock", "NASDAQ"], "HALL": ["Hallmark Financial Services, Inc. - Common Stock", "NASDAQ"], "HALO": ["Halozyme Therapeutics, Inc. - Common Stock", "NASDAQ"], "HAPP": ["Happiness Biotech Group Limited - Ordinary Shares", "NASDAQ"], "HARP": ["Harpoon Therapeutics, Inc. - Common Stock", "NASDAQ"], "HAS": ["Hasbro Inc.", "S&P500"], "HAYN": ["Haynes International, Inc. - Common Stock", "NASDAQ"], "HBAN": ["Huntington Bancshares", "S&P500"], "HBANN": ["Huntington Bancshares Incorporated - Depositary Shares each representing a 1/40th interest in a share of 5.875% Series C Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "HBANO": ["Huntington Bancshares Incorporated - Depositary Shares", "NASDAQ"], "HBANP": ["Huntington Bancshares Incorporated - Depositary Shares 4.500% Series H Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "HBCP": ["Home Bancorp, Inc. - Common Stock", "NASDAQ"], "HBIO": ["Harvard Bioscience, Inc. - Common Stock", "NASDAQ"], "HBMD": ["Howard Bancorp, Inc. - Common Stock", "NASDAQ"], "HBNC": ["Horizon Bancorp, Inc. - Common Stock", "NASDAQ"], "HBP": ["Huttig Building Products, Inc. - Common Stock", "NASDAQ"], "HBT": ["HBT Financial, Inc. - Common Stock", "NASDAQ"], "HCAP": ["Harvest Capital Credit Corporation - Common Stock", "NASDAQ"], "HCAPZ": ["Harvest Capital Credit Corporation - 6.125% Notes due 2022", "NASDAQ"], "HCAQ": ["HealthCor Catalio Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "HCAR": ["Healthcare Services Acquisition Corporation - Class A Common Stock", "NASDAQ"], "HCARU": ["Healthcare Services Acquisition Corporation - Unit", "NASDAQ"], "HCARW": ["Healthcare Services Acquisition Corporation - Warrant", "NASDAQ"], "HCAT": ["Health Catalyst, Inc - Common stock", "NASDAQ"], "HCCC": ["Healthcare Capital Corp. - Class A common stock", "NASDAQ"], "HCCCU": ["Healthcare Capital Corp. - Unit", "NASDAQ"], "HCCCW": ["Healthcare Capital Corp. - Warrant", "NASDAQ"], "HCCI": ["Heritage-Crystal Clean, Inc. - Common Stock", "NASDAQ"], "HCDI": ["Harbor Custom Development, Inc. - Common Stock", "NASDAQ"], "HCIC": ["Hennessy Capital Investment Corp. V - Class A Common Stock", "NASDAQ"], "HCICU": ["Hennessy Capital Investment Corp. V - Unit", "NASDAQ"], "HCICW": ["Hennessy Capital Investment Corp. V - Warrant", "NASDAQ"], "HCII": ["Hudson Executive Investment Corp. II - Class A common stock", "NASDAQ"], "HCIIU": ["Hudson Executive Investment Corp. II - Unit", "NASDAQ"], "HCIIW": ["Hudson Executive Investment Corp. II - Warrant", "NASDAQ"], "HCKT": ["The Hackett Group, Inc. - Common Stock", "NASDAQ"], "HCM": ["Hutchison China MediTech Limited - American Depositary Shares", "NASDAQ"], "HCSG": ["Healthcare Services Group, Inc. - Common Stock", "NASDAQ"], "HDSN": ["Hudson Technologies, Inc. - Common Stock", "NASDAQ"], "HEAR": ["Turtle Beach Corporation - Common Stock", "NASDAQ"], "HEC": ["Hudson Executive Investment Corp. - Class A Common Stock", "NASDAQ"], "HECCU": ["Hudson Executive Investment Corp. - Units", "NASDAQ"], "HECCW": ["Hudson Executive Investment Corp. - Warrant", "NASDAQ"], "HEES": ["H&E Equipment Services, Inc. - Common Stock", "NASDAQ"], "HELE": ["Helen of Troy Limited - Common Stock", "NASDAQ"], "HEPA": ["Hepion Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "HERAU": ["FTAC Hera Acquisition Corp. - Units, each consisting of one share of Class A common stock and one fourth of one warrant", "NASDAQ"], "HERD": ["Pacer Cash Cows Fund of Funds ETF", "NASDAQ"], "HERO": ["Global X Video Games & Esports ETF", "NASDAQ"], "HEWG": ["iShares Currency Hedged MSCI Germany ETF", "NASDAQ"], "HFBL": ["Home Federal Bancorp, Inc. of Louisiana - Common Stock", "NASDAQ"], "HFFG": ["HF Foods Group Inc. - Common Stock", "NASDAQ"], "HFWA": ["Heritage Financial Corporation - Common Stock", "NASDAQ"], "HGBL": ["Heritage Global Inc. - Common Stock", "NASDAQ"], "HGEN": ["Humanigen, Inc. - Common Stock", "NASDAQ"], "HGSH": ["China HGS Real Estate, Inc. - Common Stock", "NASDAQ"], "HHR": ["HeadHunter Group PLC - American Depositary Shares", "NASDAQ"], "HIBB": ["Hibbett Sports, Inc. - Common Stock", "NASDAQ"], "HIFS": ["Hingham Institution for Savings - Common Stock", "NASDAQ"], "HIHO": ["Highway Holdings Limited - Common Stock", "NASDAQ"], "HIIIU": ["Hudson Executive Investment Corp. III - Unit", "NASDAQ"], "HIMX": ["Himax Technologies, Inc. - American depositary shares, each of which represents two ordinary shares.", "NASDAQ"], "HJLI": ["Hancock Jaffe Laboratories, Inc. - Common Stock", "NASDAQ"], "HJLIW": ["Hancock Jaffe Laboratories, Inc. - Warrants", "NASDAQ"], "HLAH": ["Hamilton Lane Alliance Holdings I, Inc. - Class A Common Stock", "NASDAQ"], "HLAHU": ["Hamilton Lane Alliance Holdings I, Inc. - Unit", "NASDAQ"], "HLAHW": ["Hamilton Lane Alliance Holdings I, Inc. - Warrant", "NASDAQ"], "HLAL": ["Wahed FTSE USA Shariah ETF", "NASDAQ"], "HLG": ["Hailiang Education Group Inc. - American Depositary Shares", "NASDAQ"], "HLIO": ["Helios Technologies, Inc. - Common Stock", "NASDAQ"], "HLIT": ["Harmonic Inc. - Common Stock", "NASDAQ"], "HLNE": ["Hamilton Lane Incorporated - Class A Common Stock", "NASDAQ"], "HLXA": ["Helix Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "HMCO": ["HumanCo Acquisition Corp. - Class A Common Stock", "NASDAQ"], "HMCOU": ["HumanCo Acquisition Corp. - Unit", "NASDAQ"], "HMCOW": ["HumanCo Acquisition Corp. - Warrant", "NASDAQ"], "HMHC": ["Houghton Mifflin Harcourt Company - Common Stock", "NASDAQ"], "HMNF": ["HMN Financial, Inc. - Common Stock", "NASDAQ"], "HMPT": ["Home Point Capital Inc. - Common Stock", "NASDAQ"], "HMST": ["HomeStreet, Inc. - Common Stock", "NASDAQ"], "HMSY": ["HMS Holdings Corp - Common Stock", "NASDAQ"], "HMTV": ["Hemisphere Media Group, Inc. - Class A Common Stock", "NASDAQ"], "HNDL": ["Strategy Shares Nasdaq 7HANDL Index ETF", "NASDAQ"], "HNNA": ["Hennessy Advisors, Inc. - Common Stock", "NASDAQ"], "HNRG": ["Hallador Energy Company - Common Stock", "NASDAQ"], "HOFT": ["Hooker Furniture Corporation - Common Stock", "NASDAQ"], "HOFV": ["Hall of Fame Resort & Entertainment Company - Common Stock", "NASDAQ"], "HOFVW": ["Hall of Fame Resort & Entertainment Company - Warrant", "NASDAQ"], "HOL": ["Holicity Inc. - Class A Common Stock", "NASDAQ"], "HOLI": ["Hollysys Automation Technologies, Ltd. - Common Stock", "NASDAQ"], "HOLUU": ["Holicity Inc. - Unit", "NASDAQ"], "HOLUW": ["Holicity Inc. - Warrant", "NASDAQ"], "HOLX": ["Hologic", "S&P500"], "HOMB": ["Home BancShares, Inc. - common stock", "NASDAQ"], "HONE": ["HarborOne Bancorp, Inc. - Common Stock", "NASDAQ"], "HOOK": ["HOOKIPA Pharma Inc. - Common Stock", "NASDAQ"], "HOPE": ["Hope Bancorp, Inc. - Common Stock", "NASDAQ"], "HOTH": ["Hoth Therapeutics, Inc. - Common Stock", "NASDAQ"], "HOVNP": ["Hovnanian Enterprises Inc - Depositary Share representing 1/1000th of 7.625% Series A Preferred Stock", "NASDAQ"], "HPK": ["HighPeak Energy, Inc. - Common Stock", "NASDAQ"], "HPKEW": ["HighPeak Energy, Inc. - Warrant", "NASDAQ"], "HQI": ["HireQuest, Inc. - Common Stock", "NASDAQ"], "HQY": ["HealthEquity, Inc. - Common Stock", "NASDAQ"], "HRMY": ["Harmony Biosciences Holdings, Inc. - Common Stock", "NASDAQ"], "HROW": ["Harrow Health, Inc. - Common Stock", "NASDAQ"], "HRTX": ["Heron Therapeutics, Inc. - Common Stock", "NASDAQ"], "HRZN": ["Horizon Technology Finance Corporation - Common Stock", "NASDAQ"], "HSAQ": ["Health Sciences Acquisitions Corporation 2 - Ordinary Shares", "NASDAQ"], "HSDT": ["Helius Medical Technologies, Inc. - Class A Common Stock", "NASDAQ"], "HSIC": ["Henry Schein", "S&P500"], "HSII": ["Heidrick & Struggles International, Inc. - Common Stock", "NASDAQ"], "HSKA": ["Heska Corporation - Common Stock", "NASDAQ"], "HSON": ["Hudson Global, Inc. - Common Stock", "NASDAQ"], "HST": ["Host Hotels & Resorts", "S&P500"], "HSTM": ["HealthStream, Inc. - Common Stock", "NASDAQ"], "HSTO": ["Histogen Inc. - Common Stock", "NASDAQ"], "HTBI": ["HomeTrust Bancshares, Inc. - Common Stock", "NASDAQ"], "HTBK": ["Heritage Commerce Corp - Common Stock", "NASDAQ"], "HTBX": ["Heat Biologics, Inc. - Common Stock", "NASDAQ"], "HTGM": ["HTG Molecular Diagnostics, Inc. - Common Stock", "NASDAQ"], "HTHT": ["Huazhu Group Limited - American Depositary Shares, each representing one Ordinary Share", "NASDAQ"], "HTIA": ["Healthcare Trust, Inc. - 7.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "HTLD": ["Heartland Express, Inc. - Common Stock", "NASDAQ"], "HTLF": ["Heartland Financial USA, Inc. - Common Stock", "NASDAQ"], "HTLFP": ["Heartland Financial USA, Inc. - Depositary Shares, each representing a 1/400th ownership interest in a share of 7.00% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "NASDAQ"], "HTOO": ["Fusion Fuel Green PLC - Ordinary Shares", "NASDAQ"], "HTOOW": ["Fusion Fuel Green PLC - Warrant", "NASDAQ"], "HUBG": ["Hub Group, Inc. - Class A Common Stock", "NASDAQ"], "HUDI": ["Huadi International Group Co., Ltd. - Ordinary Shares", "NASDAQ"], "HUGE": ["FSD Pharma Inc. - Class B Subordinate Voting Shares", "NASDAQ"], "HUIZ": ["Huize Holding Limited - American Depositary Shares", "NASDAQ"], "HURC": ["Hurco Companies, Inc. - Common Stock", "NASDAQ"], "HURN": ["Huron Consulting Group Inc. - Common Stock", "NASDAQ"], "HUSN": ["Hudson Capital Inc. - Ordinary Shares", "NASDAQ"], "HVBC": ["HV Bancorp, Inc. - Common Stock", "NASDAQ"], "HWBK": ["Hawthorn Bancshares, Inc. - Common Stock", "NASDAQ"], "HWC": ["Hancock Whitney Corporation - Common Stock", "NASDAQ"], "HWCC": ["Houston Wire & Cable Company - Common Stock", "NASDAQ"], "HWCPL": ["Hancock Whitney Corporation - 5.95% Subordinated Notes due 2045", "NASDAQ"], "HWCPZ": ["Hancock Whitney Corporation - 6.25% Subordinated Notes due 2060", "NASDAQ"], "HWKN": ["Hawkins, Inc. - Common Stock", "NASDAQ"], "HX": ["Xiaobai Maimai Inc. - American Depositary Shares", "NASDAQ"], "HYACU": ["Haymaker Acquisition Corp. III - Unit", "NASDAQ"], "HYFM": ["Hydrofarm Holdings Group, Inc. - Common Stock", "NASDAQ"], "HYLS": ["First Trust Tactical High Yield ETF", "NASDAQ"], "HYMC": ["Hycroft Mining Holding Corporation - Class A Common Stock", "NASDAQ"], "HYMCL": ["Hycroft Mining Holding Corporation - Warrants", "NASDAQ"], "HYMCW": ["Hycroft Mining Holding Corporation - Warrant", "NASDAQ"], "HYMCZ": ["Hycroft Mining Holding Corporation - Warrant", "NASDAQ"], "HYRE": ["HyreCar Inc. - Common Stock", "NASDAQ"], "HYXF": ["iShares ESG Advanced High Yield Corporate Bond ETF", "NASDAQ"], "HYZD": ["WisdomTree Interest Rate Hedged High Yield Bond Fund", "NASDAQ"], "HZNP": ["Horizon Therapeutics Public Limited Company - Ordinary Shares", "NASDAQ"], "IAC": ["IAC/InterActiveCorp - Common Stock", "NASDAQ"], "IART": ["Integra LifeSciences Holdings Corporation - Common Stock", "NASDAQ"], "IBB": ["iShares Nasdaq Biotechnology Index Fund", "NASDAQ"], "IBBJ": ["Defiance Nasdaq Junior Biotechnology ETF", "NASDAQ"], "IBCP": ["Independent Bank Corporation - Common Stock", "NASDAQ"], "IBEX": ["IBEX Limited - Common Share", "NASDAQ"], "IBKR": ["Interactive Brokers Group, Inc. - Class A Common Stock", "NASDAQ"], "IBOC": ["International Bancshares Corporation - Common Stock", "NASDAQ"], "IBRX": ["ImmunityBio, Inc. - Common Stock", "NASDAQ"], "IBTA": ["iShares iBonds Dec 2021 Term Treasury ETF", "NASDAQ"], "IBTB": ["iShares iBonds Dec 2022 Term Treasury ETF", "NASDAQ"], "IBTD": ["iShares iBonds Dec 2023 Term Treasury ETF", "NASDAQ"], "IBTE": ["iShares iBonds Dec 2024 Term Treasury ETF", "NASDAQ"], "IBTF": ["iShares iBonds Dec 2025 Term Treasury ETF", "NASDAQ"], "IBTG": ["iShares iBonds Dec 2026 Term Treasury ETF", "NASDAQ"], "IBTH": ["iShares iBonds Dec 2027 Term Treasury ETF", "NASDAQ"], "IBTI": ["iShares iBonds Dec 2028 Term Treasury ETF", "NASDAQ"], "IBTJ": ["iShares iBonds Dec 2029 Term Treasury ETF", "NASDAQ"], "IBTK": ["iShares iBonds Dec 2030 Term Treasury ETF", "NASDAQ"], "IBTX": ["Independent Bank Group, Inc - Common Stock", "NASDAQ"], "ICAD": ["icad inc. - Common Stock", "NASDAQ"], "ICBK": ["County Bancorp, Inc. - Common Stock", "NASDAQ"], "ICCC": ["ImmuCell Corporation - Common Stock", "NASDAQ"], "ICCH": ["ICC Holdings, Inc. - Common Stock", "NASDAQ"], "ICFI": ["ICF International, Inc. - Common Stock", "NASDAQ"], "ICHR": ["Ichor Holdings - Ordinary Shares", "NASDAQ"], "ICLK": ["iClick Interactive Asia Group Limited - American Depositary Shares", "NASDAQ"], "ICLN": ["iShares S&P Global Clean Energy Index Fund", "NASDAQ"], "ICLR": ["ICON plc - Ordinary Shares", "NASDAQ"], "ICMB": ["Investcorp Credit Management BDC, Inc. - Common Stock", "NASDAQ"], "ICON": ["Iconix Brand Group, Inc. - Common Stock", "NASDAQ"], "ICPT": ["Intercept Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ICUI": ["ICU Medical, Inc. - Common Stock", "NASDAQ"], "IDBA": ["IDEX Biometrics ASA - American Depositary Shares", "NASDAQ"], "IDCC": ["InterDigital, Inc. - Common Stock", "NASDAQ"], "IDEX": ["Ideanomics, Inc. - Common Stock", "NASDAQ"], "IDLB": ["Invesco FTSE International Low Beta Equal Weight ETF", "NASDAQ"], "IDN": ["Intellicheck, Inc. - Common Stock", "NASDAQ"], "IDRA": ["Idera Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "IDXX": ["Idexx Laboratories", "S&P500"], "IDYA": ["IDEAYA Biosciences, Inc. - Common Stock", "NASDAQ"], "IEA": ["Infrastructure and Energy Alternatives, Inc. - Common Stock", "NASDAQ"], "IEAWW": ["Infrastructure and Energy Alternatives, Inc. - Warrant", "NASDAQ"], "IEC": ["IEC Electronics Corp. - Common Stock", "NASDAQ"], "IEF": ["iShares 7-10 Year Treasury Bond ETF", "NASDAQ"], "IEI": ["iShares 3-7 Year Treasury Bond ETF", "NASDAQ"], "IEP": ["Icahn Enterprises L.P. - Depositary units", "NASDAQ"], "IESC": ["IES Holdings, Inc. - Common Stock", "NASDAQ"], "IEUS": ["iShares MSCI Europe Small-Cap ETF", "NASDAQ"], "IFGL": ["iShares FTSE EPRA/NAREIT Global Real Estate ex-U.S. Index Fund", "NASDAQ"], "IFMK": ["iFresh Inc. - Common Stock", "NASDAQ"], "IFRX": ["InflaRx N.V. - Common Stock", "NASDAQ"], "IFV": ["First Trust Dorsey Wright International Focus 5 ETF", "NASDAQ"], "IGAC": ["IG Acquisition Corp. - Class A Common Stock", "NASDAQ"], "IGACU": ["IG Acquisition Corp. - Unit", "NASDAQ"], "IGACW": ["IG Acquisition Corp. - Warrant", "NASDAQ"], "IGF": ["iShares Global Infrastructure ETF", "NASDAQ"], "IGIB": ["iShares 5-10 Year Investment Grade Corporate Bond ETF", "NASDAQ"], "IGIC": ["International General Insurance Holdings Ltd. - Ordinary Shares", "NASDAQ"], "IGICW": ["International General Insurance Holdings Ltd. - Warrant expiring 3/17/2025", "NASDAQ"], "IGMS": ["IGM Biosciences, Inc. - Common Stock", "NASDAQ"], "IGNY": ["Ignyte Acquisition Corp. - Common Stock", "NASDAQ"], "IGNYU": ["Ignyte Acquisition Corp. - Unit", "NASDAQ"], "IGNYW": ["Ignyte Acquisition Corp. - Warrant", "NASDAQ"], "IGOV": ["iShares International Treasury Bond ETF", "NASDAQ"], "IGSB": ["iShares 1-5 Year Investment Grade Corporate Bond ETF", "NASDAQ"], "IHRT": ["iHeartMedia, Inc. - Class A Common Stock", "NASDAQ"], "IHYF": ["Invesco High Yield Bond Factor ETF", "NASDAQ"], "III": ["Information Services Group, Inc. - Common Stock", "NASDAQ"], "IIII": ["INSU Acquisition Corp. III - Class A Common Stock", "NASDAQ"], "IIIIU": ["INSU Acquisition Corp. III - Unit", "NASDAQ"], "IIIIW": ["INSU Acquisition Corp. III - Warrant", "NASDAQ"], "IIIV": ["i3 Verticals, Inc. - Common Stock", "NASDAQ"], "IIN": ["IntriCon Corporation - Common Stock", "NASDAQ"], "IIVI": ["II-VI Incorporated - Common Stock", "NASDAQ"], "IIVIP": ["II-VI Incorporated - 6.00% Series A Mandatory Convertible Preferred Stock", "NASDAQ"], "IJT": ["iShares S&P Small-Cap 600 Growth ETF", "NASDAQ"], "IKNX": ["Ikonics Corporation - Common Stock", "NASDAQ"], "IKT": ["Inhibikase Therapeutics, Inc. - Common Stock", "NASDAQ"], "ILMN": ["Illumina Inc", "S&P500"], "ILPT": ["Industrial Logistics Properties Trust - Common Shares of Beneficial Interest", "NASDAQ"], "IMAB": ["I-MAB - American Depositary Shares", "NASDAQ"], "IMAC": ["IMAC Holdings, Inc. - Common Stock", "NASDAQ"], "IMACW": ["IMAC Holdings, Inc. - Warrant", "NASDAQ"], "IMBI": ["iMedia Brands, Inc. - Class A Common Stock", "NASDAQ"], "IMCC": ["IM Cannabis Corp. - Common Shares", "NASDAQ"], "IMCR": ["Immunocore Holdings plc - American Depositary Shares", "NASDAQ"], "IMGN": ["ImmunoGen, Inc. - Common Stock", "NASDAQ"], "IMKTA": ["Ingles Markets, Incorporated - Class A Common Stock", "NASDAQ"], "IMMP": ["Immutep Limited - American Depositary Shares", "NASDAQ"], "IMMR": ["Immersion Corporation - Common Stock", "NASDAQ"], "IMNM": ["Immunome, Inc. - Common Stock", "NASDAQ"], "IMOS": ["ChipMOS TECHNOLOGIES INC. - American Depositary Shares", "NASDAQ"], "IMRA": ["IMARA Inc. - Common Stock", "NASDAQ"], "IMRN": ["Immuron Limited - American Depositary Shares", "NASDAQ"], "IMRNW": ["Immuron Limited - Warrants", "NASDAQ"], "IMTE": ["Integrated Media Technology Limited - Ordinary Shares", "NASDAQ"], "IMTX": ["Immatics N.V. - Ordinary Shares", "NASDAQ"], "IMTXW": ["Immatics N.V. - Warrants", "NASDAQ"], "IMUX": ["Immunic, Inc. - Common Stock", "NASDAQ"], "IMV": ["IMV Inc. - Common Shares", "NASDAQ"], "IMVT": ["Immunovant, Inc. - Common Stock", "NASDAQ"], "IMXI": ["International Money Express, Inc. - Common Stock", "NASDAQ"], "INBK": ["First Internet Bancorp - Common Stock", "NASDAQ"], "INBKL": ["First Internet Bancorp - 6.0% Fixed-to-Floating Rate Subordinated Notes due 2026", "NASDAQ"], "INBKZ": ["First Internet Bancorp - Fixed-to-Floating Rate Subordinated Notes Due 2029", "NASDAQ"], "INBX": ["Inhibrx, Inc. - Common Stock", "NASDAQ"], "INCY": ["Incyte", "S&P500"], "INDB": ["Independent Bank Corp. - Common Stock", "NASDAQ"], "INDT": ["INDUS Realty Trust, Inc. - Common Stock", "NASDAQ"], "INDY": ["iShares S&P India Nifty 50 Index Fund", "NASDAQ"], "INFI": ["Infinity Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "INFN": ["Infinera Corporation - Common Stock", "NASDAQ"], "INFR": ["Legg Mason Global Infrastructure ETF", "NASDAQ"], "INGN": ["Inogen, Inc - Common Stock", "NASDAQ"], "INKA": ["KludeIn I Acquisition Corp. - Class A Common Stock", "NASDAQ"], "INKAU": ["KludeIn I Acquisition Corp. - Unit", "NASDAQ"], "INKAW": ["KludeIn I Acquisition Corp. - Warrant", "NASDAQ"], "INM": ["InMed Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "INMB": ["INmune Bio Inc. - Common stock", "NASDAQ"], "INMD": ["InMode Ltd. - Ordinary Shares", "NASDAQ"], "INNV": ["InnovAge Holding Corp. - Common Stock", "NASDAQ"], "INO": ["Inovio Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "INOD": ["Innodata Inc. - Common Stock", "NASDAQ"], "INOV": ["Inovalon Holdings, Inc. - Class A Common Stock", "NASDAQ"], "INPX": ["Inpixon - Common Stock", "NASDAQ"], "INSE": ["Inspired Entertainment, Inc. - Common Stock", "NASDAQ"], "INSG": ["Inseego Corp. - Common Stock", "NASDAQ"], "INSM": ["Insmed, Inc. - Common Stock", "NASDAQ"], "INTC": ["Intel Corp.", "S&P500"], "INTG": ["The Intergroup Corporation - Common Stock", "NASDAQ"], "INTU": ["Intuit Inc.", "S&P500"], "INTZ": ["Intrusion Inc. - Common Stock", "NASDAQ"], "INVA": ["Innoviva, Inc. - Common Stock", "NASDAQ"], "INVE": ["Identiv, Inc. - Common Stock", "NASDAQ"], "INVO": ["INVO BioScience, Inc. - Common Stock", "NASDAQ"], "INZY": ["Inozyme Pharma, Inc. - Common Stock", "NASDAQ"], "IONS": ["Ionis Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "IOSP": ["Innospec Inc. - Common Stock", "NASDAQ"], "IOVA": ["Iovance Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "IPA": ["ImmunoPrecise Antibodies Ltd. - Common Stock", "NASDAQ"], "IPAR": ["Inter Parfums, Inc. - Common Stock", "NASDAQ"], "IPDN": ["Professional Diversity Network, Inc. - Common Stock", "NASDAQ"], "IPGP": ["IPG Photonics Corp.", "S&P500"], "IPHA": ["Innate Pharma S.A. - American Depositary Shares", "NASDAQ"], "IPHI": ["Inphi Corporation - Common Stock", "NASDAQ"], "IPKW": ["Invesco International BuyBack Achievers ETF", "NASDAQ"], "IPLDP": ["Interstate Power and Light Company - Interstate Power & Light Company Perp Preferred 5.10% Series D", "NASDAQ"], "IPVIU": ["InterPrivate IV InfraTech Partners Inc. - Units", "NASDAQ"], "IPWR": ["Ideal Power Inc. - Common Stock", "NASDAQ"], "IQ": ["iQIYI, Inc. - American Depositary Shares", "NASDAQ"], "IRBT": ["iRobot Corporation - Common Stock", "NASDAQ"], "IRCP": ["IRSA Propiedades Comerciales S.A. - American Depository Shares", "NASDAQ"], "IRDM": ["Iridium Communications Inc - Common Stock", "NASDAQ"], "IRIX": ["IRIDEX Corporation - Common Stock", "NASDAQ"], "IRMD": ["iRadimed Corporation - Common Stock", "NASDAQ"], "IROQ": ["IF Bancorp, Inc. - Common Stock", "NASDAQ"], "IRTC": ["iRhythm Technologies, Inc. - Common Stock", "NASDAQ"], "IRWD": ["Ironwood Pharmaceuticals, Inc. - Class A Common Stock", "NASDAQ"], "ISBC": ["Investors Bancorp, Inc. - Common Stock", "NASDAQ"], "ISDX": ["Invesco RAFI Strategic Developed ex-US ETF", "NASDAQ"], "ISEE": ["IVERIC bio, Inc. - Common Stock", "NASDAQ"], "ISEM": ["Invesco RAFI Strategic Emerging Markets ETF", "NASDAQ"], "ISHG": ["iShares 1-3 Year International Treasury Bond ETF", "NASDAQ"], "ISIG": ["Insignia Systems, Inc. - Common Stock", "NASDAQ"], "ISLEU": ["Isleworth Healthcare Acquisition Corporation - Unit", "NASDAQ"], "ISNS": ["Image Sensing Systems, Inc. - Common Stock", "NASDAQ"], "ISRG": ["Intuitive Surgical Inc.", "S&P500"], "ISSC": ["Innovative Solutions and Support, Inc. - Common Stock", "NASDAQ"], "ISTB": ["iShares Core 1-5 Year USD Bond ETF", "NASDAQ"], "ISTR": ["Investar Holding Corporation - Common Stock", "NASDAQ"], "ISUN": ["iSun, Inc. - Common Stock", "NASDAQ"], "ITAC": ["Industrial Tech Acquisitions, Inc. - Class A common stock", "NASDAQ"], "ITACU": ["Industrial Tech Acquisitions, Inc. - Unit", "NASDAQ"], "ITACW": ["Industrial Tech Acquisitions, Inc. - Warrant", "NASDAQ"], "ITCI": ["Intra-Cellular Therapies Inc. - Common Stock", "NASDAQ"], "ITHXU": ["ITHAX Acquisition Corp. - Unit", "NASDAQ"], "ITI": ["Iteris, Inc. - Common Stock", "NASDAQ"], "ITIC": ["Investors Title Company - Common Stock", "NASDAQ"], "ITMR": ["Itamar Medical Ltd. - American Depository Shares", "NASDAQ"], "ITOS": ["iTeos Therapeutics, Inc. - Common Stock", "NASDAQ"], "ITQRU": ["Itiquira Acquisition Corp. - Unit", "NASDAQ"], "ITRI": ["Itron, Inc. - Common Stock", "NASDAQ"], "ITRM": ["Iterum Therapeutics plc - Ordinary Share", "NASDAQ"], "ITRN": ["Ituran Location and Control Ltd. - Ordinary Shares", "NASDAQ"], "IUS": ["Invesco RAFI Strategic US ETF", "NASDAQ"], "IUSB": ["iShares Core Total USD Bond Market ETF", "NASDAQ"], "IUSG": ["iShares Core S&P U.S. Growth ETF", "NASDAQ"], "IUSS": ["Invesco RAFI Strategic US Small Company ETF", "NASDAQ"], "IUSV": ["iShares Core S&P U.S. Value ETF", "NASDAQ"], "IVA": ["Inventiva S.A. - American Depository Shares", "NASDAQ"], "IVAC": ["Intevac, Inc. - Common Stock", "NASDAQ"], "IXUS": ["iShares Core MSCI Total International Stock ETF", "NASDAQ"], "IZEA": ["IZEA Worldwide, Inc. - Common Stock", "NASDAQ"], "JACK": ["Jack In The Box Inc. - Common Stock", "NASDAQ"], "JAGX": ["Jaguar Health, Inc. - Common Stock", "NASDAQ"], "JAKK": ["JAKKS Pacific, Inc. - Common Stock", "NASDAQ"], "JAMF": ["Jamf Holding Corp. - Common Stock", "NASDAQ"], "JAN": ["JanOne Inc. - Common Stock", "NASDAQ"], "JAZZ": ["Jazz Pharmaceuticals plc - Ordinary Shares", "NASDAQ"], "JBHT": ["J. B. Hunt Transport Services", "S&P500"], "JBLU": ["JetBlue Airways Corporation - Common Stock", "NASDAQ"], "JBSS": ["John B. Sanfilippo & Son, Inc. - Common Stock", "NASDAQ"], "JCIC": ["Jack Creek Investment Corp. - Class A Ordinary Shares", "NASDAQ"], "JCICU": ["Jack Creek Investment Corp. - Units", "NASDAQ"], "JCICW": ["Jack Creek Investment Corp. - Warrants", "NASDAQ"], "JCOM": ["j2 Global, Inc. - Common Stock", "NASDAQ"], "JCS": ["Communications Systems, Inc. - Common Stock", "NASDAQ"], "JCTCF": ["Jewett-Cameron Trading Company - Common Shares", "NASDAQ"], "JD": ["JD.com, Inc. - American Depositary Shares", "NASDAQ"], "JFIN": ["Jiayin Group Inc. - American Depositary Shares", "NASDAQ"], "JFU": ["9F Inc. - American Depositary Shares", "NASDAQ"], "JG": ["Aurora Mobile Limited - American Depositary Shares", "NASDAQ"], "JJSF": ["J & J Snack Foods Corp. - Common Stock", "NASDAQ"], "JKHY": ["Jack Henry & Associates", "S&P500"], "JKI": ["iShares Morningstar Mid-Cap ETF", "NASDAQ"], "JMPNL": ["JMP Group LLC - 7.25% Senior Notes due 2027", "NASDAQ"], "JMPNZ": ["JMP Group LLC - 6.875% Senior Notes due 2029", "NASDAQ"], "JNCE": ["Jounce Therapeutics, Inc. - Common Stock", "NASDAQ"], "JOAN": ["JOANN, Inc. - common stock", "NASDAQ"], "JOBS": ["51job, Inc. - American Depositary Shares, each representing two common shares", "NASDAQ"], "JOET": ["Virtus Terranova U.S. Quality Momentum ETF", "NASDAQ"], "JOFFU": ["JOFF Fintech Acquisition Corp. - Unit", "NASDAQ"], "JOUT": ["Johnson Outdoors Inc. - Class A Common Stock", "NASDAQ"], "JRJC": ["China Finance Online Co. Limited - American Depositary Shares", "NASDAQ"], "JRSH": ["Jerash Holdings (US), Inc. - Common Stock", "NASDAQ"], "JRVR": ["James River Group Holdings, Ltd. - Common Shares", "NASDAQ"], "JSM": ["Navient Corporation - 6% Senior Notes due December 15, 2043", "NASDAQ"], "JSMD": ["Janus Henderson Small/Mid Cap Growth Alpha ETF", "NASDAQ"], "JSML": ["Janus Henderson Small Cap Growth Alpha ETF", "NASDAQ"], "JUPW": ["Jupiter Wellness, Inc. - Common Stock", "NASDAQ"], "JUPWW": ["Jupiter Wellness, Inc. - Warrant", "NASDAQ"], "JVA": ["Coffee Holding Co., Inc. - Common Stock", "NASDAQ"], "JWEL": ["Jowell Global Ltd. - Ordinary Shares", "NASDAQ"], "JYAC": ["Jiya Acquisition Corp. - Class A Common Stock", "NASDAQ"], "JYNT": ["The Joint Corp. - Common Stock", "NASDAQ"], "KAIIU": ["Kismet Acquisition Two Corp. - Unit", "NASDAQ"], "KAIR": ["Kairos Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "KAIRU": ["Kairos Acquisition Corp. - Unit", "NASDAQ"], "KAIRW": ["Kairos Acquisition Corp. - Warrant", "NASDAQ"], "KALA": ["Kala Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "KALU": ["Kaiser Aluminum Corporation - Common Stock", "NASDAQ"], "KALV": ["KalVista Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "KBAL": ["Kimball International, Inc. - Class B Common Stock", "NASDAQ"], "KBNT": ["Kubient, Inc. - Common Stock", "NASDAQ"], "KBNTW": ["Kubient, Inc. - Warrant", "NASDAQ"], "KBSF": ["KBS Fashion Group Limited - Common Stock", "NASDAQ"], "KBWB": ["Invesco KBW Bank ETF", "NASDAQ"], "KBWD": ["Invesco KBW High Dividend Yield Financial ETF", "NASDAQ"], "KBWP": ["Invesco KBW Property & Casualty Insurance ETF", "NASDAQ"], "KBWR": ["Invesco KBW Regional Banking ETF", "NASDAQ"], "KBWY": ["Invesco KBW Premium Yield Equity REIT ETF", "NASDAQ"], "KC": ["Kingsoft Cloud Holdings Limited - American Depositary Shares", "NASDAQ"], "KCAPL": ["Portman Ridge Finance Corporation - 6.125% Notes due 2022", "NASDAQ"], "KDMN": ["Kadmon Holdings, Inc. - Common Stock", "NASDAQ"], "KDNY": ["Chinook Therapeutics, Inc. - Common Stock", "NASDAQ"], "KDP": ["Keurig Dr Pepper Inc. - Common Stock", "NASDAQ"], "KE": ["Kimball Electronics, Inc. - Common Stock", "NASDAQ"], "KEJI": ["Global X China Disruption ETF", "NASDAQ"], "KELYA": ["Kelly Services, Inc. - Class A Common Stock", "NASDAQ"], "KELYB": ["Kelly Services, Inc. - Class B Common Stock", "NASDAQ"], "KEQU": ["Kewaunee Scientific Corporation - Common Stock", "NASDAQ"], "KERN": ["Akerna Corp. - Common Stock", "NASDAQ"], "KERNW": ["Akerna Corp. - Warrant", "NASDAQ"], "KFFB": ["Kentucky First Federal Bancorp - Common Stock", "NASDAQ"], "KFRC": ["Kforce, Inc. - Common Stock", "NASDAQ"], "KHC": ["Kraft Heinz Co", "S&P500"], "KIDS": ["OrthoPediatrics Corp. - Common Stock", "NASDAQ"], "KIIIU": ["Kismet Acquisition Three Corp. - Unit", "NASDAQ"], "KIN": ["Kindred Biosciences, Inc. - Common Stock", "NASDAQ"], "KINS": ["Kingstone Companies, Inc - Common Stock", "NASDAQ"], "KINZ": ["KINS Technology Group Inc. - Class A Common Stock", "NASDAQ"], "KINZU": ["KINS Technology Group Inc. - Unit", "NASDAQ"], "KINZW": ["KINS Technology Group Inc. - Warrant", "NASDAQ"], "KIRK": ["Kirkland's, Inc. - Common Stock", "NASDAQ"], "KLAC": ["KLA Corporation", "S&P500"], "KLAQ": ["KL Acquisition Corp - Class A Common Stock", "NASDAQ"], "KLAQU": ["KL Acquisition Corp - Unit", "NASDAQ"], "KLAQW": ["KL Acquisition Corp - Warrant", "NASDAQ"], "KLDO": ["Kaleido Biosciences, Inc. - Common Stock", "NASDAQ"], "KLIC": ["Kulicke and Soffa Industries, Inc. - Common Stock", "NASDAQ"], "KLXE": ["KLX Energy Services Holdings, Inc. - Common Stock", "NASDAQ"], "KMDA": ["Kamada Ltd. - Ordinary Shares", "NASDAQ"], "KMPH": ["KemPharm, Inc. - Common Stock", "NASDAQ"], "KNDI": ["Kandi Technologies Group, Inc. - Common Stock", "NASDAQ"], "KNSA": ["Kiniksa Pharmaceuticals, Ltd. - Class A Common Stock", "NASDAQ"], "KNSL": ["Kinsale Capital Group, Inc. - Common Stock", "NASDAQ"], "KNTE": ["Kinnate Biopharma Inc. - Common Stock", "NASDAQ"], "KOD": ["Kodiak Sciences Inc - Common Stock", "NASDAQ"], "KOPN": ["Kopin Corporation - Common Stock", "NASDAQ"], "KOR": ["Corvus Gold Inc. - Common Shares", "NASDAQ"], "KOSS": ["Koss Corporation - Common Stock", "NASDAQ"], "KPTI": ["Karyopharm Therapeutics Inc. - Common Stock", "NASDAQ"], "KRBP": ["Kiromic BioPharma, Inc. - Common Stock", "NASDAQ"], "KRKR": ["36Kr Holdings Inc. - American Depositary Shares", "NASDAQ"], "KRMA": ["Global X Conscious Companies ETF", "NASDAQ"], "KRMD": ["Repro Med Systems, Inc. - Common Stock", "NASDAQ"], "KRNLU": ["Kernel Group Holdings, Inc. - Units", "NASDAQ"], "KRNT": ["Kornit Digital Ltd. - Ordinary Shares", "NASDAQ"], "KRNY": ["Kearny Financial - Common Stock", "NASDAQ"], "KRON": ["Kronos Bio, Inc. - Common Stock", "NASDAQ"], "KROS": ["Keros Therapeutics, Inc. - common stock", "NASDAQ"], "KRTX": ["Karuna Therapeutics, Inc. - Common Stock", "NASDAQ"], "KRUS": ["Kura Sushi USA, Inc. - Class A Common Stock", "NASDAQ"], "KRYS": ["Krystal Biotech, Inc. - Common Stock", "NASDAQ"], "KSICU": ["Kadem Sustainable Impact Corporation - Unit", "NASDAQ"], "KSMT": ["Kismet Acquisition One Corp - Ordinary Shares", "NASDAQ"], "KSMTU": ["Kismet Acquisition One Corp - Unit", "NASDAQ"], "KSMTW": ["Kismet Acquisition One Corp - Warrant", "NASDAQ"], "KSPN": ["Kaspien Holdings Inc. - Common Stock", "NASDAQ"], "KTCC": ["Key Tronic Corporation - Common Stock", "NASDAQ"], "KTOS": ["Kratos Defense & Security Solutions, Inc. - Common Stock", "NASDAQ"], "KTRA": ["Kintara Therapeutics, Inc. - Common Stock", "NASDAQ"], "KURA": ["Kura Oncology, Inc. - Common Stock", "NASDAQ"], "KURIU": ["Alkuri Global Acquisition Corp. - Unit", "NASDAQ"], "KVHI": ["KVH Industries, Inc. - Common Stock", "NASDAQ"], "KVSA": ["Khosla Ventures Acquisition Co. - Class A Common Stock", "NASDAQ"], "KXIN": ["Kaixin Auto Holdings - Ordinary Share", "NASDAQ"], "KYMR": ["Kymera Therapeutics, Inc. - Common Stock", "NASDAQ"], "KZIA": ["Kazia Therapeutics Limited - American Depositary Shares", "NASDAQ"], "KZR": ["Kezar Life Sciences, Inc. - Common Stock", "NASDAQ"], "LABP": ["Landos Biopharma, Inc. - Common Stock", "NASDAQ"], "LACQ": ["Leisure Acquisition Corp. - Common Stock", "NASDAQ"], "LACQU": ["Leisure Acquisition Corp. - Unit", "NASDAQ"], "LACQW": ["Leisure Acquisition Corp. - Warrant", "NASDAQ"], "LAKE": ["Lakeland Industries, Inc. - Common Stock", "NASDAQ"], "LAMR": ["Lamar Advertising Company - Class A Common Stock", "NASDAQ"], "LANC": ["Lancaster Colony Corporation - Common Stock", "NASDAQ"], "LAND": ["Gladstone Land Corporation - Common Stock", "NASDAQ"], "LANDM": ["Gladstone Land Corporation - 5.00% Series D Cumulative Term Preferred Stock", "NASDAQ"], "LANDO": ["Gladstone Land Corporation - 6.00% Series B Cumulative Redeemable Preferred Stock", "NASDAQ"], "LARK": ["Landmark Bancorp Inc. - Common Stock", "NASDAQ"], "LASR": ["nLIGHT, Inc. - Common Stock", "NASDAQ"], "LATN": ["Union Acquisition Corp. II - Ordinary Shares", "NASDAQ"], "LATNU": ["Union Acquisition Corp. II - Units", "NASDAQ"], "LATNW": ["Union Acquisition Corp. II - Warrant", "NASDAQ"], "LAUR": ["Laureate Education, Inc. - Class A Common Stock", "NASDAQ"], "LAWS": ["Lawson Products, Inc. - Common Stock", "NASDAQ"], "LAZR": ["Luminar Technologies, Inc. - Class A Common Stock", "NASDAQ"], "LAZY": ["Lazydays Holdings, Inc. - Common Stock", "NASDAQ"], "LBAI": ["Lakeland Bancorp, Inc. - Common Stock", "NASDAQ"], "LBC": ["Luther Burbank Corporation - Common Stock", "NASDAQ"], "LBPH": ["Longboard Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "LBRDA": ["Liberty Broadband Corporation - Class A Common Stock", "NASDAQ"], "LBRDK": ["Liberty Broadband Corporation - Class C Common Stock", "NASDAQ"], "LBRDP": ["Liberty Broadband Corporation - Series A Cumulative Redeemable Preferred Stock", "NASDAQ"], "LBTYA": ["Liberty Global plc - Class A Ordinary Shares", "NASDAQ"], "LBTYB": ["Liberty Global plc - Class B Ordinary Shares", "NASDAQ"], "LBTYK": ["Liberty Global plc - Class C Ordinary Shares", "NASDAQ"], "LCAAU": ["L Catterton Asia Acquisition Corp - Units", "NASDAQ"], "LCAP": ["Lionheart Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "LCAPU": ["Lionheart Acquisition Corp. II - Unit", "NASDAQ"], "LCAPW": ["Lionheart Acquisition Corp. II - Warrant", "NASDAQ"], "LCNB": ["LCNB Corporation - Common Stock", "NASDAQ"], "LCUT": ["Lifetime Brands, Inc. - Common Stock", "NASDAQ"], "LCY": ["Landcadia Holdings III, Inc. - Class A Common Stock", "NASDAQ"], "LCYAU": ["Landcadia Holdings III, Inc. - Unit", "NASDAQ"], "LCYAW": ["Landcadia Holdings III, Inc. - Warrant", "NASDAQ"], "LDEM": ["iShares ESG MSCI EM Leaders ETF", "NASDAQ"], "LDSF": ["First Trust Low Duration Strategic Focus ETF", "NASDAQ"], "LE": ["Lands' End, Inc. - Common Stock", "NASDAQ"], "LECO": ["Lincoln Electric Holdings, Inc. - Common Shares", "NASDAQ"], "LEDS": ["SemiLEDS Corporation - Common Stock", "NASDAQ"], "LEGH": ["Legacy Housing Corporation - Common Stock", "NASDAQ"], "LEGN": ["Legend Biotech Corporation - American Depositary Shares", "NASDAQ"], "LEGO": ["Legato Merger Corp. - Common stock", "NASDAQ"], "LEGOU": ["Legato Merger Corp. - Units", "NASDAQ"], "LEGOW": ["Legato Merger Corp. - Warrant", "NASDAQ"], "LEGR": ["First Trust Indxx Innovative Transaction & Process ETF", "NASDAQ"], "LESL": ["Leslie's, Inc. - Common Stock", "NASDAQ"], "LEVL": ["Level One Bancorp, Inc. - Common Stock", "NASDAQ"], "LEVLP": ["Level One Bancorp, Inc. - Depositary Shares, Each Representing a 1/100th Interest in a Share of 7.50% Non-Cumulative Perpetual Preferred Stock, Series B", "NASDAQ"], "LEXX": ["Lexaria Bioscience Corp. - Common Stock", "NASDAQ"], "LEXXW": ["Lexaria Bioscience Corp. - Warrant", "NASDAQ"], "LFMD": ["LifeMD, Inc. - Common Stock", "NASDAQ"], "LFTR": ["Lefteris Acquisition Corp. - Class A Common Stock", "NASDAQ"], "LFTRU": ["Lefteris Acquisition Corp. - Unit", "NASDAQ"], "LFTRW": ["Lefteris Acquisition Corp. - Warrant", "NASDAQ"], "LFUS": ["Littelfuse, Inc. - Common Stock", "NASDAQ"], "LFVN": ["Lifevantage Corporation - Common Stock", "NASDAQ"], "LGACU": ["Lazard Growth Acquisition Corp. I - Units", "NASDAQ"], "LGHL": ["Lion Group Holding Ltd. - American Depositary Share", "NASDAQ"], "LGHLW": ["Lion Group Holding Ltd. - Warrant", "NASDAQ"], "LGIH": ["LGI Homes, Inc. - Common Stock", "NASDAQ"], "LGND": ["Ligand Pharmaceuticals Incorporated - Common Stock", "NASDAQ"], "LGVN": ["Longeveron Inc. - common stock", "NASDAQ"], "LHAA": ["Lerer Hippeau Acquisition Corp. - Class A Common Stock", "NASDAQ"], "LHCG": ["LHC Group - common stock", "NASDAQ"], "LHDX": ["Lucira Health, Inc. - Common Stock", "NASDAQ"], "LI": ["Li Auto Inc. - American Depositary Shares", "NASDAQ"], "LIFE": ["aTyr Pharma, Inc. - Common Stock", "NASDAQ"], "LILA": ["Liberty Latin America Ltd. - Class A Common Stock", "NASDAQ"], "LILAK": ["Liberty Latin America Ltd. - Class C Common Stock", "NASDAQ"], "LINC": ["Lincoln Educational Services Corporation - Common Stock", "NASDAQ"], "LIND": ["Lindblad Expeditions Holdings Inc. - Common Stock", "NASDAQ"], "LIQT": ["LiqTech International, Inc. - Common Stock", "NASDAQ"], "LITE": ["Lumentum Holdings Inc. - Common Stock", "NASDAQ"], "LIVE": ["Live Ventures Incorporated - Common Stock", "NASDAQ"], "LIVK": ["LIV Capital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "LIVKU": ["LIV Capital Acquisition Corp. - Unit", "NASDAQ"], "LIVKW": ["LIV Capital Acquisition Corp. - Warrant", "NASDAQ"], "LIVN": ["LivaNova PLC - Ordinary Shares", "NASDAQ"], "LIVX": ["LiveXLive Media, Inc. - Common Stock", "NASDAQ"], "LIXT": ["Lixte Biotechnology Holdings, Inc. - Common Stock", "NASDAQ"], "LIXTW": ["Lixte Biotechnology Holdings, Inc. - Warrants", "NASDAQ"], "LIZI": ["LIZHI INC. - American Depositary Shares", "NASDAQ"], "LJAQ": ["LightJump Acquisition Corporation - Common Stock", "NASDAQ"], "LJAQU": ["LightJump Acquisition Corporation - Unit", "NASDAQ"], "LJAQW": ["LightJump Acquisition Corporation - Warrant", "NASDAQ"], "LJPC": ["La Jolla Pharmaceutical Company - Common Stock", "NASDAQ"], "LKCO": ["Luokung Technology Corp - Ordinary Shares", "NASDAQ"], "LKFN": ["Lakeland Financial Corporation - Common Stock", "NASDAQ"], "LKQ": ["LKQ Corporation", "S&P500"], "LLIT": ["Lianluo Smart Limited - Class A Common Stock", "NASDAQ"], "LLNW": ["Limelight Networks, Inc. - Common Stock", "NASDAQ"], "LMACA": ["Liberty Media Acquisition Corporation - Series A Common Stock", "NASDAQ"], "LMACU": ["Liberty Media Acquisition Corporation - Unit", "NASDAQ"], "LMACW": ["Liberty Media Acquisition Corporation - Warrants", "NASDAQ"], "LMAO": ["LMF Acquisition Opportunities Inc. - Class A common stock", "NASDAQ"], "LMAOU": ["LMF Acquisition Opportunities Inc. - Unit", "NASDAQ"], "LMAOW": ["LMF Acquisition Opportunities Inc. - Warrant", "NASDAQ"], "LMAT": ["LeMaitre Vascular, Inc. - Common Stock", "NASDAQ"], "LMB": ["Limbach Holdings, Inc. - Common Stock", "NASDAQ"], "LMBS": ["First Trust Low Duration Opportunities ETF", "NASDAQ"], "LMFA": ["LM Funding America, Inc. - Common Stock", "NASDAQ"], "LMNL": ["Liminal BioSciences Inc. - Common Shares", "NASDAQ"], "LMNR": ["Limoneira Co - Common Stock", "NASDAQ"], "LMNX": ["Luminex Corporation - Common Stock", "NASDAQ"], "LMPX": ["LMP Automotive Holdings, Inc. - Common Stock", "NASDAQ"], "LMRK": ["Landmark Infrastructure Partners LP - Common Units", "NASDAQ"], "LMRKN": ["Landmark Infrastructure Partners LP - Preferred Stock", "NASDAQ"], "LMRKO": ["Landmark Infrastructure Partners LP - Preferred Units", "NASDAQ"], "LMRKP": ["Landmark Infrastructure Partners LP - 8.00% Series A Cumulative Redeemable Perpetual Preferred Units", "NASDAQ"], "LMST": ["Limestone Bancorp, Inc. - Common Stock", "NASDAQ"], "LNDC": ["Landec Corporation - Common Stock", "NASDAQ"], "LNGR": ["Global X Longevity Thematic ETF", "NASDAQ"], "LNSR": ["LENSAR, Inc. - Common Stock", "NASDAQ"], "LNT": ["Alliant Energy", "S&P500"], "LNTH": ["Lantheus Holdings, Inc. - Common Stock", "NASDAQ"], "LOAC": ["Longevity Acquisition Corporation - Ordinary Shares", "NASDAQ"], "LOACR": ["Longevity Acquisition Corporation - Right", "NASDAQ"], "LOACU": ["Longevity Acquisition Corporation - Units", "NASDAQ"], "LOACW": ["Longevity Acquisition Corporation - Warrant", "NASDAQ"], "LOAN": ["Manhattan Bridge Capital, Inc - Common Stock", "NASDAQ"], "LOB": ["Live Oak Bancshares, Inc. - Common Stock", "NASDAQ"], "LOCO": ["El Pollo Loco Holdings, Inc. - Common Stock", "NASDAQ"], "LOGC": ["LogicBio Therapeutics, Inc. - Common Stock", "NASDAQ"], "LOGI": ["Logitech International S.A. - Registered Shares", "NASDAQ"], "LOOP": ["Loop Industries, Inc. - Common Stock", "NASDAQ"], "LOPE": ["Grand Canyon Education, Inc. - Common Stock", "NASDAQ"], "LORL": ["Loral Space and Communications, Inc. - Common Stock", "NASDAQ"], "LOTZ": ["CarLotz, Inc. - Class A Common Stock", "NASDAQ"], "LOTZW": ["CarLotz, Inc. - Warrant", "NASDAQ"], "LOVE": ["The Lovesac Company - Common Stock", "NASDAQ"], "LPCN": ["Lipocine Inc. - Common Stock", "NASDAQ"], "LPLA": ["LPL Financial Holdings Inc. - Common Stock", "NASDAQ"], "LPRO": ["Open Lending Corporation - Class A Common Stock", "NASDAQ"], "LPSN": ["LivePerson, Inc. - Common Stock", "NASDAQ"], "LPTH": ["LightPath Technologies, Inc. - Class A Common Stock", "NASDAQ"], "LPTX": ["Leap Therapeutics, Inc. - Common Stock", "NASDAQ"], "LQDA": ["Liquidia Corporation - Common Stock", "NASDAQ"], "LQDT": ["Liquidity Services, Inc. - Common Stock", "NASDAQ"], "LRCX": ["Lam Research", "S&P500"], "LRGE": ["ClearBridge Large Cap Growth ESG ETF", "NASDAQ"], "LRMR": ["Larimar Therapeutics, Inc. - Common Stock", "NASDAQ"], "LSAQ": ["LifeSci Acquisition II Corp. - Common Stock", "NASDAQ"], "LSBK": ["Lake Shore Bancorp, Inc. - Common Stock", "NASDAQ"], "LSCC": ["Lattice Semiconductor Corporation - Common Stock", "NASDAQ"], "LSEA": ["Landsea Homes Corporation - Common Stock", "NASDAQ"], "LSEAW": ["Landsea Homes Corporation - Warrant", "NASDAQ"], "LSTR": ["Landstar System, Inc. - Common Stock", "NASDAQ"], "LSXMA": ["Liberty Media Corporation - Series A Liberty SiriusXM Common Stock", "NASDAQ"], "LSXMB": ["Liberty Media Corporation - Series B Liberty SiriusXM Common Stock", "NASDAQ"], "LSXMK": ["Liberty Media Corporation - Series C Liberty SiriusXM Common Stock", "NASDAQ"], "LTBR": ["Lightbridge Corporation - Common Stock", "NASDAQ"], "LTRN": ["Lantern Pharma Inc. - Common Stock", "NASDAQ"], "LTRPA": ["Liberty TripAdvisor Holdings, Inc. - Series A Common Stock", "NASDAQ"], "LTRPB": ["Liberty TripAdvisor Holdings, Inc. - Series B Common Stock", "NASDAQ"], "LTRX": ["Lantronix, Inc. - Common Stock", "NASDAQ"], "LULU": ["lululemon athletica inc. - Common Stock", "NASDAQ"], "LUMO": ["Lumos Pharma, Inc. - Common Stock", "NASDAQ"], "LUNA": ["Luna Innovations Incorporated - Common Stock", "NASDAQ"], "LUNG": ["Pulmonx Corporation - Common Stock", "NASDAQ"], "LUXA": ["Lux Health Tech Acquisition Corp. - Class A Common Stock", "NASDAQ"], "LUXAU": ["Lux Health Tech Acquisition Corp. - Units", "NASDAQ"], "LUXAW": ["Lux Health Tech Acquisition Corp. - Warrants", "NASDAQ"], "LVHD": ["Legg Mason Low Volatility High Dividend ETF", "NASDAQ"], "LWAC": ["Locust Walk Acquisition Corp. - Class A Common stock", "NASDAQ"], "LWACU": ["Locust Walk Acquisition Corp. - Unit", "NASDAQ"], "LWACW": ["Locust Walk Acquisition Corp. - Warrant", "NASDAQ"], "LWAY": ["Lifeway Foods, Inc. - Common Stock", "NASDAQ"], "LX": ["LexinFintech Holdings Ltd. - American Depositary Shares", "NASDAQ"], "LXEH": ["Lixiang Education Holding Co., Ltd. - American Depositary Shares", "NASDAQ"], "LXRX": ["Lexicon Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "LYFT": ["Lyft, Inc. - Class A Common Stock", "NASDAQ"], "LYL": ["Dragon Victory International Limited - Ordinary Shares", "NASDAQ"], "LYRA": ["Lyra Therapeutics, Inc. - Common Stock", "NASDAQ"], "LYTS": ["LSI Industries Inc. - Common Stock", "NASDAQ"], "MAAC": ["Montes Archimedes Acquisition Corp. - Class A Common Stock", "NASDAQ"], "MAACU": ["Montes Archimedes Acquisition Corp. - Unit", "NASDAQ"], "MAACW": ["Montes Archimedes Acquisition Corp. - Warrant", "NASDAQ"], "MACAU": ["Moringa Acquisition Corp - Units", "NASDAQ"], "MACK": ["Merrimack Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "MACQU": ["MCAP Acquisition Corporation - Unit", "NASDAQ"], "MACU": ["Mallard Acquisition Corp. - Common Stock", "NASDAQ"], "MACUU": ["Mallard Acquisition Corp. - Unit", "NASDAQ"], "MACUW": ["Mallard Acquisition Corp. - Warrant", "NASDAQ"], "MAGS": ["Magal Security Systems Ltd. - Ordinary Shares", "NASDAQ"], "MANH": ["Manhattan Associates, Inc. - Common Stock", "NASDAQ"], "MANT": ["ManTech International Corporation - Class A Common Stock", "NASDAQ"], "MAR": ["Marriott International", "S&P500"], "MARA": ["Marathon Digital Holdings, Inc. - Common Stock", "NASDAQ"], "MARK": ["Remark Holdings, Inc. - Common Stock", "NASDAQ"], "MARPS": ["Marine Petroleum Trust - Units of Beneficial Interest", "NASDAQ"], "MASI": ["Masimo Corporation - Common Stock", "NASDAQ"], "MASS": ["908 Devices Inc. - Common Stock", "NASDAQ"], "MAT": ["Mattel, Inc. - Common Stock", "NASDAQ"], "MATW": ["Matthews International Corporation - Class A Common Stock", "NASDAQ"], "MAXN": ["Maxeon Solar Technologies, Ltd. - Ordinary Shares", "NASDAQ"], "MAYS": ["J. W. Mays, Inc. - Common Stock", "NASDAQ"], "MBB": ["iShares MBS ETF", "NASDAQ"], "MBCN": ["Middlefield Banc Corp. - Common Stock", "NASDAQ"], "MBII": ["Marrone Bio Innovations, Inc. - Common Stock", "NASDAQ"], "MBIN": ["Merchants Bancorp - Common Stock", "NASDAQ"], "MBINO": ["Merchants Bancorp - Depositary Shares Each Representing a 1/40th Interest in a Share of Series B Fixed-to-Floating Rate", "NASDAQ"], "MBINP": ["Merchants Bancorp - 7.00% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "MBIO": ["Mustang Bio, Inc. - Common Stock", "NASDAQ"], "MBNKP": ["Medallion Bank - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series F", "NASDAQ"], "MBOT": ["Microbot Medical Inc. - Common Stock", "NASDAQ"], "MBRX": ["Moleculin Biotech, Inc. - Common Stock", "NASDAQ"], "MBUU": ["Malibu Boats, Inc. - Common Stock", "NASDAQ"], "MBWM": ["Mercantile Bank Corporation - Common Stock", "NASDAQ"], "MCAD": ["Mountain Crest Acquisition Corp. II - Common Stock", "NASDAQ"], "MCADR": ["Mountain Crest Acquisition Corp. II - Right", "NASDAQ"], "MCADU": ["Mountain Crest Acquisition Corp. II - Units each consisting of one share of Common Stock, $0.0001 par value andone Right to acquire 1/10 of one share of Common Stock.", "NASDAQ"], "MCBC": ["Macatawa Bank Corporation - Common Stock", "NASDAQ"], "MCBS": ["MetroCity Bankshares, Inc. - Common Stock", "NASDAQ"], "MCEF": ["First Trust Municipal CEF Income Opportunity ETF", "NASDAQ"], "MCFE": ["McAfee Corp. - Class A Common Stock", "NASDAQ"], "MCFT": ["MasterCraft Boat Holdings, Inc. - Common Stock", "NASDAQ"], "MCHI": ["iShares MSCI China ETF", "NASDAQ"], "MCHP": ["Microchip Technology", "S&P500"], "MCHX": ["Marchex, Inc. - Class B Common Stock", "NASDAQ"], "MCMJ": ["Merida Merger Corp. I - Common Stock", "NASDAQ"], "MCMJW": ["Merida Merger Corp. I - Warrant", "NASDAQ"], "MCRB": ["Seres Therapeutics, Inc. - Common Stock", "NASDAQ"], "MCRI": ["Monarch Casino & Resort, Inc. - Common Stock", "NASDAQ"], "MDB": ["MongoDB, Inc. - Class A Common Stock", "NASDAQ"], "MDCA": ["MDC Partners Inc. - Class A Subordinate Voting Shares", "NASDAQ"], "MDGL": ["Madrigal Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "MDGS": ["Medigus Ltd. - American Depositary Shares", "NASDAQ"], "MDGSW": ["Medigus Ltd. - Series C Warrant", "NASDAQ"], "MDIA": ["Mediaco Holding Inc. - Class A Common Stock", "NASDAQ"], "MDIV": ["Multi-Asset Diversified Income Index Fund", "NASDAQ"], "MDJH": ["MDJM LTD - Ordinary Shares", "NASDAQ"], "MDLZ": ["Mondelez International", "S&P500"], "MDNA": ["Medicenna Therapeutics Corp. - Common Shares", "NASDAQ"], "MDRR": ["Medalist Diversified REIT, Inc. - Common Stock", "NASDAQ"], "MDRRP": ["Medalist Diversified REIT, Inc. - Series A Cumulative Redeemable Preferred Stock", "NASDAQ"], "MDRX": ["Allscripts Healthcare Solutions, Inc. - common stock", "NASDAQ"], "MDVL": ["MedAvail Holdings, Inc. - Common Stock", "NASDAQ"], "MDWD": ["MediWound Ltd. - Ordinary Shares", "NASDAQ"], "MDWT": ["Midwest Holding Inc. - Common Stock", "NASDAQ"], "MDXG": ["MiMedx Group, Inc - Common Stock", "NASDAQ"], "MEDP": ["Medpace Holdings, Inc. - Common Stock", "NASDAQ"], "MEDS": ["Trxade Group, Inc. - Common Stock", "NASDAQ"], "MEIP": ["MEI Pharma, Inc. - Common Stock", "NASDAQ"], "MELI": ["MercadoLibre, Inc. - Common Stock", "NASDAQ"], "MEOH": ["Methanex Corporation - Common Stock", "NASDAQ"], "MERC": ["Mercer International Inc. - Common Stock", "NASDAQ"], "MESA": ["Mesa Air Group, Inc. - Common Stock", "NASDAQ"], "MESO": ["Mesoblast Limited - American Depositary Shares", "NASDAQ"], "METC": ["Ramaco Resources, Inc. - Common Stock", "NASDAQ"], "METX": ["Meten EdtechX Education Group Ltd. - Ordinary Shares", "NASDAQ"], "METXW": ["Meten EdtechX Education Group Ltd. - Warrant", "NASDAQ"], "MFH": ["Mercurity Fintech Holding Inc. - American Depositary Shares", "NASDAQ"], "MFIN": ["Medallion Financial Corp. - Common Stock", "NASDAQ"], "MFINL": ["Medallion Financial Corp. - 9.000% Notes due 2021", "NASDAQ"], "MFNC": ["Mackinac Financial Corporation - Common Stock", "NASDAQ"], "MGEE": ["MGE Energy Inc. - Common Stock", "NASDAQ"], "MGI": ["Moneygram International, Inc. - Common Stock", "NASDAQ"], "MGIC": ["Magic Software Enterprises Ltd. - Ordinary Shares", "NASDAQ"], "MGLN": ["Magellan Health, Inc. - Common Stock", "NASDAQ"], "MGNI": ["Magnite, Inc. - Common Stock", "NASDAQ"], "MGNX": ["MacroGenics, Inc. - Common Stock", "NASDAQ"], "MGPI": ["MGP Ingredients, Inc. - Common Stock", "NASDAQ"], "MGRC": ["McGrath RentCorp - Common Stock", "NASDAQ"], "MGTA": ["Magenta Therapeutics, Inc. - Common Stock", "NASDAQ"], "MGTX": ["MeiraGTx Holdings plc - Ordinary Shares", "NASDAQ"], "MGYR": ["Magyar Bancorp, Inc. - Common Stock", "NASDAQ"], "MHLD": ["Maiden Holdings, Ltd. - Common Stock", "NASDAQ"], "MICT": ["MICT, Inc. - Common Stock", "NASDAQ"], "MIDD": ["The Middleby Corporation - Common Stock", "NASDAQ"], "MIK": ["The Michaels Companies, Inc. - Common Stock", "NASDAQ"], "MILE": ["Metromile, Inc. - Common Stock", "NASDAQ"], "MILEW": ["Metromile, Inc. - Warrant", "NASDAQ"], "MILN": ["Global X Millennials Thematic ETF", "NASDAQ"], "MIME": ["Mimecast Limited - Ordinary Shares", "NASDAQ"], "MIND": ["MIND Technology, Inc. - Common Stock", "NASDAQ"], "MINDP": ["MIND Technology, Inc. - Series A 9.00% Series A Cumulative Preferred Stock", "NASDAQ"], "MIRM": ["Mirum Pharmaceuticals, Inc. - common stock", "NASDAQ"], "MIST": ["Milestone Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "MITC": ["MeaTech 3D Ltd. - American Depositary Shares", "NASDAQ"], "MITK": ["Mitek Systems, Inc. - Common Stock", "NASDAQ"], "MITO": ["Stealth BioTherapeutics Corp. - American Depositary Shares", "NASDAQ"], "MKD": ["Molecular Data Inc. - ADS", "NASDAQ"], "MKGI": ["Monaker Group, Inc. - Common Stock", "NASDAQ"], "MKSI": ["MKS Instruments, Inc. - Common Stock", "NASDAQ"], "MKTX": ["MarketAxess", "S&P500"], "MLAB": ["Mesa Laboratories, Inc. - Common Stock", "NASDAQ"], "MLAC": ["Malacca Straits Acquisition Company Limited - Class A Ordinary Shares", "NASDAQ"], "MLACU": ["Malacca Straits Acquisition Company Limited - Units", "NASDAQ"], "MLACW": ["Malacca Straits Acquisition Company Limited - Warrants", "NASDAQ"], "MLCO": ["Melco Resorts & Entertainment Limited - American Depositary Shares ", "NASDAQ"], "MLHR": ["Herman Miller, Inc. - Common Stock", "NASDAQ"], "MLND": ["Millendo Therapeutics, Inc. - Common Stock", "NASDAQ"], "MLVF": ["Malvern Bancorp, Inc. - Common Stock", "NASDAQ"], "MMAC": ["MMA Capital Holdings, Inc. - Common Stock", "NASDAQ"], "MMLP": ["Martin Midstream Partners L.P. - Common Units Representing Limited Partnership Interests", "NASDAQ"], "MMSI": ["Merit Medical Systems, Inc. - Common Stock", "NASDAQ"], "MMYT": ["MakeMyTrip Limited - Ordinary Shares", "NASDAQ"], "MNDO": ["MIND C.T.I. Ltd. - Ordinary Shares", "NASDAQ"], "MNKD": ["MannKind Corporation - Common Stock", "NASDAQ"], "MNOV": ["MediciNova, Inc. - Common Stock", "NASDAQ"], "MNPR": ["Monopar Therapeutics Inc. - Common Stock", "NASDAQ"], "MNRO": ["Monro, Inc. - Common Stock", "NASDAQ"], "MNSB": ["MainStreet Bancshares, Inc. - Common Stock", "NASDAQ"], "MNSBP": ["MainStreet Bancshares, Inc. - Depositary Shares", "NASDAQ"], "MNST": ["Monster Beverage", "S&P500"], "MNTK": ["Montauk Renewables, Inc. - Common Stock", "NASDAQ"], "MNTX": ["Manitex International, Inc. - common stock", "NASDAQ"], "MODV": ["ModivCare Inc. - Common Stock", "NASDAQ"], "MOFG": ["MidWestOne Financial Group, Inc. - Common Stock", "NASDAQ"], "MOGO": ["Mogo Inc. - Common Shares", "NASDAQ"], "MOHO": ["ECMOHO Limited - American Depositary Shares", "NASDAQ"], "MOMO": ["Momo Inc. - American Depositary Shares", "NASDAQ"], "MON": ["Monument Circle Acquisition Corp. - Class A Common Stock", "NASDAQ"], "MONCU": ["Monument Circle Acquisition Corp. - Unit", "NASDAQ"], "MONCW": ["Monument Circle Acquisition Corp. - Warrant", "NASDAQ"], "MOR": ["MorphoSys AG - American Depositary Shares", "NASDAQ"], "MORF": ["Morphic Holding, Inc. - Common Stock", "NASDAQ"], "MORN": ["Morningstar, Inc. - Common Stock", "NASDAQ"], "MOSY": ["MoSys, Inc. - Common Stock", "NASDAQ"], "MOTN": ["Motion Acquisition Corp. - Class A Common Stock", "NASDAQ"], "MOTNU": ["Motion Acquisition Corp. - Unit", "NASDAQ"], "MOTNW": ["Motion Acquisition Corp. - Warrants to purchase one Class A common", "NASDAQ"], "MOTS": ["Motus GI Holdings, Inc. - Common Stock", "NASDAQ"], "MOXC": ["Moxian, Inc. - Common Stock", "NASDAQ"], "MPAA": ["Motorcar Parts of America, Inc. - Common Stock", "NASDAQ"], "MPB": ["Mid Penn Bancorp - Common Stock", "NASDAQ"], "MPWR": ["Monolithic Power Systems", "S&P500"], "MRAC": ["Marquee Raine Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "MRACU": ["Marquee Raine Acquisition Corp. - Unit", "NASDAQ"], "MRACW": ["Marquee Raine Acquisition Corp. - Warrant", "NASDAQ"], "MRAM": ["Everspin Technologies, Inc. - Common Stock", "NASDAQ"], "MRBK": ["Meridian Corporation - Common Stock", "NASDAQ"], "MRCC": ["Monroe Capital Corporation - Common Stock", "NASDAQ"], "MRCY": ["Mercury Systems Inc - Common Stock", "NASDAQ"], "MREO": ["Mereo BioPharma Group plc - American Depositary Shares", "NASDAQ"], "MRIN": ["Marin Software Incorporated - Common Stock", "NASDAQ"], "MRKR": ["Marker Therapeutics, Inc. - Common Stock", "NASDAQ"], "MRLN": ["Marlin Business Services Corp. - Common Stock", "NASDAQ"], "MRM": ["MEDIROM Healthcare Technologies Inc. - American Depositary Share", "NASDAQ"], "MRNA": ["Moderna, Inc. - Common Stock", "NASDAQ"], "MRNS": ["Marinus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "MRSN": ["Mersana Therapeutics, Inc. - Common Stock", "NASDAQ"], "MRTN": ["Marten Transport, Ltd. - Common Stock", "NASDAQ"], "MRTX": ["Mirati Therapeutics, Inc. - Common Stock", "NASDAQ"], "MRUS": ["Merus N.V. - Common Shares", "NASDAQ"], "MRVI": ["Maravai LifeSciences Holdings, Inc. - Class A common stock", "NASDAQ"], "MRVL": ["Marvell Technology Group Ltd. - Common Stock", "NASDAQ"], "MSACU": ["Medicus Sciences Acquisition Corp. - Unit", "NASDAQ"], "MSBI": ["Midland States Bancorp, Inc. - Common Stock", "NASDAQ"], "MSEX": ["Middlesex Water Company - Common Stock", "NASDAQ"], "MSFT": ["Microsoft Corp.", "S&P500"], "MSGM": ["Motorsport Games Inc. - Class A Common Stock", "NASDAQ"], "MSON": ["MISONIX, Inc. - Common Stock", "NASDAQ"], "MSTR": ["MicroStrategy Incorporated - Class A Common Stock", "NASDAQ"], "MSVB": ["Mid-Southern Bancorp, Inc. - Common Stock", "NASDAQ"], "MTAC": ["MedTech Acquisition Corporation - Class A Common Stock", "NASDAQ"], "MTACU": ["MedTech Acquisition Corporation - Unit", "NASDAQ"], "MTACW": ["MedTech Acquisition Corporation - Warrant", "NASDAQ"], "MTBC": ["MTBC, Inc. - Common Stock", "NASDAQ"], "MTBCP": ["MTBC, Inc. - 11% Series A Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "MTC": ["MMTec, Inc. - Common Shares", "NASDAQ"], "MTCH": ["Match Group, Inc. - Common Stock", "NASDAQ"], "MTCR": ["Metacrine, Inc. - Common Stock", "NASDAQ"], "MTEM": ["Molecular Templates, Inc. - Common Stock", "NASDAQ"], "MTEX": ["Mannatech, Incorporated - Common Stock", "NASDAQ"], "MTLS": ["Materialise NV - American Depositary Shares", "NASDAQ"], "MTP": ["Midatech Pharma PLC - American Depositary Shares", "NASDAQ"], "MTRX": ["Matrix Service Company - Common Stock", "NASDAQ"], "MTSC": ["MTS Systems Corporation - Common Stock", "NASDAQ"], "MTSI": ["MACOM Technology Solutions Holdings, Inc. - Common Stock", "NASDAQ"], "MTSL": ["MER Telemanagement Solutions Ltd. - Ordinary Shares", "NASDAQ"], "MU": ["Micron Technology", "S&P500"], "MUDS": ["Mudrick Capital Acquisition Corporation II - Class A Common Stock", "NASDAQ"], "MUDSU": ["Mudrick Capital Acquisition Corporation II - Unit", "NASDAQ"], "MUDSW": ["Mudrick Capital Acquisition Corporation II - Warrant", "NASDAQ"], "MVBF": ["MVB Financial Corp. - Common Stock", "NASDAQ"], "MVIS": ["MicroVision, Inc. - Common Stock", "NASDAQ"], "MWK": ["Mohawk Group Holdings, Inc. - Common Stock", "NASDAQ"], "MXIM": ["Maxim Integrated Products", "S&P500"], "MYFW": ["First Western Financial, Inc. - Common Stock", "NASDAQ"], "MYGN": ["Myriad Genetics, Inc. - Common Stock", "NASDAQ"], "MYRG": ["MYR Group, Inc. - Common Stock", "NASDAQ"], "MYSZ": ["My Size, Inc. - Common Stock", "NASDAQ"], "MYT": ["Urban Tea, Inc. - Ordinary Shares", "NASDAQ"], "NAAC": ["North Atlantic Acquisition Corporation - Class A Ordinary Share", "NASDAQ"], "NAACU": ["North Atlantic Acquisition Corporation - Unit", "NASDAQ"], "NAACW": ["North Atlantic Acquisition Corporation - Warrant", "NASDAQ"], "NAII": ["Natural Alternatives International, Inc. - Common Stock", "NASDAQ"], "NAKD": ["Naked Brand Group Limited - Ordinary Shares", "NASDAQ"], "NAOV": ["NanoVibronix, Inc. - Common Stock", "NASDAQ"], "NARI": ["Inari Medical, Inc. - Common Stock", "NASDAQ"], "NATH": ["Nathan's Famous, Inc. - Common Stock", "NASDAQ"], "NATI": ["National Instruments Corporation - Common Stock", "NASDAQ"], "NATR": ["Nature's Sunshine Products, Inc. - Common Stock", "NASDAQ"], "NAVI": ["Navient Corporation - Common Stock", "NASDAQ"], "NBAC": ["Newborn Acquisition Corp. - Ordinary Shares", "NASDAQ"], "NBACR": ["Newborn Acquisition Corp. - Right", "NASDAQ"], "NBACU": ["Newborn Acquisition Corp. - Unit", "NASDAQ"], "NBACW": ["Newborn Acquisition Corp. - Warrant", "NASDAQ"], "NBEV": ["NewAge, Inc. - Common Stock", "NASDAQ"], "NBIX": ["Neurocrine Biosciences, Inc. - Common Stock", "NASDAQ"], "NBLX": ["Noble Midstream Partners LP - Common Units, Representing Limited Partner Interests", "NASDAQ"], "NBN": ["Northeast Bank - Common Stock", "NASDAQ"], "NBRV": ["Nabriva Therapeutics plc - Ordinary Shares", "NASDAQ"], "NBSE": ["NeuBase Therapeutics, Inc. - Common Stock", "NASDAQ"], "NBTB": ["NBT Bancorp Inc. - Common Stock", "NASDAQ"], "NBTX": ["Nanobiotix S.A. - ADSs", "NASDAQ"], "NCBS": ["Nicolet Bankshares Inc. - Common Stock", "NASDAQ"], "NCMI": ["National CineMedia, Inc. - Common Stock", "NASDAQ"], "NCNA": ["NuCana plc - American Depositary Shares", "NASDAQ"], "NCNO": ["nCino, Inc. - Common Stock", "NASDAQ"], "NCSM": ["NCS Multistage Holdings, Inc. - Common Stock", "NASDAQ"], "NCTY": ["The9 Limited - American Depository Shares", "NASDAQ"], "NDACU": ["NightDragon Acquisition Corp. - SCALE Units", "NASDAQ"], "NDAQ": ["Nasdaq, Inc.", "S&P500"], "NDLS": ["Noodles & Company - Common Stock", "NASDAQ"], "NDRA": ["ENDRA Life Sciences Inc. - Common Stock", "NASDAQ"], "NDRAW": ["ENDRA Life Sciences Inc. - Warrants", "NASDAQ"], "NDSN": ["Nordson Corporation - Common Stock", "NASDAQ"], "NEBC": ["Nebula Caravel Acquisition Corp. - Class A Common Stock", "NASDAQ"], "NEBCU": ["Nebula Caravel Acquisition Corp. - Unit", "NASDAQ"], "NEBCW": ["Nebula Caravel Acquisition Corp. - Warrant", "NASDAQ"], "NEO": ["NeoGenomics, Inc. - Common Stock", "NASDAQ"], "NEOG": ["Neogen Corporation - Common Stock", "NASDAQ"], "NEON": ["Neonode Inc. - Common Stock", "NASDAQ"], "NEOS": ["Neos Therapeutics, Inc. - Common Stock", "NASDAQ"], "NEPH": ["Nephros, Inc. - Common Stock", "NASDAQ"], "NEPT": ["Neptune Wellness Solutions Inc. - Ordinary Shares", "NASDAQ"], "NERV": ["Minerva Neurosciences, Inc - Common Stock", "NASDAQ"], "NESR": ["National Energy Services Reunited Corp. - Ordinary Shares", "NASDAQ"], "NESRW": ["National Energy Services Reunited Corp. - Warrant", "NASDAQ"], "NETE": ["Net Element, Inc. - Common Stock", "NASDAQ"], "NEWA": ["Newater Technology, Inc. - Ordinary Shares", "NASDAQ"], "NEWT": ["Newtek Business Services Corp. - Common Stock", "NASDAQ"], "NEWTL": ["Newtek Business Services Corp. - 5.75% Notes due 2024", "NASDAQ"], "NEWTZ": ["Newtek Business Services Corp. - 5.50% Notes Due 2026", "NASDAQ"], "NEXI": ["NexImmune, Inc. - Common Stock", "NASDAQ"], "NEXT": ["NextDecade Corporation - Common Stock", "NASDAQ"], "NFBK": ["Northfield Bancorp, Inc. - Common Stock", "NASDAQ"], "NFE": ["New Fortress Energy Inc. - Class A Common Stock", "NASDAQ"], "NFLX": ["Netflix Inc.", "S&P500"], "NFTY": ["First Trust India Nifty 50 Equal Weight ETF", "NASDAQ"], "NGAC": ["NextGen Acquisition Corporation - Class A Ordinary Shares", "NASDAQ"], "NGACU": ["NextGen Acquisition Corporation - Units", "NASDAQ"], "NGACW": ["NextGen Acquisition Corporation - Warrants", "NASDAQ"], "NGM": ["NGM Biopharmaceuticals, Inc. - Common Stock", "NASDAQ"], "NGMS": ["NeoGames S.A. - Ordinary Shares", "NASDAQ"], "NH": ["NantHealth, Inc. - Common Stock", "NASDAQ"], "NHIC": ["NewHold Investment Corp. - Class A Common Stock", "NASDAQ"], "NHICU": ["NewHold Investment Corp. - Unit", "NASDAQ"], "NHICW": ["NewHold Investment Corp. - Warrant", "NASDAQ"], "NHTC": ["Natural Health Trends Corp. - Commn Stock", "NASDAQ"], "NICE": ["NICE Ltd - American Depositary Shares each representing one Ordinary Share", "NASDAQ"], "NICK": ["Nicholas Financial, Inc. - Common Stock", "NASDAQ"], "NISN": ["NiSun Intl Enterprise Development Group Co, Ltd - Class A Common Shares", "NASDAQ"], "NIU": ["Niu Technologies - American Depositary Shares", "NASDAQ"], "NKLA": ["Nikola Corporation - Common Stock", "NASDAQ"], "NKSH": ["National Bankshares, Inc. - Common Stock", "NASDAQ"], "NKTR": ["Nektar Therapeutics - Common Stock", "NASDAQ"], "NKTX": ["Nkarta, Inc. - Common Stock", "NASDAQ"], "NLOK": ["NortonLifeLock", "S&P500"], "NLSP": ["NLS Pharmaceutics Ltd. - Common Shares", "NASDAQ"], "NLSPW": ["NLS Pharmaceutics Ltd. - Warrant", "NASDAQ"], "NLTX": ["Neoleukin Therapeutics, Inc. - Common Stock", "NASDAQ"], "NMCI": ["Navios Maritime Containers L.P. - Common units representing limited partner interests", "NASDAQ"], "NMFC": ["New Mountain Finance Corporation - Common Stock", "NASDAQ"], "NMIH": ["NMI Holdings Inc - Common Stock", "NASDAQ"], "NMMC": ["North Mountain Merger Corp. - Class A Common Stock", "NASDAQ"], "NMMCU": ["North Mountain Merger Corp. - Unit", "NASDAQ"], "NMMCW": ["North Mountain Merger Corp. - Warrant", "NASDAQ"], "NMRD": ["Nemaura Medical Inc. - Common Stock", "NASDAQ"], "NMRK": ["Newmark Group, Inc. - Class A Common Stock", "NASDAQ"], "NMTR": ["9 Meters Biopharma, Inc. - Common Stock", "NASDAQ"], "NNBR": ["NN, Inc. - Common Stock", "NASDAQ"], "NNDM": ["Nano Dimension Ltd. - American Depositary Shares", "NASDAQ"], "NNOX": ["NANO-X IMAGING LTD - Ordinary Shares", "NASDAQ"], "NOAC": ["Natural Order Acquisition Corp. - Common Stock", "NASDAQ"], "NOACU": ["Natural Order Acquisition Corp. - Unit", "NASDAQ"], "NOACW": ["Natural Order Acquisition Corp. - Warrant", "NASDAQ"], "NODK": ["NI Holdings, Inc. - Common Stock", "NASDAQ"], "NOVN": ["Novan, Inc. - Common Stock", "NASDAQ"], "NOVT": ["Novanta Inc. - Common Shares", "NASDAQ"], "NPA": ["New Providence Acquisition Corp. - Class A Common Stock", "NASDAQ"], "NPAUU": ["New Providence Acquisition Corp. - Unit", "NASDAQ"], "NPAWW": ["New Providence Acquisition Corp. - Warrant", "NASDAQ"], "NRACU": ["Noble Rock Acquisition Corporation - Unit", "NASDAQ"], "NRBO": ["NeuroBo Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "NRC": ["National Research Corporation - Common Stock", "NASDAQ"], "NRIM": ["Northrim BanCorp Inc - Common Stock", "NASDAQ"], "NRIX": ["Nurix Therapeutics, Inc. - Common stock", "NASDAQ"], "NSEC": ["National Security Group, Inc. - Common Stock", "NASDAQ"], "NSIT": ["Insight Enterprises, Inc. - Common Stock", "NASDAQ"], "NSSC": ["NAPCO Security Technologies, Inc. - Common Stock", "NASDAQ"], "NSTG": ["NanoString Technologies, Inc. - Common Stock", "NASDAQ"], "NSYS": ["Nortech Systems Incorporated - Common Stock", "NASDAQ"], "NTAP": ["NetApp", "S&P500"], "NTCT": ["NetScout Systems, Inc. - Common Stock", "NASDAQ"], "NTEC": ["Intec Pharma Ltd. - Ordinary Shares", "NASDAQ"], "NTES": ["NetEase, Inc. - American Depositary Shares, each representing 5 ordinary shares", "NASDAQ"], "NTGR": ["NETGEAR, Inc. - Common Stock", "NASDAQ"], "NTIC": ["Northern Technologies International Corporation - Common Stock", "NASDAQ"], "NTLA": ["Intellia Therapeutics, Inc. - Common Stock", "NASDAQ"], "NTNX": ["Nutanix, Inc. - Class A Common Stock", "NASDAQ"], "NTRA": ["Natera, Inc. - Common Stock", "NASDAQ"], "NTRS": ["Northern Trust Corp.", "S&P500"], "NTRSO": ["Northern Trust Corporation - Depositary Shares Each Representing a 1/1,000th Interest in a Share of Series E Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "NTUS": ["Natus Medical Incorporated - Common Stock", "NASDAQ"], "NTWK": ["NETSOL Technologies Inc. - Common Stock", "NASDAQ"], "NUAN": ["Nuance Communications, Inc. - Common Stock", "NASDAQ"], "NURO": ["NeuroMetrix, Inc. - Common Stock", "NASDAQ"], "NUVA": ["NuVasive, Inc. - Common Stock", "NASDAQ"], "NUZE": ["NuZee, Inc. - Common Stock", "NASDAQ"], "NVAX": ["Novavax, Inc. - Common Stock", "NASDAQ"], "NVCN": ["Neovasc Inc. - Common Shares", "NASDAQ"], "NVCR": ["NovoCure Limited - Ordinary Shares", "NASDAQ"], "NVDA": ["Nvidia Corporation", "S&P500"], "NVEC": ["NVE Corporation - Common Stock", "NASDAQ"], "NVEE": ["NV5 Global, Inc. - Common Stock", "NASDAQ"], "NVFY": ["Nova Lifestyle, Inc - Common Stock", "NASDAQ"], "NVIV": ["InVivo Therapeutics Holdings Corp. - Common Stock", "NASDAQ"], "NVMI": ["Nova Measuring Instruments Ltd. - Ordinary Shares", "NASDAQ"], "NVOS": ["Novo Integrated Sciences, Inc. - Common Stock", "NASDAQ"], "NVSAU": ["New Vista Acquisition Corp - Unit", "NASDAQ"], "NWBI": ["Northwest Bancshares, Inc. - Common Stock", "NASDAQ"], "NWE": ["NorthWestern Corporation - Common Stock", "NASDAQ"], "NWFL": ["Norwood Financial Corp. - Common Stock", "NASDAQ"], "NWL": ["Newell Brands", "S&P500"], "NWLI": ["National Western Life Group, Inc. - Class A Common Stock", "NASDAQ"], "NWPX": ["Northwest Pipe Company - Common Stock", "NASDAQ"], "NWS": ["News Corp (Class B)", "S&P500"], "NWSA": ["News Corp (Class A)", "S&P500"], "NXGN": ["NextGen Healthcare, Inc. - Common Stock", "NASDAQ"], "NXPI": ["NXP Semiconductors N.V. - Common Stock", "NASDAQ"], "NXST": ["Nexstar Media Group, Inc. - Class A Common Stock", "NASDAQ"], "NXTC": ["NextCure, Inc. - Common Stock", "NASDAQ"], "NXTD": ["NXT-ID Inc. - Common Stock", "NASDAQ"], "NXTG": ["First Trust Indxx NextG ETF", "NASDAQ"], "NYMT": ["New York Mortgage Trust, Inc. - Common Stock", "NASDAQ"], "NYMTM": ["New York Mortgage Trust, Inc. - 7.875% Series E Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMTN": ["New York Mortgage Trust, Inc. - 8.00% Series D Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMTO": ["New York Mortgage Trust, Inc. - 7.875% Series C Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMTP": ["New York Mortgage Trust, Inc. - 7.75% Series B Cumulative Redeemable Preferred Stock", "NASDAQ"], "NYMX": ["Nymox Pharmaceutical Corporation - Common Stock", "NASDAQ"], "OAS": ["Oasis Petroleum Inc. - Common Stock", "NASDAQ"], "OBAS": ["Optibase Ltd. - Ordinary Shares", "NASDAQ"], "OBCI": ["Ocean Bio-Chem, Inc. - Common Stock", "NASDAQ"], "OBLG": ["Oblong Inc. - Common Stock", "NASDAQ"], "OBLN": ["Obalon Therapeutics, Inc. - Common Stock", "NASDAQ"], "OBNK": ["Origin Bancorp, Inc. - Common Stock", "NASDAQ"], "OBSV": ["ObsEva SA - Common Shares", "NASDAQ"], "OCAX": ["OCA Acquisition Corp. - Class A Common Stock", "NASDAQ"], "OCAXU": ["OCA Acquisition Corp. - Unit", "NASDAQ"], "OCAXW": ["OCA Acquisition Corp. - Warrant", "NASDAQ"], "OCC": ["Optical Cable Corporation - Common Stock", "NASDAQ"], "OCCI": ["OFS Credit Company, Inc. - Common Stock", "NASDAQ"], "OCCIP": ["OFS Credit Company, Inc. - 6.875% Series A Term Preferred Stock", "NASDAQ"], "OCDX": ["Ortho Clinical Diagnostics plc - Ordinary Shares", "NASDAQ"], "OCFC": ["OceanFirst Financial Corp. - Common Stock", "NASDAQ"], "OCFCP": ["OceanFirst Financial Corp. - Depositary Shares", "NASDAQ"], "OCG": ["Oriental Culture Holding LTD - Ordinary Shares", "NASDAQ"], "OCGN": ["Ocugen, Inc. - Common Stock", "NASDAQ"], "OCSI": ["Oaktree Strategic Income Corporation - Common Stock", "NASDAQ"], "OCSL": ["Oaktree Specialty Lending Corporation - Common Stock", "NASDAQ"], "OCUL": ["Ocular Therapeutix, Inc. - Common Stock", "NASDAQ"], "OCUP": ["Ocuphire Pharma, Inc. - Common Stock", "NASDAQ"], "OCX": ["OncoCyte Corporation - Common Stock", "NASDAQ"], "ODFL": ["Old Dominion Freight Line", "S&P500"], "ODP": ["The ODP Corporation - Common Stock", "NASDAQ"], "ODT": ["Odonate Therapeutics, Inc. - Common Stock", "NASDAQ"], "OEG": ["Orbital Energy Group, Inc. - Common Stock", "NASDAQ"], "OEPW": ["One Equity Partners Open Water I Corp. - Class A Common Stock", "NASDAQ"], "OEPWU": ["One Equity Partners Open Water I Corp. - Unit", "NASDAQ"], "OEPWW": ["One Equity Partners Open Water I Corp. - Warrant", "NASDAQ"], "OESX": ["Orion Energy Systems, Inc. - Common Stock", "NASDAQ"], "OFED": ["Oconee Federal Financial Corp. - Common Stock", "NASDAQ"], "OFIX": ["Orthofix Medical Inc. - Common Stock", "NASDAQ"], "OFLX": ["Omega Flex, Inc. - Common Stock", "NASDAQ"], "OFS": ["OFS Capital Corporation - Common Stock", "NASDAQ"], "OFSSG": ["OFS Capital Corporation - 6.25% Notes Due 2023", "NASDAQ"], "OFSSI": ["OFS Capital Corporation - 5.95% Notes due 2026", "NASDAQ"], "OGI": ["Organigram Holdings Inc. - Common Shares", "NASDAQ"], "OHPAU": ["Orion Acquisition Corp. - Unit", "NASDAQ"], "OIIM": ["O2Micro International Limited - American Depositary Shares", "NASDAQ"], "OKTA": ["Okta, Inc. - Class A Common Stock", "NASDAQ"], "OLB": ["The OLB Group, Inc. - Common Stock", "NASDAQ"], "OLD": ["The Long-Term Care ETF", "NASDAQ"], "OLED": ["Universal Display Corporation - Common Stock", "NASDAQ"], "OLLI": ["Ollie's Bargain Outlet Holdings, Inc. - Common Stock", "NASDAQ"], "OLMA": ["Olema Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "OM": ["Outset Medical, Inc. - Common Stock", "NASDAQ"], "OMAB": ["Grupo Aeroportuario del Centro Norte S.A.B. de C.V. - American Depositary Shares each representing 8 Series B shares", "NASDAQ"], "OMCL": ["Omnicell, Inc. - Common Stock", "NASDAQ"], "OMEG": ["Omega Alpha SPAC - Class A Ordinary Shares", "NASDAQ"], "OMER": ["Omeros Corporation - Common Stock", "NASDAQ"], "OMEX": ["Odyssey Marine Exploration, Inc. - Common Stock", "NASDAQ"], "OMP": ["Oasis Midstream Partners LP - Common Units, Representing Limited Partner Interests", "NASDAQ"], "ON": ["ON Semiconductor Corporation - Common Stock", "NASDAQ"], "ONB": ["Old National Bancorp - Common Stock", "NASDAQ"], "ONCR": ["Oncorus, Inc. - Common Stock", "NASDAQ"], "ONCS": ["OncoSec Medical Incorporated - Common Stock", "NASDAQ"], "ONCT": ["Oncternal Therapeutics, Inc. - Common Stock", "NASDAQ"], "ONCY": ["Oncolytics Biotech Inc. - Common Shares", "NASDAQ"], "ONDS": ["Ondas Holdings Inc. - Common Stock", "NASDAQ"], "ONEM": ["1Life Healthcare, Inc. - Common Stock", "NASDAQ"], "ONEQ": ["Fidelity Nasdaq Composite Index ETF", "NASDAQ"], "ONEW": ["OneWater Marine Inc. - Class A Common Stock", "NASDAQ"], "ONTX": ["Onconova Therapeutics, Inc. - Common Stock", "NASDAQ"], "ONTXW": ["Onconova Therapeutics, Inc. - Warrants", "NASDAQ"], "ONVO": ["Organovo Holdings, Inc. - Common Stock", "NASDAQ"], "OPBK": ["OP Bancorp - Common Stock", "NASDAQ"], "OPCH": ["Option Care Health, Inc. - Common Stock", "NASDAQ"], "OPEN": ["Opendoor Technologies Inc - Common Stock", "NASDAQ"], "OPENW": ["Opendoor Technologies Inc - Warrant", "NASDAQ"], "OPGN": ["OpGen, Inc. - Common Stock", "NASDAQ"], "OPHC": ["OptimumBank Holdings, Inc. - Common Stock", "NASDAQ"], "OPI": ["Office Properties Income Trust - Common Shares of Beneficial Interest", "NASDAQ"], "OPINI": ["Office Properties Income Trust - 5.875% Senior Notes due 2046", "NASDAQ"], "OPINL": ["Office Properties Income Trust - 6.375% Senior Notes due 2050", "NASDAQ"], "OPK": ["Opko Health, Inc. - Common Stock", "NASDAQ"], "OPNT": ["Opiant Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "OPOF": ["Old Point Financial Corporation - Common Stock", "NASDAQ"], "OPRA": ["Opera Limited - American Depositary Shares", "NASDAQ"], "OPRT": ["Oportun Financial Corporation - common stock", "NASDAQ"], "OPRX": ["OptimizeRx Corporation - Common Stock", "NASDAQ"], "OPT": ["Opthea Limited - American Depositary Shares", "NASDAQ"], "OPTN": ["OptiNose, Inc. - Common Stock", "NASDAQ"], "OPTT": ["Ocean Power Technologies, Inc. - Common Stock", "NASDAQ"], "ORBC": ["ORBCOMM Inc. - Common Stock", "NASDAQ"], "ORGO": ["Organogenesis Holdings Inc. - Class A ", "NASDAQ"], "ORGS": ["Orgenesis Inc. - Common Stock", "NASDAQ"], "ORIC": ["Oric Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ORLY": ["O'Reilly Automotive", "S&P500"], "ORMP": ["Oramed Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "ORPH": ["Orphazyme A/S - American Depositary Shares", "NASDAQ"], "ORRF": ["Orrstown Financial Services Inc - Common Stock", "NASDAQ"], "ORTX": ["Orchard Therapeutics plc - American Depositary Shares", "NASDAQ"], "OSBC": ["Old Second Bancorp, Inc. - Common Stock", "NASDAQ"], "OSIS": ["OSI Systems, Inc. - Common Stock", "NASDAQ"], "OSMT": ["Osmotica Pharmaceuticals plc - Ordinary Shares", "NASDAQ"], "OSN": ["Ossen Innovation Co., Ltd. - American Depositary Shares", "NASDAQ"], "OSPN": ["OneSpan Inc. - Common Stock", "NASDAQ"], "OSS": ["One Stop Systems, Inc. - Common Stock", "NASDAQ"], "OSTK": ["Overstock.com, Inc. - Common Stock", "NASDAQ"], "OSTR": ["Oyster Enterprises Acquisition Corp. - Class A Common Stock", "NASDAQ"], "OSTRU": ["Oyster Enterprises Acquisition Corp. - Unit", "NASDAQ"], "OSTRW": ["Oyster Enterprises Acquisition Corp. - Warrant", "NASDAQ"], "OSUR": ["OraSure Technologies, Inc. - Common Stock", "NASDAQ"], "OSW": ["OneSpaWorld Holdings Limited - Common Shares", "NASDAQ"], "OTEL": ["Otelco Inc. - Common Stock", "NASDAQ"], "OTEX": ["Open Text Corporation - Common Shares", "NASDAQ"], "OTIC": ["Otonomy, Inc. - Common Stock", "NASDAQ"], "OTLK": ["Outlook Therapeutics, Inc. - Common Stock", "NASDAQ"], "OTLKW": ["Outlook Therapeutics, Inc. - Series A Warrant", "NASDAQ"], "OTRA": ["OTR Acquisition Corp. - Class A Common Stock", "NASDAQ"], "OTRAU": ["OTR Acquisition Corp. - Unit", "NASDAQ"], "OTRAW": ["OTR Acquisition Corp. - Warrant", "NASDAQ"], "OTRK": ["Ontrak, Inc. - Common Stock", "NASDAQ"], "OTRKP": ["Ontrak, Inc. - 9.50% Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "OTTR": ["Otter Tail Corporation - Common Stock", "NASDAQ"], "OVBC": ["Ohio Valley Banc Corp. - Common Stock", "NASDAQ"], "OVID": ["Ovid Therapeutics Inc. - Common Stock", "NASDAQ"], "OVLY": ["Oak Valley Bancorp (CA) - Common Stock", "NASDAQ"], "OXBR": ["Oxbridge Re Holdings Limited - Ordinary Shares", "NASDAQ"], "OXBRW": ["Oxbridge Re Holdings Limited - Warrant", "NASDAQ"], "OXLC": ["Oxford Lane Capital Corp. - Common Stock", "NASDAQ"], "OXLCL": ["Oxford Lane Capital Corp. - 6.75% Notes due 2031", "NASDAQ"], "OXLCM": ["Oxford Lane Capital Corp. - 6.75% Series 2024 Term Preferred Stock", "NASDAQ"], "OXLCO": ["Oxford Lane Capital Corp. - Term Preferred Shares, 7.50% Series 2023", "NASDAQ"], "OXLCP": ["Oxford Lane Capital Corp. - 6.25% Series 2027 Term Preferred Shares", "NASDAQ"], "OXSQ": ["Oxford Square Capital Corp. - Closed End Fund", "NASDAQ"], "OXSQL": ["Oxford Square Capital Corp. - 6.50% Notes due 2024", "NASDAQ"], "OXSQZ": ["Oxford Square Capital Corp. - 6.25% Notes due 2026", "NASDAQ"], "OYST": ["Oyster Point Pharma, Inc. - common stock", "NASDAQ"], "OZK": ["Bank OZK - Common Stock", "NASDAQ"], "OZON": ["Ozon Holdings PLC - ADS, each ADS representing one ordinary share", "NASDAQ"], "PAA": ["Plains All American Pipeline, L.P. - Common Units representing Limited Partner Interests", "NASDAQ"], "PAAS": ["Pan American Silver Corp. - Common Stock", "NASDAQ"], "PACB": ["Pacific Biosciences of California, Inc. - Common Stock", "NASDAQ"], "PACW": ["PacWest Bancorp - Common Stock", "NASDAQ"], "PACX": ["Pioneer Merger Corp. - Class A Ordinary Share", "NASDAQ"], "PACXU": ["Pioneer Merger Corp. - Unit", "NASDAQ"], "PACXW": ["Pioneer Merger Corp. - Warrant", "NASDAQ"], "PAE": ["PAE Incorporated - Class A Common Stock", "NASDAQ"], "PAEWW": ["PAE Incorporated - Warrants", "NASDAQ"], "PAGP": ["Plains GP Holdings, L.P. - Class A Shares representing limited partner interests", "NASDAQ"], "PAHC": ["Phibro Animal Health Corporation - Class A Common Stock", "NASDAQ"], "PAIC": ["Petra Acquisition, Inc. - Common Stock", "NASDAQ"], "PAICU": ["Petra Acquisition, Inc. - Units", "NASDAQ"], "PAICW": ["Petra Acquisition, Inc. - Warrant", "NASDAQ"], "PAND": ["Pandion Therapeutics Inc. - Common stock", "NASDAQ"], "PANL": ["Pangaea Logistics Solutions Ltd. - Common Stock", "NASDAQ"], "PAQC": ["Provident Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "PAQCU": ["Provident Acquisition Corp. - Units", "NASDAQ"], "PAQCW": ["Provident Acquisition Corp. - Warrant", "NASDAQ"], "PASG": ["Passage Bio, Inc. - Common Stock", "NASDAQ"], "PATI": ["Patriot Transportation Holding, Inc. - Common Stock", "NASDAQ"], "PATK": ["Patrick Industries, Inc. - Common Stock", "NASDAQ"], "PAVM": ["PAVmed Inc. - Common Stock", "NASDAQ"], "PAVMW": ["PAVmed Inc. - Warrant", "NASDAQ"], "PAVMZ": ["PAVmed Inc. - Series Z Warrant", "NASDAQ"], "PAX": ["Patria Investments Limited - Class A Common Shares", "NASDAQ"], "PAYA": ["Paya Holdings Inc. - Common Stock", "NASDAQ"], "PAYAW": ["Paya Holdings Inc. - Warrant", "NASDAQ"], "PAYS": ["Paysign, Inc. - Common Stock", "NASDAQ"], "PAYX": ["Paychex Inc.", "S&P500"], "PBCT": ["People's United Financial", "S&P500"], "PBCTP": ["People's United Financial, Inc. - Perpetual Preferred Series A Fixed-to-floating Rate", "NASDAQ"], "PBFS": ["Pioneer Bancorp, Inc. - Common Stock", "NASDAQ"], "PBHC": ["Pathfinder Bancorp, Inc. - Common Stock", "NASDAQ"], "PBIP": ["Prudential Bancorp, Inc. - Common Stock", "NASDAQ"], "PBLA": ["Panbela Therapeutics, Inc. - Common Stock", "NASDAQ"], "PBPB": ["Potbelly Corporation - Common Stock", "NASDAQ"], "PBTS": ["Powerbridge Technologies Co., Ltd. - Ordinary Shares", "NASDAQ"], "PBYI": ["Puma Biotechnology Inc - Common Stock", "NASDAQ"], "PCAR": ["Paccar", "S&P500"], "PCB": ["PCB Bancorp - Common Stock", "NASDAQ"], "PCH": ["PotlatchDeltic Corporation - Common Stock", "NASDAQ"], "PCOM": ["Points International, Ltd. - Common Shares", "NASDAQ"], "PCRX": ["Pacira BioSciences, Inc. - Common Stock", "NASDAQ"], "PCSA": ["Processa Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PCSB": ["PCSB Financial Corporation - Common Stock", "NASDAQ"], "PCT": ["PureCycle Technologies, Inc. - Common stock", "NASDAQ"], "PCTI": ["PCTEL, Inc. - Common Stock", "NASDAQ"], "PCTTU": ["PureCycle Technologies, Inc. - Unit", "NASDAQ"], "PCTTW": ["PureCycle Technologies, Inc. - Warrant", "NASDAQ"], "PCTY": ["Paylocity Holding Corporation - Common Stock", "NASDAQ"], "PCVX": ["Vaxcyte, Inc. - Common Stock", "NASDAQ"], "PCYG": ["Park City Group, Inc. - Common Stock", "NASDAQ"], "PCYO": ["Pure Cycle Corporation - Common Stock", "NASDAQ"], "PDBC": ["Invesco Optimum Yield Diversified Commodity Strategy No K-1 ETF", "NASDAQ"], "PDCE": ["PDC Energy, Inc. - Common Stock", "NASDAQ"], "PDCO": ["Patterson Companies, Inc. - Common Stock", "NASDAQ"], "PDD": ["Pinduoduo Inc. - American Depositary Shares", "NASDAQ"], "PDEV": ["Principal International Multi-Factor ETF", "NASDAQ"], "PDEX": ["Pro-Dex, Inc. - Common Stock", "NASDAQ"], "PDFS": ["PDF Solutions, Inc. - Common Stock", "NASDAQ"], "PDLB": ["PDL Community Bancorp - Common Stock", "NASDAQ"], "PDP": ["Invesco DWA Momentum ETF", "NASDAQ"], "PDSB": ["PDS Biotechnology Corporation - Common Stock", "NASDAQ"], "PEBK": ["Peoples Bancorp of North Carolina, Inc. - Common Stock", "NASDAQ"], "PEBO": ["Peoples Bancorp Inc. - Common Stock", "NASDAQ"], "PEGA": ["Pegasystems Inc. - Common Stock", "NASDAQ"], "PENN": ["Penn National Gaming, Inc. - Common Stock", "NASDAQ"], "PEP": ["PepsiCo Inc.", "S&P500"], "PERI": ["Perion Network Ltd - Ordinary Shares", "NASDAQ"], "PESI": ["Perma-Fix Environmental Services, Inc. - Common Stock", "NASDAQ"], "PETQ": ["PetIQ, Inc. - Class A Common Stock", "NASDAQ"], "PETS": ["PetMed Express, Inc. - Common Stock", "NASDAQ"], "PETZ": ["TDH Holdings, Inc. - Common Shares", "NASDAQ"], "PEY": ["Invesco High Yield Equity Dividend Achievers ETF", "NASDAQ"], "PEZ": ["Invesco DWA Consumer Cyclicals Momentum ETF", "NASDAQ"], "PFBC": ["Preferred Bank - Common Stock", "NASDAQ"], "PFBI": ["Premier Financial Bancorp, Inc. - Common Stock", "NASDAQ"], "PFC": ["Premier Financial Corp. - Common Stock", "NASDAQ"], "PFDRU": ["Pathfinder Acquisition Corporation - Unit", "NASDAQ"], "PFF": ["iShares Preferred and Income Securities ETF", "NASDAQ"], "PFG": ["Principal Financial Group", "S&P500"], "PFHD": ["Professional Holding Corp. - Class A Common Stock", "NASDAQ"], "PFI": ["Invesco DWA Financial Momentum ETF", "NASDAQ"], "PFIE": ["Profire Energy, Inc. - Common Stock", "NASDAQ"], "PFIN": ["P & F Industries, Inc. - Class A Common Stock", "NASDAQ"], "PFIS": ["Peoples Financial Services Corp. - Common Stock", "NASDAQ"], "PFLT": ["PennantPark Floating Rate Capital Ltd. - Common Stock", "NASDAQ"], "PFM": ["Invesco Dividend Achievers ETF", "NASDAQ"], "PFMT": ["Performant Financial Corporation - Common Stock", "NASDAQ"], "PFPT": ["Proofpoint, Inc. - Common Stock", "NASDAQ"], "PFSW": ["PFSweb, Inc. - Common Stock", "NASDAQ"], "PFX": ["PhenixFIN Corporation - Common Stock", "NASDAQ"], "PFXNL": ["PhenixFIN Corporation - Notes Due 2023", "NASDAQ"], "PGC": ["Peapack-Gladstone Financial Corporation - Common Stock", "NASDAQ"], "PGEN": ["Precigen, Inc. - Common Stock", "NASDAQ"], "PGJ": ["Invesco Golden Dragon China ETF", "NASDAQ"], "PGNY": ["Progyny, Inc. - Common Stock", "NASDAQ"], "PGRW": ["Progress Acquisition Corp. - Class A Common Stock", "NASDAQ"], "PGRWU": ["Progress Acquisition Corp. - Units.", "NASDAQ"], "PGRWW": ["Progress Acquisition Corp. - Warrant", "NASDAQ"], "PHAR": ["Pharming Group N.V. - ADS, each representing 10 ordinary shares", "NASDAQ"], "PHAS": ["PhaseBio Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PHAT": ["Phathom Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PHCF": ["Puhui Wealth Investment Management Co., Ltd. - Ordinary Shares", "NASDAQ"], "PHIC": ["Population Health Investment Co., Inc. - Class A Ordinary Share", "NASDAQ"], "PHICU": ["Population Health Investment Co., Inc. - Unit", "NASDAQ"], "PHICW": ["Population Health Investment Co., Inc. - Warrant", "NASDAQ"], "PHIO": ["Phio Pharmaceuticals Corp. - Common Stock", "NASDAQ"], "PHIOW": ["Phio Pharmaceuticals Corp. - Warrants", "NASDAQ"], "PHO": ["Invesco Water Resources ETF", "NASDAQ"], "PHUN": ["Phunware, Inc. - Common Stock", "NASDAQ"], "PHUNW": ["Phunware, Inc. - Warrants", "NASDAQ"], "PHVS": ["Pharvaris N.V. - Ordinary Shares", "NASDAQ"], "PI": ["Impinj, Inc. - Common Stock", "NASDAQ"], "PID": ["Invesco International Dividend Achievers ETF", "NASDAQ"], "PIE": ["Invesco DWA Emerging Markets Momentum ETF", "NASDAQ"], "PINC": ["Premier, Inc. - Class A Common Stock", "NASDAQ"], "PIO": ["Invesco Global Water ETF", "NASDAQ"], "PIRS": ["Pieris Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PIXY": ["ShiftPixy, Inc. - Common Stock", "NASDAQ"], "PIZ": ["Invesco DWA Developed Markets Momentum ETF", "NASDAQ"], "PKBK": ["Parke Bancorp, Inc. - Common Stock", "NASDAQ"], "PKOH": ["Park-Ohio Holdings Corp. - Common Stock", "NASDAQ"], "PKW": ["Invesco BuyBack Achievers ETF", "NASDAQ"], "PLAB": ["Photronics, Inc. - Common Stock", "NASDAQ"], "PLAY": ["Dave & Buster's Entertainment, Inc. - Common Stock", "NASDAQ"], "PLBC": ["Plumas Bancorp - Common Stock", "NASDAQ"], "PLBY": ["PLBY Group, Inc. - Common Stock", "NASDAQ"], "PLCE": ["Children's Place, Inc. (The) - Common Stock", "NASDAQ"], "PLIN": ["China Xiangtai Food Co., Ltd. - Ordinary Shares", "NASDAQ"], "PLL": ["Piedmont Lithium Limited - American Depositary Shares", "NASDAQ"], "PLMIU": ["Plum Acquisition Corp. I - Units", "NASDAQ"], "PLMR": ["Palomar Holdings, Inc. - Common stock", "NASDAQ"], "PLPC": ["Preformed Line Products Company - Common Stock", "NASDAQ"], "PLRX": ["Pliant Therapeutics, Inc. - Common Stock", "NASDAQ"], "PLSE": ["Pulse Biosciences, Inc - Common Stock", "NASDAQ"], "PLTK": ["Playtika Holding Corp. - Common Stock", "NASDAQ"], "PLUG": ["Plug Power, Inc. - Common Stock", "NASDAQ"], "PLUS": ["ePlus inc. - Common Stock", "NASDAQ"], "PLW": ["Invesco 1-30 Laddered Treasury ETF", "NASDAQ"], "PLXP": ["PLx Pharma Inc. - Common Stock", "NASDAQ"], "PLXS": ["Plexus Corp. - Common Stock", "NASDAQ"], "PLYA": ["Playa Hotels & Resorts N.V. - Ordinary Shares", "NASDAQ"], "PMBC": ["Pacific Mercantile Bancorp - Common Stock", "NASDAQ"], "PMD": ["Psychemedics Corporation - Common Stock", "NASDAQ"], "PME": ["Pingtan Marine Enterprise Ltd. - Ordinary Shares", "NASDAQ"], "PMGMU": ["Priveterra Acquisition Corp. - Units", "NASDAQ"], "PMVP": ["PMV Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PNBK": ["Patriot National Bancorp Inc. - Common Stock", "NASDAQ"], "PNFP": ["Pinnacle Financial Partners, Inc. - Common Stock", "NASDAQ"], "PNFPP": ["Pinnacle Financial Partners, Inc. - Depositary shares of Pinnacle Financial Partners, Inc., each representing a 1/40th Interest in a share of its 6.75% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series B", "NASDAQ"], "PNNT": ["PennantPark Investment Corporation - common stock", "NASDAQ"], "PNNTG": ["PennantPark Investment Corporation - 5.50% Notes Due 2024", "NASDAQ"], "PNQI": ["Invesco Nasdaq Internet ETF", "NASDAQ"], "PNRG": ["PrimeEnergy Resources Corporation - Common Stock", "NASDAQ"], "PNTG": ["The Pennant Group, Inc. - Common Stock", "NASDAQ"], "POAI": ["Predictive Oncology Inc. - Common Stock", "NASDAQ"], "PODD": ["Insulet Corporation - Common Stock", "NASDAQ"], "POLA": ["Polar Power, Inc. - Common Stock", "NASDAQ"], "POOL": ["Pool Corporation", "S&P500"], "POSH": ["Poshmark, Inc. - Class A Common Stock", "NASDAQ"], "POTX": ["Global X Cannabis ETF", "NASDAQ"], "POW": ["Powered Brands - Class A Ordinary Shares", "NASDAQ"], "POWI": ["Power Integrations, Inc. - Common Stock", "NASDAQ"], "POWL": ["Powell Industries, Inc. - Common Stock", "NASDAQ"], "POWRU": ["Powered Brands - Units", "NASDAQ"], "POWRW": ["Powered Brands - Warrants", "NASDAQ"], "POWW": ["AMMO, Inc. - Common Stock", "NASDAQ"], "PPBI": ["Pacific Premier Bancorp Inc - Common Stock", "NASDAQ"], "PPBT": ["Purple Biotech Ltd. - American Depositary Shares", "NASDAQ"], "PPC": ["Pilgrim's Pride Corporation - Common Stock", "NASDAQ"], "PPD": ["PPD, Inc. - Common Stock", "NASDAQ"], "PPGH": ["Poema Global Holdings Corp. - Ordinary Share", "NASDAQ"], "PPGHU": ["Poema Global Holdings Corp. - Unit", "NASDAQ"], "PPGHW": ["Poema Global Holdings Corp. - Warrant", "NASDAQ"], "PPH": ["VanEck Vectors Pharmaceutical ETF", "NASDAQ"], "PPIH": ["Perma-Pipe International Holdings, Inc. - Common Stock", "NASDAQ"], "PPSI": ["Pioneer Power Solutions, Inc. - Common Stock", "NASDAQ"], "PPTA": ["Perpetua Resources Corp. - Common Shares", "NASDAQ"], "PRAA": ["PRA Group, Inc. - Common Stock", "NASDAQ"], "PRAH": ["PRA Health Sciences, Inc. - Common Stock", "NASDAQ"], "PRAX": ["Praxis Precision Medicines, Inc. - Common Stock", "NASDAQ"], "PRCH": ["Porch Group, Inc. - Common Stock", "NASDAQ"], "PRCHW": ["Porch Group, Inc. - Warrant", "NASDAQ"], "PRDO": ["Perdoceo Education Corporation - Common Stock", "NASDAQ"], "PRFT": ["Perficient, Inc. - Common Stock", "NASDAQ"], "PRFX": ["PainReform Ltd. - Ordinary Shares", "NASDAQ"], "PRFZ": ["Invesco FTSE RAFI US 1500 Small-Mid ETF", "NASDAQ"], "PRGS": ["Progress Software Corporation - Common Stock", "NASDAQ"], "PRIM": ["Primoris Services Corporation - Common Stock", "NASDAQ"], "PRLD": ["Prelude Therapeutics Incorporated - Common Stock", "NASDAQ"], "PRN": ["Invesco DWA Industrials Momentum ETF", "NASDAQ"], "PROF": ["Profound Medical Corp. - common stock", "NASDAQ"], "PROG": ["Progenity, Inc. - Common Stock", "NASDAQ"], "PROV": ["Provident Financial Holdings, Inc. - Common Stock", "NASDAQ"], "PRPH": ["ProPhase Labs, Inc. - Common Stock", "NASDAQ"], "PRPL": ["Purple Innovation, Inc. - Common Stock", "NASDAQ"], "PRPO": ["Precipio, Inc. - Common Stock", "NASDAQ"], "PRQR": ["ProQR Therapeutics N.V. - Ordinary Shares", "NASDAQ"], "PRSR": ["Prospector Capital Corp. - Class A Ordinary Shares", "NASDAQ"], "PRSRU": ["Prospector Capital Corp. - Unit", "NASDAQ"], "PRSRW": ["Prospector Capital Corp. - Warrants", "NASDAQ"], "PRTA": ["Prothena Corporation plc - Ordinary Shares", "NASDAQ"], "PRTC": ["PureTech Health plc - American Depositary Shares", "NASDAQ"], "PRTG": ["Portage Biotech Inc. - Common Stock", "NASDAQ"], "PRTH": ["Priority Technology Holdings, Inc. - Common Stock", "NASDAQ"], "PRTK": ["Paratek Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PRTS": ["CarParts.com, Inc. - Common Stock", "NASDAQ"], "PRVB": ["Provention Bio, Inc. - Common Stock", "NASDAQ"], "PS": ["Pluralsight, Inc. - Class A Common Stock", "NASDAQ"], "PSAC": ["Property Solutions Acquisition Corp. - Common Stock", "NASDAQ"], "PSACU": ["Property Solutions Acquisition Corp. - Unit", "NASDAQ"], "PSACW": ["Property Solutions Acquisition Corp. - Warrant", "NASDAQ"], "PSAGU": ["Property Solutions Acquisition Corporation II - Units", "NASDAQ"], "PSC": ["Principal U.S. Small-Cap Multi-Factor ETF", "NASDAQ"], "PSCC": ["Invesco S&P SmallCap Consumer Staples ETF", "NASDAQ"], "PSCD": ["Invesco S&P SmallCap Consumer Discretionary ETF", "NASDAQ"], "PSCE": ["Invesco S&P SmallCap Energy ETF", "NASDAQ"], "PSCF": ["Invesco S&P SmallCap Financials ETF", "NASDAQ"], "PSCH": ["Invesco S&P SmallCap Health Care ETF", "NASDAQ"], "PSCI": ["Invesco S&P SmallCap Industrials ETF", "NASDAQ"], "PSCM": ["Invesco S&P SmallCap Materials ETF", "NASDAQ"], "PSCT": ["Invesco S&P SmallCap Information Technology ETF", "NASDAQ"], "PSCU": ["Invesco S&P SmallCap Utilities & Communication Services ETF", "NASDAQ"], "PSEC": ["Prospect Capital Corporation - Common Stock", "NASDAQ"], "PSET": ["Principal Quality ETF", "NASDAQ"], "PSHG": ["Performance Shipping Inc. - Common Shares", "NASDAQ"], "PSL": ["Invesco DWA Consumer Staples Momentum ETF", "NASDAQ"], "PSMT": ["PriceSmart, Inc. - Common Stock", "NASDAQ"], "PSNL": ["Personalis, Inc. - Common Stock", "NASDAQ"], "PSTI": ["Pluristem Therapeutics, Inc. - Common Stock", "NASDAQ"], "PSTV": ["PLUS THERAPEUTICS, Inc. - Common Stock", "NASDAQ"], "PSTX": ["Poseida Therapeutics, Inc. - Common Stock", "NASDAQ"], "PT": ["Pintec Technology Holdings Limited - American Depositary Shares", "NASDAQ"], "PTC": ["PTC Inc. - Common Stock", "NASDAQ"], "PTCT": ["PTC Therapeutics, Inc. - Common Stock", "NASDAQ"], "PTE": ["PolarityTE, Inc. - Common Stock", "NASDAQ"], "PTEN": ["Patterson-UTI Energy, Inc. - Common Stock", "NASDAQ"], "PTF": ["Invesco DWA Technology Momentum ETF", "NASDAQ"], "PTGX": ["Protagonist Therapeutics, Inc. - Common Stock", "NASDAQ"], "PTH": ["Invesco DWA Healthcare Momentum ETF", "NASDAQ"], "PTIC": ["PropTech Investment Corporation II - Class A Common Stock", "NASDAQ"], "PTICU": ["PropTech Investment Corporation II - Unit", "NASDAQ"], "PTICW": ["PropTech Investment Corporation II - Warrant", "NASDAQ"], "PTMN": ["Portman Ridge Finance Corporation - common stock", "NASDAQ"], "PTNR": ["Partner Communications Company Ltd. - American Depositary Shares, each representing one ordinary share", "NASDAQ"], "PTOCU": ["Pine Technology Acquisition Corp. - Unit", "NASDAQ"], "PTON": ["Peloton Interactive, Inc. - Common Stock", "NASDAQ"], "PTPI": ["Petros Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "PTRS": ["Partners Bancorp - Common Stock", "NASDAQ"], "PTSI": ["P.A.M. Transportation Services, Inc. - Common Stock", "NASDAQ"], "PTVCA": ["Protective Insurance Corporation - Class A (voting) Common Stock", "NASDAQ"], "PTVCB": ["Protective Insurance Corporation - Class B (nonvoting) Common Stock", "NASDAQ"], "PTVE": ["Pactiv Evergreen Inc. - Common stock", "NASDAQ"], "PUBM": ["PubMatic, Inc. - Class A Common Stock", "NASDAQ"], "PUCKU": ["Goal Acquisitions Corp. - Unit", "NASDAQ"], "PUI": ["Invesco DWA Utilities Momentum ETF", "NASDAQ"], "PULM": ["Pulmatrix, Inc. - Common Stock", "NASDAQ"], "PUYI": ["Puyi Inc. - American Depository Shares", "NASDAQ"], "PVAC": ["Penn Virginia Corporation - Common Stock", "NASDAQ"], "PVBC": ["Provident Bancorp, Inc. - Common Stock", "NASDAQ"], "PWFL": ["PowerFleet, Inc. - Common Stock", "NASDAQ"], "PWOD": ["Penns Woods Bancorp, Inc. - Common Stock", "NASDAQ"], "PXI": ["Invesco DWA Energy Momentum ETF", "NASDAQ"], "PXLW": ["Pixelworks, Inc. - Common Stock", "NASDAQ"], "PXS": ["Pyxis Tankers Inc. - Common Stock", "NASDAQ"], "PXSAP": ["Pyxis Tankers Inc. - 7.75% Series A Cumulative Convertible Preferred Shares", "NASDAQ"], "PXSAW": ["Pyxis Tankers Inc. - Warrant", "NASDAQ"], "PY": ["Principal Value ETF", "NASDAQ"], "PYPD": ["PolyPid Ltd. - Ordinary Shares", "NASDAQ"], "PYPL": ["PayPal", "S&P500"], "PYR": ["PyroGenesis Canada Inc. - Common Shares", "NASDAQ"], "PYZ": ["Invesco DWA Basic Materials Momentum ETF", "NASDAQ"], "PZZA": ["Papa John's International, Inc. - Common Stock", "NASDAQ"], "QABA": ["First Trust NASDAQ ABA Community Bank Index Fund", "NASDAQ"], "QADA": ["QAD Inc. - Class A Common Stock", "NASDAQ"], "QADB": ["QAD Inc. - Class B Common Stock", "NASDAQ"], "QAT": ["iShares MSCI Qatar ETF", "NASDAQ"], "QCLN": ["First Trust NASDAQ Clean Edge Green Energy Index Fund", "NASDAQ"], "QCOM": ["Qualcomm", "S&P500"], "QCRH": ["QCR Holdings, Inc. - Common Stock", "NASDAQ"], "QDEL": ["Quidel Corporation - Common Stock", "NASDAQ"], "QELL": ["Qell Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "QELLU": ["Qell Acquisition Corp. - Unit", "NASDAQ"], "QELLW": ["Qell Acquisition Corp. - Warrant", "NASDAQ"], "QFIN": ["360 DigiTech, Inc. - American Depositary Shares", "NASDAQ"], "QH": ["Quhuo Limited - American Depository Shares", "NASDAQ"], "QIWI": ["QIWI plc - American Depositary Shares", "NASDAQ"], "QK": ["Q&K International Group Limited - American Depositary Shares", "NASDAQ"], "QLGN": ["Qualigen Therapeutics, Inc. - Common Stock", "NASDAQ"], "QLI": ["Qilian International Holding Group Ltd. - Ordinary Shares", "NASDAQ"], "QLYS": ["Qualys, Inc. - Common Stock", "NASDAQ"], "QMCO": ["Quantum Corporation - Common Stock", "NASDAQ"], "QNST": ["QuinStreet, Inc. - Common Stock", "NASDAQ"], "QQC": ["Simplify Nasdaq 100 PLUS Convexity ETF", "NASDAQ"], "QQD": ["Simplify Nasdaq 100 PLUS Downside Convexity ETF", "NASDAQ"], "QQEW": ["First Trust NASDAQ-100 Equal Weighted Index Fund", "NASDAQ"], "QQQ": ["Invesco QQQ Trust, Series 1", "NASDAQ"], "QQQJ": ["Invesco NASDAQ Next Gen 100 ETF", "NASDAQ"], "QQQM": ["Invesco NASDAQ 100 ETF", "NASDAQ"], "QQQN": ["VictoryShares Nasdaq Next 50 ETF", "NASDAQ"], "QQQX": ["Nuveen NASDAQ 100 Dynamic Overwrite Fund - Shares of Beneficial Interest", "NASDAQ"], "QQXT": ["First Trust NASDAQ-100 Ex-Technology Sector Index Fund", "NASDAQ"], "QRHC": ["Quest Resource Holding Corporation - Common Stock", "NASDAQ"], "QRTEA": ["Qurate Retail, Inc. - Series A Common Stock", "NASDAQ"], "QRTEB": ["Qurate Retail, Inc. - Series B Common Stock", "NASDAQ"], "QRTEP": ["Qurate Retail, Inc. - 8.0% Fixed Rate Cumulative Redeemable Preferred Stock", "NASDAQ"], "QRVO": ["Qorvo", "S&P500"], "QTEC": ["First Trust NASDAQ-100-Technology Sector Index Fund", "NASDAQ"], "QTNT": ["Quotient Limited - Ordinary Shares", "NASDAQ"], "QTRX": ["Quanterix Corporation - Common Stock", "NASDAQ"], "QTT": ["Qutoutiao Inc. - American Depositary Shares", "NASDAQ"], "QUIK": ["QuickLogic Corporation - Common Stock", "NASDAQ"], "QUMU": ["Qumu Corporation - Common Stock", "NASDAQ"], "QURE": ["uniQure N.V. - Ordinary Shares", "NASDAQ"], "QYLD": ["Global X NASDAQ-100 Covered Call ETF", "NASDAQ"], "QYLG": ["Global X Nasdaq 100 Covered Call & Growth ETF", "NASDAQ"], "RAAC": ["Revolution Acceleration Acquisition Corp - Class A Common Stock", "NASDAQ"], "RAACU": ["Revolution Acceleration Acquisition Corp - Unit", "NASDAQ"], "RAACW": ["Revolution Acceleration Acquisition Corp - Warrant", "NASDAQ"], "RACA": ["Therapeutics Acquisition Corp. - Class A Common Stock", "NASDAQ"], "RACB": ["Research Alliance Corp. II - Class A Common Stock", "NASDAQ"], "RADA": ["RADA Electronic Industries Ltd. - Ordinary Shares", "NASDAQ"], "RADI": ["Radius Global Infrastructure, Inc. - Common Stock", "NASDAQ"], "RAIL": ["Freightcar America, Inc. - Common Stock", "NASDAQ"], "RAND": ["Rand Capital Corporation - Common Stock", "NASDAQ"], "RAPT": ["RAPT Therapeutics, Inc. - Common Stock", "NASDAQ"], "RARE": ["Ultragenyx Pharmaceutical Inc. - Common Stock", "NASDAQ"], "RAVE": ["Rave Restaurant Group, Inc. - Common Stock", "NASDAQ"], "RAVN": ["Raven Industries, Inc. - Common Stock", "NASDAQ"], "RBB": ["RBB Bancorp - Common Stock", "NASDAQ"], "RBBN": ["Ribbon Communications Inc. - Common Stock", "NASDAQ"], "RBCAA": ["Republic Bancorp, Inc. - Class A Common Stock", "NASDAQ"], "RBCN": ["Rubicon Technology, Inc. - Common Stock", "NASDAQ"], "RBKB": ["Rhinebeck Bancorp, Inc. - Common Stock", "NASDAQ"], "RBNC": ["Reliant Bancorp, Inc. - Common Stock", "NASDAQ"], "RCEL": ["Avita Therapeutics, Inc. - Common Stock", "NASDAQ"], "RCHG": ["Recharge Acquisition Corp. - Class A Common Stock", "NASDAQ"], "RCHGU": ["Recharge Acquisition Corp. - Unit", "NASDAQ"], "RCHGW": ["Recharge Acquisition Corp. - Warrant", "NASDAQ"], "RCII": ["Rent-A-Center Inc. - Common Stock", "NASDAQ"], "RCKT": ["Rocket Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "RCKY": ["Rocky Brands, Inc. - Common Stock", "NASDAQ"], "RCLFU": ["Rosecliff Acquisition Corp I - Units, consisting of one share Class A common stock and one-third redeemable warrants", "NASDAQ"], "RCM": ["R1 RCM Inc. - Common Stock", "NASDAQ"], "RCMT": ["RCM Technologies, Inc. - Common Stock", "NASDAQ"], "RCON": ["Recon Technology, Ltd. - Ordinary Shares", "NASDAQ"], "RDCM": ["Radcom Ltd. - Ordinary Shares", "NASDAQ"], "RDFN": ["Redfin Corporation - Common Stock", "NASDAQ"], "RDHL": ["Redhill Biopharma Ltd. - American Depositary Shares", "NASDAQ"], "RDI": ["Reading International Inc - Class A Non-voting Common Stock", "NASDAQ"], "RDIB": ["Reading International Inc - Class B Voting Common Stock", "NASDAQ"], "RDNT": ["RadNet, Inc. - Common Stock", "NASDAQ"], "RDUS": ["Radius Health, Inc. - Common Stock", "NASDAQ"], "RDVT": ["Red Violet, Inc. - Common Stock ", "NASDAQ"], "RDVY": ["First Trust Rising Dividend Achievers ETF", "NASDAQ"], "RDWR": ["Radware Ltd. - Ordinary Shares", "NASDAQ"], "REAL": ["The RealReal, Inc. - Common Stock", "NASDAQ"], "REDU": ["RISE Education Cayman Ltd - American Depositary Shares", "NASDAQ"], "REED": ["Reeds, Inc. - Common Stock", "NASDAQ"], "REFR": ["Research Frontiers Incorporated - Common Stock", "NASDAQ"], "REG": ["Regency Centers Corporation", "S&P500"], "REGI": ["Renewable Energy Group, Inc. - Common Stock", "NASDAQ"], "REGN": ["Regeneron Pharmaceuticals", "S&P500"], "REIT": ["ALPS Active REIT ETF", "NASDAQ"], "REKR": ["Rekor Systems, Inc. - Common Stock", "NASDAQ"], "RELI": ["Reliance Global Group, Inc. - Common Stock", "NASDAQ"], "RELIW": ["Reliance Global Group, Inc. - Series A Warrants", "NASDAQ"], "RELL": ["Richardson Electronics, Ltd. - Common Stock", "NASDAQ"], "REPH": ["Recro Pharma, Inc. - Common Stock", "NASDAQ"], "REPL": ["Replimune Group, Inc. - Common Stock", "NASDAQ"], "RESN": ["Resonant Inc. - Common Stock", "NASDAQ"], "RETA": ["Reata Pharmaceuticals, Inc. - Class A Common Stock", "NASDAQ"], "RETO": ["ReTo Eco-Solutions, Inc. - Common Shares", "NASDAQ"], "REVHU": ["Revolution Healthcare Acquisition Corp. - SAIL Units", "NASDAQ"], "REYN": ["Reynolds Consumer Products Inc. - Common Stock", "NASDAQ"], "RFAP": ["First Trust RiverFront Dynamic Asia Pacific ETF", "NASDAQ"], "RFDI": ["First Trust RiverFront Dynamic Developed International ETF", "NASDAQ"], "RFEM": ["First Trust RiverFront Dynamic Emerging Markets ETF", "NASDAQ"], "RFEU": ["First Trust RiverFront Dynamic Europe ETF", "NASDAQ"], "RFIL": ["RF Industries, Ltd. - Common Stock", "NASDAQ"], "RGCO": ["RGC Resources Inc. - Common Stock", "NASDAQ"], "RGEN": ["Repligen Corporation - Common Stock", "NASDAQ"], "RGLD": ["Royal Gold, Inc. - Common Stock", "NASDAQ"], "RGLS": ["Regulus Therapeutics Inc. - Common Stock", "NASDAQ"], "RGNX": ["REGENXBIO Inc. - Common Stock", "NASDAQ"], "RGP": ["Resources Connection, Inc. - Common Stock", "NASDAQ"], "RIBT": ["RiceBran Technologies - Common Stock", "NASDAQ"], "RICK": ["RCI Hospitality Holdings, Inc. - Common Stock", "NASDAQ"], "RIDE": ["Lordstown Motors Corp. - Class A Common Stock", "NASDAQ"], "RIGL": ["Rigel Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "RILY": ["B. Riley Financial, Inc. - Common Stock", "NASDAQ"], "RILYG": ["B. Riley Financial, Inc. - 7.25% Senior Notes due 2027", "NASDAQ"], "RILYH": ["B. Riley Financial, Inc. - 7.375% Senior Notes Due 2023", "NASDAQ"], "RILYI": ["B. Riley Financial, Inc. - 6.875% Senior Notes due 2023", "NASDAQ"], "RILYL": ["B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series B Cumulative Perpetual Preferred Stock", "NASDAQ"], "RILYM": ["B. Riley Financial, Inc. - 6.375% Senior Notes due 2025", "NASDAQ"], "RILYN": ["B. Riley Financial, Inc. - 6.50% Senior Notes Due 2026", "NASDAQ"], "RILYO": ["B. Riley Financial, Inc. - 6.75% Senior Notes due 2024", "NASDAQ"], "RILYP": ["B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "RILYT": ["B. Riley Financial, Inc. - 6.00% Senior Notes Due 2028", "NASDAQ"], "RILYZ": ["B. Riley Financial, Inc. - 7.50% Senior Notes Due 2027", "NASDAQ"], "RING": ["iShares MSCI Global Gold Miners ETF", "NASDAQ"], "RIOT": ["Riot Blockchain, Inc - Common Stock", "NASDAQ"], "RIVE": ["Riverview Financial Corporation - Common Stock", "NASDAQ"], "RKDA": ["Arcadia Biosciences, Inc. - Common Stock", "NASDAQ"], "RLAY": ["Relay Therapeutics, Inc. - Common Stock", "NASDAQ"], "RLMD": ["Relmada Therapeutics, Inc. - Common Stock", "NASDAQ"], "RMBI": ["Richmond Mutual Bancorporation, Inc. - Common Stock", "NASDAQ"], "RMBL": ["RumbleOn, Inc. - Class B Common Stock", "NASDAQ"], "RMBS": ["Rambus, Inc. - Common Stock", "NASDAQ"], "RMCF": ["Rocky Mountain Chocolate Factory, Inc. - Common Stock", "NASDAQ"], "RMGB": ["RMG Acquisition Corp. II - Class A Ordinary Shares", "NASDAQ"], "RMGBU": ["RMG Acquisition Corp. II - Unit", "NASDAQ"], "RMGBW": ["RMG Acquisition Corp. II - Warrant", "NASDAQ"], "RMGCU": ["RMG Acquisition Corp. III - Unit", "NASDAQ"], "RMNI": ["Rimini Street, Inc. - Common Stock", "NASDAQ"], "RMR": ["The RMR Group Inc. - Class A Common Stock", "NASDAQ"], "RMRM": ["RMR Mortgage Trust - Common Stock", "NASDAQ"], "RMTI": ["Rockwell Medical, Inc. - Common Stock", "NASDAQ"], "RNA": ["Avidity Biosciences, Inc. - Common Stock", "NASDAQ"], "RNDB": ["Randolph Bancorp, Inc. - Common Stock", "NASDAQ"], "RNDM": ["Developed International Equity Select ETF", "NASDAQ"], "RNDV": ["US Equity Dividend Select ETF", "NASDAQ"], "RNEM": ["Emerging Markets Equity Select ETF", "NASDAQ"], "RNET": ["RigNet, Inc. - Common Stock", "NASDAQ"], "RNLC": ["Large Cap US Equity Select ETF", "NASDAQ"], "RNLX": ["Renalytix AI plc - American Depositary Shares", "NASDAQ"], "RNMC": ["Mid Cap US Equity Select ETF", "NASDAQ"], "RNRG": ["Global X Renewable Energy Producers ETF", "NASDAQ"], "RNSC": ["Small Cap US Equity Select ETF", "NASDAQ"], "RNST": ["Renasant Corporation - Common Stock", "NASDAQ"], "RNWK": ["RealNetworks, Inc. - Common Stock", "NASDAQ"], "ROAD": ["Construction Partners, Inc. - Common Stock", "NASDAQ"], "ROBT": ["First Trust Nasdaq Artificial Intelligence and Robotics ETF", "NASDAQ"], "ROCC": ["Roth CH Acquisition II Co. - Common Stock", "NASDAQ"], "ROCCU": ["Roth CH Acquisition II Co. - Unit", "NASDAQ"], "ROCCW": ["Roth CH Acquisition II Co. - Warrant", "NASDAQ"], "ROCK": ["Gibraltar Industries, Inc. - Common Stock", "NASDAQ"], "ROCRU": ["Roth CH Acquisition III Co. - Unit", "NASDAQ"], "ROIC": ["Retail Opportunity Investments Corp. - Common Stock", "NASDAQ"], "ROKU": ["Roku, Inc. - Class A Common Stock", "NASDAQ"], "ROLL": ["RBC Bearings Incorporated - Common Stock", "NASDAQ"], "ROOT": ["Root, Inc. - common stock", "NASDAQ"], "ROST": ["Ross Stores", "S&P500"], "RP": ["RealPage, Inc. - Common Stock", "NASDAQ"], "RPAY": ["Repay Holdings Corporation - Class A Common Stock", "NASDAQ"], "RPD": ["Rapid7, Inc. - Common Stock", "NASDAQ"], "RPRX": ["Royalty Pharma plc - Class A Ordinary Shares", "NASDAQ"], "RPTX": ["Repare Therapeutics Inc. - Common Shares", "NASDAQ"], "RRBI": ["Red River Bancshares, Inc. - Common Stock", "NASDAQ"], "RRGB": ["Red Robin Gourmet Burgers, Inc. - Common Stock", "NASDAQ"], "RRR": ["Red Rock Resorts, Inc. - Class A Common Stock", "NASDAQ"], "RSSS": ["Research Solutions, Inc - Common Stock", "NASDAQ"], "RSVA": ["Rodgers Silicon Valley Acquisition Corp. - Common Stock", "NASDAQ"], "RSVAU": ["Rodgers Silicon Valley Acquisition Corp. - Unit", "NASDAQ"], "RSVAW": ["Rodgers Silicon Valley Acquisition Corp. - Warrant", "NASDAQ"], "RTH": ["VanEck Vectors Retail ETF", "NASDAQ"], "RTLR": ["Rattler Midstream LP - Common Units Representing Limited Partnership Interests", "NASDAQ"], "RTPYU": ["Reinvent Technology Partners Y - Unit", "NASDAQ"], "RUBY": ["Rubius Therapeutics, Inc. - Common Stock", "NASDAQ"], "RUHN": ["Ruhnn Holding Limited - American Depositary Shares", "NASDAQ"], "RUN": ["Sunrun Inc. - Common Stock", "NASDAQ"], "RUSHA": ["Rush Enterprises, Inc. - Class A Common Stock", "NASDAQ"], "RUSHB": ["Rush Enterprises, Inc. - Class B Common Stock", "NASDAQ"], "RUTH": ["Ruth's Hospitality Group, Inc. - Common Stock", "NASDAQ"], "RVMD": ["Revolution Medicines, Inc. - Common Stock", "NASDAQ"], "RVNC": ["Revance Therapeutics, Inc. - Common Stock", "NASDAQ"], "RVPH": ["Reviva Pharmaceuticals Holdings, Inc. - Common Stock", "NASDAQ"], "RVPHW": ["Reviva Pharmaceuticals Holdings, Inc. - Warrants", "NASDAQ"], "RVSB": ["Riverview Bancorp Inc - Common Stock", "NASDAQ"], "RWLK": ["ReWalk Robotics Ltd. - Ordinary Shares", "NASDAQ"], "RXDX": ["Prometheus Biosciences, Inc. - Common Stock", "NASDAQ"], "RXRAU": ["RXR Acquisition Corp. - Unit consisting of 1 share Class A common and 1/5th redeemable warrant", "NASDAQ"], "RXT": ["Rackspace Technology, Inc. - Common Stock", "NASDAQ"], "RYAAY": ["Ryanair Holdings plc - American Depositary Shares, each representing five Ordinary Shares", "NASDAQ"], "RYTM": ["Rhythm Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "RZLT": ["Rezolute, Inc. - Common Stock", "NASDAQ"], "SABR": ["Sabre Corporation - Common Stock", "NASDAQ"], "SABRP": ["Sabre Corporation - 6.50% Series A Mandatory Convertible Preferred Stock", "NASDAQ"], "SAFM": ["Sanderson Farms, Inc. - Common Stock", "NASDAQ"], "SAFT": ["Safety Insurance Group, Inc. - Common Stock", "NASDAQ"], "SAGE": ["Sage Therapeutics, Inc. - Common Stock", "NASDAQ"], "SAIA": ["Saia, Inc. - Common Stock", "NASDAQ"], "SAII": ["Software Acquisition Group Inc. II - Class A Common Stock", "NASDAQ"], "SAIIU": ["Software Acquisition Group Inc. II - Unit", "NASDAQ"], "SAIIW": ["Software Acquisition Group Inc. II - Warrant", "NASDAQ"], "SAL": ["Salisbury Bancorp, Inc. - Common Stock", "NASDAQ"], "SALM": ["Salem Media Group, Inc. - Class A Common Stock", "NASDAQ"], "SAMG": ["Silvercrest Asset Management Group Inc. - Common Stock", "NASDAQ"], "SANA": ["Sana Biotechnology, Inc. - Common Stock", "NASDAQ"], "SANM": ["Sanmina Corporation - Common Stock", "NASDAQ"], "SANW": ["S&W Seed Company - Common Stock", "NASDAQ"], "SASR": ["Sandy Spring Bancorp, Inc. - Common Stock", "NASDAQ"], "SATS": ["EchoStar Corporation - Common stock", "NASDAQ"], "SAVA": ["Cassava Sciences, Inc. - Common Stock", "NASDAQ"], "SBAC": ["SBA Communications", "S&P500"], "SBBP": ["Strongbridge Biopharma plc - Ordinary Shares", "NASDAQ"], "SBCF": ["Seacoast Banking Corporation of Florida - Common Stock", "NASDAQ"], "SBEAU": ["SilverBox Engaged Merger Corp I - Units", "NASDAQ"], "SBFG": ["SB Financial Group, Inc. - Common Stock", "NASDAQ"], "SBGI": ["Sinclair Broadcast Group, Inc. - Class A Common Stock", "NASDAQ"], "SBLK": ["Star Bulk Carriers Corp. - Common Shares", "NASDAQ"], "SBLKZ": ["Star Bulk Carriers Corp. - 8.30% Senior Notes due 2022", "NASDAQ"], "SBNY": ["Signature Bank - Common Stock", "NASDAQ"], "SBNYP": ["Signature Bank - Depositary shares, each representing a 1/40th ownership interest in a share of 5.000% Noncumulative Perpetual Series A Preferred Stock", "NASDAQ"], "SBRA": ["Sabra Health Care REIT, Inc. - Common Stock", "NASDAQ"], "SBSI": ["Southside Bancshares, Inc. - Common Stock", "NASDAQ"], "SBT": ["Sterling Bancorp, Inc. - Common Stock", "NASDAQ"], "SBTX": ["Silverback Therapeutics, Inc. - Common Stock", "NASDAQ"], "SBUX": ["Starbucks Corp.", "S&P500"], "SCAQU": ["Stratim Cloud Acquisition Corp. - Unit", "NASDAQ"], "SCHL": ["Scholastic Corporation - Common Stock", "NASDAQ"], "SCHN": ["Schnitzer Steel Industries, Inc. - Class A Common Stock", "NASDAQ"], "SCKT": ["Socket Mobile, Inc. - Common Stock", "NASDAQ"], "SCLEU": ["Broadscale Acquisition Corp. - Units", "NASDAQ"], "SCOA": ["ScION Tech Growth I - Class A Ordinary Shares", "NASDAQ"], "SCOAU": ["ScION Tech Growth I - Unit", "NASDAQ"], "SCOAW": ["ScION Tech Growth I - Warrant", "NASDAQ"], "SCOBU": ["ScION Tech Growth II - Units", "NASDAQ"], "SCOR": ["comScore, Inc. - Common Stock", "NASDAQ"], "SCPH": ["scPharmaceuticals Inc. - Common Stock", "NASDAQ"], "SCPL": ["SciPlay Corporation - Class A Common Stock", "NASDAQ"], "SCPS": ["Scopus BioPharma Inc. - Common Stock", "NASDAQ"], "SCR": ["Score Media and Gaming Inc. - Subordinate Voting Shares", "NASDAQ"], "SCSC": ["ScanSource, Inc. - Common Stock", "NASDAQ"], "SCVL": ["Shoe Carnival, Inc. - Common Stock", "NASDAQ"], "SCWX": ["SecureWorks Corp. - Class A Common Stock", "NASDAQ"], "SCYX": ["SCYNEXIS, Inc. - Common Stock", "NASDAQ"], "SCZ": ["iShares MSCI EAFE Small-Cap ETF", "NASDAQ"], "SDACU": ["Sustainable Development Acquisition I Corp. - Unit", "NASDAQ"], "SDC": ["SmileDirectClub, Inc. - Common Stock", "NASDAQ"], "SDG": ["iShares MSCI Global Impact ETF", "NASDAQ"], "SDGR": ["Schrodinger, Inc. - Common Stock", "NASDAQ"], "SDH": ["Global Internet of People, Inc. - Ordinary Shares", "NASDAQ"], "SDVY": ["First Trust SMID Cap Rising Dividend Achievers ETF", "NASDAQ"], "SEAC": ["SeaChange International, Inc. - Common Stock", "NASDAQ"], "SECO": ["Secoo Holding Limited - American Depositary Shares", "NASDAQ"], "SEDG": ["SolarEdge Technologies, Inc. - Common Stock", "NASDAQ"], "SEED": ["Origin Agritech Limited - Common Stock", "NASDAQ"], "SEEL": ["Seelos Therapeutics, Inc. - Common Stock", "NASDAQ"], "SEER": ["Seer, Inc. - Class A Common Stock", "NASDAQ"], "SEIC": ["SEI Investments Company - Common Stock", "NASDAQ"], "SELB": ["Selecta Biosciences, Inc. - Common Stock", "NASDAQ"], "SELF": ["Global Self Storage, Inc. - Common Stock", "NASDAQ"], "SENEA": ["Seneca Foods Corp. - Class A Common Stock", "NASDAQ"], "SENEB": ["Seneca Foods Corp. - Class B Common Stock", "NASDAQ"], "SESN": ["Sesen Bio, Inc. - Common Stock", "NASDAQ"], "SFBC": ["Sound Financial Bancorp, Inc. - Common Stock", "NASDAQ"], "SFBS": ["ServisFirst Bancshares, Inc. - Common Stock", "NASDAQ"], "SFET": ["Safe-T Group Ltd. - American Depositary Shares", "NASDAQ"], "SFIX": ["Stitch Fix, Inc. - Class A Common Stock", "NASDAQ"], "SFM": ["Sprouts Farmers Market, Inc. - Common Stock", "NASDAQ"], "SFNC": ["Simmons First National Corporation - Common Stock", "NASDAQ"], "SFST": ["Southern First Bancshares, Inc. - Common Stock", "NASDAQ"], "SFT": ["Shift Technologies, Inc. - Class A Common Stock", "NASDAQ"], "SGA": ["Saga Communications, Inc. - Class A Common Stock", "NASDAQ"], "SGAM": ["Seaport Global Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SGAMU": ["Seaport Global Acquisition Corp. - Unit", "NASDAQ"], "SGAMW": ["Seaport Global Acquisition Corp. - Warrant", "NASDAQ"], "SGBX": ["SG Blocks, Inc. - Common Stock", "NASDAQ"], "SGC": ["Superior Group of Companies, Inc. - Common Stock", "NASDAQ"], "SGEN": ["Seagen Inc. - Common Stock", "NASDAQ"], "SGH": ["SMART Global Holdings, Inc. - Ordinary Shares", "NASDAQ"], "SGLB": ["Sigma Labs, Inc. - Common Stock", "NASDAQ"], "SGLBW": ["Sigma Labs, Inc. - Warrant", "NASDAQ"], "SGMA": ["SigmaTron International, Inc. - Common Stock", "NASDAQ"], "SGMO": ["Sangamo Therapeutics, Inc. - Common Stock", "NASDAQ"], "SGMS": ["Scientific Games Corp - Common Stock", "NASDAQ"], "SGOC": ["SGOCO Group, Ltd - Ordinary Shares (Cayman Islands)", "NASDAQ"], "SGRP": ["SPAR Group, Inc. - Common Stock", "NASDAQ"], "SGRY": ["Surgery Partners, Inc. - Common Stock", "NASDAQ"], "SGTX": ["Sigilon Therapeutics, Inc. - Common Stock", "NASDAQ"], "SHAC": ["SCP & CO Healthcare Acquisition Company - Class A Common Stock", "NASDAQ"], "SHACU": ["SCP & CO Healthcare Acquisition Company - Unit", "NASDAQ"], "SHACW": ["SCP & CO Healthcare Acquisition Company - Warrant", "NASDAQ"], "SHBI": ["Shore Bancshares Inc - Common Stock", "NASDAQ"], "SHC": ["Sotera Health Company - Common Stock", "NASDAQ"], "SHEN": ["Shenandoah Telecommunications Co - Common Stock", "NASDAQ"], "SHIP": ["Seanergy Maritime Holdings Corp - Common Stock", "NASDAQ"], "SHIPW": ["Seanergy Maritime Holdings Corp - Class A Warrants", "NASDAQ"], "SHIPZ": ["Seanergy Maritime Holdings Corp - Class B Warrant", "NASDAQ"], "SHLD": ["VictoryShares Protect America ETF", "NASDAQ"], "SHLS": ["Shoals Technologies Group, Inc. - Class A Common Stock", "NASDAQ"], "SHOO": ["Steven Madden, Ltd. - Common Stock", "NASDAQ"], "SHSP": ["SharpSpring, Inc. - Common Stock", "NASDAQ"], "SHV": ["iShares Short Treasury Bond ETF", "NASDAQ"], "SHY": ["iShares 1-3 Year Treasury Bond ETF", "NASDAQ"], "SHYF": ["The Shyft Group, Inc. - Common Stock", "NASDAQ"], "SIBN": ["SI-BONE, Inc. - Common Stock", "NASDAQ"], "SIC": ["Select Interior Concepts, Inc. - Class A Common Stock", "NASDAQ"], "SIEB": ["Siebert Financial Corp. - Common Stock", "NASDAQ"], "SIEN": ["Sientra, Inc. - Common Stock", "NASDAQ"], "SIFY": ["Sify Technologies Limited - American Depository Shares, each represented by one Equity Share", "NASDAQ"], "SIGA": ["SIGA Technologies Inc. - Common Stock", "NASDAQ"], "SIGI": ["Selective Insurance Group, Inc. - Common Stock", "NASDAQ"], "SIGIP": ["Selective Insurance Group, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 4.60% Non-Cumulative Preferred Stock, Series B", "NASDAQ"], "SILC": ["Silicom Ltd - Ordinary Shares", "NASDAQ"], "SILK": ["Silk Road Medical, Inc. - Common Stock", "NASDAQ"], "SIMO": ["Silicon Motion Technology Corporation - American Depositary Shares, each representing four ordinary shares", "NASDAQ"], "SINA": ["Sina Corporation - Ordinary Shares", "NASDAQ"], "SINO": ["Sino-Global Shipping America, Ltd. - Common Stock", "NASDAQ"], "SINT": ["SiNtx Technologies, Inc. - Common Stock", "NASDAQ"], "SIOX": ["Sio Gene Therapies Inc. - Common Stock", "NASDAQ"], "SIRI": ["Sirius XM Holdings Inc. - Common Stock", "NASDAQ"], "SITM": ["SiTime Corporation - Common Stock", "NASDAQ"], "SIVB": ["SVB Financial", "S&P500"], "SIVBP": ["SVB Financial Group - Depositary Shs each representing a 1/40th interest in a share of 5.25% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "SJ": ["Scienjoy Holding Corporation - Ordinary Shares", "NASDAQ"], "SKOR": ["FlexShares Credit-Scored US Corporate Bond Index Fund", "NASDAQ"], "SKYU": ["ProShares Ultra Nasdaq Cloud Computing ETF", "NASDAQ"], "SKYW": ["SkyWest, Inc. - Common Stock", "NASDAQ"], "SKYY": ["First Trust Cloud Computing ETF", "NASDAQ"], "SLAB": ["Silicon Laboratories, Inc. - Common Stock", "NASDAQ"], "SLAMU": ["Slam Corp. - Unit", "NASDAQ"], "SLCR": ["Silver Crest Acquisition Corporation - Class A Ordinary Share", "NASDAQ"], "SLCRU": ["Silver Crest Acquisition Corporation - Unit", "NASDAQ"], "SLCRW": ["Silver Crest Acquisition Corporation - Warrant", "NASDAQ"], "SLCT": ["Select Bancorp, Inc. - Common Stock", "NASDAQ"], "SLDB": ["Solid Biosciences Inc. - Common Stock", "NASDAQ"], "SLGG": ["Super League Gaming, Inc. - Common Stock", "NASDAQ"], "SLGL": ["Sol-Gel Technologies Ltd. - Common Stock", "NASDAQ"], "SLGN": ["Silgan Holdings Inc. - Common Stock", "NASDAQ"], "SLM": ["SLM Corporation - Common Stock", "NASDAQ"], "SLMBP": ["SLM Corporation - Floating Rate Non-Cumulative Preferred Stock, Series B", "NASDAQ"], "SLN": ["Silence Therapeutics Plc - American Depository Share", "NASDAQ"], "SLNO": ["Soleno Therapeutics, Inc. - Common Stock", "NASDAQ"], "SLP": ["Simulations Plus, Inc. - Common Stock", "NASDAQ"], "SLQD": ["iShares 0-5 Year Investment Grade Corporate Bond ETF", "NASDAQ"], "SLRC": ["SLR Investment Corp. - Common Stock", "NASDAQ"], "SLRX": ["Salarius Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SLS": ["SELLAS Life Sciences Group, Inc. - Common Stock", "NASDAQ"], "SLVO": ["Credit Suisse Silver Shares Covered Call Exchange Traded Notes", "NASDAQ"], "SMBC": ["Southern Missouri Bancorp, Inc. - Common Stock", "NASDAQ"], "SMBK": ["SmartFinancial, Inc. - Common Stock", "NASDAQ"], "SMCI": ["Super Micro Computer, Inc. - Common Stock", "NASDAQ"], "SMCP": ["AlphaMark Actively Managed Small Cap ETF", "NASDAQ"], "SMED": ["Sharps Compliance Corp. - Common Stock", "NASDAQ"], "SMH": ["VanEck Vectors Semiconductor ETF", "NASDAQ"], "SMID": ["Smith-Midland Corporation - Common Stock", "NASDAQ"], "SMIT": ["Schmitt Industries, Inc. - Common Stock", "NASDAQ"], "SMMF": ["Summit Financial Group, Inc. - Common Stock", "NASDAQ"], "SMMT": ["Summit Therapeutics Inc. - Common Stock", "NASDAQ"], "SMPL": ["The Simply Good Foods Company - Common Stock", "NASDAQ"], "SMSI": ["Smith Micro Software, Inc. - Common Stock", "NASDAQ"], "SMTC": ["Semtech Corporation - Common Stock", "NASDAQ"], "SMTI": ["Sanara MedTech Inc. - Common Stock", "NASDAQ"], "SMTX": ["SMTC Corporation - Common Stock", "NASDAQ"], "SNBR": ["Sleep Number Corporation - Common Stock", "NASDAQ"], "SNCA": ["Seneca Biopharma, Inc. - Common Stock", "NASDAQ"], "SNCR": ["Synchronoss Technologies, Inc. - Common Stock", "NASDAQ"], "SNCY": ["Sun Country Airlines Holdings, Inc. - Common Stock", "NASDAQ"], "SND": ["Smart Sand, Inc. - Common Stock", "NASDAQ"], "SNDE": ["Sundance Energy Inc. - Common Stock", "NASDAQ"], "SNDL": ["Sundial Growers Inc. - Common Shares", "NASDAQ"], "SNDX": ["Syndax Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SNES": ["SenesTech, Inc. - Common Stock", "NASDAQ"], "SNEX": ["StoneX Group Inc. - Common Stock", "NASDAQ"], "SNFCA": ["Security National Financial Corporation - Class A Common Stock", "NASDAQ"], "SNGX": ["Soligenix, Inc. - Common Stock", "NASDAQ"], "SNGXW": ["Soligenix, Inc. - Warrant", "NASDAQ"], "SNLN": ["Highland/iBoxx Senior Loan ETF", "NASDAQ"], "SNOA": ["Sonoma Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SNPS": ["Synopsys Inc.", "S&P500"], "SNRH": ["Senior Connect Acquisition Corp. I - Class A Common Stock", "NASDAQ"], "SNRHU": ["Senior Connect Acquisition Corp. I - Unit", "NASDAQ"], "SNRHW": ["Senior Connect Acquisition Corp. I - Warrant", "NASDAQ"], "SNSE": ["Sensei Biotherapeutics, Inc. - Common Stock", "NASDAQ"], "SNSR": ["Global X Internet of Things ETF", "NASDAQ"], "SNUG": ["Merlyn.AI Tactical Growth & Income ETF", "NASDAQ"], "SNY": ["Sanofi - American Depositary Shares", "NASDAQ"], "SOCL": ["Global X Social Media ETF", "NASDAQ"], "SOHO": ["Sotherly Hotels Inc. - Common Stock", "NASDAQ"], "SOHOB": ["Sotherly Hotels Inc. - 8.0% Series B Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SOHON": ["Sotherly Hotels Inc. - 8.25% Series D Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SOHOO": ["Sotherly Hotels Inc. - 7.875% Series C Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SOHU": ["Sohu.com Limited - American Depositary Shares", "NASDAQ"], "SOLO": ["Electrameccanica Vehicles Corp. Ltd. - Common Stock", "NASDAQ"], "SOLOW": ["Electrameccanica Vehicles Corp. Ltd. - Warrants", "NASDAQ"], "SOLY": ["Soliton, Inc. - Common Stock", "NASDAQ"], "SONA": ["Southern National Bancorp of Virginia, Inc. - Common Stock", "NASDAQ"], "SONM": ["Sonim Technologies, Inc. - Common Stock", "NASDAQ"], "SONN": ["Sonnet BioTherapeutics Holdings, Inc. - Common Stock", "NASDAQ"], "SONO": ["Sonos, Inc. - Common Stock", "NASDAQ"], "SOXX": ["iShares PHLX SOX Semiconductor Sector Index Fund", "NASDAQ"], "SP": ["SP Plus Corporation - Common Stock", "NASDAQ"], "SPCB": ["SuperCom, Ltd. - Ordinary Shares", "NASDAQ"], "SPFI": ["South Plains Financial, Inc. - Common Stock", "NASDAQ"], "SPI": ["SPI Energy Co., Ltd. - Ordinary Shares", "NASDAQ"], "SPKBU": ["Silver Spike Acquisition Corp II - Units", "NASDAQ"], "SPKE": ["Spark Energy, Inc. - Class A Common Stock", "NASDAQ"], "SPKEP": ["Spark Energy, Inc. - 8.75% Series A Fixed-to-Floating Rate Cumulative Redeemable Perpetual Preferred Stock", "NASDAQ"], "SPLK": ["Splunk Inc. - Common Stock", "NASDAQ"], "SPNE": ["SeaSpine Holdings Corporation - Common Stock", "NASDAQ"], "SPNS": ["Sapiens International Corporation N.V. - Common Shares", "NASDAQ"], "SPOK": ["Spok Holdings, Inc. - Common Stock", "NASDAQ"], "SPPI": ["Spectrum Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SPQQ": ["Siren Large Cap Blend Index ETF", "NASDAQ"], "SPRB": ["Spruce Biosciences, Inc. - Common Stock", "NASDAQ"], "SPRO": ["Spero Therapeutics, Inc. - Common Stock", "NASDAQ"], "SPRT": ["Support.com, Inc. - Common Stock", "NASDAQ"], "SPSC": ["SPS Commerce, Inc. - Common Stock", "NASDAQ"], "SPT": ["Sprout Social, Inc - Class A Common Stock", "NASDAQ"], "SPTKU": ["SportsTek Acquisition Corp. - Unit", "NASDAQ"], "SPTN": ["SpartanNash Company - Common Stock", "NASDAQ"], "SPWH": ["Sportsman's Warehouse Holdings, Inc. - Common Stock", "NASDAQ"], "SPWR": ["SunPower Corporation - Common Stock", "NASDAQ"], "SQBG": ["Sequential Brands Group, Inc. - Common Stock", "NASDAQ"], "SQFT": ["Presidio Property Trust, Inc. - Class A Common Stock", "NASDAQ"], "SQLV": ["Legg Mason Small-Cap Quality Value ETF", "NASDAQ"], "SQQQ": ["ProShares UltraPro Short QQQ", "NASDAQ"], "SRAC": ["Stable Road Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SRACU": ["Stable Road Acquisition Corp. - Unit", "NASDAQ"], "SRACW": ["Stable Road Acquisition Corp. - Warrant", "NASDAQ"], "SRAX": ["SRAX, Inc. - Class A Common Stock", "NASDAQ"], "SRCE": ["1st Source Corporation - Common Stock", "NASDAQ"], "SRCL": ["Stericycle, Inc. - Common Stock", "NASDAQ"], "SRDX": ["Surmodics, Inc. - Common Stock", "NASDAQ"], "SRET": ["Global X SuperDividend REIT ETF", "NASDAQ"], "SREV": ["ServiceSource International, Inc. - Common Stock", "NASDAQ"], "SRGA": ["Surgalign Holdings, Inc. - Common Stock", "NASDAQ"], "SRNE": ["Sorrento Therapeutics, Inc. - Common Stock", "NASDAQ"], "SRNGU": ["Soaring Eagle Acquisition Corp. - Unit", "NASDAQ"], "SRPT": ["Sarepta Therapeutics, Inc. - Common Stock", "NASDAQ"], "SRRA": ["Sierra Oncology, Inc. - Common Stock", "NASDAQ"], "SRRK": ["Scholar Rock Holding Corporation - Common Stock", "NASDAQ"], "SRSA": ["Sarissa Capital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "SRSAU": ["Sarissa Capital Acquisition Corp. - Unit", "NASDAQ"], "SRSAW": ["Sarissa Capital Acquisition Corp. - Warrants", "NASDAQ"], "SRTS": ["Sensus Healthcare, Inc. - Common Stock", "NASDAQ"], "SSAA": ["Science Strategic Acquisition Corp. Alpha - Class A Common Stock", "NASDAQ"], "SSAAU": ["Science Strategic Acquisition Corp. Alpha - Unit", "NASDAQ"], "SSAAW": ["Science Strategic Acquisition Corp. Alpha - Warrant", "NASDAQ"], "SSB": ["South State Corporation - Common Stock", "NASDAQ"], "SSBI": ["Summit State Bank - Common Stock", "NASDAQ"], "SSKN": ["Strata Skin Sciences, Inc. - Common Stock", "NASDAQ"], "SSNC": ["SS&C Technologies Holdings, Inc. - Common Stock", "NASDAQ"], "SSNT": ["SilverSun Technologies, Inc. - Common Stock", "NASDAQ"], "SSP": ["E.W. Scripps Company (The) - Class A Common Stock", "NASDAQ"], "SSPK": ["Silver Spike Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "SSPKU": ["Silver Spike Acquisition Corp. - Units", "NASDAQ"], "SSPKW": ["Silver Spike Acquisition Corp. - Warrants", "NASDAQ"], "SSRM": ["SSR Mining Inc. - Common Stock", "NASDAQ"], "SSSS": ["SuRo Capital Corp. - Common Stock", "NASDAQ"], "SSTI": ["ShotSpotter, Inc. - Common Stock", "NASDAQ"], "SSYS": ["Stratasys, Ltd. - Common Stock", "NASDAQ"], "STAA": ["STAAR Surgical Company - Common Stock", "NASDAQ"], "STAF": ["Staffing 360 Solutions, Inc. - Common Stock", "NASDAQ"], "STAY": ["Extended Stay America, Inc. - Paired Shares", "NASDAQ"], "STBA": ["S&T Bancorp, Inc. - Common Stock", "NASDAQ"], "STCN": ["Steel Connect, Inc. - Common Stock", "NASDAQ"], "STEP": ["StepStone Group Inc. - Class A Common Stock", "NASDAQ"], "STFC": ["State Auto Financial Corporation - Common Stock", "NASDAQ"], "STIM": ["Neuronetics, Inc. - Common Stock", "NASDAQ"], "STKL": ["SunOpta, Inc. - Common Stock", "NASDAQ"], "STKS": ["The ONE Group Hospitality, Inc. - Common Stock", "NASDAQ"], "STLD": ["Steel Dynamics, Inc. - Common Stock", "NASDAQ"], "STMP": ["Stamps.com Inc. - Common Stock", "NASDAQ"], "STND": ["Standard AVB Financial Corp. - Common Stock", "NASDAQ"], "STNE": ["StoneCo Ltd. - Class A Common Share", "NASDAQ"], "STOK": ["Stoke Therapeutics, Inc. - Common Stock", "NASDAQ"], "STRA": ["Strategic Education, Inc. - Common Stock", "NASDAQ"], "STRL": ["Sterling Construction Company Inc - Common Stock", "NASDAQ"], "STRM": ["Streamline Health Solutions, Inc. - Common Stock", "NASDAQ"], "STRO": ["Sutro Biopharma, Inc. - Common Stock", "NASDAQ"], "STRR": ["Star Equity Holdings, Inc. - Common Stock", "NASDAQ"], "STRRP": ["Star Equity Holdings, Inc. - Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "STRS": ["Stratus Properties Inc. - Common Stock", "NASDAQ"], "STRT": ["STRATTEC SECURITY CORPORATION - Common Stock", "NASDAQ"], "STSA": ["Satsuma Pharmaceuticals, Inc. - Common stock", "NASDAQ"], "STTK": ["Shattuck Labs, Inc. - Common Stock", "NASDAQ"], "STWO": ["ACON S2 Acquisition Corp. - Class A ordinary shares", "NASDAQ"], "STWOU": ["ACON S2 Acquisition Corp. - Unit", "NASDAQ"], "STWOW": ["ACON S2 Acquisition Corp. - Warrant", "NASDAQ"], "STX": ["Seagate Technology", "S&P500"], "STXB": ["Spirit of Texas Bancshares, Inc. - Common Stock", "NASDAQ"], "SUMO": ["Sumo Logic, Inc. - Common Stock", "NASDAQ"], "SUMR": ["Summer Infant, Inc. - Common Stock", "NASDAQ"], "SUNS": ["SLR Senior Investment Corp. - Common Stock", "NASDAQ"], "SUNW": ["Sunworks, Inc. - Common Stock", "NASDAQ"], "SUPN": ["Supernus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SURF": ["Surface Oncology, Inc. - Common Stock", "NASDAQ"], "SUSB": ["iShares ESG Aware 1-5 Year USD Corporate Bond ETF", "NASDAQ"], "SUSC": ["iShares ESG Aware USD Corporate Bond ETF", "NASDAQ"], "SUSL": ["iShares ESG MSCI USA Leaders ETF", "NASDAQ"], "SV": ["Spring Valley Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "SVA": ["Sinovac Biotech, Ltd. - Ordinary Shares (Antigua/Barbudo)", "NASDAQ"], "SVAC": ["Starboard Value Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SVACU": ["Starboard Value Acquisition Corp. - Unit", "NASDAQ"], "SVACW": ["Starboard Value Acquisition Corp. - Warrant", "NASDAQ"], "SVBI": ["Severn Bancorp Inc - Common Stock", "NASDAQ"], "SVC": ["Service Properties Trust - Shares of Beneficial Interest", "NASDAQ"], "SVFA": ["SVF Investment Corp. - Class A Ordinary Shares", "NASDAQ"], "SVFAU": ["SVF Investment Corp. - Unit", "NASDAQ"], "SVFAW": ["SVF Investment Corp. - Warrant", "NASDAQ"], "SVFB": ["SVF Investment Corp. 2 - Class A Ordinary Shares", "NASDAQ"], "SVFC": ["SVF Investment Corp. 3 - Class A Ordinary Shares", "NASDAQ"], "SVMK": ["SVMK Inc. - Common Stock", "NASDAQ"], "SVOK": ["Seven Oaks Acquisition Corp. - Class A Common Stock", "NASDAQ"], "SVOKU": ["Seven Oaks Acquisition Corp. - Unit", "NASDAQ"], "SVOKW": ["Seven Oaks Acquisition Corp. - Warrant", "NASDAQ"], "SVRA": ["Savara, Inc. - Common Stock", "NASDAQ"], "SVSVU": ["Spring Valley Acquisition Corp. - Unit", "NASDAQ"], "SVSVW": ["Spring Valley Acquisition Corp. - Warrant", "NASDAQ"], "SVVC": ["Firsthand Technology Value Fund, Inc. - Common Stock", "NASDAQ"], "SWAV": ["ShockWave Medical, Inc. - Common Stock", "NASDAQ"], "SWBI": ["Smith & Wesson Brands, Inc. - Common Stock", "NASDAQ"], "SWET": ["Athlon Acquisition Corp. - Class A Common stock", "NASDAQ"], "SWETU": ["Athlon Acquisition Corp. - Unit", "NASDAQ"], "SWETW": ["Athlon Acquisition Corp. - Warrant", "NASDAQ"], "SWIR": ["Sierra Wireless, Inc. - Common Stock", "NASDAQ"], "SWKH": ["SWK Holdings Corporation - Common Stock", "NASDAQ"], "SWKS": ["Skyworks Solutions", "S&P500"], "SWTX": ["SpringWorks Therapeutics, Inc. - common stock", "NASDAQ"], "SXTC": ["China SXT Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "SY": ["So-Young International Inc. - American Depository Shares", "NASDAQ"], "SYBT": ["Stock Yards Bancorp, Inc. - Common Stock", "NASDAQ"], "SYBX": ["Synlogic, Inc. - Common Stock", "NASDAQ"], "SYKE": ["Sykes Enterprises, Incorporated - Common Stock", "NASDAQ"], "SYNA": ["Synaptics Incorporated - Common Stock", "NASDAQ"], "SYNC": ["Synacor, Inc. - Common Stock", "NASDAQ"], "SYNH": ["Syneos Health, Inc. - Class A Common Stock", "NASDAQ"], "SYNL": ["Synalloy Corporation - Common Stock", "NASDAQ"], "SYPR": ["Sypris Solutions, Inc. - Common Stock", "NASDAQ"], "SYRS": ["Syros Pharmaceuticals, Inc. - common stock", "NASDAQ"], "SYTA": ["Siyata Mobile, Inc. - Common Shares", "NASDAQ"], "SYTAW": ["Siyata Mobile, Inc. - Warrant", "NASDAQ"], "TA": ["TravelCenters of America Inc. - Common Stock", "NASDAQ"], "TACO": ["Del Taco Restaurants, Inc. - Common Stock", "NASDAQ"], "TACT": ["TransAct Technologies Incorporated - Common Stock", "NASDAQ"], "TAIT": ["Taitron Components Incorporated - Class A Common Stock", "NASDAQ"], "TANH": ["Tantech Holdings Ltd. - Common Stock", "NASDAQ"], "TANNI": ["TravelCenters of America Inc. - 8.25% Senior Notes due 2028", "NASDAQ"], "TANNL": ["TravelCenters of America Inc. - 8.00% Senior Notes due 2029", "NASDAQ"], "TANNZ": ["TravelCenters of America Inc. - 8.00% Senior Notes due 2030", "NASDAQ"], "TAOP": ["Taoping Inc. - Ordinary Shares", "NASDAQ"], "TARA": ["Protara Therapeutics, Inc. - Common Stock", "NASDAQ"], "TARS": ["Tarsus Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TAST": ["Carrols Restaurant Group, Inc. - Common Stock", "NASDAQ"], "TATT": ["TAT Technologies Ltd. - Ordinary Shares", "NASDAQ"], "TAYD": ["Taylor Devices, Inc. - Common Stock", "NASDAQ"], "TBBK": ["The Bancorp, Inc. - Common Stock", "NASDAQ"], "TBCPU": ["Thunder Bridge Capital Partners III Inc. - Units", "NASDAQ"], "TBIO": ["Translate Bio, Inc. - Common Stock", "NASDAQ"], "TBK": ["Triumph Bancorp, Inc. - Common Stock", "NASDAQ"], "TBKCP": ["Triumph Bancorp, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of Series C Fixed-Rate Non-Cumulative Perpetual Preferred Stock ", "NASDAQ"], "TBLT": ["ToughBuilt Industries, Inc. - Common Stock", "NASDAQ"], "TBLTW": ["ToughBuilt Industries, Inc. - Warrant", "NASDAQ"], "TBNK": ["Territorial Bancorp Inc. - Common Stock", "NASDAQ"], "TBPH": ["Theravance Biopharma, Inc. - Ordinary Shares", "NASDAQ"], "TC": ["TuanChe Limited - American Depositary Shares", "NASDAQ"], "TCACU": ["Tuatara Capital Acquisition Corporation - Unit", "NASDAQ"], "TCBI": ["Texas Capital Bancshares, Inc. - Common Stock", "NASDAQ"], "TCBIL": ["Texas Capital Bancshares, Inc. - 6.50% Subordinated Notes due 2042", "NASDAQ"], "TCBIP": ["Texas Capital Bancshares, Inc. - Non Cumulative Preferred Perpetual Stock Series A", "NASDAQ"], "TCBK": ["TriCo Bancshares - Common Stock", "NASDAQ"], "TCDA": ["Tricida, Inc. - Common Stock", "NASDAQ"], "TCF": ["TCF Financial Corporation - Common Stock", "NASDAQ"], "TCFC": ["The Community Financial Corporation - Common Stock", "NASDAQ"], "TCFCP": ["TCF Financial Corporation - Depositary Shares representing 5.70% Series C Non-Cumulative Preferred Stock", "NASDAQ"], "TCMD": ["Tactile Systems Technology, Inc. - Common Stock", "NASDAQ"], "TCOM": ["Trip.com Group Limited - American Depositary Shares", "NASDAQ"], "TCON": ["TRACON Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TCPC": ["BlackRock TCP Capital Corp. - Common Stock", "NASDAQ"], "TCRR": ["TCR2 Therapeutics Inc. - Common Stock", "NASDAQ"], "TCX": ["Tucows Inc. - Common Stock", "NASDAQ"], "TDAC": ["Trident Acquisitions Corp. - Common Stock", "NASDAQ"], "TDACU": ["Trident Acquisitions Corp. - Units", "NASDAQ"], "TDACW": ["Trident Acquisitions Corp. - Warrant", "NASDAQ"], "TDIV": ["First Trust NASDAQ Technology Dividend Index Fund", "NASDAQ"], "TEAM": ["Atlassian Corporation Plc - Class A Ordinary Shares", "NASDAQ"], "TECH": ["Bio-Techne Corp - Common Stock", "NASDAQ"], "TECTP": ["Tectonic Financial, Inc. - 9.00% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "TEDU": ["Tarena International, Inc. - American Depositary Shares", "NASDAQ"], "TEKK": ["Tekkorp Digital Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "TEKKU": ["Tekkorp Digital Acquisition Corp. - Unit", "NASDAQ"], "TEKKW": ["Tekkorp Digital Acquisition Corp. - Warrant", "NASDAQ"], "TELA": ["TELA Bio, Inc. - Common stock", "NASDAQ"], "TELL": ["Tellurian Inc. - Common Stock", "NASDAQ"], "TENB": ["Tenable Holdings, Inc. - Common Stock", "NASDAQ"], "TENX": ["Tenax Therapeutics, Inc. - Common Stock", "NASDAQ"], "TER": ["Teradyne", "S&P500"], "TERN": ["Terns Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TESS": ["TESSCO Technologies Incorporated - Common Stock", "NASDAQ"], "TETCU": ["Tech and Energy Transition Corporation - Unit", "NASDAQ"], "TFFP": ["TFF Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TFSL": ["TFS Financial Corporation - Common Stock", "NASDAQ"], "TGA": ["TransGlobe Energy Corporation - Common Shares", "NASDAQ"], "TGLS": ["Tecnoglass Inc. - Ordinary Shares", "NASDAQ"], "TGTX": ["TG Therapeutics, Inc. - Common Stock", "NASDAQ"], "TH": ["Target Hospitality Corp. - Common Stock", "NASDAQ"], "THBR": ["Thunder Bridge Acquisition II, Ltd. - Class A Ordinary Shares", "NASDAQ"], "THBRU": ["Thunder Bridge Acquisition II, Ltd. - Units", "NASDAQ"], "THBRW": ["Thunder Bridge Acquisition II, Ltd. - Warrants", "NASDAQ"], "THCA": ["Tuscan Holdings Corp. II - Common Stock", "NASDAQ"], "THCAU": ["Tuscan Holdings Corp. II - Unit", "NASDAQ"], "THCAW": ["Tuscan Holdings Corp. II - Warrant", "NASDAQ"], "THCB": ["Tuscan Holdings Corp. - Common Stock", "NASDAQ"], "THCBU": ["Tuscan Holdings Corp. - Unit", "NASDAQ"], "THCBW": ["Tuscan Holdings Corp. - Warrant", "NASDAQ"], "THFF": ["First Financial Corporation Indiana - Common Stock", "NASDAQ"], "THMAU": ["Thimble Point Acquisition Corp. - Unit", "NASDAQ"], "THMO": ["ThermoGenesis Holdings, Inc. - Common Stock", "NASDAQ"], "THRM": ["Gentherm Inc - Common Stock", "NASDAQ"], "THRY": ["Thryv Holdings, Inc. - Common Stock", "NASDAQ"], "THTX": ["Theratechnologies Inc. - Common Shares", "NASDAQ"], "THWWW": ["Target Hospitality Corp. - Warrant expiring 3/15/2024", "NASDAQ"], "TIG": ["Trean Insurance Group, Inc. - Common Stock", "NASDAQ"], "TIGO": ["Millicom International Cellular S.A. - Common Stock", "NASDAQ"], "TIGR": ["UP Fintech Holding Limited - American Depositary Shares representing fifteen Class A Ordinary Shares", "NASDAQ"], "TILE": ["Interface, Inc. - Common Stock", "NASDAQ"], "TIPT": ["Tiptree Inc. - Common Stock", "NASDAQ"], "TIRX": ["TIAN RUIXIANG Holdings Ltd - Class A Ordinary Shares", "NASDAQ"], "TITN": ["Titan Machinery Inc. - Common Stock", "NASDAQ"], "TLC": ["Taiwan Liposome Company, Ltd. - American Depositary Shares", "NASDAQ"], "TLGT": ["Teligent, Inc. - Common Stock", "NASDAQ"], "TLIS": ["Talis Biomedical Corporation - common stock", "NASDAQ"], "TLMD": ["SOC Telemed, Inc. - Class A Common Stock", "NASDAQ"], "TLMDW": ["SOC Telemed, Inc. - Warrants", "NASDAQ"], "TLND": ["Talend S.A. - American Depositary Shares", "NASDAQ"], "TLRY": ["Tilray, Inc. - Class 2 Common Stock", "NASDAQ"], "TLS": ["Telos Corporation - Common Stock", "NASDAQ"], "TLSA": ["Tiziana Life Sciences plc - American Depository Share", "NASDAQ"], "TLT": ["iShares 20+ Year Treasury Bond ETF", "NASDAQ"], "TMDI": ["Titan Medical Inc. - Ordinary Shares", "NASDAQ"], "TMDX": ["TransMedics Group, Inc. - Common Stock", "NASDAQ"], "TMKR": ["Tastemaker Acquisition Corp. - Class A common stock", "NASDAQ"], "TMKRU": ["Tastemaker Acquisition Corp. - Unit", "NASDAQ"], "TMKRW": ["Tastemaker Acquisition Corp. - Warrant to purchase Class A common stock", "NASDAQ"], "TMPM": ["Turmeric Acquisition Corp. - Class A Ordinary Shares", "NASDAQ"], "TMPMU": ["Turmeric Acquisition Corp. - Unit", "NASDAQ"], "TMPMW": ["Turmeric Acquisition Corp. - Warrant", "NASDAQ"], "TMTS": ["Spartacus Acquisition Corporation - Class A Common Stock", "NASDAQ"], "TMTSU": ["Spartacus Acquisition Corporation - Unit", "NASDAQ"], "TMTSW": ["Spartacus Acquisition Corporation - Warrant", "NASDAQ"], "TMUS": ["T-Mobile US", "S&P500"], "TNDM": ["Tandem Diabetes Care, Inc. - Common Stock", "NASDAQ"], "TNXP": ["Tonix Pharmaceuticals Holding Corp. - Common Stock", "NASDAQ"], "TOMZ": ["TOMI Environmental Solutions, Inc. - Common Stock", "NASDAQ"], "TOPS": ["TOP Ships Inc. - Common Stock", "NASDAQ"], "TOUR": ["Tuniu Corporation - American Depositary Shares", "NASDAQ"], "TOWN": ["Towne Bank - Common Stock", "NASDAQ"], "TPCO": ["Tribune Publishing Company - Common Stock", "NASDAQ"], "TPIC": ["TPI Composites, Inc. - Common Stock", "NASDAQ"], "TPTX": ["Turning Point Therapeutics, Inc. - Common stock", "NASDAQ"], "TQQQ": ["ProShares UltraPro QQQ", "NASDAQ"], "TRCH": ["Torchlight Energy Resources, Inc. - Common Stock", "NASDAQ"], "TREE": ["LendingTree, Inc. - Common Stock", "NASDAQ"], "TRHC": ["Tabula Rasa HealthCare, Inc. - Common Stock", "NASDAQ"], "TRIB": ["Trinity Biotech plc - American Depositary Shares each representing 4 A Ordinary Shares", "NASDAQ"], "TRIL": ["Trillium Therapeutics Inc. - Common Shares", "NASDAQ"], "TRIN": ["Trinity Capital Inc. - Common Stock", "NASDAQ"], "TRIP": ["TripAdvisor, Inc. - Common Stock", "NASDAQ"], "TRIT": ["Triterras, Inc. - Class A Ordinary Shares", "NASDAQ"], "TRITW": ["Triterras, Inc. - Warrant", "NASDAQ"], "TRMB": ["Trimble Inc.", "S&P500"], "TRMD": ["TORM plc - Class A Common Stock", "NASDAQ"], "TRMK": ["Trustmark Corporation - Common Stock", "NASDAQ"], "TRMT": ["Tremont Mortgage Trust - Common Shares of Beneficial Interest", "NASDAQ"], "TRNS": ["Transcat, Inc. - Common Stock", "NASDAQ"], "TROW": ["T. Rowe Price Group", "S&P500"], "TRS": ["TriMas Corporation - Common Stock", "NASDAQ"], "TRST": ["TrustCo Bank Corp NY - Common Stock", "NASDAQ"], "TRUE": ["TrueCar, Inc. - Common Stock", "NASDAQ"], "TRUP": ["Trupanion, Inc. - Common Stock", "NASDAQ"], "TRVG": ["trivago N.V. - American Depositary Shares", "NASDAQ"], "TRVI": ["Trevi Therapeutics, Inc. - Common Stock", "NASDAQ"], "TRVN": ["Trevena, Inc. - Common Stock", "NASDAQ"], "TSBK": ["Timberland Bancorp, Inc. - Common Stock", "NASDAQ"], "TSC": ["TriState Capital Holdings, Inc. - Common Stock", "NASDAQ"], "TSCAP": ["TriState Capital Holdings, Inc. - Dep Shs Rep 1/40th Int 6.75% Srs A Non-Cum Pfd", "NASDAQ"], "TSCBP": ["TriState Capital Holdings, Inc. - Depositary Share, representing a 1/40th Interest in a Share of 6.375% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "TSCO": ["Tractor Supply Company", "S&P500"], "TSEM": ["Tower Semiconductor Ltd. - Ordinary Shares", "NASDAQ"], "TSHA": ["Taysha Gene Therapies, Inc. - Common Stock", "NASDAQ"], "TSIA": ["TS Innovation Acquisitions Corp. - Class A Common Stock", "NASDAQ"], "TSIAU": ["TS Innovation Acquisitions Corp. - Unit", "NASDAQ"], "TSIAW": ["TS Innovation Acquisitions Corp. - Warrant", "NASDAQ"], "TSIBU": ["Tishman Speyer Innovation Corp. II - Unit", "NASDAQ"], "TSLA": ["Tesla, Inc.", "S&P500"], "TSRI": ["TSR, Inc. - Common Stock", "NASDAQ"], "TTCF": ["Tattooed Chef, Inc. - Class A Common Stock", "NASDAQ"], "TTD": ["The Trade Desk, Inc. - Class A Common Stock", "NASDAQ"], "TTEC": ["TTEC Holdings, Inc. - Common Stock", "NASDAQ"], "TTEK": ["Tetra Tech, Inc. - Common Stock", "NASDAQ"], "TTGT": ["TechTarget, Inc. - Common Stock", "NASDAQ"], "TTMI": ["TTM Technologies, Inc. - Common Stock", "NASDAQ"], "TTNP": ["Titan Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "TTOO": ["T2 Biosystems, Inc. - Common Stock", "NASDAQ"], "TTWO": ["Take-Two Interactive", "S&P500"], "TUR": ["iShares MSCI Turkey ETF", "NASDAQ"], "TURN": ["180 Degree Capital Corp. - Common Stock", "NASDAQ"], "TUSA": ["First Trust Total US Market AlphaDEX ETF", "NASDAQ"], "TUSK": ["Mammoth Energy Services, Inc. - Common Stock", "NASDAQ"], "TVAC": ["Thayer Ventures Acquisition Corporation - Class A Common Stock", "NASDAQ"], "TVACU": ["Thayer Ventures Acquisition Corporation - Units", "NASDAQ"], "TVACW": ["Thayer Ventures Acquisition Corporation - Warrant", "NASDAQ"], "TVTX": ["Travere Therapeutics, Inc. - Common Stock", "NASDAQ"], "TVTY": ["Tivity Health, Inc. - Common Stock", "NASDAQ"], "TW": ["Tradeweb Markets Inc. - Class A Common Stock", "NASDAQ"], "TWCT": ["TWC Tech Holdings II Corp. - Class A Common Stock", "NASDAQ"], "TWCTU": ["TWC Tech Holdings II Corp. - Unit", "NASDAQ"], "TWCTW": ["TWC Tech Holdings II Corp. - Warrant", "NASDAQ"], "TWIN": ["Twin Disc, Incorporated - Common Stock", "NASDAQ"], "TWLVU": ["Twelve Seas Investment Company II - Unit", "NASDAQ"], "TWNK": ["Hostess Brands, Inc. - Class A Common Stock", "NASDAQ"], "TWNKW": ["Hostess Brands, Inc. - Warrants", "NASDAQ"], "TWOU": ["2U, Inc. - Common Stock", "NASDAQ"], "TWST": ["Twist Bioscience Corporation - Common Stock", "NASDAQ"], "TXG": ["10x Genomics, Inc. - Common Stock", "NASDAQ"], "TXMD": ["TherapeuticsMD, Inc. - Common Stock", "NASDAQ"], "TXN": ["Texas Instruments", "S&P500"], "TXRH": ["Texas Roadhouse, Inc. - Common Stock", "NASDAQ"], "TYHT": ["Shineco, Inc. - Common Stock", "NASDAQ"], "TYME": ["Tyme Technologies, Inc. - Common Stock", "NASDAQ"], "TZOO": ["Travelzoo - Common Stock", "NASDAQ"], "TZPS": ["TZP Strategies Acquisition Corp. - Class A Ordinary Share", "NASDAQ"], "TZPSU": ["TZP Strategies Acquisition Corp. - Unit", "NASDAQ"], "TZPSW": ["TZP Strategies Acquisition Corp. - Warrant", "NASDAQ"], "UAE": ["iShares MSCI UAE ETF", "NASDAQ"], "UAL": ["United Airlines Holdings", "S&P500"], "UBCP": ["United Bancorp, Inc. - Common Stock", "NASDAQ"], "UBFO": ["United Security Bancshares - Common Stock", "NASDAQ"], "UBOH": ["United Bancshares, Inc. - Common Stock", "NASDAQ"], "UBSI": ["United Bankshares, Inc. - Common Stock", "NASDAQ"], "UBX": ["Unity Biotechnology, Inc. - Common Stock", "NASDAQ"], "UCBI": ["United Community Banks, Inc. - Common Stock", "NASDAQ"], "UCBIO": ["United Community Banks, Inc. - Depositary Shares each representing 1/1,000th interest in a share of Series I Non-Cumulative Preferred Stock", "NASDAQ"], "UCL": ["uCloudlink Group Inc. - American Depositary Shares", "NASDAQ"], "UCTT": ["Ultra Clean Holdings, Inc. - Common Stock", "NASDAQ"], "UCYB": ["ProShares Ultra Nasdaq Cybersecurity ETF", "NASDAQ"], "UEIC": ["Universal Electronics Inc. - Common Stock", "NASDAQ"], "UEPS": ["Net 1 UEPS Technologies, Inc. - Common Stock", "NASDAQ"], "UFCS": ["United Fire Group, Inc - Common Stock", "NASDAQ"], "UFO": ["Procure Space ETF", "NASDAQ"], "UFPI": ["UFP Industries, Inc. - Common Stock", "NASDAQ"], "UFPT": ["UFP Technologies, Inc. - Common Stock", "NASDAQ"], "UG": ["United-Guardian, Inc. - Common Stock", "NASDAQ"], "UGRO": ["urban-gro, Inc. - Common Stock", "NASDAQ"], "UHAL": ["Amerco - Common Stock", "NASDAQ"], "UIHC": ["United Insurance Holdings Corp. - Common Stock", "NASDAQ"], "UK": ["Ucommune International Ltd - Ordinary Shares", "NASDAQ"], "UKOMW": ["Ucommune International Ltd - Warrant expiring 11/17/2025", "NASDAQ"], "ULBI": ["Ultralife Corporation - Common Stock", "NASDAQ"], "ULH": ["Universal Logistics Holdings, Inc. - Common Stock", "NASDAQ"], "ULTA": ["Ulta Beauty", "S&P500"], "UMBF": ["UMB Financial Corporation - Common Stock", "NASDAQ"], "UMPQ": ["Umpqua Holdings Corporation - Common Stock", "NASDAQ"], "UNAM": ["Unico American Corporation - Common Stock", "NASDAQ"], "UNB": ["Union Bankshares, Inc. - Common Stock", "NASDAQ"], "UNIT": ["Uniti Group Inc. - Common Stock", "NASDAQ"], "UNTY": ["Unity Bancorp, Inc. - Common Stock", "NASDAQ"], "UONE": ["Urban One, Inc. - Class A Common Stock", "NASDAQ"], "UONEK": ["Urban One, Inc. - Class D Common Stock", "NASDAQ"], "UPLD": ["Upland Software, Inc. - Common Stock", "NASDAQ"], "UPST": ["Upstart Holdings, Inc. - Common stock", "NASDAQ"], "UPWK": ["Upwork Inc. - Common Stock", "NASDAQ"], "URBN": ["Urban Outfitters, Inc. - Common Stock", "NASDAQ"], "URGN": ["UroGen Pharma Ltd. - Ordinary Shares", "NASDAQ"], "UROV": ["Urovant Sciences Ltd. - Common Stock", "NASDAQ"], "USAK": ["USA Truck, Inc. - Common Stock", "NASDAQ"], "USAP": ["Universal Stainless & Alloy Products, Inc. - Common Stock", "NASDAQ"], "USAT": ["USA Technologies, Inc. - Common Stock", "NASDAQ"], "USAU": ["U.S. Gold Corp. - Common Stock", "NASDAQ"], "USCR": ["U S Concrete, Inc. - Common Stock", "NASDAQ"], "USEG": ["U.S. Energy Corp. - Common Stock", "NASDAQ"], "USIG": ["iShares Broad USD Investment Grade Corporate Bond ETF", "NASDAQ"], "USIO": ["Usio, Inc. - Common Stock", "NASDAQ"], "USLB": ["Invesco Russell 1000 Low Beta Equal Weight ETF", "NASDAQ"], "USLM": ["United States Lime & Minerals, Inc. - Common Stock", "NASDAQ"], "USMC": ["Principal U.S. Mega-Cap ETF", "NASDAQ"], "USOI": ["Credit Suisse X-Links Crude Oil Shares Covered Call ETN", "NASDAQ"], "USWS": ["U.S. Well Services, Inc. - Class A Common Stock", "NASDAQ"], "USWSW": ["U.S. Well Services, Inc. - Warrants", "NASDAQ"], "USXF": ["iShares ESG Advanced MSCI USA ETF", "NASDAQ"], "UTHR": ["United Therapeutics Corporation - Common Stock", "NASDAQ"], "UTMD": ["Utah Medical Products, Inc. - Common Stock", "NASDAQ"], "UTSI": ["UTStarcom Holdings Corp - Ordinary Shares", "NASDAQ"], "UVSP": ["Univest Financial Corporation - Common Stock", "NASDAQ"], "UXIN": ["Uxin Limited - American Depositary Shares", "NASDAQ"], "VACQ": ["Vector Acquisition Corporation - Class A Common Stock", "NASDAQ"], "VACQU": ["Vector Acquisition Corporation - Unit", "NASDAQ"], "VACQW": ["Vector Acquisition Corporation - Warrant", "NASDAQ"], "VALU": ["Value Line, Inc. - Common Stock", "NASDAQ"], "VAQC": ["Vector Acquisition Corporation II - Class A Ordinary Shares", "NASDAQ"], "VBFC": ["Village Bank and Trust Financial Corp. - Common Stock", "NASDAQ"], "VBIV": ["VBI Vaccines, Inc. - Ordinary Shares", "NASDAQ"], "VBLT": ["Vascular Biogenics Ltd. - Ordinary Shares", "NASDAQ"], "VBTX": ["Veritex Holdings, Inc. - Common Stock", "NASDAQ"], "VC": ["Visteon Corporation - Common Stock", "NASDAQ"], "VCEL": ["Vericel Corporation - Common Stock", "NASDAQ"], "VCIT": ["Vanguard Intermediate-Term Corporate Bond ETF", "NASDAQ"], "VCKA": ["Vickers Vantage Corp. I - Ordinary Shares", "NASDAQ"], "VCKAU": ["Vickers Vantage Corp. I - Unit", "NASDAQ"], "VCKAW": ["Vickers Vantage Corp. I - Warrant", "NASDAQ"], "VCLT": ["Vanguard Long-Term Corporate Bond ETF", "NASDAQ"], "VCNX": ["Vaccinex, Inc. - Common Stock", "NASDAQ"], "VCSH": ["Vanguard Short-Term Corporate Bond ETF", "NASDAQ"], "VCTR": ["Victory Capital Holdings, Inc. - Common Stock", "NASDAQ"], "VCVC": ["10X Capital Venture Acquisition Corp - Common Stock", "NASDAQ"], "VCVCU": ["10X Capital Venture Acquisition Corp - Unit", "NASDAQ"], "VCVCW": ["10X Capital Venture Acquisition Corp - Warrant", "NASDAQ"], "VCYT": ["Veracyte, Inc. - Common Stock", "NASDAQ"], "VECO": ["Veeco Instruments Inc. - Common Stock", "NASDAQ"], "VELOU": ["Velocity Acquisition Corp. - Units", "NASDAQ"], "VENAU": ["Venus Acquisition Corporation - Units", "NASDAQ"], "VEON": ["VEON Ltd. - American Depositary Shares", "NASDAQ"], "VERB": ["Verb Technology Company, Inc. - Common Stock", "NASDAQ"], "VERBW": ["Verb Technology Company, Inc. - Warrant", "NASDAQ"], "VERI": ["Veritone, Inc. - Common Stock", "NASDAQ"], "VERO": ["Venus Concept Inc. - Common Stock", "NASDAQ"], "VERU": ["Veru Inc. - Common Stock", "NASDAQ"], "VERX": ["Vertex, Inc. - Class A Common Stock", "NASDAQ"], "VERY": ["Vericity, Inc. - Common Stock", "NASDAQ"], "VETS": ["Pacer Military Times Best Employers ETF", "NASDAQ"], "VFF": ["Village Farms International, Inc. - Common Shares", "NASDAQ"], "VG": ["Vonage Holdings Corp. - Common Stock", "NASDAQ"], "VGIT": ["Vanguard Intermediate-Term Treasury ETF", "NASDAQ"], "VGLT": ["Vanguard Long-Treasury ETF", "NASDAQ"], "VGSH": ["Vanguard Short-Term Treasury ETF", "NASDAQ"], "VIAC": ["ViacomCBS", "S&P500"], "VIACA": ["ViacomCBS Inc. - Class A Common Stock", "NASDAQ"], "VIAV": ["Viavi Solutions Inc. - Common Stock", "NASDAQ"], "VICR": ["Vicor Corporation - Common Stock", "NASDAQ"], "VIEW": ["View, Inc. - Class A Common Stock", "NASDAQ"], "VIEWW": ["View, Inc. - Warrant", "NASDAQ"], "VIGI": ["Vanguard International Dividend Appreciation ETF", "NASDAQ"], "VIH": ["VPC Impact Acquisition Holdings - Class A Ordinary Shares", "NASDAQ"], "VIHAU": ["VPC Impact Acquisition Holdings - Unit", "NASDAQ"], "VIHAW": ["VPC Impact Acquisition Holdings - Warrant", "NASDAQ"], "VII": ["7GC & Co. Holdings Inc. - Class A common stock", "NASDAQ"], "VIIAU": ["7GC & Co. Holdings Inc. - Unit", "NASDAQ"], "VIIAW": ["7GC & Co. Holdings Inc. - Warrant", "NASDAQ"], "VINC": ["Vincerx Pharma, Inc. - Common Stock", "NASDAQ"], "VINCU": ["Vincerx Pharma, Inc. - Unit", "NASDAQ"], "VINCW": ["Vincerx Pharma, Inc. - Warrant", "NASDAQ"], "VINO": ["Gaucho Group Holdings, Inc. - Common Stock", "NASDAQ"], "VINP": ["Vinci Partners Investments Ltd. - Class A Common Shares", "NASDAQ"], "VIOT": ["Viomi Technology Co., Ltd - American Depositary Shares", "NASDAQ"], "VIR": ["Vir Biotechnology, Inc. - Common Stock", "NASDAQ"], "VIRC": ["Virco Manufacturing Corporation - Common Stock", "NASDAQ"], "VIRI": ["Virios Therapeutics, Inc. - Common Stock", "NASDAQ"], "VIRT": ["Virtu Financial, Inc. - Class A Common Stock", "NASDAQ"], "VIRX": ["Viracta Therapeutics, Inc. - Common Stock", "NASDAQ"], "VISL": ["Vislink Technologies, Inc. - Common Stock", "NASDAQ"], "VITL": ["Vital Farms, Inc. - Common Stock", "NASDAQ"], "VIVE": ["Viveve Medical, Inc. - Common Stock", "NASDAQ"], "VIVO": ["Meridian Bioscience Inc. - Common Stock", "NASDAQ"], "VJET": ["voxeljet AG - American Depositary Shares", "NASDAQ"], "VKTX": ["Viking Therapeutics, Inc. - Common Stock", "NASDAQ"], "VKTXW": ["Viking Therapeutics, Inc. - Warrants", "NASDAQ"], "VLDR": ["Velodyne Lidar, Inc. - Common Stock", "NASDAQ"], "VLDRW": ["Velodyne Lidar, Inc. - Warrant", "NASDAQ"], "VLGEA": ["Village Super Market, Inc. - Class A Common Stock", "NASDAQ"], "VLON": ["Vallon Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "VLY": ["Valley National Bancorp - Common Stock", "NASDAQ"], "VLYPO": ["Valley National Bancorp - 5.5% Fixed to Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "VLYPP": ["Valley National Bancorp - 6.25% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "VMAC": ["Vistas Media Acquisition Company Inc. - Class A Common Stock", "NASDAQ"], "VMACU": ["Vistas Media Acquisition Company Inc. - Unit", "NASDAQ"], "VMACW": ["Vistas Media Acquisition Company Inc. - Warrant", "NASDAQ"], "VMAR": ["Vision Marine Technologies Inc. - Common Shares", "NASDAQ"], "VMBS": ["Vanguard Mortgage-Backed Securities ETF", "NASDAQ"], "VMD": ["Viemed Healthcare, Inc. - Common Shares", "NASDAQ"], "VNDA": ["Vanda Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "VNET": ["21Vianet Group, Inc. - American Depositary Shares", "NASDAQ"], "VNOM": ["Viper Energy Partners LP - Common Unit", "NASDAQ"], "VNQI": ["Vanguard Global ex-U.S. Real Estate ETF", "NASDAQ"], "VOD": ["Vodafone Group Plc - American Depositary Shares each representing ten Ordinary Shares", "NASDAQ"], "VONE": ["Vanguard Russell 1000 ETF", "NASDAQ"], "VONG": ["Vanguard Russell 1000 Growth ETF", "NASDAQ"], "VONV": ["Vanguard Russell 1000 Value ETF", "NASDAQ"], "VOR": ["Vor Biopharma Inc. - Common Stock", "NASDAQ"], "VOSO": ["Virtuoso Acquisition Corp. - Class A Common Stock", "NASDAQ"], "VOSOU": ["Virtuoso Acquisition Corp. - Unit", "NASDAQ"], "VOSOW": ["Virtuoso Acquisition Corp. - Warrant", "NASDAQ"], "VOXX": ["VOXX International Corporation - Class A Common Stock", "NASDAQ"], "VPCBU": ["VPC Impact Acquisition Holdings II - Unit", "NASDAQ"], "VPN": ["Global X Data Center REITs & Digital Infrastructure ETF", "NASDAQ"], "VRA": ["Vera Bradley, Inc. - Common Stock", "NASDAQ"], "VRAY": ["ViewRay, Inc. - Common Stock", "NASDAQ"], "VRCA": ["Verrica Pharmaceuticals Inc. - Common Stock", "NASDAQ"], "VRDN": ["Viridian Therapeutics, Inc. - Common Stock", "NASDAQ"], "VREX": ["Varex Imaging Corporation - Common Stock", "NASDAQ"], "VRIG": ["Invesco Variable Rate Investment Grade ETF", "NASDAQ"], "VRM": ["Vroom, Inc. - Common Stock", "NASDAQ"], "VRME": ["VerifyMe, Inc. - Common Stock", "NASDAQ"], "VRMEW": ["VerifyMe, Inc. - Warrant", "NASDAQ"], "VRNA": ["Verona Pharma plc - American Depositary Shares", "NASDAQ"], "VRNS": ["Varonis Systems, Inc. - Common Stock", "NASDAQ"], "VRNT": ["Verint Systems Inc. - Common Stock", "NASDAQ"], "VRPX": ["Virpax Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "VRRM": ["Verra Mobility Corporation - Class A Common Stock", "NASDAQ"], "VRSK": ["Verisk Analytics", "S&P500"], "VRSN": ["Verisign Inc.", "S&P500"], "VRTS": ["Virtus Investment Partners, Inc. - Common Stock", "NASDAQ"], "VRTX": ["Vertex Pharmaceuticals Inc", "S&P500"], "VS": ["Versus Systems Inc. - Common Shares", "NASDAQ"], "VSAT": ["ViaSat, Inc. - Common Stock", "NASDAQ"], "VSDA": ["VictoryShares Dividend Accelerator ETF", "NASDAQ"], "VSEC": ["VSE Corporation - Common Stock", "NASDAQ"], "VSMV": ["VictoryShares US Multi-Factor Minimum Volatility ETF", "NASDAQ"], "VSPR": ["Vesper Healthcare Acquisition Corp. - Class A Common Stock", "NASDAQ"], "VSPRU": ["Vesper Healthcare Acquisition Corp. - Unit", "NASDAQ"], "VSPRW": ["Vesper Healthcare Acquisition Corp. - Warrant", "NASDAQ"], "VSSYW": ["Versus Systems Inc. - Class A Warrants", "NASDAQ"], "VSTA": ["Vasta Platform Limited - Class A Ordinary Shares", "NASDAQ"], "VSTM": ["Verastem, Inc. - Common Stock", "NASDAQ"], "VTAQ": ["Ventoux CCM Acquisition Corp. - Common Stock", "NASDAQ"], "VTAQR": ["Ventoux CCM Acquisition Corp. - Right", "NASDAQ"], "VTAQU": ["Ventoux CCM Acquisition Corp. - Unit", "NASDAQ"], "VTAQW": ["Ventoux CCM Acquisition Corp. - Warrant", "NASDAQ"], "VTC": ["Vanguard Total Corporate Bond ETF", "NASDAQ"], "VTGN": ["VistaGen Therapeutics, Inc. - Common Stock", "NASDAQ"], "VTHR": ["Vanguard Russell 3000 ETF", "NASDAQ"], "VTIP": ["Vanguard Short-Term Inflation-Protected Securities Index Fund", "NASDAQ"], "VTIQ": ["VectoIQ Acquisition Corp. II - Class A Common Stock", "NASDAQ"], "VTIQU": ["VectoIQ Acquisition Corp. II - Unit", "NASDAQ"], "VTIQW": ["VectoIQ Acquisition Corp. II - Warrant", "NASDAQ"], "VTNR": ["Vertex Energy, Inc - Common Stock", "NASDAQ"], "VTRN": ["VictoryShares Top Veteran Employers ETF", "NASDAQ"], "VTRS": ["Viatris", "S&P500"], "VTRU": ["Vitru Limited - Common Shares", "NASDAQ"], "VTSI": ["VirTra, Inc. - Common Stock", "NASDAQ"], "VTVT": ["vTv Therapeutics Inc. - Class A Common Stock", "NASDAQ"], "VTWG": ["Vanguard Russell 2000 Growth ETF", "NASDAQ"], "VTWO": ["Vanguard Russell 2000 ETF", "NASDAQ"], "VTWV": ["Vanguard Russell 2000 Value ETF", "NASDAQ"], "VUZI": ["Vuzix Corporation - Common Stock", "NASDAQ"], "VVOS": ["Vivos Therapeutics, Inc. - Common Stock", "NASDAQ"], "VVPR": ["VivoPower International PLC - Ordinary Shares", "NASDAQ"], "VWOB": ["Vanguard Emerging Markets Government Bond ETF", "NASDAQ"], "VWTR": ["Vidler Water Resources, Inc. - Common Stock", "NASDAQ"], "VXRT": ["Vaxart, Inc. - Common Stock", "NASDAQ"], "VXUS": ["Vanguard Total International Stock ETF", "NASDAQ"], "VYGR": ["Voyager Therapeutics, Inc. - Common Stock", "NASDAQ"], "VYMI": ["Vanguard International High Dividend Yield ETF", "NASDAQ"], "VYNE": ["VYNE Therapeutics Inc. - Common Stock", "NASDAQ"], "WABC": ["Westamerica Bancorporation - Common Stock", "NASDAQ"], "WAFD": ["Washington Federal, Inc. - Common Stock", "NASDAQ"], "WAFDP": ["Washington Federal, Inc. - Depositary Shares", "NASDAQ"], "WAFU": ["Wah Fu Education Group Limited - Ordinary Shares", "NASDAQ"], "WALDU": ["Waldencast Acquisition Corp. - Units", "NASDAQ"], "WASH": ["Washington Trust Bancorp, Inc. - Common Stock", "NASDAQ"], "WATT": ["Energous Corporation - Common Stock", "NASDAQ"], "WB": ["Weibo Corporation - American Depositary Shares", "NASDAQ"], "WBA": ["Walgreens Boots Alliance", "S&P500"], "WBND": ["Western Asset Total Return ETF", "NASDAQ"], "WCBR": ["WisdomTree Cybersecurity Fund", "NASDAQ"], "WCLD": ["WisdomTree Cloud Computing Fund", "NASDAQ"], "WDAY": ["Workday, Inc. - Class A Common Stock", "NASDAQ"], "WDC": ["Western Digital", "S&P500"], "WDFC": ["WD-40 Company - Common Stock", "NASDAQ"], "WEN": ["Wendy's Company (The) - Common Stock", "NASDAQ"], "WERN": ["Werner Enterprises, Inc. - Common Stock", "NASDAQ"], "WETF": ["WisdomTree Investments, Inc. - Common Stock", "NASDAQ"], "WEYS": ["Weyco Group, Inc. - Common Stock", "NASDAQ"], "WHF": ["WhiteHorse Finance, Inc. - Common Stock", "NASDAQ"], "WHFBZ": ["WhiteHorse Finance, Inc. - 6.50% Notes due 2025", "NASDAQ"], "WHLM": ["Wilhelmina International, Inc. - Common Stock", "NASDAQ"], "WHLR": ["Wheeler Real Estate Investment Trust, Inc. - Common Stock", "NASDAQ"], "WHLRD": ["Wheeler Real Estate Investment Trust, Inc. - Series D Cumulative Preferred Stock", "NASDAQ"], "WHLRP": ["Wheeler Real Estate Investment Trust, Inc. - Series B Preferred Stock", "NASDAQ"], "WIFI": ["Boingo Wireless, Inc. - Common Stock", "NASDAQ"], "WILC": ["G. Willi-Food International, Ltd. - Ordinary Shares", "NASDAQ"], "WIMI": ["WiMi Hologram Cloud Inc. - American Depositary Share", "NASDAQ"], "WINA": ["Winmark Corporation - Common Stock", "NASDAQ"], "WINC": ["Western Asset Short Duration Income ETF", "NASDAQ"], "WING": ["Wingstop Inc. - Common Stock", "NASDAQ"], "WINT": ["Windtree Therapeutics, Inc. - Common Stock", "NASDAQ"], "WIRE": ["Encore Wire Corporation - Common Stock", "NASDAQ"], "WISA": ["Summit Wireless Technologies, Inc. - Common Stock", "NASDAQ"], "WISH": ["ContextLogic Inc. - Class A Common Stock", "NASDAQ"], "WIX": ["Wix.com Ltd. - Ordinary Shares", "NASDAQ"], "WKEY": ["WISeKey International Holding AG - American Depositary Shares", "NASDAQ"], "WKHS": ["Workhorse Group, Inc. - Common Stock", "NASDAQ"], "WLDN": ["Willdan Group, Inc. - Common Stock", "NASDAQ"], "WLFC": ["Willis Lease Finance Corporation - Common Stock", "NASDAQ"], "WLTW": ["Willis Towers Watson", "S&P500"], "WMG": ["Warner Music Group Corp. - Class A Common Stock", "NASDAQ"], "WNEB": ["Western New England Bancorp, Inc. - Common Stock", "NASDAQ"], "WNW": ["Wunong Net Technology Company Limited - Ordinary Shares", "NASDAQ"], "WOOD": ["iShares S&P Global Timber & Forestry Index Fund", "NASDAQ"], "WOOF": ["Petco Health and Wellness Company, Inc. - Class A Common Stock", "NASDAQ"], "WORX": ["SCWorx Corp. - Common Stock", "NASDAQ"], "WPRT": ["Westport Fuel Systems Inc - Common Shares", "NASDAQ"], "WRAP": ["Wrap Technologies, Inc. - Common Stock", "NASDAQ"], "WRLD": ["World Acceptance Corporation - Common Stock", "NASDAQ"], "WSBC": ["WesBanco, Inc. - Common Stock", "NASDAQ"], "WSBCP": ["WesBanco, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of 6.75% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series A", "NASDAQ"], "WSBF": ["Waterstone Financial, Inc. - Common Stock", "NASDAQ"], "WSC": ["WillScot Mobile Mini Holdings Corp. - Class A Common Stock", "NASDAQ"], "WSFS": ["WSFS Financial Corporation - Common Stock", "NASDAQ"], "WSTG": ["Wayside Technology Group, Inc. - Common Stock", "NASDAQ"], "WTBA": ["West Bancorporation - Common Stock", "NASDAQ"], "WTER": ["The Alkaline Water Company Inc. - Common Stock", "NASDAQ"], "WTFC": ["Wintrust Financial Corporation - Common Stock", "NASDAQ"], "WTFCM": ["Wintrust Financial Corporation - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series D", "NASDAQ"], "WTFCP": ["Wintrust Financial Corporation - Depositary Shares, Each Representing a 1/1,000th Interest in a Share of 6.875% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "NASDAQ"], "WTRE": ["Watford Holdings Ltd. - Common Shares", "NASDAQ"], "WTREP": ["Watford Holdings Ltd. - 8.25% Cumulative Redeemable Preference Shares", "NASDAQ"], "WTRH": ["Waitr Holdings Inc. - Common Stock", "NASDAQ"], "WVE": ["Wave Life Sciences Ltd. - Ordinary Shares", "NASDAQ"], "WVFC": ["WVS Financial Corp. - Common Stock", "NASDAQ"], "WVVI": ["Willamette Valley Vineyards, Inc. - Common Stock", "NASDAQ"], "WVVIP": ["Willamette Valley Vineyards, Inc. - Series A Redeemable Preferred Stock", "NASDAQ"], "WW": ["WW International, Inc. - Common Stock", "NASDAQ"], "WWD": ["Woodward, Inc. - Common Stock", "NASDAQ"], "WWR": ["Westwater Resources, Inc. - Common Stock", "NASDAQ"], "WYNN": ["Wynn Resorts Ltd", "S&P500"], "XAIR": ["Beyond Air, Inc. - Common Stock", "NASDAQ"], "XBIO": ["Xenetic Biosciences, Inc. - Common Stock", "NASDAQ"], "XBIOW": ["Xenetic Biosciences, Inc. - Warrants", "NASDAQ"], "XBIT": ["XBiotech Inc. - Common Stock", "NASDAQ"], "XCUR": ["Exicure, Inc. - Common Stock", "NASDAQ"], "XEL": ["Xcel Energy Inc", "S&P500"], "XELA": ["Exela Technologies, Inc. - Common Stock", "NASDAQ"], "XELB": ["Xcel Brands, Inc - Common Stock", "NASDAQ"], "XENE": ["Xenon Pharmaceuticals Inc. - Common Shares", "NASDAQ"], "XENT": ["Intersect ENT, Inc. - Common Stock", "NASDAQ"], "XERS": ["Xeris Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "XFOR": ["X4 Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "XGN": ["Exagen Inc. - Common Stock", "NASDAQ"], "XLNX": ["Xilinx", "S&P500"], "XLRN": ["Acceleron Pharma Inc. - Common Stock", "NASDAQ"], "XM": ["Qualtrics International Inc. - Class A Common Stock", "NASDAQ"], "XNCR": ["Xencor, Inc. - Common Stock", "NASDAQ"], "XNET": ["Xunlei Limited - American Depositary Shares", "NASDAQ"], "XOG": ["Extraction Oil & Gas, Inc. - Common Stock", "NASDAQ"], "XOMA": ["XOMA Corporation - Common Stock", "NASDAQ"], "XOMAP": ["XOMA Corporation - 8.625% Series A Cumulative Perpetual Preferred Stock", "NASDAQ"], "XONE": ["The ExOne Company - Common Stock", "NASDAQ"], "XP": ["XP Inc. - Class A Common Stock", "NASDAQ"], "XPDIU": ["Power & Digital Infrastructure Acquisition Corp. - Unit", "NASDAQ"], "XPEL": ["XPEL, Inc. - Common Stock", "NASDAQ"], "XPER": ["Xperi Holding Corporation - Common Stock", "NASDAQ"], "XRAY": ["Dentsply Sirona", "S&P500"], "XSPA": ["XpresSpa Group, Inc. - Common Stock", "NASDAQ"], "XT": ["iShares Exponential Technologies ETF", "NASDAQ"], "XTLB": ["XTL Biopharmaceuticals Ltd. - American Depositary Shares", "NASDAQ"], "YELL": ["Yellow Corporation - Common Stock", "NASDAQ"], "YGMZ": ["MingZhu Logistics Holdings Limited - Ordinary Shares", "NASDAQ"], "YI": ["111, Inc. - American Depositary Shares", "NASDAQ"], "YJ": ["Yunji Inc. - American Depository Shares", "NASDAQ"], "YLDE": ["ClearBridge Dividend Strategy ESG ETF", "NASDAQ"], "YMAB": ["Y-mAbs Therapeutics, Inc. - Common Stock", "NASDAQ"], "YMTX": ["Yumanity Therapeutics, Inc. - Common Stock", "NASDAQ"], "YNDX": ["Yandex N.V. - Class A Ordinary Shares", "NASDAQ"], "YORW": ["The York Water Company - Common Stock", "NASDAQ"], "YQ": ["17 Education & Technology Group Inc. - American Depositary Shares", "NASDAQ"], "YSAC": ["Yellowstone Acquisition Company - Class A Common Stock", "NASDAQ"], "YSACU": ["Yellowstone Acquisition Company - Units", "NASDAQ"], "YSACW": ["Yellowstone Acquisition Company - Warrants to purchase Class A common stock", "NASDAQ"], "YTEN": ["Yield10 Bioscience, Inc. - Common Stock", "NASDAQ"], "YTRA": ["Yatra Online, Inc. - Ordinary Shares", "NASDAQ"], "YVR": ["Liquid Media Group Ltd. - Common Shares", "NASDAQ"], "YY": ["JOYY Inc. - American Depositary Shares", "NASDAQ"], "Z": ["Zillow Group, Inc. - Class C Capital Stock", "NASDAQ"], "ZAZZT": ["Tick Pilot Test Stock Class A Common Stock", "NASDAQ"], "ZBRA": ["Zebra Technologies", "S&P500"], "ZBZZT": ["Test Pilot Test Stock Class B Common Stock", "NASDAQ"], "ZCMD": ["Zhongchao Inc. - Class A Ordinary Shares", "NASDAQ"], "ZCZZT": ["Tick Pilot Test Stock Class C ", "NASDAQ"], "ZEAL": ["Zealand Pharma A/S - American Depositary Shares", "NASDAQ"], "ZEUS": ["Olympic Steel, Inc. - Common Stock", "NASDAQ"], "ZG": ["Zillow Group, Inc. - Class A Common Stock", "NASDAQ"], "ZGNX": ["Zogenix, Inc. - Common Stock", "NASDAQ"], "ZGYH": ["Yunhong International - Class A Ordinary Shares", "NASDAQ"], "ZGYHR": ["Yunhong International - Right", "NASDAQ"], "ZGYHU": ["Yunhong International - Unit", "NASDAQ"], "ZGYHW": ["Yunhong International - Warrant", "NASDAQ"], "ZI": ["ZoomInfo Technologies Inc. - Class A Common Stock", "NASDAQ"], "ZION": ["Zions Bancorp", "S&P500"], "ZIONL": ["Zions Bancorporation N.A. - 6.95% Fixed-to-Floating Rate Subordinated Notes due September 15, 2028", "NASDAQ"], "ZIONN": ["Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series H 5.75% Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "ZIONO": ["Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series G Fixed/Floating-Rate Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "ZIONP": ["Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series A Floating-Rate Non-Cumulative Perpetual Preferred Stock", "NASDAQ"], "ZIOP": ["ZIOPHARM Oncology Inc - Common Stock", "NASDAQ"], "ZIXI": ["Zix Corporation - Common Stock", "NASDAQ"], "ZJZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZKIN": ["ZK International Group Co., Ltd - Ordinary Share", "NASDAQ"], "ZLAB": ["Zai Lab Limited - American Depositary Shares", "NASDAQ"], "ZM": ["Zoom Video Communications, Inc. - Class A Common Stock", "NASDAQ"], "ZNGA": ["Zynga Inc. - Class A Common Stock", "NASDAQ"], "ZNTE": ["Zanite Acquisition Corp. - Class A Common Stock", "NASDAQ"], "ZNTEU": ["Zanite Acquisition Corp. - Unit", "NASDAQ"], "ZNTEW": ["Zanite Acquisition Corp. - Warrant", "NASDAQ"], "ZNTL": ["Zentalis Pharmaceuticals, Inc. - common stock", "NASDAQ"], "ZS": ["Zscaler, Inc. - Common Stock", "NASDAQ"], "ZSAN": ["Zosano Pharma Corporation - Common Stock", "NASDAQ"], "ZUMZ": ["Zumiez Inc. - Common Stock", "NASDAQ"], "ZVO": ["Zovio Inc. - Common Stock", "NASDAQ"], "ZVZZC": ["NASDAQ TEST STOCK Nextshares Test Security", "NASDAQ"], "ZVZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZWRKU": ["Z-Work Acquisition Corp. - Units", "NASDAQ"], "ZWZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZXYZ.A": ["Nasdaq Symbology Test Common Stock", "NASDAQ"], "ZXZZT": ["NASDAQ TEST STOCK", "NASDAQ"], "ZYNE": ["Zynerba Pharmaceuticals, Inc. - Common Stock", "NASDAQ"], "ZYXI": ["Zynex, Inc. - Common Stock", "NASDAQ"], "MMM": ["3M Company", "S&P500"], "ABT": ["Abbott Laboratories", "S&P500"], "ABBV": ["AbbVie Inc.", "S&P500"], "ACN": ["Accenture", "S&P500"], "AAP": ["Advance Auto Parts", "S&P500"], "AES": ["AES Corp", "S&P500"], "AFL": ["Aflac", "S&P500"], "A": ["Agilent Technologies", "S&P500"], "APD": ["Air Products & Chemicals", "S&P500"], "ALK": ["Alaska Air Group", "S&P500"], "ALB": ["Albemarle Corporation", "S&P500"], "ARE": ["Alexandria Real Estate Equities", "S&P500"], "ALLE": ["Allegion", "S&P500"], "ALL": ["Allstate Corp", "S&P500"], "MO": ["Altria Group Inc", "S&P500"], "AMCR": ["Amcor plc", "S&P500"], "AEE": ["Ameren Corp", "S&P500"], "AXP": ["American Express", "S&P500"], "AIG": ["American International Group", "S&P500"], "AMT": ["American Tower Corp.", "S&P500"], "AWK": ["American Water Works", "S&P500"], "AMP": ["Ameriprise Financial", "S&P500"], "ABC": ["AmerisourceBergen", "S&P500"], "AME": ["Ametek", "S&P500"], "APH": ["Amphenol Corp", "S&P500"], "ANTM": ["Anthem", "S&P500"], "AON": ["Aon plc", "S&P500"], "AOS": ["A.O. Smith Corp", "S&P500"], "APTV": ["Aptiv PLC", "S&P500"], "ADM": ["Archer-Daniels-Midland Co", "S&P500"], "ANET": ["Arista Networks", "S&P500"], "AJG": ["Arthur J. Gallagher & Co.", "S&P500"], "AIZ": ["Assurant", "S&P500"], "T": ["AT&T Inc.", "S&P500"], "ATO": ["Atmos Energy", "S&P500"], "AZO": ["AutoZone Inc", "S&P500"], "AVB": ["AvalonBay Communities", "S&P500"], "AVY": ["Avery Dennison Corp", "S&P500"], "BKR": ["Baker Hughes Co", "S&P500"], "BLL": ["Ball Corp", "S&P500"], "BAC": ["Bank of America Corp", "S&P500"], "BK": ["The Bank of New York Mellon", "S&P500"], "BAX": ["Baxter International Inc.", "S&P500"], "BDX": ["Becton Dickinson", "S&P500"], "BRK.B": ["Berkshire Hathaway", "S&P500"], "BBY": ["Best Buy Co. Inc.", "S&P500"], "BIO": ["Bio-Rad Laboratories", "S&P500"], "BLK": ["BlackRock", "S&P500"], "BA": ["Boeing Company", "S&P500"], "BWA": ["BorgWarner", "S&P500"], "BXP": ["Boston Properties", "S&P500"], "BSX": ["Boston Scientific", "S&P500"], "BMY": ["Bristol-Myers Squibb", "S&P500"], "BR": ["Broadridge Financial Solutions", "S&P500"], "BF.B": ["Brown-Forman Corp.", "S&P500"], "COG": ["Cabot Oil & Gas", "S&P500"], "CPB": ["Campbell Soup", "S&P500"], "COF": ["Capital One Financial", "S&P500"], "CAH": ["Cardinal Health Inc.", "S&P500"], "KMX": ["Carmax Inc", "S&P500"], "CCL": ["Carnival Corp.", "S&P500"], "CARR": ["Carrier Global", "S&P500"], "CTLT": ["Catalent", "S&P500"], "CAT": ["Caterpillar Inc.", "S&P500"], "CBOE": ["Cboe Global Markets", "S&P500"], "CBRE": ["CBRE Group", "S&P500"], "CE": ["Celanese", "S&P500"], "CNC": ["Centene Corporation", "S&P500"], "CNP": ["CenterPoint Energy", "S&P500"], "CF": ["CF Industries Holdings Inc", "S&P500"], "SCHW": ["Charles Schwab Corporation", "S&P500"], "CVX": ["Chevron Corp.", "S&P500"], "CMG": ["Chipotle Mexican Grill", "S&P500"], "CB": ["Chubb Limited", "S&P500"], "CHD": ["Church & Dwight", "S&P500"], "CI": ["Cigna", "S&P500"], "C": ["Citigroup Inc.", "S&P500"], "CFG": ["Citizens Financial Group", "S&P500"], "CLX": ["The Clorox Company", "S&P500"], "CMS": ["CMS Energy", "S&P500"], "KO": ["Coca-Cola Company", "S&P500"], "CL": ["Colgate-Palmolive", "S&P500"], "CMA": ["Comerica Inc.", "S&P500"], "CAG": ["Conagra Brands", "S&P500"], "COP": ["ConocoPhillips", "S&P500"], "ED": ["Consolidated Edison", "S&P500"], "STZ": ["Constellation Brands", "S&P500"], "COO": ["The Cooper Companies", "S&P500"], "GLW": ["Corning Inc.", "S&P500"], "CTVA": ["Corteva", "S&P500"], "CCI": ["Crown Castle", "S&P500"], "CMI": ["Cummins Inc.", "S&P500"], "CVS": ["CVS Health", "S&P500"], "DHI": ["D. R. Horton", "S&P500"], "DHR": ["Danaher Corp.", "S&P500"], "DRI": ["Darden Restaurants", "S&P500"], "DVA": ["DaVita Inc.", "S&P500"], "DE": ["Deere & Co.", "S&P500"], "DAL": ["Delta Air Lines Inc.", "S&P500"], "DVN": ["Devon Energy", "S&P500"], "DLR": ["Digital Realty Trust Inc", "S&P500"], "DFS": ["Discover Financial Services", "S&P500"], "DG": ["Dollar General", "S&P500"], "D": ["Dominion Energy", "S&P500"], "DPZ": ["Domino's Pizza", "S&P500"], "DOV": ["Dover Corporation", "S&P500"], "DOW": ["Dow Inc.", "S&P500"], "DTE": ["DTE Energy Co.", "S&P500"], "DUK": ["Duke Energy", "S&P500"], "DRE": ["Duke Realty Corp", "S&P500"], "DD": ["DuPont de Nemours Inc", "S&P500"], "DXC": ["DXC Technology", "S&P500"], "EMN": ["Eastman Chemical", "S&P500"], "ETN": ["Eaton Corporation", "S&P500"], "ECL": ["Ecolab Inc.", "S&P500"], "EIX": ["Edison Int'l", "S&P500"], "EW": ["Edwards Lifesciences", "S&P500"], "EMR": ["Emerson Electric Company", "S&P500"], "ETR": ["Entergy Corp.", "S&P500"], "EOG": ["EOG Resources", "S&P500"], "EFX": ["Equifax Inc.", "S&P500"], "EQR": ["Equity Residential", "S&P500"], "ESS": ["Essex Property Trust, Inc.", "S&P500"], "EL": ["Est\u00e9e Lauder Companies", "S&P500"], "EVRG": ["Evergy", "S&P500"], "ES": ["Eversource Energy", "S&P500"], "RE": ["Everest Re Group Ltd.", "S&P500"], "EXR": ["Extra Space Storage", "S&P500"], "XOM": ["Exxon Mobil Corp.", "S&P500"], "FRT": ["Federal Realty Investment Trust", "S&P500"], "FDX": ["FedEx Corporation", "S&P500"], "FIS": ["Fidelity National Information Services", "S&P500"], "FE": ["FirstEnergy Corp", "S&P500"], "FRC": ["First Republic Bank", "S&P500"], "FLT": ["FleetCor Technologies Inc", "S&P500"], "FLS": ["Flowserve Corporation", "S&P500"], "FMC": ["FMC Corporation", "S&P500"], "F": ["Ford Motor Company", "S&P500"], "FTV": ["Fortive Corp", "S&P500"], "FBHS": ["Fortune Brands Home & Security", "S&P500"], "BEN": ["Franklin Resources", "S&P500"], "FCX": ["Freeport-McMoRan Inc.", "S&P500"], "GPS": ["Gap Inc.", "S&P500"], "IT": ["Gartner Inc", "S&P500"], "GD": ["General Dynamics", "S&P500"], "GE": ["General Electric", "S&P500"], "GIS": ["General Mills", "S&P500"], "GM": ["General Motors", "S&P500"], "GPC": ["Genuine Parts", "S&P500"], "GL": ["Globe Life Inc.", "S&P500"], "GPN": ["Global Payments Inc.", "S&P500"], "GS": ["Goldman Sachs Group", "S&P500"], "GWW": ["Grainger (W.W.) Inc.", "S&P500"], "HAL": ["Halliburton Co.", "S&P500"], "HBI": ["Hanesbrands Inc", "S&P500"], "HIG": ["Hartford Financial Svc.Gp.", "S&P500"], "HCA": ["HCA Healthcare", "S&P500"], "PEAK": ["Healthpeak Properties", "S&P500"], "HSY": ["The Hershey Company", "S&P500"], "HES": ["Hess Corporation", "S&P500"], "HPE": ["Hewlett Packard Enterprise", "S&P500"], "HLT": ["Hilton Worldwide Holdings Inc", "S&P500"], "HFC": ["HollyFrontier Corp", "S&P500"], "HD": ["Home Depot", "S&P500"], "HON": ["Honeywell Int'l Inc.", "S&P500"], "HRL": ["Hormel Foods Corp.", "S&P500"], "HWM": ["Howmet Aerospace", "S&P500"], "HPQ": ["HP Inc.", "S&P500"], "HUM": ["Humana Inc.", "S&P500"], "HII": ["Huntington Ingalls Industries", "S&P500"], "IEX": ["IDEX Corporation", "S&P500"], "INFO": ["IHS Markit", "S&P500"], "ITW": ["Illinois Tool Works", "S&P500"], "IR": ["Ingersoll Rand", "S&P500"], "ICE": ["Intercontinental Exchange", "S&P500"], "IBM": ["International Business Machines", "S&P500"], "IP": ["International Paper", "S&P500"], "IPG": ["Interpublic Group", "S&P500"], "IFF": ["International Flavors & Fragrances", "S&P500"], "IVZ": ["Invesco Ltd.", "S&P500"], "IQV": ["IQVIA Holdings Inc.", "S&P500"], "IRM": ["Iron Mountain Incorporated", "S&P500"], "J": ["Jacobs Engineering Group", "S&P500"], "SJM": ["JM Smucker", "S&P500"], "JNJ": ["Johnson & Johnson", "S&P500"], "JCI": ["Johnson Controls International", "S&P500"], "JPM": ["JPMorgan Chase & Co.", "S&P500"], "JNPR": ["Juniper Networks", "S&P500"], "KSU": ["Kansas City Southern", "S&P500"], "K": ["Kellogg Co.", "S&P500"], "KEY": ["KeyCorp", "S&P500"], "KEYS": ["Keysight Technologies", "S&P500"], "KMB": ["Kimberly-Clark", "S&P500"], "KIM": ["Kimco Realty", "S&P500"], "KMI": ["Kinder Morgan", "S&P500"], "KR": ["Kroger Co.", "S&P500"], "LB": ["L Brands Inc.", "S&P500"], "LHX": ["L3Harris Technologies", "S&P500"], "LH": ["Laboratory Corp. of America Holding", "S&P500"], "LW": ["Lamb Weston Holdings Inc", "S&P500"], "LVS": ["Las Vegas Sands", "S&P500"], "LEG": ["Leggett & Platt", "S&P500"], "LDOS": ["Leidos Holdings", "S&P500"], "LEN": ["Lennar Corp.", "S&P500"], "LLY": ["Lilly (Eli) & Co.", "S&P500"], "LNC": ["Lincoln National", "S&P500"], "LIN": ["Linde plc", "S&P500"], "LYV": ["Live Nation Entertainment", "S&P500"], "LMT": ["Lockheed Martin Corp.", "S&P500"], "L": ["Loews Corp.", "S&P500"], "LOW": ["Lowe's Cos.", "S&P500"], "LUMN": ["Lumen Technologies", "S&P500"], "LYB": ["LyondellBasell", "S&P500"], "MTB": ["M&T Bank", "S&P500"], "MRO": ["Marathon Oil Corp.", "S&P500"], "MPC": ["Marathon Petroleum", "S&P500"], "MMC": ["Marsh & McLennan", "S&P500"], "MLM": ["Martin Marietta Materials", "S&P500"], "MAS": ["Masco Corp.", "S&P500"], "MA": ["Mastercard Inc.", "S&P500"], "MKC": ["McCormick & Co.", "S&P500"], "MCD": ["McDonald's Corp.", "S&P500"], "MCK": ["McKesson Corp.", "S&P500"], "MDT": ["Medtronic plc", "S&P500"], "MRK": ["Merck & Co.", "S&P500"], "MET": ["MetLife Inc.", "S&P500"], "MTD": ["Mettler Toledo", "S&P500"], "MGM": ["MGM Resorts International", "S&P500"], "MAA": ["Mid-America Apartments", "S&P500"], "MHK": ["Mohawk Industries", "S&P500"], "TAP": ["Molson Coors Beverage Company", "S&P500"], "MCO": ["Moody's Corp", "S&P500"], "MS": ["Morgan Stanley", "S&P500"], "MOS": ["The Mosaic Company", "S&P500"], "MSI": ["Motorola Solutions Inc.", "S&P500"], "MSCI": ["MSCI Inc", "S&P500"], "NEM": ["Newmont Corporation", "S&P500"], "NEE": ["NextEra Energy", "S&P500"], "NLSN": ["Nielsen Holdings", "S&P500"], "NKE": ["Nike, Inc.", "S&P500"], "NI": ["NiSource Inc.", "S&P500"], "NSC": ["Norfolk Southern Corp.", "S&P500"], "NOC": ["Northrop Grumman", "S&P500"], "NCLH": ["Norwegian Cruise Line Holdings", "S&P500"], "NOV": ["NOV Inc.", "S&P500"], "NRG": ["NRG Energy", "S&P500"], "NUE": ["Nucor Corp.", "S&P500"], "NVR": ["NVR, Inc.", "S&P500"], "OXY": ["Occidental Petroleum", "S&P500"], "OMC": ["Omnicom Group", "S&P500"], "OKE": ["Oneok", "S&P500"], "ORCL": ["Oracle Corp.", "S&P500"], "OTIS": ["Otis Worldwide", "S&P500"], "PKG": ["Packaging Corporation of America", "S&P500"], "PH": ["Parker-Hannifin", "S&P500"], "PAYC": ["Paycom", "S&P500"], "PNR": ["Pentair plc", "S&P500"], "PKI": ["PerkinElmer", "S&P500"], "PRGO": ["Perrigo", "S&P500"], "PFE": ["Pfizer Inc.", "S&P500"], "PM": ["Philip Morris International", "S&P500"], "PSX": ["Phillips 66", "S&P500"], "PNW": ["Pinnacle West Capital", "S&P500"], "PXD": ["Pioneer Natural Resources", "S&P500"], "PNC": ["PNC Financial Services", "S&P500"], "PPG": ["PPG Industries", "S&P500"], "PPL": ["PPL Corp.", "S&P500"], "PG": ["Procter & Gamble", "S&P500"], "PGR": ["Progressive Corp.", "S&P500"], "PLD": ["Prologis", "S&P500"], "PRU": ["Prudential Financial", "S&P500"], "PEG": ["Public Service Enterprise Group (PSEG)", "S&P500"], "PSA": ["Public Storage", "S&P500"], "PHM": ["PulteGroup", "S&P500"], "PVH": ["PVH Corp.", "S&P500"], "PWR": ["Quanta Services Inc.", "S&P500"], "DGX": ["Quest Diagnostics", "S&P500"], "RL": ["Ralph Lauren Corporation", "S&P500"], "RJF": ["Raymond James Financial", "S&P500"], "RTX": ["Raytheon Technologies", "S&P500"], "O": ["Realty Income Corporation", "S&P500"], "RF": ["Regions Financial Corp.", "S&P500"], "RSG": ["Republic Services Inc", "S&P500"], "RMD": ["ResMed", "S&P500"], "RHI": ["Robert Half International", "S&P500"], "ROK": ["Rockwell Automation Inc.", "S&P500"], "ROL": ["Rollins, Inc.", "S&P500"], "ROP": ["Roper Technologies", "S&P500"], "RCL": ["Royal Caribbean Group", "S&P500"], "SPGI": ["S&P Global Inc.", "S&P500"], "CRM": ["Salesforce.com", "S&P500"], "SLB": ["Schlumberger Ltd.", "S&P500"], "SEE": ["Sealed Air", "S&P500"], "SRE": ["Sempra Energy", "S&P500"], "NOW": ["ServiceNow", "S&P500"], "SHW": ["Sherwin-Williams", "S&P500"], "SPG": ["Simon Property Group Inc", "S&P500"], "SLG": ["SL Green Realty", "S&P500"], "SNA": ["Snap-on", "S&P500"], "SO": ["Southern Company", "S&P500"], "LUV": ["Southwest Airlines", "S&P500"], "SWK": ["Stanley Black & Decker", "S&P500"], "STT": ["State Street Corp.", "S&P500"], "STE": ["Steris", "S&P500"], "SYK": ["Stryker Corp.", "S&P500"], "SYF": ["Synchrony Financial", "S&P500"], "SYY": ["Sysco Corp.", "S&P500"], "TPR": ["Tapestry, Inc.", "S&P500"], "TGT": ["Target Corp.", "S&P500"], "TEL": ["TE Connectivity Ltd.", "S&P500"], "TDY": ["Teledyne Technologies", "S&P500"], "TFX": ["Teleflex", "S&P500"], "TXT": ["Textron Inc.", "S&P500"], "TMO": ["Thermo Fisher Scientific", "S&P500"], "TJX": ["TJX Companies Inc.", "S&P500"], "TT": ["Trane Technologies plc", "S&P500"], "TDG": ["TransDigm Group", "S&P500"], "TRV": ["The Travelers Companies", "S&P500"], "TFC": ["Truist Financial", "S&P500"], "TWTR": ["Twitter, Inc.", "S&P500"], "TYL": ["Tyler Technologies", "S&P500"], "TSN": ["Tyson Foods", "S&P500"], "UDR": ["UDR, Inc.", "S&P500"], "USB": ["U.S. Bancorp", "S&P500"], "UAA": ["Under Armour (Class A)", "S&P500"], "UA": ["Under Armour (Class C)", "S&P500"], "UNP": ["Union Pacific Corp", "S&P500"], "UNH": ["UnitedHealth Group Inc.", "S&P500"], "UPS": ["United Parcel Service", "S&P500"], "URI": ["United Rentals, Inc.", "S&P500"], "UHS": ["Universal Health Services", "S&P500"], "UNM": ["Unum Group", "S&P500"], "VLO": ["Valero Energy", "S&P500"], "VAR": ["Varian Medical Systems", "S&P500"], "VTR": ["Ventas Inc", "S&P500"], "VZ": ["Verizon Communications", "S&P500"], "VFC": ["VF Corporation", "S&P500"], "V": ["Visa Inc.", "S&P500"], "VNT": ["Vontier", "S&P500"], "VNO": ["Vornado Realty Trust", "S&P500"], "VMC": ["Vulcan Materials", "S&P500"], "WRB": ["W. R. Berkley Corporation", "S&P500"], "WAB": ["Westinghouse Air Brake Technologies Corp", "S&P500"], "WMT": ["Walmart", "S&P500"], "DIS": ["The Walt Disney Company", "S&P500"], "WM": ["Waste Management Inc.", "S&P500"], "WAT": ["Waters Corporation", "S&P500"], "WEC": ["WEC Energy Group", "S&P500"], "WFC": ["Wells Fargo", "S&P500"], "WELL": ["Welltower Inc.", "S&P500"], "WST": ["West Pharmaceutical Services", "S&P500"], "WU": ["Western Union Co", "S&P500"], "WRK": ["WestRock", "S&P500"], "WY": ["Weyerhaeuser", "S&P500"], "WHR": ["Whirlpool Corp.", "S&P500"], "WMB": ["Williams Companies", "S&P500"], "XRX": ["Xerox", "S&P500"], "XYL": ["Xylem Inc.", "S&P500"], "YUM": ["Yum! Brands Inc", "S&P500"], "ZBH": ["Zimmer Biomet", "S&P500"], "ZTS": ["Zoetis", "S&P500"]} \ No newline at end of file +{"AI.PA": "Air Liquide", "AIR.PA": "Airbus", "ALO.PA": "Alstom", "MT.AS": "ArcelorMittal", "ATO.PA": "Atos", "CS.PA": "AXA", "BNP.PA": "BNP Paribas", "EN.PA": "Bouygues", "CAP.PA": "Capgemini", "CA.PA": "Carrefour", "ACA.PA": "Cr\u00e9dit Agricole", "BN.PA": "Danone", "DSY.PA": "Dassault Syst\u00e8mes", "ENGI.PA": "Engie", "EL.PA": "EssilorLuxottica", "RMS.PA": "Herm\u00e8s", "KER.PA": "Kering", "OR.PA": "L'Or\u00e9al", "LR.PA": "Legrand", "MC.PA": "LVMH", "ML.PA": "Michelin", "ORA.PA": "Orange", "RI.PA": "Pernod Ricard", "PUB.PA": "Publicis", "RNO.PA": "Renault", "SAF.PA": "Safran", "SGO.PA": "Saint-Gobain", "SAN.PA": "Sanofi", "SU.PA": "Schneider Electric", "GLE.PA": "Soci\u00e9t\u00e9 G\u00e9n\u00e9rale", "STLA.PA": "Stellantis", "STM.PA": "STMicroelectronics", "TEP.PA": "Teleperformance", "HO.PA": "Thales", "FP.PA": "Total", "URW.AS": "Unibail-Rodamco-Westfield", "VIE.PA": "Veolia", "DG.PA": "Vinci", "VIV.PA": "Vivendi", "WLN.PA": "Worldline", "HON": "Honeywell Int'l Inc.", "KO": "Coca-Cola Company", "WBA": "Walgreens Boots Alliance", "CAT": "Caterpillar Inc.", "V": "Visa Inc.", "UNH": "UnitedHealth Group Inc.", "MMM": "3M Company", "PG": "Procter & Gamble", "MRK": "Merck & Co.", "VZ": "Verizon Communications", "DOW": "Dow Inc.", "AMGN": "Amgen Inc.", "CSCO": "Cisco Systems", "DIS": "The Walt Disney Company", "GS": "Goldman Sachs Group", "TRV": "The Travelers Companies", "CVX": "Chevron Corp.", "HD": "Home Depot", "MCD": "McDonald's Corp.", "IBM": "International Business Machines", "JNJ": "Johnson & Johnson", "JPM": "JPMorgan Chase & Co.", "WMT": "Walmart", "NKE": "Nike, Inc.", "INTC": "Intel Corp.", "AXP": "American Express", "BA": "Boeing Company", "AAPL": "Apple Inc.", "MSFT": "Microsoft Corp.", "CRM": "Salesforce.com", "AACG": "ATA Creativity Global - American Depositary Shares, each representing two common shares", "AACQ": "Artius Acquisition Inc. - Class A Common Stock", "AACQU": "Artius Acquisition Inc. - Unit consisting of one ordinary share and one third redeemable warrant", "AACQW": "Artius Acquisition Inc. - Warrant", "AAL": "American Airlines Group", "AAME": "Atlantic American Corporation - Common Stock", "AAOI": "Applied Optoelectronics, Inc. - Common Stock", "AAON": "AAON, Inc. - Common Stock", "AAWW": "Atlas Air Worldwide Holdings - Common Stock", "AAXJ": "iShares MSCI All Country Asia ex Japan Index Fund", "ABCB": "Ameris Bancorp - Common Stock", "ABCL": "AbCellera Biologics Inc. - Common Shares", "ABCM": "Abcam plc - American Depositary Shares", "ABEO": "Abeona Therapeutics Inc. - Common Stock", "ABGI": "ABG Acquisition Corp. I - Class A Ordinary Shares", "ABIO": "ARCA biopharma, Inc. - Common Stock", "ABMD": "Abiomed", "ABNB": "Airbnb, Inc. - Class A Common Stock", "ABST": "Absolute Software Corporation - Common Stock", "ABTX": "Allegiance Bancshares, Inc. - Common Stock", "ABUS": "Arbutus Biopharma Corporation - Common Stock", "ACAC": "Acies Acquisition Corp. - Class A Ordinary Share", "ACACU": "Acies Acquisition Corp. - Unit", "ACACW": "Acies Acquisition Corp. - Warrant", "ACAD": "ACADIA Pharmaceuticals Inc. - Common Stock", "ACBI": "Atlantic Capital Bancshares, Inc. - Common Stock", "ACCD": "Accolade, Inc. - common stock", "ACER": "Acer Therapeutics Inc. - Common Stock", "ACET": "Adicet Bio, Inc. - Common Stock", "ACEV": "ACE Convergence Acquisition Corp. - Class A Ordinary Shares", "ACEVU": "ACE Convergence Acquisition Corp. - Unit", "ACEVW": "ACE Convergence Acquisition Corp. - Warrant", "ACGL": "Arch Capital Group Ltd. - Common Stock", "ACGLO": "Arch Capital Group Ltd. - Depositary Shares Each Representing 1/1,000th Interest in a Share of5.45% Non-Cumulative Preferred Shares, Series F", "ACGLP": "Arch Capital Group Ltd. - Depositary Shares Representing Interest in 5.25% Non-Cumulative Preferred Series E Shrs", "ACHC": "Acadia Healthcare Company, Inc. - Common Stock", "ACHV": "Achieve Life Sciences, Inc. - Common Shares", "ACIU": "AC Immune SA - Common Stock", "ACIW": "ACI Worldwide, Inc. - Common Stock", "ACKIT": "Ackrell SPAC Partners I Co. - Subunits", "ACKIU": "Ackrell SPAC Partners I Co. - Units", "ACKIW": "Ackrell SPAC Partners I Co. - Warrants", "ACLS": "Axcelis Technologies, Inc. - Common Stock", "ACMR": "ACM Research, Inc. - Class A Common Stock", "ACNB": "ACNB Corporation - Common Stock", "ACOR": "Acorda Therapeutics, Inc. - Common Stock", "ACRS": "Aclaris Therapeutics, Inc. - Common Stock", "ACRX": "AcelRx Pharmaceuticals, Inc. - Common Stock", "ACST": "Acasti Pharma, Inc. - Class A Common Stock", "ACTC": "ArcLight Clean Transition Corp. - Class A Ordinary Shares", "ACTCU": "ArcLight Clean Transition Corp. - Unit", "ACTCW": "ArcLight Clean Transition Corp. - Warrant", "ACTG": "Acacia Research Corporation - Common Stock", "ACWI": "iShares MSCI ACWI Index Fund", "ACWX": "iShares MSCI ACWI ex US Index Fund", "ADAG": "Adagene Inc. - ADS, each representing 1.25 ordinary shares", "ADAP": "Adaptimmune Therapeutics plc - American Depositary Shares", "ADBE": "Adobe Inc.", "ADERU": "26 Capital Acquisition Corp. - Unit", "ADES": "Advanced Emissions Solutions, Inc. - Common Stock", "ADI": "Analog Devices, Inc.", "ADIL": "Adial Pharmaceuticals, Inc - Common Stock", "ADILW": "Adial Pharmaceuticals, Inc - Warrant", "ADMA": "ADMA Biologics Inc - Common Stock", "ADMP": "Adamis Pharmaceuticals Corporation - Common Stock", "ADMS": "Adamas Pharmaceuticals, Inc. - Common Stock", "ADN": "Advent Technologies Holdings, Inc. - Class A Common Stock", "ADNWW": "Advent Technologies Holdings, Inc. - Warrant", "ADOC": "Edoc Acquisition Corp. - Class A Ordinary Share", "ADOCR": "Edoc Acquisition Corp. - Right", "ADOCW": "Edoc Acquisition Corp. - Warrant", "ADP": "Automatic Data Processing", "ADPT": "Adaptive Biotechnologies Corporation - Common Stock", "ADRE": "Invesco BLDRS Emerging Markets 50 ADR Index Fund", "ADSK": "Autodesk Inc.", "ADTN": "ADTRAN, Inc. - Common Stock", "ADTX": "ADiTx Therapeutics, Inc. - Common Stock", "ADUS": "Addus HomeCare Corporation - Common Stock", "ADV": "Advantage Solutions Inc. - Class A Common Stock", "ADVM": "Adverum Biotechnologies, Inc. - Common Stock", "ADVWW": "Advantage Solutions Inc. - Warrant", "ADXN": "Addex Therapeutics Ltd - American Depositary Shares", "ADXS": "Advaxis, Inc. - Common Stock", "AEACU": "Authentic Equity Acquisition Corp. - Unit", "AEGN": "Aegion Corp - Class A Common Stock", "AEHL": "Antelope Enterprise Holdings Limited - Common Stock", "AEHR": "Aehr Test Systems - Common Stock", "AEI": "Alset EHome International Inc. - Common Stock", "AEIS": "Advanced Energy Industries, Inc. - Common Stock", "AEMD": "Aethlon Medical, Inc. - Common Stock", "AEP": "American Electric Power", "AEPPL": "American Electric Power Company, Inc. - Corporate Unit", "AEPPZ": "American Electric Power Company, Inc. - Corporate Unit", "AERI": "Aerie Pharmaceuticals, Inc. - Common Stock", "AESE": "Allied Esports Entertainment, Inc. - Common Stock", "AEY": "ADDvantage Technologies Group, Inc. - Common Stock", "AEYE": "AudioEye, Inc. - Common Stock", "AEZS": "Aeterna Zentaris Inc. - Common Stock", "AFBI": "Affinity Bancshares, Inc. - Common Stock", "AFIB": "Acutus Medical, Inc. - Common Stock", "AFIN": "American Finance Trust, Inc. - Class A Common Stock", "AFINO": "American Finance Trust, Inc. - 7.375% Series C Cumulative Redeemable Preferred Stock", "AFINP": "American Finance Trust, Inc. - 7.50% Series A Cumulative Redeemable Perpetual Preferred Stock", "AFMD": "Affimed N.V. - Common Stock", "AFRM": "Affirm Holdings, Inc. - Class A Common Stock", "AFYA": "Afya Limited - Class A Common Shares", "AGBA": "AGBA Acquisition Limited - Ordinary Share", "AGBAR": "AGBA Acquisition Limited - Right", "AGBAU": "AGBA Acquisition Limited - Unit", "AGBAW": "AGBA Acquisition Limited - Warrant", "AGC": "Altimeter Growth Corp. - Class A Ordinary Shares", "AGCUU": "Altimeter Growth Corp. - Unit", "AGCWW": "Altimeter Growth Corp. - Warrant", "AGEN": "Agenus Inc. - Common Stock", "AGFS": "AgroFresh Solutions, Inc. - Common Stock", "AGFY": "Agrify Corporation - Common Stock", "AGIO": "Agios Pharmaceuticals, Inc. - Common Stock", "AGLE": "Aeglea BioTherapeutics, Inc. - Common Stock", "AGMH": "AGM Group Holdings Inc. - Class A Ordinary Shares", "AGNC": "AGNC Investment Corp. - Common Stock", "AGNCM": "AGNC Investment Corp. - Depositary Shares rep 6.875% Series D Fixed-to-Floating Cumulative Redeemable Preferred Stock", "AGNCN": "AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 7.00% Series C Fixed-To-Floating Rate Cumulative Redeemable Preferred Stock", "AGNCO": "AGNC Investment Corp. - Depositary Shares, each representing a 1/1,000th interest in a share of Series E Fixed-to-Floating Cumulative Redeemable Preferred Stock", "AGNCP": "AGNC Investment Corp. - Depositary Shares Each Representing a 1/1,000th Interest in a Share of 6.125% Series F Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "AGRX": "Agile Therapeutics, Inc. - Common Stock", "AGTC": "Applied Genetic Technologies Corporation - Common Stock", "AGYS": "Agilysys, Inc. - Common Stock", "AGZD": "WisdomTree Interest Rate Hedged U.S. Aggregate Bond Fund", "AHAC": "Alpha Healthcare Acquisition Corp. - Common Stock", "AHACU": "Alpha Healthcare Acquisition Corp. - Unit", "AHACW": "Alpha Healthcare Acquisition Corp. - Warrant", "AHCO": "AdaptHealth Corp. - Class A Common Stock", "AHPI": "Allied Healthcare Products, Inc. - Common Stock", "AIA": "iShares Asia 50 ETF", "AIH": "Aesthetic Medical International Holdings Group Ltd. - American Depositary Shares", "AIHS": "Senmiao Technology Limited - Common Stock", "AIKI": "AIkido Pharma Inc. - Common Stock", "AIMC": "Altra Industrial Motion Corp. - Common Stock", "AINV": "Apollo Investment Corporation - Closed End Fund", "AIQ": "Global X Artificial Intelligence & Technology ETF", "AIRG": "Airgain, Inc. - Common Stock", "AIRR": "First Trust RBA American Industrial Renaissance ETF", "AIRT": "Air T, Inc. - Common Stock", "AIRTP": "Air T, Inc. - Trust Preferred Securities", "AIRTW": "Air T, Inc. - Air T Funding Warrants to Purchase Trust Preferred", "AKAM": "Akamai Technologies", "AKBA": "Akebia Therapeutics, Inc. - Common Stock", "AKER": "Akers Biosciences Inc. - Common Stock", "AKIC": "Sports Ventures Acquisition Corp. - Class A Ordinary Shares", "AKICU": "Sports Ventures Acquisition Corp. - Unit", "AKICW": "Sports Ventures Acquisition Corp. - Warrant", "AKRO": "Akero Therapeutics, Inc. - Common Stock", "AKTS": "Akoustis Technologies, Inc. - Common Stock", "AKTX": "Akari Therapeutics Plc - American Depositary Shares", "AKU": "Akumin Inc. - Common Shares", "AKUS": "Akouos, Inc. - Common Stock", "ALAC": "Alberton Acquisition Corporation - Ordinary Shares", "ALACR": "Alberton Acquisition Corporation - Rights", "ALACU": "Alberton Acquisition Corporation - Unit", "ALACW": "Alberton Acquisition Corporation - Warrant", "ALBO": "Albireo Pharma, Inc. - Common Stock", "ALCO": "Alico, Inc. - Common Stock", "ALDX": "Aldeyra Therapeutics, Inc. - Common Stock", "ALEC": "Alector, Inc. - Common Stock", "ALGM": "Allegro MicroSystems, Inc. - Common Stock", "ALGN": "Align Technology", "ALGS": "Aligos Therapeutics, Inc. - Common stock", "ALGT": "Allegiant Travel Company - Common Stock", "ALIM": "Alimera Sciences, Inc. - Common Stock", "ALJJ": "ALJ Regional Holdings, Inc. - Common Stock", "ALKS": "Alkermes plc - Ordinary Shares", "ALLK": "Allakos Inc. - Common Stock", "ALLO": "Allogene Therapeutics, Inc. - Common Stock", "ALLT": "Allot Ltd. - Ordinary Shares", "ALNA": "Allena Pharmaceuticals, Inc. - Common Stock", "ALNY": "Alnylam Pharmaceuticals, Inc. - Common Stock", "ALOT": "AstroNova, Inc. - Common Stock", "ALPN": "Alpine Immune Sciences, Inc. - Common Stock", "ALRM": "Alarm.com Holdings, Inc. - Common Stock", "ALRN": "Aileron Therapeutics, Inc. - Common Stock", "ALRS": "Alerus Financial Corporation - Common Stock", "ALSK": "Alaska Communications Systems Group, Inc. - Common Stock", "ALT": "Altimmune, Inc. - Common Stock", "ALTA": "Altabancorp - Common Stock", "ALTM": "Altus Midstream Company - Class A Common Stock", "ALTO": "Alto Ingredients, Inc. - Common Stock", "ALTR": "Altair Engineering Inc. - Class A Common Stock", "ALTU": "Altitude Acquisition Corp. - Class A Common Stock", "ALTUU": "Altitude Acquisition Corp. - Unit", "ALTUW": "Altitude Acquisition Corp. - Warrant", "ALTY": "Global X SuperDividend Alternatives ETF", "ALVR": "AlloVir, Inc. - Common Stock", "ALXN": "Alexion Pharmaceuticals", "ALXO": "ALX Oncology Holdings Inc. - Common Stock", "ALYA": "Alithya Group inc. - Class A subordinate voting shares", "AMAL": "Amalgamated Financial Corp. - Common Stock", "AMAT": "Applied Materials Inc.", "AMBA": "Ambarella, Inc. - Ordinary Shares", "AMCA": "iShares Russell 1000 Pure U.S. Revenue ETF", "AMCX": "AMC Networks Inc. - Class A Common Stock", "AMD": "Advanced Micro Devices", "AMED": "Amedisys Inc - Common Stock", "AMEH": "Apollo Medical Holdings, Inc. - Common Stock", "AMHC": "Amplitude Healthcare Acquisition Corporation - Class A Common Stock", "AMHCU": "Amplitude Healthcare Acquisition Corporation - Unit", "AMHCW": "Amplitude Healthcare Acquisition Corporation - Warrant", "AMKR": "Amkor Technology, Inc. - Common Stock", "AMNB": "American National Bankshares, Inc. - Common Stock", "AMOT": "Allied Motion Technologies, Inc. - Common Stock", "AMPG": "Amplitech Group, Inc. - Common Stock", "AMPGW": "Amplitech Group, Inc. - Warrants", "AMPH": "Amphastar Pharmaceuticals, Inc. - Common Stock", "AMRB": "American River Bankshares - Common Stock", "AMRK": "A-Mark Precious Metals, Inc. - Common Stock", "AMRN": "Amarin Corporation plc - American Depositary Shares, each representing one Ordinary Share", "AMRS": "Amyris, Inc. - Common Stock", "AMSC": "American Superconductor Corporation - Common Stock", "AMSF": "AMERISAFE, Inc. - Common Stock", "AMST": "Amesite Inc. - Common Stock", "AMSWA": "American Software, Inc. - Class A Common Stock", "AMTB": "Amerant Bancorp Inc. - Class A Common Stock", "AMTBB": "Amerant Bancorp Inc. - Class B Common Stock", "AMTI": "Applied Molecular Transport Inc. - common stock", "AMTX": "Aemetis, Inc - Common Stock", "AMWD": "American Woodmark Corporation - Common Stock", "AMYT": "Amryt Pharma plc - American Depositary Shares", "AMZN": "Amazon.com Inc.", "ANAB": "AnaptysBio, Inc. - Common Stock", "ANAT": "American National Group, Inc. - Common Stock", "ANCN": "Anchiano Therapeutics Ltd. - American Depositary Shares", "ANDA": "Andina Acquisition Corp. III - Ordinary Shares", "ANDAR": "Andina Acquisition Corp. III - Right", "ANDAU": "Andina Acquisition Corp. III - Unit", "ANDAW": "Andina Acquisition Corp. III - Warrant", "ANDE": "The Andersons, Inc. - Common Stock", "ANGI": "ANGI Homeservices Inc. - Class A Common Stock", "ANGL": "VanEck Vectors Fallen Angel High Yield Bond ETF", "ANGN": "Angion Biomedica Corp. - Common Stock", "ANGO": "AngioDynamics, Inc. - Common Stock", "ANIK": "Anika Therapeutics Inc. - Common Stock", "ANIP": "ANI Pharmaceuticals, Inc. - Common Stock", "ANIX": "Anixa Biosciences, Inc. - Common Stock", "ANNX": "Annexon, Inc. - common stock", "ANPC": "AnPac Bio-Medical Science Co., Ltd. - American Depositary Shares", "ANSS": "ANSYS, Inc.", "ANTE": "AirNet Technology Inc. - American Depositary Shares, each representing ten ordinary shares", "ANY": "Sphere 3D Corp. - Common Shares", "ANZUU": "Anzu Special Acquisition Corp I - Units", "AOSL": "Alpha and Omega Semiconductor Limited - Common Shares", "AOUT": "American Outdoor Brands, Inc. - Common Stock", "APA": "APA Corporation", "APDN": "Applied DNA Sciences, Inc. - Common Stock", "APEI": "American Public Education, Inc. - Common Stock", "APEN": "Apollo Endosurgery, Inc. - Common Stock", "APHA": "Aphria Inc. - Common Shares", "API": "Agora, Inc. - ADS", "APLS": "Apellis Pharmaceuticals, Inc. - Common Stock", "APLT": "Applied Therapeutics, Inc. - Common Stock", "APM": "Aptorum Group Limited - Class A Ordinary Shares", "APOG": "Apogee Enterprises, Inc. - Common Stock", "APOP": "Cellect Biotechnology Ltd. - American Depositary Shares", "APOPW": "Cellect Biotechnology Ltd. - Warrants to Purchase ADR (1 WT and $7.50 to purchase 0.2 ADS)", "APPF": "AppFolio, Inc. - Class A Common Stock", "APPH": "AppHarvest, Inc. - Common Stock", "APPHW": "AppHarvest, Inc. - Warrants", "APPN": "Appian Corporation - Class A Common Stock", "APPS": "Digital Turbine, Inc. - Common Stock", "APR": "Apria, Inc. - Common Stock", "APRE": "Aprea Therapeutics, Inc. - Common Stock", "APTO": "Aptose Biosciences, Inc. - Common Shares", "APTX": "Aptinyx Inc. - Common Stock", "APVO": "Aptevo Therapeutics Inc. - Common Stock", "APWC": "Asia Pacific Wire - Common shares, Par value .01 per share", "APXT": "Apex Technology Acquisition Corporation - Class A Common Stock", "APXTU": "Apex Technology Acquisition Corporation - Unit", "APXTW": "Apex Technology Acquisition Corporation - Warrant", "APYX": "Apyx Medical Corporation - Common Stock", "AQB": "AquaBounty Technologies, Inc. - Common Stock", "AQMS": "Aqua Metals, Inc. - Common Stock", "AQST": "Aquestive Therapeutics, Inc. - Common Stock", "ARAV": "Aravive, Inc. - Common Stock", "ARAY": "Accuray Incorporated - Common Stock", "ARBG": "Aequi Acquisition Corp. - common stock", "ARBGU": "Aequi Acquisition Corp. - Unit", "ARBGW": "Aequi Acquisition Corp. - warrants", "ARCB": "ArcBest Corporation - Common Stock", "ARCC": "Ares Capital Corporation - Closed End Fund", "ARCE": "Arco Platform Limited - Class A Common Shares", "ARCT": "Arcturus Therapeutics Holdings Inc. - Common Stock", "ARDS": "Aridis Pharmaceuticals Inc. - Common Stock", "ARDX": "Ardelyx, Inc. - Common Stock", "AREC": "American Resources Corporation - Class A Common Stock", "ARGX": "argenx SE - American Depositary Shares", "ARKIU": "Ark Global Acquisition Corp. - Unit", "ARKO": "ARKO Corp. - Common Stock", "ARKOW": "ARKO Corp. - Warrant", "ARKR": "Ark Restaurants Corp. - Common Stock", "ARLP": "Alliance Resource Partners, L.P. - Common Units Representing Limited Partnership Interests", "ARNA": "Arena Pharmaceuticals, Inc. - Common Stock", "AROW": "Arrow Financial Corporation - Common Stock", "ARPO": "Aerpio Pharmaceuticals, Inc. - Common Stock", "ARQT": "Arcutis Biotherapeutics, Inc. - Common stock", "ARRWU": "Arrowroot Acquisition Corp. - Unit", "ARRY": "Array Technologies, Inc. - Common Stock", "ARTL": "Artelo Biosciences, Inc. - Common Stock", "ARTLW": "Artelo Biosciences, Inc. - Warrant", "ARTNA": "Artesian Resources Corporation - Class A Non-Voting Common Stock", "ARTW": "Art's-Way Manufacturing Co., Inc. - Common Stock", "ARVN": "Arvinas, Inc. - Common Stock", "ARWR": "Arrowhead Pharmaceuticals, Inc. - Common Stock", "ARYA": "ARYA Sciences Acquisition Corp III - Class A Ordinary Shares", "ARYD": "ARYA Sciences Acquisition Corp IV - Class A Ordinary Shares", "ASAXU": "Astrea Acquisition Corp. - Unit", "ASET": "FlexShares Real Assets Allocation Index Fund", "ASLE": "AerSale Corporation - Common Stock", "ASLEW": "AerSale Corporation - Warrants", "ASLN": "ASLAN Pharmaceuticals Limited - American Depositary Shares", "ASMB": "Assembly Biosciences, Inc. - Common Stock", "ASML": "ASML Holding N.V. - New York Registry Shares", "ASND": "Ascendis Pharma A/S - American Depositary Shares", "ASO": "Academy Sports and Outdoors, Inc. - Common Stock", "ASPCU": "Alpha Capital Acquisition Company - Unit", "ASPS": "Altisource Portfolio Solutions S.A. - Common Stock", "ASPU": "Aspen Group Inc. - Common Stock", "ASRT": "Assertio Holdings, Inc. - Common Stock", "ASRV": "AmeriServ Financial Inc. - Common Stock", "ASRVP": "AmeriServ Financial Inc. - AmeriServ Financial Trust I - 8.45% Beneficial Unsecured Securities, Series A", "ASTC": "Astrotech Corporation - Common Stock", "ASTE": "Astec Industries, Inc. - Common Stock", "ASUR": "Asure Software Inc - Common Stock", "ASYS": "Amtech Systems, Inc. - Common Stock", "ATAX": "America First Multifamily Investors, L.P. - Beneficial Unit Certificates (BUCs) representing Limited Partnership Interests", "ATCX": "Atlas Technical Consultants, Inc. - Class A Common Stock", "ATEC": "Alphatec Holdings, Inc. - Common Stock", "ATEX": "Anterix Inc. - Common Stock", "ATHA": "Athira Pharma, Inc. - Common Stock", "ATHE": "Alterity Therapeutics Limited - American Depositary Shares", "ATHX": "Athersys, Inc. - Common Stock", "ATIF": "ATIF Holdings Limited - Ordinary Shares", "ATLC": "Atlanticus Holdings Corporation - Common Stock", "ATLO": "Ames National Corporation - Common Stock", "ATNF": "180 Life Sciences Corp. - Common Stock", "ATNFW": "180 Life Sciences Corp. - Warrant", "ATNI": "ATN International, Inc. - Common Stock", "ATNX": "Athenex, Inc. - Common Stock", "ATOM": "Atomera Incorporated - Common Stock", "ATOS": "Atossa Therapeutics, Inc. - Common Stock", "ATRA": "Atara Biotherapeutics, Inc. - Common Stock", "ATRC": "AtriCure, Inc. - Common Stock", "ATRI": "Atrion Corporation - Common Stock", "ATRO": "Astronics Corporation - Common Stock", "ATRS": "Antares Pharma, Inc. - Common Stock", "ATSG": "Air Transport Services Group, Inc - Common Stock", "ATVI": "Activision Blizzard", "ATXI": "Avenue Therapeutics, Inc. - Common Stock", "AUB": "Atlantic Union Bankshares Corporation - Common Stock", "AUBAP": "Atlantic Union Bankshares Corporation - Depositary Shares each representing a 1/400th ownership interest in a share of 6.875%Perpetual Non-Cumulative Preferred Stock, Series A", "AUBN": "Auburn National Bancorporation, Inc. - Common Stock", "AUDC": "AudioCodes Ltd. - Ordinary Shares", "AUPH": "Aurinia Pharmaceuticals Inc - Common Shares", "AUTL": "Autolus Therapeutics plc - American Depositary Shares", "AUTO": "AutoWeb, Inc. - Common Stock", "AUUD": "Auddia Inc. - Common Stock", "AUUDW": "Auddia Inc. - Warrants", "AUVI": "Applied UV, Inc. - Common Stock", "AVAV": "AeroVironment, Inc. - Common Stock", "AVCO": "Avalon GloboCare Corp. - Common Stock", "AVCT": "American Virtual Cloud Technologies, Inc. - Common Stock", "AVCTW": "American Virtual Cloud Technologies, Inc. - Warrant expiring 4/7/2020", "AVDL": "Avadel Pharmaceuticals plc - American Depositary Shares each representing one Ordinary Share", "AVEO": "AVEO Pharmaceuticals, Inc. - Common Stock", "AVGO": "Broadcom Inc.", "AVGOP": "Broadcom Inc. - 8.00% Mandatory Convertible Preferred Stock, Series A", "AVGR": "Avinger, Inc. - Common Stock", "AVID": "Avid Technology, Inc. - Common Stock", "AVIR": "Atea Pharmaceuticals, Inc. - common stock", "AVNW": "Aviat Networks, Inc. - Common Stock", "AVO": "Mission Produce, Inc. - Common Stock", "AVRO": "AVROBIO, Inc. - Common Stock", "AVT": "Avnet, Inc. - Common Stock", "AVXL": "Anavex Life Sciences Corp. - Common Stock", "AWH": "Aspira Women's Health Inc. - Common Stock", "AWRE": "Aware, Inc. - Common Stock", "AXAS": "Abraxas Petroleum Corporation - Common Stock", "AXDX": "Accelerate Diagnostics, Inc. - Common Stock", "AXGN": "Axogen, Inc. - Common Stock", "AXLA": "Axcella Health Inc. - Common Stock", "AXNX": "Axonics Modulation Technologies, Inc. - Common Stock", "AXON": "Axon Enterprise, Inc. - Common Stock", "AXSM": "Axsome Therapeutics, Inc. - Common Stock", "AXTI": "AXT Inc - Common Stock", "AY": "Atlantica Sustainable Infrastructure plc - Ordinary Shares", "AYLA": "Ayala Pharmaceuticals, Inc. - Common Stock", "AYRO": "AYRO, Inc. - Common Stock", "AYTU": "Aytu BioScience, Inc. - Common Stock", "AZN": "AstraZeneca PLC - American Depositary Shares", "AZPN": "Aspen Technology, Inc. - Common Stock", "AZRX": "AzurRx BioPharma, Inc. - Common Stock", "AZYO": "Aziyo Biologics, Inc. - Class A Common Stock", "BAND": "Bandwidth Inc. - Class A Common Stock", "BANF": "BancFirst Corporation - Common Stock", "BANFP": "BancFirst Corporation - 7.2% Cumulative Trust Preferred Securities", "BANR": "Banner Corporation - Common Stock", "BANX": "StoneCastle Financial Corp - Common Stock", "BAOS": "Baosheng Media Group Holdings Limited - Ordinary shares", "BASI": "Bioanalytical Systems, Inc. - Common Stock", "BATRA": "Liberty Media Corporation - Series A Liberty Braves Common Stock", "BATRK": "Liberty Media Corporation - Series C Liberty Braves Common Stock", "BBBY": "Bed Bath & Beyond Inc. - Common Stock", "BBCP": "Concrete Pumping Holdings, Inc. - Common Stock", "BBGI": "Beasley Broadcast Group, Inc. - Class A Common Stock", "BBH": "VanEck Vectors Biotech ETF", "BBI": "Brickell Biotech, Inc. - Common Stock", "BBIG": "Vinco Ventures, Inc. - Common Stock", "BBIO": "BridgeBio Pharma, Inc. - Common Stock", "BBQ": "BBQ Holdings, Inc. - Common Stock", "BBSI": "Barrett Business Services, Inc. - Common Stock", "BCAB": "BioAtla, Inc. - Common Stock", "BCAC": "Brookline Capital Acquisition Corp. - Common Stock", "BCACU": "Brookline Capital Acquisition Corp. - Units", "BCACW": "Brookline Capital Acquisition Corp. - Warrant", "BCBP": "BCB Bancorp, Inc. (NJ) - Common Stock", "BCDA": "BioCardia, Inc. - Common Stock", "BCDAW": "BioCardia, Inc. - Warrant", "BCEL": "Atreca, Inc. - Class A Common Stock", "BCLI": "Brainstorm Cell Therapeutics Inc. - Common Stock", "BCML": "BayCom Corp - Common Stock", "BCOR": "Blucora, Inc. - Common Stock", "BCOV": "Brightcove Inc. - Common Stock", "BCOW": "1895 Bancorp of Wisconsin, Inc. - Common Stock", "BCPC": "Balchem Corporation - Common Stock", "BCRX": "BioCryst Pharmaceuticals, Inc. - Common Stock", "BCTG": "BCTG Acquisition Corp. - Common Stock", "BCTX": "BriaCell Therapeutics Corp. - Common Shares", "BCTXW": "BriaCell Therapeutics Corp. - Warrant", "BCYC": "Bicycle Therapeutics plc - American Depositary Shares", "BCYP": "Big Cypress Acquisition Corp. - Common stock", "BCYPU": "Big Cypress Acquisition Corp. - Unit", "BCYPW": "Big Cypress Acquisition Corp. - Warrant", "BDSI": "BioDelivery Sciences International, Inc. - Common Stock", "BDSX": "Biodesix, Inc. - Common Stock", "BDTX": "Black Diamond Therapeutics, Inc. - Common Stock", "BEAM": "Beam Therapeutics Inc. - Common Stock", "BECN": "Beacon Roofing Supply, Inc. - Common Stock", "BEEM": "Beam Global - Common Stock", "BEEMW": "Beam Global - Warrant", "BELFA": "Bel Fuse Inc. - Class A Common Stock", "BELFB": "Bel Fuse Inc. - Class B Common Stock", "BENE": "Benessere Capital Acquisition Corp. - Class A Common Stock", "BENER": "Benessere Capital Acquisition Corp. - Right", "BENEU": "Benessere Capital Acquisition Corp. - Unit", "BENEW": "Benessere Capital Acquisition Corp. - Warrant", "BFC": "Bank First Corporation - Common Stock", "BFI": "BurgerFi International Inc - Common Stock", "BFIIW": "BurgerFi International Inc - Warrant", "BFIN": "BankFinancial Corporation - Common Stock", "BFIT": "Global X Health & Wellness Thematic ETF", "BFRA": "Biofrontera AG - American Depositary Shares", "BFST": "Business First Bancshares, Inc. - Common Stock", "BGCP": "BGC Partners, Inc. - Class A Common Stock", "BGFV": "Big 5 Sporting Goods Corporation - Common Stock", "BGNE": "BeiGene, Ltd. - American Depositary Shares", "BGRN": "iShares Global Green Bond ETF", "BHAT": "Blue Hat Interactive Entertainment Technology - Ordinary Shares", "BHF": "Brighthouse Financial, Inc. - Common Stock", "BHFAL": "Brighthouse Financial, Inc. - Junior Subordinated Debentures due 2058", "BHFAN": "Brighthouse Financial, Inc. - depositary shares, each representing a 1/1,000th interest in a share of 5.375% Non-Cumulative Preferred Stock, Series C", "BHFAO": "Brighthouse Financial, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 6.750% Non-Cumulative Preferred Stock, Series B", "BHFAP": "Brighthouse Financial, Inc. - Depositary Shares 6.6% Non-Cumulative Preferred Stock, Series A", "BHSE": "Bull Horn Holdings Corp. - Ordinary Shares", "BHSEU": "Bull Horn Holdings Corp. - Unit", "BHSEW": "Bull Horn Holdings Corp. - Warrants", "BHTG": "BioHiTech Global, Inc. - Common Stock", "BIB": "ProShares Ultra Nasdaq Biotechnology", "BICK": "First Trust BICK Index Fund", "BIDU": "Baidu, Inc. - American Depositary Shares, each representing one tenth Class A ordinary share", "BIGC": "BigCommerce Holdings, Inc. - Series 1 Common Stock", "BIIB": "Biogen Inc.", "BILI": "Bilibili Inc. - American Depositary Shares", "BIMI": "BOQI International Medical Inc. - Common Stock", "BIOC": "Biocept, Inc. - Common Stock", "BIOL": "Biolase, Inc. - Common Stock", "BIOTU": "Biotech Acquisition Company - Unit", "BIS": "ProShares UltraShort Nasdaq Biotechnology", "BIVI": "BioVie Inc. - Common stock", "BJK": "VanEck Vectors Gaming ETF", "BJRI": "BJ's Restaurants, Inc. - Common Stock", "BKCC": "BlackRock Capital Investment Corporation - Common Stock", "BKEP": "Blueknight Energy Partners L.P., L.L.C. - Common Units representing Limited Partner Interests", "BKEPP": "Blueknight Energy Partners L.P., L.L.C. - Series A Preferred Units", "BKNG": "Booking Holdings Inc", "BKSC": "Bank of South Carolina Corp. - Common Stock", "BKYI": "BIO-key International, Inc. - Common Stock", "BL": "BlackLine, Inc. - Common Stock", "BLBD": "Blue Bird Corporation - Common Stock", "BLCM": "Bellicum Pharmaceuticals, Inc. - Common Stock", "BLCN": "Siren Nasdaq NexGen Economy ETF", "BLCT": "BlueCity Holdings Limited - American Depositary Shares", "BLDP": "Ballard Power Systems, Inc. - Common Shares", "BLDR": "Builders FirstSource, Inc. - Common Stock", "BLFS": "BioLife Solutions, Inc. - Common Stock", "BLI": "Berkeley Lights, Inc. - Common Stock", "BLIN": "Bridgeline Digital, Inc. - Common Stock", "BLKB": "Blackbaud, Inc. - Common Stock", "BLMN": "Bloomin' Brands, Inc. - Common Stock", "BLNK": "Blink Charging Co. - Common Stock", "BLNKW": "Blink Charging Co. - Warrant", "BLPH": "Bellerophon Therapeutics, Inc. - Common Stock", "BLRX": "BioLineRx Ltd. - American Depositary Shares", "BLSA": "BCLS Acquisition Corp. - Class A Ordinary Shares", "BLTS": "Bright Lights Acquisition Corp. - Class A Common Stock", "BLTSU": "Bright Lights Acquisition Corp. - Unit", "BLTSW": "Bright Lights Acquisition Corp. - Warrant", "BLU": "BELLUS Health Inc. - Common Shares", "BLUE": "bluebird bio, Inc. - Common Stock", "BLUW": "Blue Water Acquisition Corp. - Class A Common Stock", "BLUWU": "Blue Water Acquisition Corp. - Unit", "BLUWW": "Blue Water Acquisition Corp. - Warrant", "BMBL": "Bumble Inc. - common stock", "BMLP": "Dorsey Wright MLP Index ETNs due December 10, 2036", "BMRA": "Biomerica, Inc. - Common Stock", "BMRC": "Bank of Marin Bancorp - Common Stock", "BMRN": "BioMarin Pharmaceutical Inc. - Common Stock", "BMTC": "Bryn Mawr Bank Corporation - Common Stock", "BND": "Vanguard Total Bond Market ETF", "BNDW": "Vanguard Total World Bond ETF", "BNDX": "Vanguard Total International Bond ETF", "BNFT": "Benefitfocus, Inc. - Common Stock", "BNGO": "Bionano Genomics, Inc. - Common Stock", "BNGOW": "Bionano Genomics, Inc. - Warrant", "BNR": "Burning Rock Biotech Limited - American Depositary Shares", "BNSO": "Bonso Electronics International, Inc. - Common Stock", "BNTC": "Benitec Biopharma Inc. - Common Stock", "BNTX": "BioNTech SE - American Depositary Shares", "BOCH": "Bank of Commerce Holdings (CA) - Common Stock", "BOKF": "BOK Financial Corporation - Common Stock", "BOKFL": "BOK Financial Corporation - 5.375% Subordinated Notes due 2056", "BOLT": "Bolt Biotherapeutics, Inc. - Common Stock", "BOMN": "Boston Omaha Corporation - Class A Common Stock", "BOOM": "DMC Global Inc. - Common Stock", "BOSC": "B.O.S. Better Online Solutions - Ordinary Shares", "BOTJ": "Bank of the James Financial Group, Inc. - Common Stock", "BOTZ": "Global X Robotics & Artificial Intelligence ETF", "BOWX": "BowX Acquisition Corp. - Class A Common Stock", "BOWXU": "BowX Acquisition Corp. - Unit", "BOWXW": "BowX Acquisition Corp. - Warrant", "BOXL": "Boxlight Corporation - Class A Common Stock", "BPFH": "Boston Private Financial Holdings, Inc. - Common Stock", "BPMC": "Blueprint Medicines Corporation - Common Stock", "BPOP": "Popular, Inc. - Common Stock", "BPOPM": "Popular, Inc. - Popular Capital Trust II - 6.125% Cumulative Monthly Income Trust Preferred Securities", "BPOPN": "Popular, Inc. - Popular Capital Trust I -6.70% Cumulative Monthly Income Trust Preferred Securities", "BPRN": "The Bank of Princeton - Common Stock", "BPTH": "Bio-Path Holdings, Inc. - Common Stock", "BPTS": "Biophytis SA - American Depositary Share", "BPY": "Brookfield Property Partners L.P. - Limited Partnership Units", "BPYPN": "Brookfield Property Partners L.P. - 5.750% Class A Cumulative Redeemable Perpetual Preferred Units, Series 3", "BPYPO": "Brookfield Property Partners L.P. - 6.375% Class A Cumulative Redeemable Perpetual Preferred Units, Series 2", "BPYPP": "Brookfield Property Partners L.P. - 6.50% Class A Cumulative Redeemable Perpetual Preferred Units", "BPYU": "Brookfield Property REIT Inc. - Class A Common Stock", "BPYUP": "Brookfield Property REIT Inc. - 6.375% Series A Preferred Stock", "BREZ": "Breeze Holdings Acquisition Corp. - Common Stock", "BREZR": "Breeze Holdings Acquisition Corp. - Right", "BREZW": "Breeze Holdings Acquisition Corp. - Warrant", "BRID": "Bridgford Foods Corporation - Common Stock", "BRKL": "Brookline Bancorp, Inc. - Common Stock", "BRKR": "Bruker Corporation - Common Stock", "BRKS": "Brooks Automation, Inc. - Common Stock", "BRLI": "Brilliant Acquisition Corporation - Ordinary Shares", "BRLIR": "Brilliant Acquisition Corporation - Rights", "BRLIU": "Brilliant Acquisition Corporation - Unit", "BRLIW": "Brilliant Acquisition Corporation - Warrants", "BROG": "Brooge Energy Limited - Ordinary Shares", "BROGW": "Brooge Energy Limited - Warrant", "BRP": "BRP Group, Inc. - Class A Common Stock", "BRPA": "Big Rock Partners Acquisition Corp. - Common Stock", "BRPAR": "Big Rock Partners Acquisition Corp. - Right", "BRPAU": "Big Rock Partners Acquisition Corp. - Unit", "BRPAW": "Big Rock Partners Acquisition Corp. - Warrant", "BRPMU": "B. Riley Principal 150 Merger Corp. - Unit", "BRQS": "Borqs Technologies, Inc. - Ordinary Shares", "BRY": "Berry Corporation (bry) - Common Stock", "BSAE": "Invesco BulletShares 2021 USD Emerging Markets Debt ETF", "BSBE": "Invesco BulletShares 2022 USD Emerging Markets Debt ETF", "BSBK": "Bogota Financial Corp. - Common Stock", "BSCE": "Invesco BulletShares 2023 USD Emerging Markets Debt ETF", "BSCL": "Invesco BulletShares 2021 Corporate Bond ETF", "BSCM": "Invesco BulletShares 2022 Corporate Bond ETF", "BSCN": "Invesco BulletShares 2023 Corporate Bond ETF", "BSCO": "Invesco BulletShares 2024 Corporate Bond ETF", "BSCP": "Invesco BulletShares 2025 Corporate Bond ETF", "BSCQ": "Invesco BulletShares 2026 Corporate Bond ETF", "BSCR": "Invesco BulletShares 2027 Corporate Bond ETF", "BSCS": "Invesco BulletShares 2028 Corporate Bond ETF", "BSCT": "Invesco BulletShares 2029 Corporate Bond ETF", "BSCU": "Invesco BulletShares 2030 Corporate Bond ETF", "BSDE": "Invesco BulletShares 2024 USD Emerging Markets Debt ETF", "BSET": "Bassett Furniture Industries, Incorporated - Common Stock", "BSGM": "BioSig Technologies, Inc. - Common Stock", "BSJL": "Invesco BulletShares 2021 High Yield Corporate Bond ETF", "BSJM": "Invesco BulletShares 2022 High Yield Corporate Bond ETF", "BSJN": "Invesco BulletShares 2023 High Yield Corporate Bond ETF", "BSJO": "Invesco BulletShares 2024 High Yield Corporate Bond ETF", "BSJP": "Invesco BulletShares 2025 High Yield Corporate Bond ETF", "BSJQ": "Invesco BulletShares 2026 High Yield Corporate Bond ETF", "BSJR": "Invesco BulletShares 2027 High Yield Corporate Bond ETF", "BSJS": "Invesco BulletShares 2028 High Yield Corporate Bond ETF", "BSML": "Invesco BulletShares 2021 Municipal Bond ETF", "BSMM": "Invesco BulletShares 2022 Municipal Bond ETF", "BSMN": "Invesco BulletShares 2023 Municipal Bond ETF", "BSMO": "Invesco BulletShares 2024 Municipal Bond ETF", "BSMP": "Invesco BulletShares 2025 Municipal Bond ETF", "BSMQ": "Invesco BulletShares 2026 Municipal Bond ETF", "BSMR": "Invesco BulletShares 2027 Municipal Bond ETF", "BSMS": "Invesco BulletShares 2028 Municipal Bond ETF", "BSMT": "Invesco BulletShares 2029 Municipal Bond ETF", "BSMU": "Invesco BulletShares 2030 Municipal Bond ETF", "BSPE": "Bespoke Capital Acquisition Corp. - Class A Restricted Voting Shares", "BSQR": "BSQUARE Corporation - Common Stock", "BSRR": "Sierra Bancorp - Common Stock", "BSVN": "Bank7 Corp. - Common stock", "BSY": "Bentley Systems, Incorporated - Class B Common Stock", "BTAI": "BioXcel Therapeutics, Inc. - Common Stock", "BTAQ": "Burgundy Technology Acquisition Corporation - Class A Ordinary Shares", "BTAQU": "Burgundy Technology Acquisition Corporation - Unit", "BTAQW": "Burgundy Technology Acquisition Corporation - Warrant", "BTBT": "Bit Digital, Inc. - Ordinary Share", "BTEC": "Principal Healthcare Innovators Index ETF", "BTNB": "Bridgetown 2 Holdings Limited - Class A Ordinary Shares", "BTRS": "BTRS Holdings Inc. - Class 1 Common Stock", "BTRSW": "BTRS Holdings Inc. - Warrants", "BTWN": "Bridgetown Holdings Limited - Class A Ordinary Shares", "BTWNU": "Bridgetown Holdings Limited - Units", "BTWNW": "Bridgetown Holdings Limited - Warrants", "BUG": "Global X Cybersecurity ETF", "BUSE": "First Busey Corporation - Common Stock", "BVS": "Bioventus Inc. - Class A Common Stock", "BVXV": "BiondVax Pharmaceuticals Ltd. - American Depositary Shares", "BWAC": "Better World Acquisition Corp. - Common Stock", "BWACU": "Better World Acquisition Corp. - Unit", "BWACW": "Better World Acquisition Corp. - Warrants", "BWAY": "Brainsway Ltd. - American Depositary Shares", "BWB": "Bridgewater Bancshares, Inc. - Common Stock", "BWEN": "Broadwind, Inc. - Common Stock", "BWFG": "Bankwell Financial Group, Inc. - Common Stock", "BWMX": "Betterware de Mexico, S.A.B de C.V. - Ordinary Shares", "BXRX": "Baudax Bio, Inc. - Common stock", "BYFC": "Broadway Financial Corporation - Common Stock", "BYND": "Beyond Meat, Inc. - Common stock", "BYSI": "BeyondSpring, Inc. - Ordinary Shares", "BZUN": "Baozun Inc. - American Depositary Shares", "CAAS": "China Automotive Systems, Inc. - Common Stock", "CABA": "Cabaletta Bio, Inc. - Common Stock", "CAC": "Camden National Corporation - Common Stock", "CACC": "Credit Acceptance Corporation - Common Stock", "CACG": "ClearBridge All Cap Growth ETF", "CAHCU": "CA Healthcare Acquisition Corp. - Unit", "CAKE": "The Cheesecake Factory Incorporated - Common Stock", "CALA": "Calithera Biosciences, Inc. - Common Stock", "CALB": "California BanCorp - Common Stock", "CALM": "Cal-Maine Foods, Inc. - Common Stock", "CALT": "Calliditas Therapeutics AB - American Depositary Shares", "CAMP": "CalAmp Corp. - Common Stock", "CAMT": "Camtek Ltd. - Ordinary Shares", "CAN": "Canaan Inc. - American Depositary Shares", "CAPA": "HighCape Capital Acquisition Corp. - Class A Common Stock", "CAPAU": "HighCape Capital Acquisition Corp. - Unit", "CAPAW": "HighCape Capital Acquisition Corp. - Warrant", "CAPR": "Capricor Therapeutics, Inc. - Common Stock", "CAR": "Avis Budget Group, Inc. - Common Stock", "CARA": "Cara Therapeutics, Inc. - Common Stock", "CARE": "Carter Bankshares, Inc. - Common Stock", "CARG": "CarGurus, Inc. - Class A Common Stock", "CARV": "Carver Bancorp, Inc. - Common Stock", "CARZ": "First Trust NASDAQ Global Auto Index Fund", "CASA": "Casa Systems, Inc. - Common Stock", "CASH": "Meta Financial Group, Inc. - Common Stock", "CASI": "CASI Pharmaceuticals, Inc. - Common Stock", "CASS": "Cass Information Systems, Inc - Common Stock", "CASY": "Caseys General Stores, Inc. - Common Stock", "CATB": "Catabasis Pharmaceuticals, Inc. - Common Stock", "CATC": "Cambridge Bancorp - Common Stock", "CATH": "Global X S&P 500 Catholic Values ETF", "CATM": "Cardtronics plc - Common Stock", "CATY": "Cathay General Bancorp - Common Stock", "CBAN": "Colony Bankcorp, Inc. - Common Stock", "CBAT": "CBAK Energy Technology, Inc. - Common Stock", "CBAY": "CymaBay Therapeutics Inc. - Common Stock", "CBFV": "CB Financial Services, Inc. - Common Stock", "CBIO": "Catalyst Biosciences, Inc. - Common Stock", "CBLI": "Cleveland BioLabs, Inc. - Common Stock", "CBMB": "CBM Bancorp, Inc. - Common Stock", "CBNK": "Capital Bancorp, Inc. - Common Stock", "CBPO": "China Biologic Products Holdings, Inc. - Common Stock", "CBRL": "Cracker Barrel Old Country Store, Inc. - Common Stock", "CBSH": "Commerce Bancshares, Inc. - Common Stock", "CBTX": "CBTX, Inc. - Common Stock", "CCAP": "Crescent Capital BDC, Inc. - Common Stock", "CCB": "Coastal Financial Corporation - Common Stock", "CCBG": "Capital City Bank Group - Common Stock", "CCCC": "C4 Therapeutics, Inc. - Common Stock", "CCD": "Calamos Dynamic Convertible & Income Fund - Common Shares", "CCLP": "CSI Compressco LP - common units", "CCMP": "CMC Materials, Inc. - Common Stock", "CCNC": "Code Chain New Continent Limited - Common Stock", "CCNE": "CNB Financial Corporation - Common Stock", "CCNEP": "CNB Financial Corporation - Depositary shares, each representing a 1/40th ownership interest in a share of 7.125% Series A Fixed- Rate Non-Cumulative Perpetual Preferred Stock", "CCOI": "Cogent Communications Holdings, Inc. - Common Stock", "CCRC": "China Customer Relations Centers, Inc. - Ordinary Shares", "CCRN": "Cross Country Healthcare, Inc. - Common Stock", "CCXI": "ChemoCentryx, Inc. - Common Stock", "CD": "Chindata Group Holdings Limited - American Depositary Shares", "CDAK": "Codiak BioSciences, Inc. - Common Stock", "CDC": "VictoryShares US EQ Income Enhanced Volatility Wtd ETF", "CDEV": "Centennial Resource Development, Inc. - Class A Common Stock", "CDK": "CDK Global, Inc. - Common Stock", "CDL": "VictoryShares US Large Cap High Div Volatility Wtd ETF", "CDLX": "Cardlytics, Inc. - Common Stock", "CDMO": "Avid Bioservices, Inc. - Common Stock", "CDMOP": "Avid Bioservices, Inc. - 10.50% Series E Convertible Preferred Stock", "CDNA": "CareDx, Inc. - Common Stock", "CDNS": "Cadence Design Systems", "CDTX": "Cidara Therapeutics, Inc. - Common Stock", "CDW": "CDW", "CDXC": "ChromaDex Corporation - Common Stock", "CDXS": "Codexis, Inc. - Common Stock", "CDZI": "Cadiz, Inc. - Common Stock", "CECE": "CECO Environmental Corp. - Common Stock", "CEFA": "Global X S&P Catholic Values Developed ex-U.S. ETF", "CELC": "Celcuity Inc. - Common Stock", "CELH": "Celsius Holdings, Inc. - Common Stock", "CEMI": "Chembio Diagnostics, Inc. - Common Stock", "CENHU": "Centricus Acquisition Corp. - Unit", "CENT": "Central Garden & Pet Company - Common Stock", "CENTA": "Central Garden & Pet Company - Class A Common Stock Nonvoting", "CENX": "Century Aluminum Company - Common Stock", "CERC": "Cerecor Inc. - Common Stock", "CERE": "Cerevel Therapeutics Holdings, Inc. - Common Stock", "CEREW": "Cerevel Therapeutics Holdings, Inc. - Warrant", "CERN": "Cerner", "CERS": "Cerus Corporation - Common Stock", "CERT": "Certara, Inc. - Common Stock", "CETX": "Cemtrex Inc. - Common Stock", "CETXP": "Cemtrex Inc. - Series 1 Preferred Stock", "CETXW": "Cemtrex Inc. - Series 1 Warrant", "CEVA": "CEVA, Inc. - Common Stock", "CEY": "VictoryShares Emerging Market High Div Volatility Wtd ETF", "CEZ": "VictoryShares Emerging Market Volatility Wtd ETF", "CFA": "VictoryShares US 500 Volatility Wtd ETF", "CFAC": "CF Finance Acquisition Corp. III - Common Stock", "CFACU": "CF Finance Acquisition Corp. III - Unit", "CFACW": "CF Finance Acquisition Corp. III - Warrant", "CFB": "CrossFirst Bankshares, Inc. - Common Stock", "CFBK": "CF Bankshares Inc. - Common Stock", "CFFI": "C&F Financial Corporation - Common Stock", "CFFN": "Capitol Federal Financial, Inc. - Common Stock", "CFFVU": "CF Acquisition Corp. V - Unit", "CFII": "CF Finance Acquisition Corp. II - Class A Common Stock", "CFIIU": "CF Finance Acquisition Corp. II - Unit", "CFIIW": "CF Finance Acquisition Corp. II - Warrant", "CFIV": "CF Acquisition Corp. IV - Class A common stock", "CFIVU": "CF Acquisition Corp. IV - Unit", "CFIVW": "CF Acquisition Corp. IV - Warrant", "CFMS": "Conformis, Inc. - Common Stock", "CFO": "VictoryShares US 500 Enhanced Volatility Wtd ETF", "CFRX": "ContraFect Corporation - Common Stock", "CFVIU": "CF Acquisition Corp. VI - Unit", "CG": "The Carlyle Group Inc. - Common Stock", "CGBD": "TCG BDC, Inc. - Common Stock", "CGC": "Canopy Growth Corporation - Common Shares", "CGEM": "Cullinan Oncology, Inc. - Common Stock", "CGEN": "Compugen Ltd. - Ordinary Shares", "CGIX": "Cancer Genetics, Inc. - Common Stock", "CGNT": "Cognyte Software Ltd. - Ordinary Shares", "CGNX": "Cognex Corporation - Common Stock", "CGO": "Calamos Global Total Return Fund - Common Stock", "CGRO": "Collective Growth Corporation - Class A Common Stock", "CGROU": "Collective Growth Corporation - Unit", "CGROW": "Collective Growth Corporation - Warrant", "CHB": "Global X China Biotech Innovation ETF", "CHCI": "Comstock Holding Companies, Inc. - Class A Common Stock", "CHCO": "City Holding Company - Common Stock", "CHDN": "Churchill Downs, Incorporated - Common Stock", "CHEF": "The Chefs' Warehouse, Inc. - Common Stock", "CHEK": "Check-Cap Ltd. - Ordinary Share", "CHEKZ": "Check-Cap Ltd. - Series C Warrant", "CHFS": "CHF Solutions, Inc. - Common Stock", "CHI": "Calamos Convertible Opportunities and Income Fund - Common Stock", "CHK": "Chesapeake Energy Corporation - Common Stock", "CHKEL": "Chesapeake Energy Corporation - Class C Warrants", "CHKEW": "Chesapeake Energy Corporation - Class A Warrants", "CHKEZ": "Chesapeake Energy Corporation - Class B Warrants", "CHKP": "Check Point Software Technologies Ltd. - Ordinary Shares", "CHMA": "Chiasma, Inc. - Common Stock", "CHMG": "Chemung Financial Corp - Common Stock", "CHNA": "Loncar China BioPharma ETF", "CHNG": "Change Healthcare Inc. - Common Stock", "CHNGU": "Change Healthcare Inc. - Tangible Equity Units", "CHNR": "China Natural Resources, Inc. - Common Stock", "CHPM": "CHP Merger Corp. - Class A Common Stock", "CHPMU": "CHP Merger Corp. - Unit", "CHPMW": "CHP Merger Corp. - Warrant", "CHRS": "Coherus BioSciences, Inc. - Common Stock", "CHRW": "C. H. Robinson Worldwide", "CHSCL": "CHS Inc - Class B Cumulative Redeemable Preferred Stock, Series 4", "CHSCM": "CHS Inc - Class B Reset Rate Cumulative Redeemable Preferred Stock, Series 3", "CHSCN": "CHS Inc - Preferred Class B Series 2 Reset Rate", "CHSCO": "CHS Inc - Class B Cumulative Redeemable Preferred Stock", "CHSCP": "CHS Inc - 8% Cumulative Redeemable Preferred Stock", "CHTR": "Charter Communications", "CHUY": "Chuy's Holdings, Inc. - Common Stock", "CHW": "Calamos Global Dynamic Income Fund - Common Stock", "CHX": "ChampionX Corporation - Common Stock", "CHY": "Calamos Convertible and High Income Fund - Common Stock", "CIBR": "First Trust NASDAQ Cybersecurity ETF", "CID": "VictoryShares International High Div Volatility Wtd ETF", "CIDM": "Cinedigm Corp - Class A Common Stock", "CIGI": "Colliers International Group Inc. - Subordinate Voting Shares", "CIH": "China Index Holdings Limited - American Depository Shares", "CIIC": "CIIG Merger Corp. - Class A Common Stock", "CIICU": "CIIG Merger Corp. - Units", "CIICW": "CIIG Merger Corp. - Warrants", "CIL": "VictoryShares International Volatility Wtd ETF", "CINF": "Cincinnati Financial", "CIVB": "Civista Bancshares, Inc. - Common Stock", "CIZ": "VictoryShares Developed Enhanced Volatility Wtd ETF", "CIZN": "Citizens Holding Company - Common Stock", "CJJD": "China Jo-Jo Drugstores, Inc. - Common Stock", "CKPT": "Checkpoint Therapeutics, Inc. - Common Stock", "CLAR": "Clarus Corporation - Common Stock", "CLBK": "Columbia Financial, Inc. - Common Stock", "CLBS": "Caladrius Biosciences, Inc. - Common Stock", "CLDB": "Cortland Bancorp - Common Stock", "CLDX": "Celldex Therapeutics, Inc. - Common Stock", "CLEU": "China Liberal Education Holdings Limited - Ordinary Shares", "CLFD": "Clearfield, Inc. - Common Stock", "CLGN": "CollPlant Biotechnologies Ltd. - American Depositary Shares", "CLIR": "ClearSign Technologies Corporation - Common Stock", "CLLS": "Cellectis S.A. - American Depositary Shares", "CLMT": "Calumet Specialty Products Partners, L.P. - Common units representing limited partner interests", "CLNE": "Clean Energy Fuels Corp. - Common Stock", "CLNN": "Clene Inc. - Common Stock", "CLNNW": "Clene Inc. - Warrant", "CLOU": "Global X Cloud Computing ETF", "CLOV": "Clover Health Investments, Corp. - Class A Common stock", "CLOVW": "Clover Health Investments, Corp. - Warrants", "CLPS": "CLPS Incorporation - Common Stock", "CLPT": "ClearPoint Neuro Inc. - Common Stock", "CLRB": "Cellectar Biosciences, Inc. - Common Stock", "CLRBZ": "Cellectar Biosciences, Inc. - Series A Warrants", "CLRG": "IQ Chaikin U.S. Large Cap ETF", "CLRMU": "Clarim Acquisition Corp. - Unit", "CLRO": "ClearOne, Inc. - Common Stock", "CLSD": "Clearside Biomedical, Inc. - Common Stock", "CLSK": "CleanSpark, Inc. - Common Stock", "CLSN": "Celsion Corporation - Common Stock", "CLVR": "Clever Leaves Holdings Inc. - Common Shares", "CLVRW": "Clever Leaves Holdings Inc. - Warrant", "CLVS": "Clovis Oncology, Inc. - Common Stock", "CLWT": "Euro Tech Holdings Company Limited - Ordinary Shares", "CLXT": "Calyxt, Inc. - Common Stock", "CMBM": "Cambium Networks Corporation - Ordinary Shares", "CMCO": "Columbus McKinnon Corporation - Common Stock", "CMCSA": "Comcast Corp.", "CMCT": "CIM Commercial Trust Corporation - Common Stock", "CMCTP": "CIM Commercial Trust Corporation - Series L Preferred Stock", "CME": "CME Group Inc.", "CMFNL": "Investcorp Credit Management BDC, Inc. - 6.125% Notes due 2023", "CMIIU": "CM Life Sciences II Inc. - Unit", "CMLF": "CM Life Sciences, Inc. - Class A Common Stock", "CMLFU": "CM Life Sciences, Inc. - Unit", "CMLFW": "CM Life Sciences, Inc. - Warrant", "CMLS": "Cumulus Media Inc. - Class A Common Stock", "CMPI": "Checkmate Pharmaceuticals, Inc. - Common Stock", "CMPR": "Cimpress plc - Ordinary Shares", "CMPS": "COMPASS Pathways Plc - American Depository Shares", "CMRX": "Chimerix, Inc. - Common Stock", "CMTL": "Comtech Telecommunications Corp. - Common Stock", "CNBKA": "Century Bancorp, Inc. - Class A Common Stock", "CNCE": "Concert Pharmaceuticals, Inc. - Common Stock", "CNCR": "Loncar Cancer Immunotherapy ETF", "CNDT": "Conduent Incorporated - Common Stock", "CNET": "ZW Data Action Technologies Inc. - Common Stock", "CNEY": "CN Energy Group Inc. - Ordinary Shares", "CNFR": "Conifer Holdings, Inc. - Common Stock", "CNFRL": "Conifer Holdings, Inc. - Senior Unsecured Notes", "CNNB": "Cincinnati Bancorp, Inc. - Common Stock", "CNOB": "ConnectOne Bancorp, Inc. - Common Stock", "CNSL": "Consolidated Communications Holdings, Inc. - Common Stock", "CNSP": "CNS Pharmaceuticals, Inc. - Common Stock", "CNST": "Constellation Pharmaceuticals, Inc. - Common Stock", "CNTG": "Centogene N.V. - Common Shares", "CNTY": "Century Casinos, Inc. - Common Stock", "CNXC": "Concentrix Corporation - Common Stock", "CNXN": "PC Connection, Inc. - Common Stock", "COCP": "Cocrystal Pharma, Inc. - Common Stock", "CODA": "Coda Octopus Group, Inc. - Common stock", "CODX": "Co-Diagnostics, Inc. - Common Stock", "COFS": "ChoiceOne Financial Services, Inc. - Common Stock", "COGT": "Cogent Biosciences, Inc. - Common Stock", "COHR": "Coherent, Inc. - Common Stock", "COHU": "Cohu, Inc. - Common Stock", "COKE": "Coca-Cola Consolidated, Inc. - Common Stock", "COLB": "Columbia Banking System, Inc. - Common Stock", "COLIU": "Colicity Inc. - Units", "COLL": "Collegium Pharmaceutical, Inc. - Common Stock", "COLM": "Columbia Sportswear Company - Common Stock", "COMM": "CommScope Holding Company, Inc. - Common Stock", "COMS": "ComSovereign Holding Corp. - Common Stock", "COMSW": "ComSovereign Holding Corp. - Warrants", "COMT": "iShares GSCI Commodity Dynamic Roll Strategy ETF", "CONE": "CyrusOne Inc - Common Stock", "CONN": "Conn's, Inc. - Common Stock", "CONX": "CONX Corp. - Class A Common Stock", "CONXU": "CONX Corp. - Unit", "CONXW": "CONX Corp. - Warrant", "COOL": "Corner Growth Acquisition Corp. - Class A Ordinary Shares", "COOLU": "Corner Growth Acquisition Corp. - Unit", "COOLW": "Corner Growth Acquisition Corp. - Warrant", "COOP": "Mr. Cooper Group Inc. - Common Stock", "CORE": "Core-Mark Holding Company, Inc. - Common Stock", "CORT": "Corcept Therapeutics Incorporated - Common Stock", "COST": "Costco Wholesale Corp.", "COUP": "Coupa Software Incorporated - Common Stock", "COVAU": "COVA Acquisition Corp. - Unit", "COWN": "Cowen Inc. - Class A Common Stock", "COWNL": "Cowen Inc. - 7.75% Senior Notes due 2033", "COWNZ": "Cowen Inc. - 7.35% Senior Notes Due 2027", "CPHC": "Canterbury Park Holding Corporation - Common Stock", "CPIX": "Cumberland Pharmaceuticals Inc. - Common Stock", "CPLP": "Capital Product Partners L.P. - common units representing limited partner interests", "CPRT": "Copart Inc", "CPRX": "Catalyst Pharmaceuticals, Inc. - Common Stock", "CPSH": "CPS Technologies Corp. - Common Stock", "CPSI": "Computer Programs and Systems, Inc. - Common Stock", "CPSS": "Consumer Portfolio Services, Inc. - Common Stock", "CPST": "Capstone Turbine Corporation - Common Stock", "CPTA": "Capitala Finance Corp. - Common Stock", "CPTAG": "Capitala Finance Corp. - 5.75% Convertible Notes Due 2022", "CPTAL": "Capitala Finance Corp. - 6% Notes Due 2022", "CPZ": "Calamos Long/Short Equity & Dynamic Income Trust - Common Stock", "CRAI": "CRA International,Inc. - Common Stock", "CRBP": "Corbus Pharmaceuticals Holdings, Inc. - Common Stock", "CRDF": "Cardiff Oncology, Inc. - Common Stock", "CREE": "Cree, Inc. - Common Stock", "CREG": "China Recycling Energy Corporation - Common Stock", "CRESY": "Cresud S.A.C.I.F. y A. - American Depositary Shares, each representing ten shares of Common Stock", "CREX": "Creative Realities, Inc. - Common Stock", "CREXW": "Creative Realities, Inc. - Warrant", "CRIS": "Curis, Inc. - Common Stock", "CRKN": "Crown Electrokinetics Corp. - Common Stock", "CRMD": "CorMedix Inc. - Common Stock", "CRMT": "America's Car-Mart, Inc. - Common Stock", "CRNC": "Cerence Inc. - Common Stock", "CRNT": "Ceragon Networks Ltd. - Ordinary Shares", "CRNX": "Crinetics Pharmaceuticals, Inc. - Common Stock", "CRON": "Cronos Group Inc. - Common Share", "CROX": "Crocs, Inc. - Common Stock", "CRSA": "Crescent Acquisition Corp - Class A Common Stock", "CRSAU": "Crescent Acquisition Corp - Unit", "CRSAW": "Crescent Acquisition Corp - Warrant", "CRSP": "CRISPR Therapeutics AG - Common Shares", "CRSR": "Corsair Gaming, Inc. - Common Stock", "CRTD": "Creatd Inc. - Common Stock", "CRTDW": "Creatd Inc. - Warrant", "CRTO": "Criteo S.A. - American Depositary Shares", "CRTX": "Cortexyme, Inc. - Common Stock", "CRUS": "Cirrus Logic, Inc. - Common Stock", "CRVL": "CorVel Corp. - Common Stock", "CRVS": "Corvus Pharmaceuticals, Inc. - Common Stock", "CRWD": "CrowdStrike Holdings, Inc. - Class A Common Stock", "CRWS": "Crown Crafts, Inc. - Common Stock", "CSA": "VictoryShares US Small Cap Volatility Wtd ETF", "CSB": "VictoryShares US Small Cap High Div Volatility Wtd ETF", "CSBR": "Champions Oncology, Inc. - Common Stock", "CSCW": "Color Star Technology Co. Ltd. - Ordinary Shares", "CSF": "VictoryShares US Discovery Enhanced Volatility Wtd ETF", "CSGP": "CoStar Group, Inc. - Common Stock", "CSGS": "CSG Systems International, Inc. - Common Stock", "CSII": "Cardiovascular Systems, Inc. - Common Stock", "CSIQ": "Canadian Solar Inc. - Common Shares", "CSML": "IQ Chaikin U.S. Small Cap ETF", "CSOD": "Cornerstone OnDemand, Inc. - Common Stock", "CSPI": "CSP Inc. - Common Stock", "CSQ": "Calamos Strategic Total Return Fund - Common Stock", "CSSE": "Chicken Soup for the Soul Entertainment, Inc. - Class A Common Stock", "CSSEN": "Chicken Soup for the Soul Entertainment, Inc. - 9.50% Notes due 2025", "CSSEP": "Chicken Soup for the Soul Entertainment, Inc. - 9.75% Series A Cumulative Redeemable Perpetual Preferred Stock", "CSTE": "Caesarstone Ltd. - Ordinary Shares", "CSTL": "Castle Biosciences, Inc. - Common stock", "CSTR": "CapStar Financial Holdings, Inc. - Common Stock", "CSWC": "Capital Southwest Corporation - Common Stock", "CSWI": "CSW Industrials, Inc. - Common Stock", "CSX": "CSX Corp.", "CTAQ": "Carney Technology Acquisition Corp. II - Class A Common Stock", "CTAQU": "Carney Technology Acquisition Corp. II - Units", "CTAQW": "Carney Technology Acquisition Corp. II - Warrant", "CTAS": "Cintas Corporation", "CTBI": "Community Trust Bancorp, Inc. - Common Stock", "CTEC": "Global X CleanTech ETF", "CTG": "Computer Task Group, Incorporated - Common Stock", "CTHR": "Charles & Colvard Ltd. - Common Stock", "CTIB": "Yunhong CTI Ltd. - Common Stock", "CTIC": "CTI BioPharma Corp. - Common Stock", "CTMX": "CytomX Therapeutics, Inc. - Common Stock", "CTRE": "CareTrust REIT, Inc. - Common Stock", "CTRM": "Castor Maritime Inc. - Common Shares", "CTRN": "Citi Trends, Inc. - Common Stock", "CTSH": "Cognizant Technology Solutions", "CTSO": "Cytosorbents Corporation - Common Stock", "CTXR": "Citius Pharmaceuticals, Inc. - Common Stock", "CTXRW": "Citius Pharmaceuticals, Inc. - Warrant", "CTXS": "Citrix Systems", "CUBA": "The Herzfeld Caribbean Basin Fund, Inc. - Closed End FUnd", "CUE": "Cue Biopharma, Inc. - Common Stock", "CUEN": "Cuentas, Inc. - Common Stock", "CUENW": "Cuentas, Inc. - Warrant", "CURI": "CuriosityStream Inc. - Class A Common Stock", "CURIW": "CuriosityStream Inc. - Warrant", "CUTR": "Cutera, Inc. - Common Stock", "CVAC": "CureVac N.V. - Ordinary Shares", "CVBF": "CVB Financial Corporation - Common Stock", "CVCO": "Cavco Industries, Inc. - Common Stock", "CVCY": "Central Valley Community Bancorp - Common Stock", "CVET": "Covetrus, Inc. - Common Stock", "CVGI": "Commercial Vehicle Group, Inc. - Common Stock", "CVGW": "Calavo Growers, Inc. - Common Stock", "CVLG": "Covenant Logistics Group, Inc. - Class A Common Stock", "CVLT": "Commvault Systems, Inc. - Common Stock", "CVLY": "Codorus Valley Bancorp, Inc - Common Stock", "CVV": "CVD Equipment Corporation - Common Stock", "CWBC": "Community West Bancshares - Common Stock", "CWBR": "CohBar, Inc. - Common Stock", "CWCO": "Consolidated Water Co. Ltd. - Ordinary Shares", "CWST": "Casella Waste Systems, Inc. - Class A Common Stock", "CXDC": "China XD Plastics Company Limited - Common Stock", "CXDO": "Crexendo, Inc. - Common Stock", "CXSE": "WisdomTree China ex-State-Owned Enterprises Fund", "CYAD": "Celyad Oncology SA - American Depositary Shares", "CYAN": "Cyanotech Corporation - Common Stock", "CYBE": "CyberOptics Corporation - Common Stock", "CYBR": "CyberArk Software Ltd. - Ordinary Shares", "CYCC": "Cyclacel Pharmaceuticals, Inc. - Common Stock", "CYCCP": "Cyclacel Pharmaceuticals, Inc. - 6% Convertible Preferred Stock", "CYCN": "Cyclerion Therapeutics, Inc. - Common Stock ", "CYRN": "CYREN Ltd. - Ordinary Shares", "CYRX": "CryoPort, Inc. - Common Stock", "CYTH": "Cyclo Therapeutics, Inc. - Common Stock", "CYTHW": "Cyclo Therapeutics, Inc. - Warrant", "CYTK": "Cytokinetics, Incorporated - Common Stock", "CZNC": "Citizens & Northern Corp - Common Stock", "CZR": "Caesars Entertainment, Inc. - Common Stock", "CZWI": "Citizens Community Bancorp, Inc. - Common Stock", "DADA": "Dada Nexus Limited - American Depositary Shares", "DAIO": "Data I/O Corporation - Common Stock", "DAKT": "Daktronics, Inc. - Common Stock", "DALI": "First Trust Dorsey Wright DALI 1 ETF", "DARE": "Dare Bioscience, Inc. - Common Stock", "DAX": "Global X DAX Germany ETF", "DBDR": "Roman DBDR Tech Acquisition Corp. - Class A Common Stock", "DBDRU": "Roman DBDR Tech Acquisition Corp. - Unit", "DBDRW": "Roman DBDR Tech Acquisition Corp. - Warrant", "DBTX": "Decibel Therapeutics, Inc. - Common Stock", "DBVT": "DBV Technologies S.A. - American Depositary Shares", "DBX": "Dropbox, Inc. - Class A Common Stock", "DCBO": "Docebo Inc. - Common Shares", "DCOM": "Dime Community Bancshares, Inc. - Common Stock", "DCOMP": "Dime Community Bancshares, Inc. - Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "DCPH": "Deciphera Pharmaceuticals, Inc. - Common Stock", "DCRB": "Decarbonization Plus Acquisition Corporation - Class A Common Stock", "DCRBU": "Decarbonization Plus Acquisition Corporation - Unit", "DCRBW": "Decarbonization Plus Acquisition Corporation - Warrant", "DCRNU": "Decarbonization Plus Acquisition Corporation II - Unit", "DCT": "Duck Creek Technologies, Inc. - Common Stock", "DCTH": "Delcath Systems, Inc. - Common Stock", "DDIV": "First Trust Dorsey Wright Momentum & Dividend ETF", "DDMX": "DD3 Acquisition Corp. II - Class A Common Stock", "DDMXU": "DD3 Acquisition Corp. II - Unit", "DDMXW": "DD3 Acquisition Corp. II - Warrant", "DDOG": "Datadog, Inc. - Class A Common Stock", "DEMZ": "DEMZ Political Contributions ETF", "DENN": "Denny's Corporation - Common Stock", "DFFN": "Diffusion Pharmaceuticals Inc. - Common Stock", "DFH": "Dream Finders Homes, Inc. - Class A Common Stock", "DFHT": "Deerfield Healthcare Technology Acquisitions Corp. - Class A Common Stock", "DFHTU": "Deerfield Healthcare Technology Acquisitions Corp. - Unit", "DFHTW": "Deerfield Healthcare Technology Acquisitions Corp. - Warrant", "DFNL": "Davis Select Financial ETF", "DFPH": "DFP Healthcare Acquisitions Corp. - Class A Common Stock", "DFPHU": "DFP Healthcare Acquisitions Corp. - Unit", "DFPHW": "DFP Healthcare Acquisitions Corp. - Warrant", "DGICA": "Donegal Group, Inc. - Class A Common Stock", "DGICB": "Donegal Group, Inc. - Class B Common Stock", "DGII": "Digi International Inc. - Common Stock", "DGLY": "Digital Ally, Inc. - Common Stock", "DGNS": "Dragoneer Growth Opportunities Corp. II - Class A Ordinary Shares", "DGRE": "WisdomTree Emerging Markets Quality Dividend Growth Fund", "DGRS": "WisdomTree U.S. SmallCap Quality Dividend Growth Fund", "DGRW": "WisdomTree U.S. Quality Dividend Growth Fund", "DHBCU": "DHB Capital Corp. - Unit", "DHC": "Diversified Healthcare Trust - Common Shares of Beneficial Interest", "DHCAU": "DHC Acquisition Corp. - Unit", "DHCNI": "Diversified Healthcare Trust - 5.625% Senior Notes due 2042", "DHCNL": "Diversified Healthcare Trust - 6.25% Senior Notes Due 2046", "DHHCU": "DiamondHead Holdings Corp. - Unit", "DHIL": "Diamond Hill Investment Group, Inc. - Class A Common Stock", "DINT": "Davis Select International ETF", "DIOD": "Diodes Incorporated - Common Stock", "DISCA": "Discovery, Inc. (Series A)", "DISCB": "Discovery, Inc. - Series B Common Stock", "DISCK": "Discovery, Inc. (Series C)", "DISH": "Dish Network", "DJCO": "Daily Journal Corp. (S.C.) - Common Stock", "DKNG": "DraftKings Inc. - Class A Common Stock", "DLCAU": "Deep Lake Capital Acquisition Corp. - Unit", "DLHC": "DLH Holdings Corp. - Common Stock", "DLPN": "Dolphin Entertainment, Inc. - Common Stock", "DLTH": "Duluth Holdings Inc. - Class B Common Stock", "DLTR": "Dollar Tree", "DMAC": "DiaMedica Therapeutics Inc. - Common Stock", "DMLP": "Dorchester Minerals, L.P. - Common Units Representing Limited Partnership Interests", "DMRC": "Digimarc Corporation - Common Stock", "DMTK": "DermTech, Inc. - Common Stock", "DMXF": "iShares ESG Advanced MSCI EAFE ETF", "DNLI": "Denali Therapeutics Inc. - Common Stock", "DOCU": "DocuSign, Inc. - Common Stock", "DOGZ": "Dogness (International) Corporation - Class A Common Stock", "DOMO": "Domo, Inc. - Class B Common Stock", "DOOO": "BRP Inc. - Common Subordinate Voting Shares", "DORM": "Dorman Products, Inc. - Common Stock", "DOX": "Amdocs Limited - Ordinary Shares", "DOYU": "DouYu International Holdings Limited - American Depositary Shares", "DRIO": "DarioHealth Corp. - Common Stock", "DRIOW": "DarioHealth Corp. - Warrant", "DRIV": "Global X Autonomous & Electric Vehicles ETF", "DRNA": "Dicerna Pharmaceuticals, Inc. - Common Stock", "DRRX": "DURECT Corporation - Common Stock", "DRTT": "DIRTT Environmental Solutions Ltd. - Common Shares", "DRVN": "Driven Brands Holdings Inc. - Common Stock", "DSAC": "Duddell Street Acquisition Corp. - Class A Ordinary Shares", "DSACU": "Duddell Street Acquisition Corp. - Unit", "DSACW": "Duddell Street Acquisition Corp. - Warrant", "DSGX": "The Descartes Systems Group Inc. - Common Stock", "DSKE": "Daseke, Inc. - Common Stock", "DSKEW": "Daseke, Inc. - Warrant", "DSP": "Viant Technology Inc. - common stock", "DSPG": "DSP Group, Inc. - Common Stock", "DSWL": "Deswell Industries, Inc. - Common Shares", "DTEA": "DAVIDsTEA Inc. - Common Stock", "DTIL": "Precision BioSciences, Inc. - Common Stock", "DTSS": "Datasea Inc. - Common Stock", "DUNE": "Dune Acquisition Corporation - Class A Common Stock", "DUNEU": "Dune Acquisition Corporation - Unit", "DUNEW": "Dune Acquisition Corporation - Warrant", "DUO": "Fangdd Network Group Ltd. - American Depositary Shares", "DUOT": "Duos Technologies Group, Inc. - Common Stock", "DUSA": "Davis Select U.S. Equity ETF", "DVAX": "Dynavax Technologies Corporation - Common Stock", "DVLU": "First Trust Dorsey Wright Momentum & Value ETF", "DVOL": "First Trust Dorsey Wright Momentum & Low Volatility ETF", "DVY": "iShares Select Dividend ETF", "DWAS": "Invesco DWA SmallCap Momentum ETF", "DWAT": "Arrow DWA Tactical: Macro ETF", "DWAW": "AdvisorShares Dorsey Wright FSM All Cap World ETF", "DWCR": "Arrow DWA Tactical: International ETF", "DWEQ": "AdvisorShares Dorsey Wright Alpha Equal Weight ETF", "DWFI": "SPDR Dorsey Wright Fixed Income Allocation ETF", "DWLD": "Davis Select Worldwide ETF", "DWMC": "AdvisorShares Dorsey Wright Micro-Cap ETF", "DWPP": "First Trust Dorsey Wright People's Portfolio ETF", "DWSH": "AdvisorShares Dorsey Wright Short ETF", "DWSN": "Dawson Geophysical Company - Common Stock", "DWUS": "AdvisorShares Dorsey Wright FSM US Core ETF", "DXCM": "DexCom", "DXGE": "WisdomTree Germany Hedged Equity Fund", "DXJS": "WisdomTree Japan Hedged SmallCap Equity Fund", "DXPE": "DXP Enterprises, Inc. - Common Stock", "DXYN": "The Dixie Group, Inc. - Common Stock", "DYAI": "Dyadic International, Inc. - Common Stock", "DYN": "Dyne Therapeutics, Inc. - Common Stock", "DYNT": "Dynatronics Corporation - Common Stock", "DZSI": "DZS Inc. - Common Stock", "EA": "Electronic Arts", "EAC": "Edify Acquisition Corp. - Class A Common Stock", "EACPU": "Edify Acquisition Corp. - Units", "EACPW": "Edify Acquisition Corp. - Warrant", "EAR": "Eargo, Inc. - Common Stock", "EARS": "Auris Medical Holding Ltd. - Common Shares", "EAST": "Eastside Distilling, Inc. - Common Stock", "EBAY": "eBay Inc.", "EBC": "Eastern Bankshares, Inc. - Common Stock", "EBIX": "Ebix, Inc. - Common Stock", "EBIZ": "Global X E-commerce ETF", "EBMT": "Eagle Bancorp Montana, Inc. - Common Stock", "EBON": "Ebang International Holdings Inc. - Class A Ordinary Shares", "EBSB": "Meridian Bancorp, Inc. - Common Stock", "EBTC": "Enterprise Bancorp Inc - Common Stock", "ECHO": "Echo Global Logistics, Inc. - Common Stock", "ECOL": "US Ecology, Inc. - Common Stock", "ECOLW": "US Ecology, Inc. - warrant", "ECOR": "electroCore, Inc. - Common Stock", "ECOW": "Pacer Emerging Markets Cash Cows 100 ETF", "ECPG": "Encore Capital Group Inc - Common Stock", "EDAP": "EDAP TMS S.A. - American Depositary Shares, each representing One Ordinary Share", "EDIT": "Editas Medicine, Inc. - Common Stock", "EDOC": "Global X Telemedicine & Digital Health ETF", "EDRY": "EuroDry Ltd. - Common Shares", "EDSA": "Edesa Biotech, Inc. - Common Shares", "EDTK": "Skillful Craftsman Education Technology Limited - Ordinary Share", "EDTX": "EdtechX Holdings Acquisition Corp. II - Class A common stock", "EDTXU": "EdtechX Holdings Acquisition Corp. II - Unit", "EDTXW": "EdtechX Holdings Acquisition Corp. II - Warrant", "EDUC": "Educational Development Corporation - Common Stock", "EDUT": "Global X Education ETF", "EEFT": "Euronet Worldwide, Inc. - Common Stock", "EEMA": "iShares MSCI Emerging Markets Asia ETF", "EFAS": "Global X MSCI SuperDividend EAFE ETF", "EFOI": "Energy Focus, Inc. - Common Stock", "EFSC": "Enterprise Financial Services Corporation - Common Stock", "EGAN": "eGain Corporation - Common Stock", "EGBN": "Eagle Bancorp, Inc. - Common Stock", "EGLE": "Eagle Bulk Shipping Inc. - Common Stock", "EGOV": "NIC Inc. - Common Stock", "EGRX": "Eagle Pharmaceuticals, Inc. - Common Stock", "EH": "EHang Holdings Limited - ADS", "EHTH": "eHealth, Inc. - Common Stock", "EIGR": "Eiger BioPharmaceuticals, Inc. - Common Stock", "EJFAU": "EJF Acquisition Corp. - Unit", "EKSO": "Ekso Bionics Holdings, Inc. - Common Stock", "ELDN": "Eledon Pharmaceuticals, Inc. - Common Stock", "ELOX": "Eloxx Pharmaceuticals, Inc. - Common Stock", "ELSE": "Electro-Sensors, Inc. - Common Stock", "ELTK": "Eltek Ltd. - Ordinary Shares", "ELYS": "Elys Game Technology, Corp. - Common Stock", "EMB": "iShares J.P. Morgan USD Emerging Markets Bond ETF", "EMCB": "WisdomTree Emerging Markets Corporate Bond Fund", "EMCF": "Emclaire Financial Corp - Common Stock", "EMIF": "iShares S&P Emerging Markets Infrastructure Index Fund", "EMKR": "EMCORE Corporation - Common Stock", "EML": "Eastern Company (The) - Common Stock", "EMXC": "iShares MSCI Emerging Markets ex China ETF", "EMXF": "iShares ESG Advanced MSCI EM ETF", "ENDP": "Endo International plc - Ordinary Shares", "ENFAU": "890 5th Avenue Partners, Inc. - Unit", "ENG": "ENGlobal Corporation - Common Stock", "ENLV": "Enlivex Therapeutics Ltd. - Ordinary Shares", "ENNVU": "ECP Environmental Growth Opportunities Corp. - Unit", "ENOB": "Enochian Biosciences, Inc. - Common Stock", "ENPH": "Enphase Energy", "ENSG": "The Ensign Group, Inc. - Common Stock", "ENTA": "Enanta Pharmaceuticals, Inc. - Common Stock", "ENTG": "Entegris, Inc. - Common Stock", "ENTX": "Entera Bio Ltd. - Ordinary Shares", "ENTXW": "Entera Bio Ltd. - Warrant", "ENVB": "Enveric Biosciences, Inc. - Common Stock", "ENVIU": "Environmental Impact Acquisition Corp. - Unit", "ENZL": "iShares MSCI New Zealand ETF", "EOLS": "Evolus, Inc. - Common Stock", "EOSE": "Eos Energy Enterprises, Inc. - Common Stock", "EOSEW": "Eos Energy Enterprises, Inc. - Warrant", "EPAY": "Bottomline Technologies, Inc. - Common Stock", "EPHY": "Epiphany Technology Acquisition Corp. - Class A Common Stock", "EPHYU": "Epiphany Technology Acquisition Corp. - Unit", "EPHYW": "Epiphany Technology Acquisition Corp. - Warrant", "EPIX": "ESSA Pharma Inc. - Common Stock", "EPSN": "Epsilon Energy Ltd. - Common Shares", "EPZM": "Epizyme, Inc. - Common Stock", "EQ": "Equillium, Inc. - Common Stock", "EQBK": "Equity Bancshares, Inc. - Class A Common Stock", "EQIX": "Equinix", "EQOS": "Diginex Limited - Ordinary Shares", "EQOSW": "Diginex Limited - Warrant", "EQRR": "ProShares Equities for Rising Rates ETF", "ERES": "East Resources Acquisition Company - Class A Common Stock", "ERESU": "East Resources Acquisition Company - Unit", "ERESW": "East Resources Acquisition Company - Warrant", "ERIC": "Ericsson - American Depositary Shares each representing 1 underlying Class B share", "ERIE": "Erie Indemnity Company - Class A Common Stock", "ERII": "Energy Recovery, Inc. - Common Stock", "ERYP": "Erytech Pharma S.A. - American Depositary Shares", "ESBK": "Elmira Savings Bank NY (The) - Common Stock", "ESCA": "Escalade, Incorporated - Common Stock", "ESEA": "Euroseas Ltd. - Common Stock", "ESGD": "iShares ESG Aware MSCI EAFE ETF", "ESGE": "iShares ESG Aware MSCI EM ETF", "ESGR": "Enstar Group Limited - Ordinary Shares", "ESGRO": "Enstar Group Limited - Depository Shares 7.00% Perpetual Non-Cumulative Preference Shares, Series E", "ESGRP": "Enstar Group Limited - Depositary Shares Each Representing 1/1000th of an interest in Preference Shares", "ESGU": "iShares ESG Aware MSCI USA ETF", "ESLT": "Elbit Systems Ltd. - Ordinary Shares", "ESPO": "VanEck Vectors Video Gaming and eSports ETF", "ESPR": "Esperion Therapeutics, Inc. - Common Stock", "ESQ": "Esquire Financial Holdings, Inc. - Common Stock", "ESSA": "ESSA Bancorp, Inc. - common stock", "ESSC": "East Stone Acquisition Corporation - Ordinary Shares", "ESSCR": "East Stone Acquisition Corporation - Right", "ESSCU": "East Stone Acquisition Corporation - Unit", "ESSCW": "East Stone Acquisition Corporation - Warrant", "ESTA": "Establishment Labs Holdings Inc. - Common Shares", "ESXB": "Community Bankers Trust Corporation. - Common Stock", "ETAC": "E.Merge Technology Acquisition Corp. - Class A Common stock", "ETACU": "E.Merge Technology Acquisition Corp. - Unit", "ETACW": "E.Merge Technology Acquisition Corp. - Warrant", "ETNB": "89bio, Inc. - Common Stock", "ETON": "Eton Pharmaceuticals, Inc. - Common Stock", "ETSY": "Etsy", "ETTX": "Entasis Therapeutics Holdings Inc. - Common Stock", "EUCR": "Eucrates Biomedical Acquisition Corp. - Ordinary Shares", "EUCRU": "Eucrates Biomedical Acquisition Corp. - Unit", "EUCRW": "Eucrates Biomedical Acquisition Corp. - Warrant", "EUFN": "iShares MSCI Europe Financials Sector Index Fund", "EUSGU": "European Sustainable Growth Acquisition Corp. - Unit", "EVAX": "Evaxion Biotech A/S - American Depositary Share", "EVBG": "Everbridge, Inc. - Common Stock", "EVER": "EverQuote, Inc. - Class A Common Stock", "EVFM": "Evofem Biosciences, Inc. - Common Stock", "EVGBC": "Eaton Vance Global Income Builder NextShares", "EVGN": "Evogene Ltd. - Ordinary Shares", "EVK": "Ever-Glory International Group, Inc. - Common Stock", "EVLMC": "Eaton Vance TABS 5-to-15 Year Laddered Municipal Bond NextShares", "EVLO": "Evelo Biosciences, Inc. - Common Stock", "EVOJU": "Evo Acquisition Corp. - Unit", "EVOK": "Evoke Pharma, Inc. - Common Stock", "EVOL": "Evolving Systems, Inc. - Common Stock", "EVOP": "EVO Payments, Inc. - Class A Common Stock", "EVSTC": "Eaton Vance Stock NextShares", "EWBC": "East West Bancorp, Inc. - Common Stock", "EWEB": "Global X Emerging Markets Internet & E-commerce ETF", "EWJE": "iShares MSCI Japan Equal Weighted ETF", "EWJV": "iShares MSCI Japan Value ETF", "EWZS": "iShares MSCI Brazil Small-Cap ETF", "EXAS": "Exact Sciences Corporation - Common Stock", "EXC": "Exelon Corp.", "EXEL": "Exelixis, Inc. - Common Stock", "EXFO": "EXFO Inc - Subordinate Voting Shares", "EXLS": "ExlService Holdings, Inc. - Common Stock", "EXPC": "Experience Investment Corp. - Class A Common Stock", "EXPCU": "Experience Investment Corp. - Unit", "EXPCW": "Experience Investment Corp. - Warrants", "EXPD": "Expeditors", "EXPE": "Expedia Group", "EXPI": "eXp World Holdings, Inc. - Common Stock", "EXPO": "Exponent, Inc. - Common Stock", "EXTR": "Extreme Networks, Inc. - Common Stock", "EYE": "National Vision Holdings, Inc. - Common Stock", "EYEG": "Eyegate Pharmaceuticals, Inc. - Common Stock", "EYEN": "Eyenovia, Inc. - Common Stock", "EYES": "Second Sight Medical Products, Inc. - Common Stock", "EYESW": "Second Sight Medical Products, Inc. - Warrants expiring 3/14/2024", "EYPT": "EyePoint Pharmaceuticals, Inc. - Common Stock", "EZGO": "EZGO Technologies Ltd. - Ordinary Shares", "EZPW": "EZCORP, Inc. - Class A Non-Voting Common Stock", "FAAR": "First Trust Alternative Absolute Return Strategy ETF", "FAB": "First Trust Multi Cap Value AlphaDEX Fund", "FAD": "First Trust Multi Cap Growth AlphaDEX Fund", "FALN": "iShares Fallen Angels USD Bond ETF", "FAMI": "Farmmi, INC. - Ordinary Shares", "FANG": "Diamondback Energy", "FANH": "Fanhua Inc. - American depositary shares, each representing 20 ordinary shares", "FARM": "Farmer Brothers Company - Common Stock", "FARO": "FARO Technologies, Inc. - Common Stock", "FAST": "Fastenal Co", "FAT": "FAT Brands Inc. - Common Stock", "FATBP": "FAT Brands Inc. - 8.25% Series B Cumulative Preferred Stock", "FATBW": "FAT Brands Inc. - Warrant", "FATE": "Fate Therapeutics, Inc. - Common Stock", "FB": "Facebook, Inc.", "FBIO": "Fortress Biotech, Inc. - Common Stock", "FBIOP": "Fortress Biotech, Inc. - 9.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "FBIZ": "First Business Financial Services, Inc. - Common Stock", "FBMS": "The First Bancshares, Inc. - Common Stock", "FBNC": "First Bancorp - Common Stock", "FBRX": "Forte Biosciences, Inc. - Common Stock", "FBSS": "Fauquier Bankshares, Inc. - Common Stock", "FBZ": "First Trust Brazil AlphaDEX Fund", "FCA": "First Trust China AlphaDEX Fund", "FCAC": "Falcon Capital Acquisition Corp. - Class A Common Stock", "FCACU": "Falcon Capital Acquisition Corp. - Unit", "FCACW": "Falcon Capital Acquisition Corp. - Warrant", "FCAL": "First Trust California Municipal High income ETF", "FCAP": "First Capital, Inc. - Common Stock", "FCBC": "First Community Bankshares, Inc. - Common Stock", "FCBP": "First Choice Bancorp - Common Stock", "FCCO": "First Community Corporation - Common Stock", "FCCY": "1st Constitution Bancorp (NJ) - Common Stock", "FCEF": "First Trust CEF Income Opportunity ETF", "FCEL": "FuelCell Energy, Inc. - Common Stock", "FCFS": "FirstCash, Inc. - Common Stock", "FCNCA": "First Citizens BancShares, Inc. - Class A Common Stock", "FCNCP": "First Citizens BancShares, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of 5.375% Non-Cumulative Perpetual Preferred Stock, Series A", "FCRD": "First Eagle Alternative Capital BDC, Inc. - Common Stock", "FCVT": "First Trust SSI Strategic Convertible Securities ETF", "FDBC": "Fidelity D & D Bancorp, Inc. - Common Stock", "FDIV": "First Trust Strategic Income ETF", "FDMT": "4D Molecular Therapeutics, Inc. - Common Stock", "FDNI": "First Trust Dow Jones International Internet ETF", "FDT": "First Trust Developed Markets Ex-US AlphaDEX Fund", "FDTS": "First Trust Developed Markets ex-US Small Cap AlphaDEX Fund", "FDUS": "Fidus Investment Corporation - Common Stock", "FDUSG": "Fidus Investment Corporation - 5.375% Notes Due 2024", "FDUSZ": "Fidus Investment Corporation - 6% Notes due 2024", "FEIM": "Frequency Electronics, Inc. - Common Stock", "FELE": "Franklin Electric Co., Inc. - Common Stock", "FEM": "First Trust Emerging Markets AlphaDEX Fund", "FEMB": "First Trust Emerging Markets Local Currency Bond ETF", "FEMS": "First Trust Emerging Markets Small Cap AlphaDEX Fund", "FENC": "Fennec Pharmaceuticals Inc. - Common Stock", "FEP": "First Trust Europe AlphaDEX Fund", "FEUZ": "First Trust Eurozone AlphaDEX ETF", "FEX": "First Trust Large Cap Core AlphaDEX Fund", "FEYE": "FireEye, Inc. - Common Stock", "FFBC": "First Financial Bancorp. - Common Stock", "FFBW": "FFBW, Inc. - Common Stock", "FFHL": "Fuwei Films (Holdings) Co., Ltd. - ORDINARY SHARES", "FFIC": "Flushing Financial Corporation - Common Stock", "FFIN": "First Financial Bankshares, Inc. - Common Stock", "FFIV": "F5 Networks", "FFNW": "First Financial Northwest, Inc. - Common Stock", "FFWM": "First Foundation Inc. - Common Stock", "FGBI": "First Guaranty Bancshares, Inc. - Common Stock", "FGEN": "FibroGen, Inc - Common Stock", "FGF": "FG Financial Group, Inc. - Common Stock", "FGFPP": "FG Financial Group, Inc. - 8.00% Cumulative Series A Preferred Stock", "FGM": "First Trust Germany AlphaDEX Fund", "FHB": "First Hawaiian, Inc. - Common Stock", "FHTX": "Foghorn Therapeutics Inc. - Common Stock", "FIBK": "First Interstate BancSystem, Inc. - Class A Common Stock", "FICS": "First Trust International Developed Capital Strength ETF", "FID": "First Trust S&P International Dividend Aristocrats ETF", "FIII": "Forum Merger III Corporation - Class A Common Stock", "FIIIU": "Forum Merger III Corporation - Units", "FIIIW": "Forum Merger III Corporation - Warrant", "FINMU": "Marlin Technology Corporation - Unit", "FINX": "Global X FinTech ETF", "FISI": "Financial Institutions, Inc. - Common Stock", "FISV": "Fiserv Inc", "FITB": "Fifth Third Bancorp", "FITBI": "Fifth Third Bancorp - Depositary Share repstg 1/1000th Ownership Interest Perp Pfd Series I", "FITBO": "Fifth Third Bancorp - Depositary Shares each representing a 1/1000th ownership interest in a share of Non-Cumulative Perpetual Preferred Stock, Series K", "FITBP": "Fifth Third Bancorp - Depositary Shares each representing 1/40th share of Fifth Third 6.00% Non-Cumulative Perpetual Class B Preferred Stock, Series A", "FIVE": "Five Below, Inc. - Common Stock", "FIVN": "Five9, Inc. - Common Stock", "FIXD": "First Trust TCW Opportunistic Fixed Income ETF", "FIXX": "Homology Medicines, Inc. - Common Stock", "FIZZ": "National Beverage Corp. - Common Stock", "FJP": "First Trust Japan AlphaDEX Fund", "FKU": "First Trust United Kingdom AlphaDEX Fund", "FLAC": "Frazier Lifesciences Acquisition Corporation - Class A Ordinary Shares", "FLACU": "Frazier Lifesciences Acquisition Corporation - Unit", "FLACW": "Frazier Lifesciences Acquisition Corporation - Warrant", "FLDM": "Fluidigm Corporation - Common Stock", "FLEX": "Flex Ltd. - Ordinary Shares", "FLGT": "Fulgent Genetics, Inc. - Common Stock", "FLIC": "The First of Long Island Corporation - Common Stock", "FLIR": "FLIR Systems", "FLL": "Full House Resorts, Inc. - Common Stock", "FLMN": "Falcon Minerals Corporation - Class A Common Stock", "FLMNW": "Falcon Minerals Corporation - Warrant", "FLN": "First Trust Latin America AlphaDEX Fund", "FLNT": "Fluent, Inc. - Common Stock", "FLUX": "Flux Power Holdings, Inc. - Common Stock", "FLWS": "1-800-FLOWERS.COM, Inc. - Class A Common Stock", "FLXN": "Flexion Therapeutics, Inc. - Common Stock", "FLXS": "Flexsteel Industries, Inc. - Common Stock", "FMAO": "Farmers & Merchants Bancorp, Inc. - Common Stock", "FMB": "First Trust Managed Municipal ETF", "FMBH": "First Mid Bancshares, Inc. - Common Stock", "FMBI": "First Midwest Bancorp, Inc. - Common Stock", "FMBIO": "First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series C", "FMBIP": "First Midwest Bancorp, Inc. - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "FMHI": "First Trust Municipal High Income ETF", "FMNB": "Farmers National Banc Corp. - Common Stock", "FMTX": "Forma Therapeutics Holdings, Inc. - Common Stock", "FNCB": "FNCB Bancorp Inc. - Common Stock", "FNHC": "FedNat Holding Company - Common Stock", "FNK": "First Trust Mid Cap Value AlphaDEX Fund", "FNKO": "Funko, Inc. - Class A Common Stock", "FNLC": "First Bancorp, Inc (ME) - Common Stock", "FNWB": "First Northwest Bancorp - Common Stock", "FNX": "First Trust Mid Cap Core AlphaDEX Fund", "FNY": "First Trust Mid Cap Growth AlphaDEX Fund", "FOCS": "Focus Financial Partners Inc. - Common Stock", "FOLD": "Amicus Therapeutics, Inc. - Common Stock", "FONR": "Fonar Corporation - Common Stock", "FORA": "Forian Inc. - Common Stock", "FORD": "Forward Industries, Inc. - Common Stock", "FOREU": "Foresight Acquisition Corp. - Unit, consisting of one share of Class A Common Stock and one-third of one redeemable warrant", "FORM": "FormFactor, Inc. - Common Stock", "FORR": "Forrester Research, Inc. - Common Stock", "FORTY": "Formula Systems (1985) Ltd. - American Depositary Shares", "FOSL": "Fossil Group, Inc. - Common Stock", "FOX": "Fox Corporation (Class B)", "FOXA": "Fox Corporation (Class A)", "FOXF": "Fox Factory Holding Corp. - Common Stock", "FOXW": "FoxWayne Enterprises Acquisition Corp. - Class A common stock", "FOXWU": "FoxWayne Enterprises Acquisition Corp. - Unit", "FOXWW": "FoxWayne Enterprises Acquisition Corp. - Warrant", "FPA": "First Trust Asia Pacific Ex-Japan AlphaDEX Fund", "FPAY": "FlexShopper, Inc. - Common Stock", "FPRX": "Five Prime Therapeutics, Inc. - Common Stock", "FPXE": "First Trust IPOX Europe Equity Opportunities ETF", "FPXI": "First Trust International Equity Opportunities ETF", "FRAF": "Franklin Financial Services Corporation - Common Stock", "FRBA": "First Bank - Common Stock", "FRBK": "Republic First Bancorp, Inc. - Common Stock", "FREE": "Whole Earth Brands, Inc. - Class A Common Stock", "FREEW": "Whole Earth Brands, Inc. - Warrant", "FREQ": "Frequency Therapeutics, Inc. - Common Stock", "FRG": "Franchise Group, Inc. - Common Stock", "FRGAP": "Franchise Group, Inc. - 7.50% Series A Cumulative Perpetual Preferred Stock", "FRGI": "Fiesta Restaurant Group, Inc. - Common Stock", "FRHC": "Freedom Holding Corp. - Common Stock", "FRLN": "Freeline Therapeutics Holdings plc - ADSs", "FRME": "First Merchants Corporation - Common Stock", "FROG": "JFrog Ltd. - Ordinary shares", "FRPH": "FRP Holdings, Inc. - Common Stock", "FRPT": "Freshpet, Inc. - Common Stock", "FRSX": "Foresight Autonomous Holdings Ltd. - American Depositary Shares", "FRTA": "Forterra, Inc. - Common Stock", "FSBW": "FS Bancorp, Inc. - Common Stock", "FSEA": "First Seacoast Bancorp - Common Stock", "FSFG": "First Savings Financial Group, Inc. - Common Stock", "FSII": "FS Development Corp. II - Class A Common Stock", "FSLR": "First Solar, Inc. - Common Stock", "FSRV": "FinServ Acquisition Corp. - Class A Common Stock", "FSRVU": "FinServ Acquisition Corp. - Unit", "FSRVW": "FinServ Acquisition Corp. - Warrant", "FSRXU": "FinServ Acquisition Corp. II - Unit", "FSSIU": "Fortistar Sustainable Solutions Corp. - Unit", "FSTR": "L.B. Foster Company - Common Stock", "FSTX": "F-star Therapeutics, Inc. - Common Stock", "FSV": "FirstService Corporation - Common Shares", "FSZ": "First Trust Switzerland AlphaDEX Fund", "FTA": "First Trust Large Cap Value AlphaDEX Fund", "FTAAU": "FTAC Athena Acquisition Corp. - Unit", "FTAG": "First Trust Indxx Global Agriculture ETF", "FTC": "First Trust Large Cap Growth AlphaDEX Fund", "FTCS": "First Trust Capital Strength ETF", "FTCV": "FinTech Acquisition Corp. V - Class A Common Stock", "FTCVU": "FinTech Acquisition Corp. V - Unit", "FTCVW": "FinTech Acquisition Corp. V - Warrant", "FTDR": "frontdoor, inc. - Common Stock", "FTEK": "Fuel Tech, Inc. - Common Stock", "FTFT": "Future FinTech Group Inc. - Common Stock", "FTGC": "First Trust Global Tactical Commodity Strategy Fund", "FTHI": "First Trust BuyWrite Income ETF", "FTHM": "Fathom Holdings Inc. - Common Stock", "FTIV": "FinTech Acquisition Corp. IV - Class A Common Stock", "FTIVU": "FinTech Acquisition Corp. IV - Unit", "FTIVW": "FinTech Acquisition Corp. IV - Warrant", "FTLB": "First Trust Hedged BuyWrite Income ETF", "FTNT": "Fortinet", "FTOC": "FTAC Olympus Acquisition Corp. - Class A Ordinary Shares", "FTOCU": "FTAC Olympus Acquisition Corp. - Unit", "FTOCW": "FTAC Olympus Acquisition Corp. - Warrant", "FTRI": "First Trust Indxx Global Natural Resources Income ETF", "FTSL": "First Trust Senior Loan Fund ETF", "FTSM": "First Trust Enhanced Short Maturity ETF", "FTXD": "First Trust Nasdaq Retail ETF", "FTXG": "First Trust Nasdaq Food & Beverage ETF", "FTXH": "First Trust Nasdaq Pharmaceuticals ETF", "FTXL": "First Trust Nasdaq Semiconductor ETF", "FTXN": "First Trust Nasdaq Oil & Gas ETF", "FTXO": "First Trust Nasdaq Bank ETF", "FTXR": "First Trust Nasdaq Transportation ETF", "FULC": "Fulcrum Therapeutics, Inc. - Common Stock", "FULT": "Fulton Financial Corporation - Common Stock", "FULTP": "Fulton Financial Corporation - Depositary Shares Each Representing a 1/40th Interest in a Share of Fixed Rate Non-Cumulative Perpetual Preferred Stock, Series A", "FUNC": "First United Corporation - Common Stock", "FUND": "Sprott Focus Trust, Inc. - Closed End Fund", "FUSB": "First US Bancshares, Inc. - Common Stock", "FUSN": "Fusion Pharmaceuticals Inc. - Common Shares", "FUTU": "Futu Holdings Limited - American Depositary Shares", "FUV": "Arcimoto, Inc. - Common Stock", "FV": "First Trust Dorsey Wright Focus 5 ETF", "FVAM": "5:01 Acquisition Corp. - Class A Common Stock", "FVC": "First Trust Dorsey Wright Dynamic Focus 5 ETF", "FVCB": "FVCBankcorp, Inc. - Common Stock", "FVE": "Five Star Senior Living Inc. - Common Shares", "FWAA": "Fifth Wall Acquisition Corp. I - Class A Common Stock", "FWONA": "Liberty Media Corporation - Series A Liberty Formula One Common Stock", "FWONK": "Liberty Media Corporation - Series C Liberty Formula One Common Stock", "FWP": "Forward Pharma A/S - American Depositary Shares", "FWRD": "Forward Air Corporation - Common Stock", "FXNC": "First National Corporation - Common Stock", "FYC": "First Trust Small Cap Growth AlphaDEX Fund", "FYT": "First Trust Small Cap Value AlphaDEX Fund", "FYX": "First Trust Small Cap Core AlphaDEX Fund", "GABC": "German American Bancorp, Inc. - Common Stock", "GAIA": "Gaia, Inc. - Class A Common Stock", "GAIN": "Gladstone Investment Corporation - Business Development Company", "GAINL": "Gladstone Investment Corporation - 6.375% Series E Cumulative Term Preferred Stock due 2025", "GALT": "Galectin Therapeutics Inc. - Common Stock", "GAN": "GAN Limited - Ordinary Shares", "GASS": "StealthGas, Inc. - common stock", "GBCI": "Glacier Bancorp, Inc. - Common Stock", "GBDC": "Golub Capital BDC, Inc. - Common Stock", "GBIO": "Generation Bio Co. - Common stock", "GBLI": "Global Indemnity Group, LLC - Class A Common Stock", "GBLIL": "Global Indemnity Group, LLC - 7.875% Subordinated Notes due 2047", "GBNY": "Generations Bancorp NY, Inc. - Common Stock", "GBOX": "Greenbox POS - Common Stock", "GBRGU": "Goldenbridge Acquisition Limited - Unit", "GBS": "GBS Inc. - Common Stock", "GBT": "Global Blood Therapeutics, Inc. - Common Stock", "GCACU": "Growth Capital Acquisition Corp. - Unit", "GCBC": "Greene County Bancorp, Inc. - Common Stock", "GCMG": "GCM Grosvenor Inc. - Class A Common Stock", "GCMGW": "GCM Grosvenor Inc. - Warrant", "GDEN": "Golden Entertainment, Inc. - Common Stock", "GDRX": "GoodRx Holdings, Inc. - Class A Common Stock", "GDS": "GDS Holdings Limited - American Depositary Shares", "GDYN": "Grid Dynamics Holdings, Inc. - Class A Common Stock", "GDYNW": "Grid Dynamics Holdings, Inc. - Warrant", "GECC": "Great Elm Capital Corp. - Common Stock", "GECCL": "Great Elm Capital Corp. - 6.50% Notes due 2022", "GECCM": "Great Elm Capital Corp. - 6.75% Notes Due 2025", "GECCN": "Great Elm Capital Corp. - Notes", "GEG": "Great Elm Group, Inc. - Common Stock", "GENC": "Gencor Industries Inc. - Common Stock", "GENE": "Genetic Technologies Ltd - American Depositary Shares representing 600 ordinary shares", "GENY": "Principal Millennials Index ETF", "GEOS": "Geospace Technologies Corporation - Common Stock", "GERN": "Geron Corporation - Common Stock", "GEVO": "Gevo, Inc. - Common Stock", "GFED": "Guaranty Federal Bancshares, Inc. - Common Stock", "GFN": "General Finance Corporation - Common Stock", "GFNCP": "General Finance Corporation - Cumulative Redeemable Perpetual Preferred Series C", "GFNSZ": "General Finance Corporation - 7.875% Senior Notes due 2025", "GGAL": "Grupo Financiero Galicia S.A. - American Depositary Shares, Class B Shares underlying", "GH": "Guardant Health, Inc. - Common Stock", "GHACU": "Gaming & Hospitality Acquisition Corp. - Unit", "GHSI": "Guardion Health Sciences, Inc. - Common Stock", "GHVI": "Gores Holdings VI, Inc. - Class A Common Stock", "GHVIU": "Gores Holdings VI, Inc. - Unit", "GHVIW": "Gores Holdings VI, Inc. - Warrant", "GIFI": "Gulf Island Fabrication, Inc. - Common Stock", "GIGE": "SoFi Gig Economy ETF", "GIGGU": "GigCapital4, Inc. - Unit", "GIGM": "GigaMedia Limited - Ordinary Shares", "GIII": "G-III Apparel Group, LTD. - Common Stock", "GIIXU": "Gores Holdings VIII, Inc. - Unit", "GILD": "Gilead Sciences", "GILT": "Gilat Satellite Networks Ltd. - Ordinary Shares", "GLAD": "Gladstone Capital Corporation - Common Stock", "GLADL": "Gladstone Capital Corporation - 5.375% Notes due 2024", "GLAQ": "Globis Acquisition Corp. - Common stock", "GLAQU": "Globis Acquisition Corp. - Unit", "GLAQW": "Globis Acquisition Corp. - Warrant", "GLBLU": "Cartesian Growth Corporation - Unit", "GLBS": "Globus Maritime Limited - Common Stock", "GLBZ": "Glen Burnie Bancorp - Common Stock", "GLDD": "Great Lakes Dredge & Dock Corporation - Common Stock", "GLDI": "Credit Suisse Gold Shares Covered Call Exchange Traded Notes", "GLG": "TD Holdings, Inc. - Common Stock", "GLMD": "Galmed Pharmaceuticals Ltd. - Ordinary Shares", "GLNG": "Golar LNG Limited - Common Shares", "GLPG": "Galapagos NV - American Depositary Shares", "GLPI": "Gaming and Leisure Properties, Inc. - Common Stock", "GLRE": "Greenlight Reinsurance, Ltd. - Class A Ordinary Shares", "GLSI": "Greenwich LifeSciences, Inc. - Common stock", "GLTO": "Galecto, Inc. - Common Stock", "GLUU": "Glu Mobile Inc. - Common Stock", "GLYC": "GlycoMimetics, Inc. - Common Stock", "GMAB": "Genmab A/S - American Depositary Shares", "GMBL": "Esports Entertainment Group Inc. - Common Stock", "GMBLW": "Esports Entertainment Group Inc. - Warrant", "GMBTU": "Queen's Gambit Growth Capital - Unit", "GMDA": "Gamida Cell Ltd. - Ordinary Shares", "GMIIU": "Gores Metropoulos II, Inc. - Unit", "GMLP": "Golar LNG Partners LP - Common Units Representing Limited Partnership", "GMLPP": "Golar LNG Partners LP - 8.75% Series A Cumulative Redeemable Preferred Units", "GMTX": "Gemini Therapeutics, Inc. - Common Stock", "GNACU": "Group Nine Acquisition Corp. - Unit", "GNCA": "Genocea Biosciences, Inc. - Common Stock", "GNFT": "GENFIT S.A. - American Depositary Shares", "GNLN": "Greenlane Holdings, Inc. - Class A Common Stock", "GNMA": "iShares GNMA Bond ETF", "GNMK": "GenMark Diagnostics, Inc. - Common Stock", "GNOG": "Golden Nugget Online Gaming, Inc. - Class A Common Stock", "GNOGW": "Golden Nugget Online Gaming, Inc. - Warrant", "GNOM": "Global X Genomics & Biotechnology ETF", "GNPX": "Genprex, Inc. - Common Stock", "GNRS": "Greenrose Acquisition Corp. - Common Stock", "GNRSU": "Greenrose Acquisition Corp. - Unit", "GNRSW": "Greenrose Acquisition Corp. - Warrant", "GNSS": "Genasys Inc. - Common Stock", "GNTX": "Gentex Corporation - Common Stock", "GNTY": "Guaranty Bancshares, Inc. - Common Stock", "GNUS": "Genius Brands International, Inc. - Common Stock", "GO": "Grocery Outlet Holding Corp. - Common Stock", "GOCO": "GoHealth, Inc. - Class A Common Stock", "GOEV": "Canoo Inc. - Class A Common Stock", "GOEVW": "Canoo Inc. - Warrant", "GOGL": "Golden Ocean Group Limited - Common Stock", "GOGO": "Gogo Inc. - Common Stock", "GOOD": "Gladstone Commercial Corporation - Real Estate Investment Trust", "GOODM": "Gladstone Commercial Corporation - Series D Cumulative Redeemable Preferred Stock", "GOODN": "Gladstone Commercial Corporation - 6.625% Series E Cumulative Redeemable Preferred Stock", "GOOG": "Alphabet Inc. (Class C)", "GOOGL": "Alphabet Inc. (Class A)", "GOSS": "Gossamer Bio, Inc. - Common Stock", "GOVX": "GeoVax Labs, Inc. - Common Stock", "GOVXW": "GeoVax Labs, Inc. - Warrants", "GP": "GreenPower Motor Company Inc. - Common Shares", "GPACU": "Global Partner Acquisition Corp II - Unit", "GPP": "Green Plains Partners LP - Common Units", "GPRE": "Green Plains, Inc. - Common Stock", "GPRO": "GoPro, Inc. - Class A Common Stock", "GRAY": "Graybug Vision, Inc. - Common Stock", "GRBK": "Green Brick Partners, Inc. - Common Stock", "GRCL": "Gracell Biotechnologies Inc. - American Depositary Shares", "GRCY": "Greencity Acquisition Corporation - Ordinary Shares", "GRCYU": "Greencity Acquisition Corporation - Unit", "GRCYW": "Greencity Acquisition Corporation - Warrants", "GRFS": "Grifols, S.A. - American Depositary Shares", "GRID": "First Trust NASDAQ Clean Edge Smart Grid Infrastructure Index Fund", "GRIL": "Muscle Maker, Inc - Common Stock", "GRIN": "Grindrod Shipping Holdings Ltd. - Ordinary Shares", "GRMN": "Garmin Ltd.", "GRNQ": "Greenpro Capital Corp. - Common Stock", "GRNV": "GreenVision Acquisition Corp - Common Stock", "GRNVR": "GreenVision Acquisition Corp - Rights", "GRNVU": "GreenVision Acquisition Corp - Unit", "GRNVW": "GreenVision Acquisition Corp - Warrant", "GROW": "U.S. Global Investors, Inc. - Class A Common Stock", "GRPN": "Groupon, Inc. - Common Stock", "GRSV": "Gores Holdings V, Inc. - Common stock", "GRSVU": "Gores Holdings V, Inc. - Unit", "GRSVW": "Gores Holdings V, Inc. - Warrant", "GRTS": "Gritstone Oncology, Inc. - Common Stock", "GRTX": "Galera Therapeutics, Inc. - Common Stock", "GRVY": "GRAVITY Co., Ltd. - American depositary shares, each representing one common share.", "GRWG": "GrowGeneration Corp. - Common Stock", "GSAQ": "Global Synergy Acquisition Corp. - Ordinary Shares", "GSAQU": "Global Synergy Acquisition Corp. - Units", "GSAQW": "Global Synergy Acquisition Corp. - Warrant", "GSBC": "Great Southern Bancorp, Inc. - Common Stock", "GSEVU": "Gores Holdings VII, Inc. - Units", "GSHD": "Goosehead Insurance, Inc. - Class A Common Stock", "GSIT": "GSI Technology, Inc. - Common Stock", "GSKY": "GreenSky, Inc. - Common Stock", "GSM": "Ferroglobe PLC - Ordinary Shares", "GSMG": "Glory Star New Media Group Holdings Limited - Ordinary Share", "GSMGW": "Glory Star New Media Group Holdings Limited - Warrant", "GSUM": "Gridsum Holding Inc. - American Depositary Shares", "GT": "The Goodyear Tire & Rubber Company - Common Stock", "GTBP": "GT Biopharma, Inc. - Common Stock", "GTEC": "Greenland Technologies Holding Corporation - Ordinary Shares", "GTH": "Genetron Holdings Limited - American Depositary Shares", "GTHX": "G1 Therapeutics, Inc. - Common Stock", "GTIM": "Good Times Restaurants Inc. - Common Stock", "GTYH": "GTY Technology Holdings, Inc. - Common Stock", "GURE": "Gulf Resources, Inc. - Common Stock", "GVP": "GSE Systems, Inc. - Common Stock", "GWAC": "Good Works Acquisition Corp. - Common Stock", "GWACW": "Good Works Acquisition Corp. - Warrant", "GWGH": "GWG Holdings, Inc - Common Stock", "GWPH": "GW Pharmaceuticals Plc - American Depositary Shares", "GWRS": "Global Water Resources, Inc. - common stock", "GXGX": "GX Acquisition Corp. - Class A Common Stock", "GXGXU": "GX Acquisition Corp. - Unit", "GXGXW": "GX Acquisition Corp. - Warrant", "GXTG": "Global X Thematic Growth ETF", "GYRO": "Gyrodyne , LLC - Common Stock", "HA": "Hawaiian Holdings, Inc. - Common Stock", "HAAC": "Health Assurance Acquisition Corp. - Class A Common Stock", "HAACU": "Health Assurance Acquisition Corp. - SAIL Securities", "HAACW": "Health Assurance Acquisition Corp. - Warrants", "HAFC": "Hanmi Financial Corporation - Common Stock", "HAIN": "The Hain Celestial Group, Inc. - Common Stock", "HALL": "Hallmark Financial Services, Inc. - Common Stock", "HALO": "Halozyme Therapeutics, Inc. - Common Stock", "HAPP": "Happiness Biotech Group Limited - Ordinary Shares", "HARP": "Harpoon Therapeutics, Inc. - Common Stock", "HAS": "Hasbro Inc.", "HAYN": "Haynes International, Inc. - Common Stock", "HBAN": "Huntington Bancshares", "HBANN": "Huntington Bancshares Incorporated - Depositary Shares each representing a 1/40th interest in a share of 5.875% Series C Non-Cumulative Perpetual Preferred Stock", "HBANO": "Huntington Bancshares Incorporated - Depositary Shares", "HBANP": "Huntington Bancshares Incorporated - Depositary Shares 4.500% Series H Non-Cumulative Perpetual Preferred Stock", "HBCP": "Home Bancorp, Inc. - Common Stock", "HBIO": "Harvard Bioscience, Inc. - Common Stock", "HBMD": "Howard Bancorp, Inc. - Common Stock", "HBNC": "Horizon Bancorp, Inc. - Common Stock", "HBP": "Huttig Building Products, Inc. - Common Stock", "HBT": "HBT Financial, Inc. - Common Stock", "HCAP": "Harvest Capital Credit Corporation - Common Stock", "HCAPZ": "Harvest Capital Credit Corporation - 6.125% Notes due 2022", "HCAQ": "HealthCor Catalio Acquisition Corp. - Class A Ordinary Shares", "HCAR": "Healthcare Services Acquisition Corporation - Class A Common Stock", "HCARU": "Healthcare Services Acquisition Corporation - Unit", "HCARW": "Healthcare Services Acquisition Corporation - Warrant", "HCAT": "Health Catalyst, Inc - Common stock", "HCCCU": "Healthcare Capital Corp. - Unit", "HCCI": "Heritage-Crystal Clean, Inc. - Common Stock", "HCDI": "Harbor Custom Development, Inc. - Common Stock", "HCICU": "Hennessy Capital Investment Corp. V Units - Unit", "HCIIU": "Hudson Executive Investment Corp. II - Unit", "HCKT": "The Hackett Group, Inc. - Common Stock", "HCM": "Hutchison China MediTech Limited - American Depositary Shares", "HCSG": "Healthcare Services Group, Inc. - Common Stock", "HDSN": "Hudson Technologies, Inc. - Common Stock", "HEAR": "Turtle Beach Corporation - Common Stock", "HEC": "Hudson Executive Investment Corp. - Class A Common Stock", "HECCU": "Hudson Executive Investment Corp. - Units", "HECCW": "Hudson Executive Investment Corp. - Warrant", "HEES": "H&E Equipment Services, Inc. - Common Stock", "HELE": "Helen of Troy Limited - Common Stock", "HEPA": "Hepion Pharmaceuticals, Inc. - Common Stock", "HERD": "Pacer Cash Cows Fund of Funds ETF", "HERO": "Global X Video Games & Esports ETF", "HEWG": "iShares Currency Hedged MSCI Germany ETF", "HFBL": "Home Federal Bancorp, Inc. of Louisiana - Common Stock", "HFFG": "HF Foods Group Inc. - Common Stock", "HFWA": "Heritage Financial Corporation - Common Stock", "HGBL": "Heritage Global Inc. - Common Stock", "HGEN": "Humanigen, Inc. - Common Stock", "HGSH": "China HGS Real Estate, Inc. - Common Stock", "HHR": "HeadHunter Group PLC - American Depositary Shares", "HIBB": "Hibbett Sports, Inc. - Common Stock", "HIFS": "Hingham Institution for Savings - Common Stock", "HIHO": "Highway Holdings Limited - Common Stock", "HIIIU": "Hudson Executive Investment Corp. III - Unit", "HIMX": "Himax Technologies, Inc. - American depositary shares, each of which represents two ordinary shares.", "HJLI": "Hancock Jaffe Laboratories, Inc. - Common Stock", "HJLIW": "Hancock Jaffe Laboratories, Inc. - Warrants", "HLAHU": "Hamilton Lane Alliance Holdings I, Inc. - Unit", "HLAL": "Wahed FTSE USA Shariah ETF", "HLG": "Hailiang Education Group Inc. - American Depositary Shares", "HLIO": "Helios Technologies, Inc. - Common Stock", "HLIT": "Harmonic Inc. - Common Stock", "HLNE": "Hamilton Lane Incorporated - Class A Common Stock", "HLXA": "Helix Acquisition Corp. - Class A Ordinary Shares", "HMCO": "HumanCo Acquisition Corp. - Class A Common Stock", "HMCOU": "HumanCo Acquisition Corp. - Unit", "HMCOW": "HumanCo Acquisition Corp. - Warrant", "HMHC": "Houghton Mifflin Harcourt Company - Common Stock", "HMNF": "HMN Financial, Inc. - Common Stock", "HMPT": "Home Point Capital Inc. - Common Stock", "HMST": "HomeStreet, Inc. - Common Stock", "HMSY": "HMS Holdings Corp - Common Stock", "HMTV": "Hemisphere Media Group, Inc. - Class A Common Stock", "HNDL": "Strategy Shares Nasdaq 7HANDL Index ETF", "HNNA": "Hennessy Advisors, Inc. - Common Stock", "HNRG": "Hallador Energy Company - Common Stock", "HOFT": "Hooker Furniture Corporation - Common Stock", "HOFV": "Hall of Fame Resort & Entertainment Company - Common Stock", "HOFVW": "Hall of Fame Resort & Entertainment Company - Warrant", "HOL": "Holicity Inc. - Class A Common Stock", "HOLI": "Hollysys Automation Technologies, Ltd. - Common Stock", "HOLUU": "Holicity Inc. - Unit", "HOLUW": "Holicity Inc. - Warrant", "HOLX": "Hologic", "HOMB": "Home BancShares, Inc. - common stock", "HONE": "HarborOne Bancorp, Inc. - Common Stock", "HOOK": "HOOKIPA Pharma Inc. - Common Stock", "HOPE": "Hope Bancorp, Inc. - Common Stock", "HOTH": "Hoth Therapeutics, Inc. - Common Stock", "HOVNP": "Hovnanian Enterprises Inc - Depositary Share representing 1/1000th of 7.625% Series A Preferred Stock", "HPK": "HighPeak Energy, Inc. - Common Stock", "HPKEW": "HighPeak Energy, Inc. - Warrant", "HQI": "HireQuest, Inc. - Common Stock", "HQY": "HealthEquity, Inc. - Common Stock", "HRMY": "Harmony Biosciences Holdings, Inc. - Common Stock", "HROW": "Harrow Health, Inc. - Common Stock", "HRTX": "Heron Therapeutics, Inc. - Common Stock", "HRZN": "Horizon Technology Finance Corporation - Common Stock", "HSAQ": "Health Sciences Acquisitions Corporation 2 - Ordinary Shares", "HSDT": "Helius Medical Technologies, Inc. - Class A Common Stock", "HSIC": "Henry Schein", "HSII": "Heidrick & Struggles International, Inc. - Common Stock", "HSKA": "Heska Corporation - Common Stock", "HSON": "Hudson Global, Inc. - Common Stock", "HST": "Host Hotels & Resorts", "HSTM": "HealthStream, Inc. - Common Stock", "HSTO": "Histogen Inc. - Common Stock", "HTBI": "HomeTrust Bancshares, Inc. - Common Stock", "HTBK": "Heritage Commerce Corp - Common Stock", "HTBX": "Heat Biologics, Inc. - Common Stock", "HTGM": "HTG Molecular Diagnostics, Inc. - Common Stock", "HTHT": "Huazhu Group Limited - American Depositary Shares, each representing one Ordinary Share", "HTIA": "Healthcare Trust, Inc. - 7.375% Series A Cumulative Redeemable Perpetual Preferred Stock", "HTLD": "Heartland Express, Inc. - Common Stock", "HTLF": "Heartland Financial USA, Inc. - Common Stock", "HTLFP": "Heartland Financial USA, Inc. - Depositary Shares, each representing a 1/400th ownership interest in a share of 7.00% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "HTOO": "Fusion Fuel Green PLC - Ordinary Shares", "HTOOW": "Fusion Fuel Green PLC - Warrant", "HUBG": "Hub Group, Inc. - Class A Common Stock", "HUDI": "Huadi International Group Co., Ltd. - Ordinary Shares", "HUGE": "FSD Pharma Inc. - Class B Subordinate Voting Shares", "HUIZ": "Huize Holding Limited - American Depositary Shares", "HURC": "Hurco Companies, Inc. - Common Stock", "HURN": "Huron Consulting Group Inc. - Common Stock", "HUSN": "Hudson Capital Inc. - Ordinary Shares", "HVBC": "HV Bancorp, Inc. - Common Stock", "HWBK": "Hawthorn Bancshares, Inc. - Common Stock", "HWC": "Hancock Whitney Corporation - Common Stock", "HWCC": "Houston Wire & Cable Company - Common Stock", "HWCPL": "Hancock Whitney Corporation - 5.95% Subordinated Notes due 2045", "HWCPZ": "Hancock Whitney Corporation - 6.25% Subordinated Notes due 2060", "HWKN": "Hawkins, Inc. - Common Stock", "HX": "Xiaobai Maimai Inc. - American Depositary Shares", "HYACU": "Haymaker Acquisition Corp. III - Unit", "HYFM": "Hydrofarm Holdings Group, Inc. - Common Stock", "HYLS": "First Trust Tactical High Yield ETF", "HYMC": "Hycroft Mining Holding Corporation - Class A Common Stock", "HYMCL": "Hycroft Mining Holding Corporation - Warrants", "HYMCW": "Hycroft Mining Holding Corporation - Warrant", "HYMCZ": "Hycroft Mining Holding Corporation - Warrant", "HYRE": "HyreCar Inc. - Common Stock", "HYXF": "iShares ESG Advanced High Yield Corporate Bond ETF", "HYZD": "WisdomTree Interest Rate Hedged High Yield Bond Fund", "HZNP": "Horizon Therapeutics Public Limited Company - Ordinary Shares", "IAC": "IAC/InterActiveCorp - Common Stock", "IART": "Integra LifeSciences Holdings Corporation - Common Stock", "IBB": "iShares Nasdaq Biotechnology Index Fund", "IBBJ": "Defiance Nasdaq Junior Biotechnology ETF", "IBCP": "Independent Bank Corporation - Common Stock", "IBEX": "IBEX Limited - Common Share", "IBKR": "Interactive Brokers Group, Inc. - Class A Common Stock", "IBOC": "International Bancshares Corporation - Common Stock", "IBTA": "iShares iBonds Dec 2021 Term Treasury ETF", "IBTB": "iShares iBonds Dec 2022 Term Treasury ETF", "IBTD": "iShares iBonds Dec 2023 Term Treasury ETF", "IBTE": "iShares iBonds Dec 2024 Term Treasury ETF", "IBTF": "iShares iBonds Dec 2025 Term Treasury ETF", "IBTG": "iShares iBonds Dec 2026 Term Treasury ETF", "IBTH": "iShares iBonds Dec 2027 Term Treasury ETF", "IBTI": "iShares iBonds Dec 2028 Term Treasury ETF", "IBTJ": "iShares iBonds Dec 2029 Term Treasury ETF", "IBTK": "iShares iBonds Dec 2030 Term Treasury ETF", "IBTX": "Independent Bank Group, Inc - Common Stock", "ICAD": "icad inc. - Common Stock", "ICBK": "County Bancorp, Inc. - Common Stock", "ICCC": "ImmuCell Corporation - Common Stock", "ICCH": "ICC Holdings, Inc. - Common Stock", "ICFI": "ICF International, Inc. - Common Stock", "ICHR": "Ichor Holdings - Ordinary Shares", "ICLK": "iClick Interactive Asia Group Limited - American Depositary Shares", "ICLN": "iShares S&P Global Clean Energy Index Fund", "ICLR": "ICON plc - Ordinary Shares", "ICMB": "Investcorp Credit Management BDC, Inc. - Common Stock", "ICON": "Iconix Brand Group, Inc. - Common Stock", "ICPT": "Intercept Pharmaceuticals, Inc. - Common Stock", "ICUI": "ICU Medical, Inc. - Common Stock", "IDBA": "IDEX Biometrics ASA - American Depositary Shares", "IDCC": "InterDigital, Inc. - Common Stock", "IDEX": "Ideanomics, Inc. - Common Stock", "IDLB": "Invesco FTSE International Low Beta Equal Weight ETF", "IDN": "Intellicheck, Inc. - Common Stock", "IDRA": "Idera Pharmaceuticals, Inc. - Common Stock", "IDXX": "Idexx Laboratories", "IDYA": "IDEAYA Biosciences, Inc. - Common Stock", "IEA": "Infrastructure and Energy Alternatives, Inc. - Common Stock", "IEAWW": "Infrastructure and Energy Alternatives, Inc. - Warrant", "IEC": "IEC Electronics Corp. - Common Stock", "IEF": "iShares 7-10 Year Treasury Bond ETF", "IEI": "iShares 3-7 Year Treasury Bond ETF", "IEP": "Icahn Enterprises L.P. - Depositary units", "IESC": "IES Holdings, Inc. - Common Stock", "IEUS": "iShares MSCI Europe Small-Cap ETF", "IFGL": "iShares FTSE EPRA/NAREIT Global Real Estate ex-U.S. Index Fund", "IFMK": "iFresh Inc. - Common Stock", "IFRX": "InflaRx N.V. - Common Stock", "IFV": "First Trust Dorsey Wright International Focus 5 ETF", "IGAC": "IG Acquisition Corp. - Class A Common Stock", "IGACU": "IG Acquisition Corp. - Unit", "IGACW": "IG Acquisition Corp. - Warrant", "IGF": "iShares Global Infrastructure ETF", "IGIB": "iShares 5-10 Year Investment Grade Corporate Bond ETF", "IGIC": "International General Insurance Holdings Ltd. - Ordinary Shares", "IGICW": "International General Insurance Holdings Ltd. - Warrant expiring 3/17/2025", "IGMS": "IGM Biosciences, Inc. - Common Stock", "IGNYU": "Ignyte Acquisition Corp. - Unit", "IGOV": "iShares International Treasury Bond ETF", "IGSB": "iShares 1-5 Year Investment Grade Corporate Bond ETF", "IHRT": "iHeartMedia, Inc. - Class A Common Stock", "IHYF": "Invesco High Yield Bond Factor ETF", "III": "Information Services Group, Inc. - Common Stock", "IIII": "INSU Acquisition Corp. III - Class A Common Stock", "IIIIU": "INSU Acquisition Corp. III - Unit", "IIIIW": "INSU Acquisition Corp. III - Warrant", "IIIN": "Insteel Industries, Inc. - Common Stock", "IIIV": "i3 Verticals, Inc. - Common Stock", "IIN": "IntriCon Corporation - Common Stock", "IIVI": "II-VI Incorporated - Common Stock", "IIVIP": "II-VI Incorporated - 6.00% Series A Mandatory Convertible Preferred Stock", "IJT": "iShares S&P Small-Cap 600 Growth ETF", "IKNX": "Ikonics Corporation - Common Stock", "IKT": "Inhibikase Therapeutics, Inc. - Common Stock", "ILMN": "Illumina Inc", "ILPT": "Industrial Logistics Properties Trust - Common Shares of Beneficial Interest", "IMAB": "I-MAB - American Depositary Shares", "IMAC": "IMAC Holdings, Inc. - Common Stock", "IMACW": "IMAC Holdings, Inc. - Warrant", "IMBI": "iMedia Brands, Inc. - Class A Common Stock", "IMCC": "IM Cannabis Corp. - Common Shares", "IMCR": "Immunocore Holdings plc - American Depositary Shares", "IMGN": "ImmunoGen, Inc. - Common Stock", "IMKTA": "Ingles Markets, Incorporated - Class A Common Stock", "IMMP": "Immutep Limited - American Depositary Shares", "IMMR": "Immersion Corporation - Common Stock", "IMNM": "Immunome, Inc. - Common Stock", "IMOS": "ChipMOS TECHNOLOGIES INC. - American Depositary Shares", "IMRA": "IMARA Inc. - Common Stock", "IMRN": "Immuron Limited - American Depositary Shares", "IMRNW": "Immuron Limited - Warrants", "IMTE": "Integrated Media Technology Limited - Ordinary Shares", "IMTX": "Immatics N.V. - Ordinary Shares", "IMTXW": "Immatics N.V. - Warrants", "IMUX": "Immunic, Inc. - Common Stock", "IMV": "IMV Inc. - Common Shares", "IMVT": "Immunovant, Inc. - Common Stock", "IMXI": "International Money Express, Inc. - Common Stock", "INBK": "First Internet Bancorp - Common Stock", "INBKL": "First Internet Bancorp - 6.0% Fixed-to-Floating Rate Subordinated Notes due 2026", "INBKZ": "First Internet Bancorp - Fixed-to-Floating Rate Subordinated Notes Due 2029", "INBX": "Inhibrx, Inc. - Common Stock", "INCY": "Incyte", "INDB": "Independent Bank Corp. - Common Stock", "INDT": "INDUS Realty Trust, Inc. - Common Stock", "INDY": "iShares S&P India Nifty 50 Index Fund", "INFI": "Infinity Pharmaceuticals, Inc. - Common Stock", "INFN": "Infinera Corporation - Common Stock", "INFR": "Legg Mason Global Infrastructure ETF", "INGN": "Inogen, Inc - Common Stock", "INKA": "KludeIn I Acquisition Corp. - Class A Common Stock", "INKAU": "KludeIn I Acquisition Corp. - Unit", "INKAW": "KludeIn I Acquisition Corp. - Warrant", "INM": "InMed Pharmaceuticals Inc. - Common Shares", "INMB": "INmune Bio Inc. - Common stock", "INMD": "InMode Ltd. - Ordinary Shares", "INO": "Inovio Pharmaceuticals, Inc. - Common Stock", "INOD": "Innodata Inc. - Common Stock", "INOV": "Inovalon Holdings, Inc. - Class A Common Stock", "INPX": "Inpixon - Common Stock", "INSE": "Inspired Entertainment, Inc. - Common Stock", "INSG": "Inseego Corp. - Common Stock", "INSM": "Insmed, Inc. - Common Stock", "INTG": "The Intergroup Corporation - Common Stock", "INTU": "Intuit Inc.", "INTZ": "Intrusion Inc. - Common Stock", "INVA": "Innoviva, Inc. - Common Stock", "INVE": "Identiv, Inc. - Common Stock", "INVO": "INVO BioScience, Inc. - Common Stock", "INZY": "Inozyme Pharma, Inc. - Common Stock", "IONS": "Ionis Pharmaceuticals, Inc. - Common Stock", "IOSP": "Innospec Inc. - Common Stock", "IOVA": "Iovance Biotherapeutics, Inc. - Common Stock", "IPA": "ImmunoPrecise Antibodies Ltd. - Common Stock", "IPAR": "Inter Parfums, Inc. - Common Stock", "IPDN": "Professional Diversity Network, Inc. - Common Stock", "IPGP": "IPG Photonics Corp.", "IPHA": "Innate Pharma S.A. - American Depositary Shares", "IPHI": "Inphi Corporation - Common Stock", "IPKW": "Invesco International BuyBack Achievers ETF", "IPLDP": "Interstate Power and Light Company - Interstate Power & Light Company Perp Preferred 5.10% Series D", "IPWR": "Ideal Power Inc. - Common Stock", "IQ": "iQIYI, Inc. - American Depositary Shares", "IRBT": "iRobot Corporation - Common Stock", "IRCP": "IRSA Propiedades Comerciales S.A. - American Depository Shares", "IRDM": "Iridium Communications Inc - Common Stock", "IRIX": "IRIDEX Corporation - Common Stock", "IRMD": "iRadimed Corporation - Common Stock", "IROQ": "IF Bancorp, Inc. - Common Stock", "IRTC": "iRhythm Technologies, Inc. - Common Stock", "IRWD": "Ironwood Pharmaceuticals, Inc. - Class A Common Stock", "ISBC": "Investors Bancorp, Inc. - Common Stock", "ISDX": "Invesco RAFI Strategic Developed ex-US ETF", "ISEE": "IVERIC bio, Inc. - Common Stock", "ISEM": "Invesco RAFI Strategic Emerging Markets ETF", "ISHG": "iShares 1-3 Year International Treasury Bond ETF", "ISIG": "Insignia Systems, Inc. - Common Stock", "ISLEU": "Isleworth Healthcare Acquisition Corporation - Unit", "ISNS": "Image Sensing Systems, Inc. - Common Stock", "ISRG": "Intuitive Surgical Inc.", "ISSC": "Innovative Solutions and Support, Inc. - Common Stock", "ISTB": "iShares Core 1-5 Year USD Bond ETF", "ISTR": "Investar Holding Corporation - Common Stock", "ISUN": "iSun, Inc. - Common Stock", "ITAC": "Industrial Tech Acquisitions, Inc. - Class A common stock", "ITACU": "Industrial Tech Acquisitions, Inc. - Unit", "ITACW": "Industrial Tech Acquisitions, Inc. - Warrant", "ITCI": "Intra-Cellular Therapies Inc. - Common Stock", "ITHXU": "ITHAX Acquisition Corp. - Unit", "ITI": "Iteris, Inc. - Common Stock", "ITIC": "Investors Title Company - Common Stock", "ITMR": "Itamar Medical Ltd. - American Depository Shares", "ITOS": "iTeos Therapeutics, Inc. - Common Stock", "ITQRU": "Itiquira Acquisition Corp. - Unit", "ITRI": "Itron, Inc. - Common Stock", "ITRM": "Iterum Therapeutics plc - Ordinary Share", "ITRN": "Ituran Location and Control Ltd. - Ordinary Shares", "IUS": "Invesco RAFI Strategic US ETF", "IUSB": "iShares Core Total USD Bond Market ETF", "IUSG": "iShares Core S&P U.S. Growth ETF", "IUSS": "Invesco RAFI Strategic US Small Company ETF", "IUSV": "iShares Core S&P U.S. Value ETF", "IVA": "Inventiva S.A. - American Depository Shares", "IVAC": "Intevac, Inc. - Common Stock", "IXUS": "iShares Core MSCI Total International Stock ETF", "IZEA": "IZEA Worldwide, Inc. - Common Stock", "JACK": "Jack In The Box Inc. - Common Stock", "JAGX": "Jaguar Health, Inc. - Common Stock", "JAKK": "JAKKS Pacific, Inc. - Common Stock", "JAMF": "Jamf Holding Corp. - Common Stock", "JAN": "JanOne Inc. - Common Stock", "JAZZ": "Jazz Pharmaceuticals plc - Ordinary Shares", "JBHT": "J. B. Hunt Transport Services", "JBLU": "JetBlue Airways Corporation - Common Stock", "JBSS": "John B. Sanfilippo & Son, Inc. - Common Stock", "JCICU": "Jack Creek Investment Corp. - Units", "JCOM": "j2 Global, Inc. - Common Stock", "JCS": "Communications Systems, Inc. - Common Stock", "JCTCF": "Jewett-Cameron Trading Company - Common Shares", "JD": "JD.com, Inc. - American Depositary Shares", "JFIN": "Jiayin Group Inc. - American Depositary Shares", "JFU": "9F Inc. - American Depositary Shares", "JG": "Aurora Mobile Limited - American Depositary Shares", "JJSF": "J & J Snack Foods Corp. - Common Stock", "JKHY": "Jack Henry & Associates", "JKI": "iShares Morningstar Mid-Cap ETF", "JMPNL": "JMP Group LLC - 7.25% Senior Notes due 2027", "JMPNZ": "JMP Group LLC - 6.875% Senior Notes due 2029", "JNCE": "Jounce Therapeutics, Inc. - Common Stock", "JOBS": "51job, Inc. - American Depositary Shares, each representing two common shares", "JOET": "Virtus Terranova U.S. Quality Momentum ETF", "JOFFU": "JOFF Fintech Acquisition Corp. - Unit", "JOUT": "Johnson Outdoors Inc. - Class A Common Stock", "JRJC": "China Finance Online Co. Limited - American Depositary Shares", "JRSH": "Jerash Holdings (US), Inc. - Common Stock", "JRVR": "James River Group Holdings, Ltd. - Common Shares", "JSM": "Navient Corporation - 6% Senior Notes due December 15, 2043", "JSMD": "Janus Henderson Small/Mid Cap Growth Alpha ETF", "JSML": "Janus Henderson Small Cap Growth Alpha ETF", "JUPW": "Jupiter Wellness, Inc. - Common Stock", "JUPWW": "Jupiter Wellness, Inc. - Warrant", "JVA": "Coffee Holding Co., Inc. - Common Stock", "JYAC": "Jiya Acquisition Corp. - Class A Common Stock", "JYNT": "The Joint Corp. - Common Stock", "KAIIU": "Kismet Acquisition Two Corp. - Unit", "KAIR": "Kairos Acquisition Corp. - Class A Ordinary Shares", "KAIRU": "Kairos Acquisition Corp. - Unit", "KAIRW": "Kairos Acquisition Corp. - Warrant", "KALA": "Kala Pharmaceuticals, Inc. - Common Stock", "KALU": "Kaiser Aluminum Corporation - Common Stock", "KALV": "KalVista Pharmaceuticals, Inc. - Common Stock", "KBAL": "Kimball International, Inc. - Class B Common Stock", "KBNT": "Kubient, Inc. - Common Stock", "KBNTW": "Kubient, Inc. - Warrant", "KBSF": "KBS Fashion Group Limited - Common Stock", "KBWB": "Invesco KBW Bank ETF", "KBWD": "Invesco KBW High Dividend Yield Financial ETF", "KBWP": "Invesco KBW Property & Casualty Insurance ETF", "KBWR": "Invesco KBW Regional Banking ETF", "KBWY": "Invesco KBW Premium Yield Equity REIT ETF", "KC": "Kingsoft Cloud Holdings Limited - American Depositary Shares", "KCAPL": "Portman Ridge Finance Corporation - 6.125% Notes due 2022", "KDMN": "Kadmon Holdings, Inc. - Common Stock", "KDNY": "Chinook Therapeutics, Inc. - Common Stock", "KDP": "Keurig Dr Pepper Inc. - Common Stock", "KE": "Kimball Electronics, Inc. - Common Stock", "KEJI": "Global X China Disruption ETF", "KELYA": "Kelly Services, Inc. - Class A Common Stock", "KELYB": "Kelly Services, Inc. - Class B Common Stock", "KEQU": "Kewaunee Scientific Corporation - Common Stock", "KERN": "Akerna Corp. - Common Stock", "KERNW": "Akerna Corp. - Warrant", "KFFB": "Kentucky First Federal Bancorp - Common Stock", "KFRC": "Kforce, Inc. - Common Stock", "KHC": "Kraft Heinz Co", "KIDS": "OrthoPediatrics Corp. - Common Stock", "KIIIU": "Kismet Acquisition Three Corp. - Unit", "KIN": "Kindred Biosciences, Inc. - Common Stock", "KINS": "Kingstone Companies, Inc - Common Stock", "KINZ": "KINS Technology Group Inc. - Class A Common Stock", "KINZU": "KINS Technology Group Inc. - Unit", "KINZW": "KINS Technology Group Inc. - Warrant", "KIRK": "Kirkland's, Inc. - Common Stock", "KLAC": "KLA Corporation", "KLAQ": "KL Acquisition Corp - Class A Common Stock", "KLAQU": "KL Acquisition Corp - Unit", "KLAQW": "KL Acquisition Corp - Warrant", "KLDO": "Kaleido Biosciences, Inc. - Common Stock", "KLIC": "Kulicke and Soffa Industries, Inc. - Common Stock", "KLXE": "KLX Energy Services Holdings, Inc. - Common Stock", "KMDA": "Kamada Ltd. - Ordinary Shares", "KMPH": "KemPharm, Inc. - Common Stock", "KNDI": "Kandi Technologies Group, Inc. - Common Stock", "KNSA": "Kiniksa Pharmaceuticals, Ltd. - Class A Common Stock", "KNSL": "Kinsale Capital Group, Inc. - Common Stock", "KNTE": "Kinnate Biopharma Inc. - Common Stock", "KOD": "Kodiak Sciences Inc - Common Stock", "KOPN": "Kopin Corporation - Common Stock", "KOR": "Corvus Gold Inc. - Common Shares", "KOSS": "Koss Corporation - Common Stock", "KPTI": "Karyopharm Therapeutics Inc. - Common Stock", "KRBP": "Kiromic BioPharma, Inc. - Common Stock", "KRKR": "36Kr Holdings Inc. - American Depositary Shares", "KRMA": "Global X Conscious Companies ETF", "KRMD": "Repro Med Systems, Inc. - Common Stock", "KRNLU": "Kernel Group Holdings, Inc. - Units", "KRNT": "Kornit Digital Ltd. - Ordinary Shares", "KRNY": "Kearny Financial - Common Stock", "KRON": "Kronos Bio, Inc. - Common Stock", "KROS": "Keros Therapeutics, Inc. - common stock", "KRTX": "Karuna Therapeutics, Inc. - Common Stock", "KRUS": "Kura Sushi USA, Inc. - Class A Common Stock", "KRYS": "Krystal Biotech, Inc. - Common Stock", "KSMT": "Kismet Acquisition One Corp - Ordinary Shares", "KSMTU": "Kismet Acquisition One Corp - Unit", "KSMTW": "Kismet Acquisition One Corp - Warrant", "KSPN": "Kaspien Holdings Inc. - Common Stock", "KTCC": "Key Tronic Corporation - Common Stock", "KTOS": "Kratos Defense & Security Solutions, Inc. - Common Stock", "KTRA": "Kintara Therapeutics, Inc. - Common Stock", "KURA": "Kura Oncology, Inc. - Common Stock", "KVHI": "KVH Industries, Inc. - Common Stock", "KXIN": "Kaixin Auto Holdings - Ordinary Share", "KYMR": "Kymera Therapeutics, Inc. - Common Stock", "KZIA": "Kazia Therapeutics Limited - American Depositary Shares", "KZR": "Kezar Life Sciences, Inc. - Common Stock", "LABP": "Landos Biopharma, Inc. - Common Stock", "LACQ": "Leisure Acquisition Corp. - Common Stock", "LACQU": "Leisure Acquisition Corp. - Unit", "LACQW": "Leisure Acquisition Corp. - Warrant", "LAKE": "Lakeland Industries, Inc. - Common Stock", "LAMR": "Lamar Advertising Company - Class A Common Stock", "LANC": "Lancaster Colony Corporation - Common Stock", "LAND": "Gladstone Land Corporation - Common Stock", "LANDM": "Gladstone Land Corporation - 5.00% Series D Cumulative Term Preferred Stock", "LANDO": "Gladstone Land Corporation - 6.00% Series B Cumulative Redeemable Preferred Stock", "LARK": "Landmark Bancorp Inc. - Common Stock", "LASR": "nLIGHT, Inc. - Common Stock", "LATN": "Union Acquisition Corp. II - Ordinary Shares", "LATNU": "Union Acquisition Corp. II - Units", "LATNW": "Union Acquisition Corp. II - Warrant", "LAUR": "Laureate Education, Inc. - Class A Common Stock", "LAWS": "Lawson Products, Inc. - Common Stock", "LAZR": "Luminar Technologies, Inc. - Class A Common Stock", "LAZRW": "Luminar Technologies, Inc. - Warrant", "LAZY": "Lazydays Holdings, Inc. - Common Stock", "LBAI": "Lakeland Bancorp, Inc. - Common Stock", "LBC": "Luther Burbank Corporation - Common Stock", "LBRDA": "Liberty Broadband Corporation - Class A Common Stock", "LBRDK": "Liberty Broadband Corporation - Class C Common Stock", "LBRDP": "Liberty Broadband Corporation - Series A Cumulative Redeemable Preferred Stock", "LBTYA": "Liberty Global plc - Class A Ordinary Shares", "LBTYB": "Liberty Global plc - Class B Ordinary Shares", "LBTYK": "Liberty Global plc - Class C Ordinary Shares", "LCAP": "Lionheart Acquisition Corp. II - Class A Common Stock", "LCAPU": "Lionheart Acquisition Corp. II - Unit", "LCAPW": "Lionheart Acquisition Corp. II - Warrant", "LCNB": "LCNB Corporation - Common Stock", "LCUT": "Lifetime Brands, Inc. - Common Stock", "LCY": "Landcadia Holdings III, Inc. - Class A Common Stock", "LCYAU": "Landcadia Holdings III, Inc. - Unit", "LCYAW": "Landcadia Holdings III, Inc. - Warrant", "LDEM": "iShares ESG MSCI EM Leaders ETF", "LDSF": "First Trust Low Duration Strategic Focus ETF", "LE": "Lands' End, Inc. - Common Stock", "LECO": "Lincoln Electric Holdings, Inc. - Common Shares", "LEDS": "SemiLEDS Corporation - Common Stock", "LEGH": "Legacy Housing Corporation - Common Stock", "LEGN": "Legend Biotech Corporation - American Depositary Shares", "LEGOU": "Legato Merger Corp. - Units", "LEGR": "First Trust Indxx Innovative Transaction & Process ETF", "LESL": "Leslie's, Inc. - Common Stock", "LEVL": "Level One Bancorp, Inc. - Common Stock", "LEVLP": "Level One Bancorp, Inc. - Depositary Shares, Each Representing a 1/100th Interest in a Share of 7.50% Non-Cumulative Perpetual Preferred Stock, Series B", "LEXX": "Lexaria Bioscience Corp. - Common Stock", "LEXXW": "Lexaria Bioscience Corp. - Warrant", "LFMD": "LifeMD, Inc. - Common Stock", "LFTR": "Lefteris Acquisition Corp. - Class A Common Stock", "LFTRU": "Lefteris Acquisition Corp. - Unit", "LFTRW": "Lefteris Acquisition Corp. - Warrant", "LFUS": "Littelfuse, Inc. - Common Stock", "LFVN": "Lifevantage Corporation - Common Stock", "LGACU": "Lazard Growth Acquisition Corp. I - Units", "LGHL": "Lion Group Holding Ltd. - American Depositary Share", "LGHLW": "Lion Group Holding Ltd. - Warrant", "LGIH": "LGI Homes, Inc. - Common Stock", "LGND": "Ligand Pharmaceuticals Incorporated - Common Stock", "LGVN": "Longeveron Inc. - common stock", "LHCG": "LHC Group - common stock", "LHDX": "Lucira Health, Inc. - Common Stock", "LI": "Li Auto Inc. - American Depositary Shares", "LIFE": "aTyr Pharma, Inc. - Common Stock", "LILA": "Liberty Latin America Ltd. - Class A Common Stock", "LILAK": "Liberty Latin America Ltd. - Class C Common Stock", "LINC": "Lincoln Educational Services Corporation - Common Stock", "LIND": "Lindblad Expeditions Holdings Inc. - Common Stock", "LIQT": "LiqTech International, Inc. - Common Stock", "LITE": "Lumentum Holdings Inc. - Common Stock", "LIVE": "Live Ventures Incorporated - Common Stock", "LIVK": "LIV Capital Acquisition Corp. - Class A Ordinary Shares", "LIVKU": "LIV Capital Acquisition Corp. - Unit", "LIVKW": "LIV Capital Acquisition Corp. - Warrant", "LIVN": "LivaNova PLC - Ordinary Shares", "LIVX": "LiveXLive Media, Inc. - Common Stock", "LIXT": "Lixte Biotechnology Holdings, Inc. - Common Stock", "LIXTW": "Lixte Biotechnology Holdings, Inc. - Warrants", "LIZI": "LIZHI INC. - American Depositary Shares", "LJAQ": "LightJump Acquisition Corporation - Common Stock", "LJAQU": "LightJump Acquisition Corporation - Unit", "LJAQW": "LightJump Acquisition Corporation - Warrant", "LJPC": "La Jolla Pharmaceutical Company - Common Stock", "LKCO": "Luokung Technology Corp - Ordinary Shares", "LKFN": "Lakeland Financial Corporation - Common Stock", "LKQ": "LKQ Corporation", "LLIT": "Lianluo Smart Limited - Class A Common Stock", "LLNW": "Limelight Networks, Inc. - Common Stock", "LMACU": "Liberty Media Acquisition Corporation - Unit", "LMAOU": "LMF Acquisition Opportunities Inc. - Unit", "LMAT": "LeMaitre Vascular, Inc. - Common Stock", "LMB": "Limbach Holdings, Inc. - Common Stock", "LMBS": "First Trust Low Duration Opportunities ETF", "LMFA": "LM Funding America, Inc. - Common Stock", "LMNL": "Liminal BioSciences Inc. - Common Shares", "LMNR": "Limoneira Co - Common Stock", "LMNX": "Luminex Corporation - Common Stock", "LMPX": "LMP Automotive Holdings, Inc. - Common Stock", "LMRK": "Landmark Infrastructure Partners LP - Common Units", "LMRKN": "Landmark Infrastructure Partners LP - Preferred Stock", "LMRKO": "Landmark Infrastructure Partners LP - Preferred Units", "LMRKP": "Landmark Infrastructure Partners LP - 8.00% Series A Cumulative Redeemable Perpetual Preferred Units", "LMST": "Limestone Bancorp, Inc. - Common Stock", "LNDC": "Landec Corporation - Common Stock", "LNGR": "Global X Longevity Thematic ETF", "LNSR": "LENSAR, Inc. - Common Stock", "LNT": "Alliant Energy", "LNTH": "Lantheus Holdings, Inc. - Common Stock", "LOAC": "Longevity Acquisition Corporation - Ordinary Shares", "LOACR": "Longevity Acquisition Corporation - Right", "LOACU": "Longevity Acquisition Corporation - Units", "LOACW": "Longevity Acquisition Corporation - Warrant", "LOAN": "Manhattan Bridge Capital, Inc - Common Stock", "LOB": "Live Oak Bancshares, Inc. - Common Stock", "LOCO": "El Pollo Loco Holdings, Inc. - Common Stock", "LOGC": "LogicBio Therapeutics, Inc. - Common Stock", "LOGI": "Logitech International S.A. - Registered Shares", "LOOP": "Loop Industries, Inc. - Common Stock", "LOPE": "Grand Canyon Education, Inc. - Common Stock", "LORL": "Loral Space and Communications, Inc. - Common Stock", "LOTZ": "CarLotz, Inc. - Class A Common Stock", "LOTZW": "CarLotz, Inc. - Warrant", "LOVE": "The Lovesac Company - Common Stock", "LPCN": "Lipocine Inc. - Common Stock", "LPLA": "LPL Financial Holdings Inc. - Common Stock", "LPRO": "Open Lending Corporation - Class A Common Stock", "LPSN": "LivePerson, Inc. - Common Stock", "LPTH": "LightPath Technologies, Inc. - Class A Common Stock", "LPTX": "Leap Therapeutics, Inc. - Common Stock", "LQDA": "Liquidia Corporation - Common Stock", "LQDT": "Liquidity Services, Inc. - Common Stock", "LRCX": "Lam Research", "LRGE": "ClearBridge Large Cap Growth ESG ETF", "LRMR": "Larimar Therapeutics, Inc. - Common Stock", "LSAQ": "LifeSci Acquisition II Corp. - Common Stock", "LSBK": "Lake Shore Bancorp, Inc. - Common Stock", "LSCC": "Lattice Semiconductor Corporation - Common Stock", "LSEA": "Landsea Homes Corporation - Common Stock", "LSEAW": "Landsea Homes Corporation - Warrant", "LSTR": "Landstar System, Inc. - Common Stock", "LSXMA": "Liberty Media Corporation - Series A Liberty SiriusXM Common Stock", "LSXMB": "Liberty Media Corporation - Series B Liberty SiriusXM Common Stock", "LSXMK": "Liberty Media Corporation - Series C Liberty SiriusXM Common Stock", "LTBR": "Lightbridge Corporation - Common Stock", "LTRN": "Lantern Pharma Inc. - Common Stock", "LTRPA": "Liberty TripAdvisor Holdings, Inc. - Series A Common Stock", "LTRPB": "Liberty TripAdvisor Holdings, Inc. - Series B Common Stock", "LTRX": "Lantronix, Inc. - Common Stock", "LULU": "lululemon athletica inc. - Common Stock", "LUMO": "Lumos Pharma, Inc. - Common Stock", "LUNA": "Luna Innovations Incorporated - Common Stock", "LUNG": "Pulmonx Corporation - Common Stock", "LUXA": "Lux Health Tech Acquisition Corp. - Class A Common Stock", "LUXAU": "Lux Health Tech Acquisition Corp. - Units", "LUXAW": "Lux Health Tech Acquisition Corp. - Warrants", "LVHD": "Legg Mason Low Volatility High Dividend ETF", "LWAC": "Locust Walk Acquisition Corp. - Class A Common stock", "LWACU": "Locust Walk Acquisition Corp. - Unit", "LWACW": "Locust Walk Acquisition Corp. - Warrant", "LWAY": "Lifeway Foods, Inc. - Common Stock", "LX": "LexinFintech Holdings Ltd. - American Depositary Shares", "LXEH": "Lixiang Education Holding Co., Ltd. - American Depositary Shares", "LXRX": "Lexicon Pharmaceuticals, Inc. - Common Stock", "LYFT": "Lyft, Inc. - Class A Common Stock", "LYL": "Dragon Victory International Limited - Ordinary Shares", "LYRA": "Lyra Therapeutics, Inc. - Common Stock", "LYTS": "LSI Industries Inc. - Common Stock", "MAAC": "Montes Archimedes Acquisition Corp. - Class A Common Stock", "MAACU": "Montes Archimedes Acquisition Corp. - Unit", "MAACW": "Montes Archimedes Acquisition Corp. - Warrant", "MACAU": "Moringa Acquisition Corp - Units", "MACK": "Merrimack Pharmaceuticals, Inc. - Common Stock", "MACQU": "MCAP Acquisition Corporation - Unit", "MACU": "Mallard Acquisition Corp. - Common Stock", "MACUU": "Mallard Acquisition Corp. - Unit", "MACUW": "Mallard Acquisition Corp. - Warrant", "MAGS": "Magal Security Systems Ltd. - Ordinary Shares", "MANH": "Manhattan Associates, Inc. - Common Stock", "MANT": "ManTech International Corporation - Class A Common Stock", "MAR": "Marriott International", "MARA": "Marathon Digital Holdings, Inc. - Common Stock", "MARK": "Remark Holdings, Inc. - Common Stock", "MARPS": "Marine Petroleum Trust - Units of Beneficial Interest", "MASI": "Masimo Corporation - Common Stock", "MASS": "908 Devices Inc. - Common Stock", "MAT": "Mattel, Inc. - Common Stock", "MATW": "Matthews International Corporation - Class A Common Stock", "MAXN": "Maxeon Solar Technologies, Ltd. - Ordinary Shares", "MAYS": "J. W. Mays, Inc. - Common Stock", "MBB": "iShares MBS ETF", "MBCN": "Middlefield Banc Corp. - Common Stock", "MBII": "Marrone Bio Innovations, Inc. - Common Stock", "MBIN": "Merchants Bancorp - Common Stock", "MBINO": "Merchants Bancorp - Depositary Shares Each Representing a 1/40th Interest in a Share of Series B Fixed-to-Floating Rate", "MBINP": "Merchants Bancorp - 7.00% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "MBIO": "Mustang Bio, Inc. - Common Stock", "MBNKP": "Medallion Bank - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series F", "MBOT": "Microbot Medical Inc. - Common Stock", "MBRX": "Moleculin Biotech, Inc. - Common Stock", "MBUU": "Malibu Boats, Inc. - Common Stock", "MBWM": "Mercantile Bank Corporation - Common Stock", "MCADU": "Mountain Crest Acquisition Corp. II - Units each consisting of one share of Common Stock, $0.0001 par value andone Right to acquire 1/10 of one share of Common Stock.", "MCBC": "Macatawa Bank Corporation - Common Stock", "MCBS": "MetroCity Bankshares, Inc. - Common Stock", "MCEF": "First Trust Municipal CEF Income Opportunity ETF", "MCFE": "McAfee Corp. - Class A Common Stock", "MCFT": "MasterCraft Boat Holdings, Inc. - Common Stock", "MCHI": "iShares MSCI China ETF", "MCHP": "Microchip Technology", "MCHX": "Marchex, Inc. - Class B Common Stock", "MCMJ": "Merida Merger Corp. I - Common Stock", "MCMJW": "Merida Merger Corp. I - Warrant", "MCRB": "Seres Therapeutics, Inc. - Common Stock", "MCRI": "Monarch Casino & Resort, Inc. - Common Stock", "MDB": "MongoDB, Inc. - Class A Common Stock", "MDCA": "MDC Partners Inc. - Class A Subordinate Voting Shares", "MDGL": "Madrigal Pharmaceuticals, Inc. - Common Stock", "MDGS": "Medigus Ltd. - American Depositary Shares", "MDGSW": "Medigus Ltd. - Series C Warrant", "MDIA": "Mediaco Holding Inc. - Class A Common Stock", "MDIV": "Multi-Asset Diversified Income Index Fund", "MDJH": "MDJM LTD - Ordinary Shares", "MDLZ": "Mondelez International", "MDNA": "Medicenna Therapeutics Corp. - Common Shares", "MDRR": "Medalist Diversified REIT, Inc. - Common Stock", "MDRRP": "Medalist Diversified REIT, Inc. - Series A Cumulative Redeemable Preferred Stock", "MDRX": "Allscripts Healthcare Solutions, Inc. - common stock", "MDVL": "MedAvail Holdings, Inc. - Common Stock", "MDWD": "MediWound Ltd. - Ordinary Shares", "MDWT": "Midwest Holding Inc. - Common Stock", "MDXG": "MiMedx Group, Inc - Common Stock", "MEDP": "Medpace Holdings, Inc. - Common Stock", "MEDS": "Trxade Group, Inc. - Common Stock", "MEIP": "MEI Pharma, Inc. - Common Stock", "MELI": "MercadoLibre, Inc. - Common Stock", "MEOH": "Methanex Corporation - Common Stock", "MERC": "Mercer International Inc. - Common Stock", "MESA": "Mesa Air Group, Inc. - Common Stock", "MESO": "Mesoblast Limited - American Depositary Shares", "METC": "Ramaco Resources, Inc. - Common Stock", "METX": "Meten EdtechX Education Group Ltd. - Ordinary Shares", "METXW": "Meten EdtechX Education Group Ltd. - Warrant", "MFH": "Mercurity Fintech Holding Inc. - American Depositary Shares", "MFIN": "Medallion Financial Corp. - Common Stock", "MFINL": "Medallion Financial Corp. - 9.000% Notes due 2021", "MFNC": "Mackinac Financial Corporation - Common Stock", "MGEE": "MGE Energy Inc. - Common Stock", "MGI": "Moneygram International, Inc. - Common Stock", "MGIC": "Magic Software Enterprises Ltd. - Ordinary Shares", "MGLN": "Magellan Health, Inc. - Common Stock", "MGNI": "Magnite, Inc. - Common Stock", "MGNX": "MacroGenics, Inc. - Common Stock", "MGPI": "MGP Ingredients, Inc. - Common Stock", "MGRC": "McGrath RentCorp - Common Stock", "MGTA": "Magenta Therapeutics, Inc. - Common Stock", "MGTX": "MeiraGTx Holdings plc - Ordinary Shares", "MGYR": "Magyar Bancorp, Inc. - Common Stock", "MHLD": "Maiden Holdings, Ltd. - Common Stock", "MICT": "MICT, Inc. - Common Stock", "MIDD": "The Middleby Corporation - Common Stock", "MIK": "The Michaels Companies, Inc. - Common Stock", "MILE": "Metromile, Inc. - Common Stock", "MILEW": "Metromile, Inc. - Warrant", "MILN": "Global X Millennials Thematic ETF", "MIME": "Mimecast Limited - Ordinary Shares", "MIND": "MIND Technology, Inc. - Common Stock", "MINDP": "MIND Technology, Inc. - Series A 9.00% Series A Cumulative Preferred Stock", "MIRM": "Mirum Pharmaceuticals, Inc. - common stock", "MIST": "Milestone Pharmaceuticals Inc. - Common Shares", "MITK": "Mitek Systems, Inc. - Common Stock", "MITO": "Stealth BioTherapeutics Corp. - American Depositary Shares", "MKD": "Molecular Data Inc. - ADS", "MKGI": "Monaker Group, Inc. - Common Stock", "MKSI": "MKS Instruments, Inc. - Common Stock", "MKTX": "MarketAxess", "MLAB": "Mesa Laboratories, Inc. - Common Stock", "MLAC": "Malacca Straits Acquisition Company Limited - Class A Ordinary Shares", "MLACU": "Malacca Straits Acquisition Company Limited - Units", "MLACW": "Malacca Straits Acquisition Company Limited - Warrants", "MLCO": "Melco Resorts & Entertainment Limited - American Depositary Shares ", "MLHR": "Herman Miller, Inc. - Common Stock", "MLND": "Millendo Therapeutics, Inc. - Common Stock", "MLVF": "Malvern Bancorp, Inc. - Common Stock", "MMAC": "MMA Capital Holdings, Inc. - Common Stock", "MMLP": "Martin Midstream Partners L.P. - Common Units Representing Limited Partnership Interests", "MMSI": "Merit Medical Systems, Inc. - Common Stock", "MMYT": "MakeMyTrip Limited - Ordinary Shares", "MNDO": "MIND C.T.I. Ltd. - Ordinary Shares", "MNKD": "MannKind Corporation - Common Stock", "MNOV": "MediciNova, Inc. - Common Stock", "MNPR": "Monopar Therapeutics Inc. - Common Stock", "MNRO": "Monro, Inc. - Common Stock", "MNSB": "MainStreet Bancshares, Inc. - Common Stock", "MNSBP": "MainStreet Bancshares, Inc. - Depositary Shares", "MNST": "Monster Beverage", "MNTK": "Montauk Renewables, Inc. - Common Stock", "MNTX": "Manitex International, Inc. - common stock", "MODV": "ModivCare Inc. - Common Stock", "MOFG": "MidWestOne Financial Group, Inc. - Common Stock", "MOGO": "Mogo Inc. - Common Shares", "MOHO": "ECMOHO Limited - American Depositary Shares", "MOMO": "Momo Inc. - American Depositary Shares", "MONCU": "Monument Circle Acquisition Corp. Units - Unit", "MOR": "MorphoSys AG - American Depositary Shares", "MORF": "Morphic Holding, Inc. - Common Stock", "MORN": "Morningstar, Inc. - Common Stock", "MOSY": "MoSys, Inc. - Common Stock", "MOTN": "Motion Acquisition Corp. - Class A Common Stock", "MOTNU": "Motion Acquisition Corp. - Unit", "MOTNW": "Motion Acquisition Corp. - Warrants to purchase one Class A common", "MOTS": "Motus GI Holdings, Inc. - Common Stock", "MOXC": "Moxian, Inc. - Common Stock", "MPAA": "Motorcar Parts of America, Inc. - Common Stock", "MPB": "Mid Penn Bancorp - Common Stock", "MPWR": "Monolithic Power Systems", "MRAC": "Marquee Raine Acquisition Corp. - Class A Ordinary Shares", "MRACU": "Marquee Raine Acquisition Corp. - Unit", "MRACW": "Marquee Raine Acquisition Corp. - Warrant", "MRAM": "Everspin Technologies, Inc. - Common Stock", "MRBK": "Meridian Corporation - Common Stock", "MRCC": "Monroe Capital Corporation - Common Stock", "MRCY": "Mercury Systems Inc - Common Stock", "MREO": "Mereo BioPharma Group plc - American Depositary Shares", "MRIN": "Marin Software Incorporated - Common Stock", "MRKR": "Marker Therapeutics, Inc. - Common Stock", "MRLN": "Marlin Business Services Corp. - Common Stock", "MRM": "MEDIROM Healthcare Technologies Inc. - American Depositary Share", "MRNA": "Moderna, Inc. - Common Stock", "MRNS": "Marinus Pharmaceuticals, Inc. - Common Stock", "MRSN": "Mersana Therapeutics, Inc. - Common Stock", "MRTN": "Marten Transport, Ltd. - Common Stock", "MRTX": "Mirati Therapeutics, Inc. - Common Stock", "MRUS": "Merus N.V. - Common Shares", "MRVI": "Maravai LifeSciences Holdings, Inc. - Class A common stock", "MRVL": "Marvell Technology Group Ltd. - Common Stock", "MSACU": "Medicus Sciences Acquisition Corp. - Unit", "MSBI": "Midland States Bancorp, Inc. - Common Stock", "MSEX": "Middlesex Water Company - Common Stock", "MSGM": "Motorsport Games Inc. - Class A Common Stock", "MSON": "MISONIX, Inc. - Common Stock", "MSTR": "MicroStrategy Incorporated - Class A Common Stock", "MSVB": "Mid-Southern Bancorp, Inc. - Common Stock", "MTAC": "MedTech Acquisition Corporation - Class A Common Stock", "MTACU": "MedTech Acquisition Corporation - Unit", "MTACW": "MedTech Acquisition Corporation - Warrant", "MTBC": "MTBC, Inc. - Common Stock", "MTBCP": "MTBC, Inc. - 11% Series A Cumulative Redeemable Perpetual Preferred Stock", "MTC": "MMTec, Inc. - Common Shares", "MTCH": "Match Group, Inc. - Common Stock", "MTCR": "Metacrine, Inc. - Common Stock", "MTEM": "Molecular Templates, Inc. - Common Stock", "MTEX": "Mannatech, Incorporated - Common Stock", "MTLS": "Materialise NV - American Depositary Shares", "MTP": "Midatech Pharma PLC - American Depositary Shares", "MTRX": "Matrix Service Company - Common Stock", "MTSC": "MTS Systems Corporation - Common Stock", "MTSI": "MACOM Technology Solutions Holdings, Inc. - Common Stock", "MTSL": "MER Telemanagement Solutions Ltd. - Ordinary Shares", "MU": "Micron Technology", "MUDS": "Mudrick Capital Acquisition Corporation II - Class A Common Stock", "MUDSU": "Mudrick Capital Acquisition Corporation II - Unit", "MUDSW": "Mudrick Capital Acquisition Corporation II - Warrant", "MVBF": "MVB Financial Corp. - Common Stock", "MVIS": "MicroVision, Inc. - Common Stock", "MWK": "Mohawk Group Holdings, Inc. - Common Stock", "MXIM": "Maxim Integrated Products", "MYFW": "First Western Financial, Inc. - Common Stock", "MYGN": "Myriad Genetics, Inc. - Common Stock", "MYRG": "MYR Group, Inc. - Common Stock", "MYSZ": "My Size, Inc. - Common Stock", "MYT": "Urban Tea, Inc. - Ordinary Shares", "NAACU": "North Atlantic Acquisition Corporation - Unit", "NAII": "Natural Alternatives International, Inc. - Common Stock", "NAKD": "Naked Brand Group Limited - Ordinary Shares", "NAOV": "NanoVibronix, Inc. - Common Stock", "NARI": "Inari Medical, Inc. - Common Stock", "NATH": "Nathan's Famous, Inc. - Common Stock", "NATI": "National Instruments Corporation - Common Stock", "NATR": "Nature's Sunshine Products, Inc. - Common Stock", "NAVI": "Navient Corporation - Common Stock", "NBAC": "Newborn Acquisition Corp. - Ordinary Shares", "NBACR": "Newborn Acquisition Corp. - Right", "NBACU": "Newborn Acquisition Corp. - Unit", "NBACW": "Newborn Acquisition Corp. - Warrant", "NBEV": "NewAge, Inc. - Common Stock", "NBIX": "Neurocrine Biosciences, Inc. - Common Stock", "NBLX": "Noble Midstream Partners LP - Common Units, Representing Limited Partner Interests", "NBN": "Northeast Bank - Common Stock", "NBRV": "Nabriva Therapeutics plc - Ordinary Shares", "NBSE": "NeuBase Therapeutics, Inc. - Common Stock", "NBTB": "NBT Bancorp Inc. - Common Stock", "NBTX": "Nanobiotix S.A. - ADSs", "NCBS": "Nicolet Bankshares Inc. - Common Stock", "NCMI": "National CineMedia, Inc. - Common Stock", "NCNA": "NuCana plc - American Depositary Shares", "NCNO": "nCino, Inc. - Common Stock", "NCSM": "NCS Multistage Holdings, Inc. - Common Stock", "NCTY": "The9 Limited - American Depository Shares", "NDACU": "NightDragon Acquisition Corp. - SCALE Units", "NDAQ": "Nasdaq, Inc.", "NDLS": "Noodles & Company - Common Stock", "NDRA": "ENDRA Life Sciences Inc. - Common Stock", "NDRAW": "ENDRA Life Sciences Inc. - Warrants", "NDSN": "Nordson Corporation - Common Stock", "NEBC": "Nebula Caravel Acquisition Corp. - Class A Common Stock", "NEBCU": "Nebula Caravel Acquisition Corp. - Unit", "NEBCW": "Nebula Caravel Acquisition Corp. - Warrant", "NEO": "NeoGenomics, Inc. - Common Stock", "NEOG": "Neogen Corporation - Common Stock", "NEON": "Neonode Inc. - Common Stock", "NEOS": "Neos Therapeutics, Inc. - Common Stock", "NEPH": "Nephros, Inc. - Common Stock", "NEPT": "Neptune Wellness Solutions Inc. - Ordinary Shares", "NERV": "Minerva Neurosciences, Inc - Common Stock", "NESR": "National Energy Services Reunited Corp. - Ordinary Shares", "NESRW": "National Energy Services Reunited Corp. - Warrant", "NETE": "Net Element, Inc. - Common Stock", "NEWA": "Newater Technology, Inc. - Ordinary Shares", "NEWT": "Newtek Business Services Corp. - Common Stock", "NEWTL": "Newtek Business Services Corp. - 5.75% Notes due 2024", "NEWTZ": "Newtek Business Services Corp. - 5.50% Notes Due 2026", "NEXI": "NexImmune, Inc. - Common Stock", "NEXT": "NextDecade Corporation - Common Stock", "NFBK": "Northfield Bancorp, Inc. - Common Stock", "NFE": "New Fortress Energy Inc. - Class A Common Stock", "NFLX": "Netflix Inc.", "NFTY": "First Trust India Nifty 50 Equal Weight ETF", "NGAC": "NextGen Acquisition Corporation - Class A Ordinary Shares", "NGACU": "NextGen Acquisition Corporation - Units", "NGACW": "NextGen Acquisition Corporation - Warrants", "NGM": "NGM Biopharmaceuticals, Inc. - Common Stock", "NGMS": "NeoGames S.A. - Ordinary Shares", "NH": "NantHealth, Inc. - Common Stock", "NHIC": "NewHold Investment Corp. - Class A Common Stock", "NHICU": "NewHold Investment Corp. - Unit", "NHICW": "NewHold Investment Corp. - Warrant", "NHTC": "Natural Health Trends Corp. - Commn Stock", "NICE": "NICE Ltd - American Depositary Shares each representing one Ordinary Share", "NICK": "Nicholas Financial, Inc. - Common Stock", "NISN": "NiSun Intl Enterprise Development Group Co, Ltd - Class A Common Shares", "NIU": "Niu Technologies - American Depositary Shares", "NK": "NantKwest, Inc. - Common Stock", "NKLA": "Nikola Corporation - Common Stock", "NKSH": "National Bankshares, Inc. - Common Stock", "NKTR": "Nektar Therapeutics - Common Stock", "NKTX": "Nkarta, Inc. - Common Stock", "NLOK": "NortonLifeLock", "NLSP": "NLS Pharmaceutics Ltd. - Common Shares", "NLSPW": "NLS Pharmaceutics Ltd. - Warrant", "NLTX": "Neoleukin Therapeutics, Inc. - Common Stock", "NMCI": "Navios Maritime Containers L.P. - Common units representing limited partner interests", "NMFC": "New Mountain Finance Corporation - Common Stock", "NMFCL": "New Mountain Finance Corporation - 5.75% Notes due 2023", "NMIH": "NMI Holdings Inc - Common Stock", "NMMC": "North Mountain Merger Corp. - Class A Common Stock", "NMMCU": "North Mountain Merger Corp. - Unit", "NMMCW": "North Mountain Merger Corp. - Warrant", "NMRD": "Nemaura Medical Inc. - Common Stock", "NMRK": "Newmark Group, Inc. - Class A Common Stock", "NMTR": "9 Meters Biopharma, Inc. - Common Stock", "NNBR": "NN, Inc. - Common Stock", "NNDM": "Nano Dimension Ltd. - American Depositary Shares", "NNOX": "NANO-X IMAGING LTD - Ordinary Shares", "NOAC": "Natural Order Acquisition Corp. - Common Stock", "NOACU": "Natural Order Acquisition Corp. - Unit", "NOACW": "Natural Order Acquisition Corp. - Warrant", "NODK": "NI Holdings, Inc. - Common Stock", "NOVN": "Novan, Inc. - Common Stock", "NOVT": "Novanta Inc. - Common Shares", "NPA": "New Providence Acquisition Corp. - Class A Common Stock", "NPAUU": "New Providence Acquisition Corp. - Unit", "NPAWW": "New Providence Acquisition Corp. - Warrant", "NRACU": "Noble Rock Acquisition Corporation - Unit", "NRBO": "NeuroBo Pharmaceuticals, Inc. - Common Stock", "NRC": "National Research Corporation - Common Stock", "NRIM": "Northrim BanCorp Inc - Common Stock", "NRIX": "Nurix Therapeutics, Inc. - Common stock", "NSEC": "National Security Group, Inc. - Common Stock", "NSIT": "Insight Enterprises, Inc. - Common Stock", "NSSC": "NAPCO Security Technologies, Inc. - Common Stock", "NSTG": "NanoString Technologies, Inc. - Common Stock", "NSYS": "Nortech Systems Incorporated - Common Stock", "NTAP": "NetApp", "NTCT": "NetScout Systems, Inc. - Common Stock", "NTEC": "Intec Pharma Ltd. - Ordinary Shares", "NTES": "NetEase, Inc. - American Depositary Shares, each representing 5 ordinary shares", "NTGR": "NETGEAR, Inc. - Common Stock", "NTIC": "Northern Technologies International Corporation - Common Stock", "NTLA": "Intellia Therapeutics, Inc. - Common Stock", "NTNX": "Nutanix, Inc. - Class A Common Stock", "NTRA": "Natera, Inc. - Common Stock", "NTRS": "Northern Trust Corp.", "NTRSO": "Northern Trust Corporation - Depositary Shares Each Representing a 1/1,000th Interest in a Share of Series E Non-Cumulative Perpetual Preferred Stock", "NTUS": "Natus Medical Incorporated - Common Stock", "NTWK": "NETSOL Technologies Inc. - Common Stock", "NUAN": "Nuance Communications, Inc. - Common Stock", "NURO": "NeuroMetrix, Inc. - Common Stock", "NUVA": "NuVasive, Inc. - Common Stock", "NUZE": "NuZee, Inc. - Common Stock", "NVAX": "Novavax, Inc. - Common Stock", "NVCN": "Neovasc Inc. - Common Shares", "NVCR": "NovoCure Limited - Ordinary Shares", "NVDA": "Nvidia Corporation", "NVEC": "NVE Corporation - Common Stock", "NVEE": "NV5 Global, Inc. - Common Stock", "NVFY": "Nova Lifestyle, Inc - Common Stock", "NVIV": "InVivo Therapeutics Holdings Corp. - Common Stock", "NVMI": "Nova Measuring Instruments Ltd. - Ordinary Shares", "NVOS": "Novo Integrated Sciences, Inc. - Common Stock", "NVSAU": "New Vista Acquisition Corp - Unit", "NWBI": "Northwest Bancshares, Inc. - Common Stock", "NWE": "NorthWestern Corporation - Common Stock", "NWFL": "Norwood Financial Corp. - Common Stock", "NWL": "Newell Brands", "NWLI": "National Western Life Group, Inc. - Class A Common Stock", "NWPX": "Northwest Pipe Company - Common Stock", "NWS": "News Corp (Class B)", "NWSA": "News Corp (Class A)", "NXGN": "NextGen Healthcare, Inc. - Common Stock", "NXPI": "NXP Semiconductors N.V. - Common Stock", "NXST": "Nexstar Media Group, Inc. - Class A Common Stock", "NXTC": "NextCure, Inc. - Common Stock", "NXTD": "NXT-ID Inc. - Common Stock", "NXTG": "First Trust Indxx NextG ETF", "NYMT": "New York Mortgage Trust, Inc. - Common Stock", "NYMTM": "New York Mortgage Trust, Inc. - 7.875% Series E Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NYMTN": "New York Mortgage Trust, Inc. - 8.00% Series D Fixed-to-Floating Rate Cumulative Redeemable Preferred Stock", "NYMTO": "New York Mortgage Trust, Inc. - 7.875% Series C Cumulative Redeemable Preferred Stock", "NYMTP": "New York Mortgage Trust, Inc. - 7.75% Series B Cumulative Redeemable Preferred Stock", "NYMX": "Nymox Pharmaceutical Corporation - Common Stock", "OAS": "Oasis Petroleum Inc. - Common Stock", "OBAS": "Optibase Ltd. - Ordinary Shares", "OBCI": "Ocean Bio-Chem, Inc. - Common Stock", "OBLG": "Oblong Inc. - Common Stock", "OBLN": "Obalon Therapeutics, Inc. - Common Stock", "OBNK": "Origin Bancorp, Inc. - Common Stock", "OBSV": "ObsEva SA - Common Shares", "OCAXU": "OCA Acquisition Corp. - Unit", "OCC": "Optical Cable Corporation - Common Stock", "OCCI": "OFS Credit Company, Inc. - Common Stock", "OCCIP": "OFS Credit Company, Inc. - 6.875% Series A Term Preferred Stock", "OCDX": "Ortho Clinical Diagnostics plc - Ordinary Shares", "OCFC": "OceanFirst Financial Corp. - Common Stock", "OCFCP": "OceanFirst Financial Corp. - Depositary Shares", "OCG": "Oriental Culture Holding LTD - Ordinary Shares", "OCGN": "Ocugen, Inc. - Common Stock", "OCSI": "Oaktree Strategic Income Corporation - Common Stock", "OCSL": "Oaktree Specialty Lending Corporation - Common Stock", "OCUL": "Ocular Therapeutix, Inc. - Common Stock", "OCUP": "Ocuphire Pharma, Inc. - Common Stock", "ODFL": "Old Dominion Freight Line", "ODP": "The ODP Corporation - Common Stock", "ODT": "Odonate Therapeutics, Inc. - Common Stock", "OEG": "Orbital Energy Group, Inc. - Common Stock", "OEPWU": "One Equity Partners Open Water I Corp. - Unit", "OESX": "Orion Energy Systems, Inc. - Common Stock", "OFED": "Oconee Federal Financial Corp. - Common Stock", "OFIX": "Orthofix Medical Inc. - Common Stock", "OFLX": "Omega Flex, Inc. - Common Stock", "OFS": "OFS Capital Corporation - Common Stock", "OFSSG": "OFS Capital Corporation - 6.25% Notes Due 2023", "OFSSI": "OFS Capital Corporation - 5.95% Notes due 2026", "OFSSL": "OFS Capital Corporation - 6.375% Notes due 2025", "OFSSZ": "OFS Capital Corporation - 6.50% Notes due 2025", "OGI": "Organigram Holdings Inc. - Common Shares", "OHPAU": "Orion Acquisition Corp. - Unit", "OIIM": "O2Micro International Limited - American Depositary Shares", "OKTA": "Okta, Inc. - Class A Common Stock", "OLB": "The OLB Group, Inc. - Common Stock", "OLD": "The Long-Term Care ETF", "OLED": "Universal Display Corporation - Common Stock", "OLLI": "Ollie's Bargain Outlet Holdings, Inc. - Common Stock", "OLMA": "Olema Pharmaceuticals, Inc. - Common Stock", "OM": "Outset Medical, Inc. - Common Stock", "OMAB": "Grupo Aeroportuario del Centro Norte S.A.B. de C.V. - American Depositary Shares each representing 8 Series B shares", "OMCL": "Omnicell, Inc. - Common Stock", "OMEG": "Omega Alpha SPAC - Class A Ordinary Shares", "OMER": "Omeros Corporation - Common Stock", "OMEX": "Odyssey Marine Exploration, Inc. - Common Stock", "OMP": "Oasis Midstream Partners LP - Common Units, Representing Limited Partner Interests", "ON": "ON Semiconductor Corporation - Common Stock", "ONB": "Old National Bancorp - Common Stock", "ONCR": "Oncorus, Inc. - Common Stock", "ONCS": "OncoSec Medical Incorporated - Common Stock", "ONCT": "Oncternal Therapeutics, Inc. - Common Stock", "ONCY": "Oncolytics Biotech Inc. - Common Shares", "ONDS": "Ondas Holdings Inc. - Common Stock", "ONEM": "1Life Healthcare, Inc. - Common Stock", "ONEQ": "Fidelity Nasdaq Composite Index ETF", "ONEW": "OneWater Marine Inc. - Class A Common Stock", "ONTX": "Onconova Therapeutics, Inc. - Common Stock", "ONTXW": "Onconova Therapeutics, Inc. - Warrants", "ONVO": "Organovo Holdings, Inc. - Common Stock", "OPBK": "OP Bancorp - Common Stock", "OPCH": "Option Care Health, Inc. - Common Stock", "OPEN": "Opendoor Technologies Inc - Common Stock", "OPENW": "Opendoor Technologies Inc - Warrant", "OPGN": "OpGen, Inc. - Common Stock", "OPHC": "OptimumBank Holdings, Inc. - Common Stock", "OPI": "Office Properties Income Trust - Common Shares of Beneficial Interest", "OPINI": "Office Properties Income Trust - 5.875% Senior Notes due 2046", "OPINL": "Office Properties Income Trust - 6.375% Senior Notes due 2050", "OPK": "Opko Health, Inc. - Common Stock", "OPNT": "Opiant Pharmaceuticals, Inc. - Common Stock", "OPOF": "Old Point Financial Corporation - Common Stock", "OPRA": "Opera Limited - American Depositary Shares", "OPRT": "Oportun Financial Corporation - common stock", "OPRX": "OptimizeRx Corporation - Common Stock", "OPT": "Opthea Limited - American Depositary Shares", "OPTN": "OptiNose, Inc. - Common Stock", "OPTT": "Ocean Power Technologies, Inc. - Common Stock", "ORBC": "ORBCOMM Inc. - Common Stock", "ORGO": "Organogenesis Holdings Inc. - Class A ", "ORGS": "Orgenesis Inc. - Common Stock", "ORIC": "Oric Pharmaceuticals, Inc. - Common Stock", "ORLY": "O'Reilly Automotive", "ORMP": "Oramed Pharmaceuticals Inc. - Common Stock", "ORPH": "Orphazyme A/S - American Depositary Shares", "ORRF": "Orrstown Financial Services Inc - Common Stock", "ORTX": "Orchard Therapeutics plc - American Depositary Shares", "OSBC": "Old Second Bancorp, Inc. - Common Stock", "OSIS": "OSI Systems, Inc. - Common Stock", "OSMT": "Osmotica Pharmaceuticals plc - Ordinary Shares", "OSN": "Ossen Innovation Co., Ltd. - American Depositary Shares", "OSPN": "OneSpan Inc. - Common Stock", "OSS": "One Stop Systems, Inc. - Common Stock", "OSTK": "Overstock.com, Inc. - Common Stock", "OSTRU": "Oyster Enterprises Acquisition Corp. - Unit", "OSUR": "OraSure Technologies, Inc. - Common Stock", "OSW": "OneSpaWorld Holdings Limited - Common Shares", "OTEL": "Otelco Inc. - Common Stock", "OTEX": "Open Text Corporation - Common Shares", "OTIC": "Otonomy, Inc. - Common Stock", "OTLK": "Outlook Therapeutics, Inc. - Common Stock", "OTLKW": "Outlook Therapeutics, Inc. - Series A Warrant", "OTRA": "OTR Acquisition Corp. - Class A Common Stock", "OTRAU": "OTR Acquisition Corp. - Unit", "OTRAW": "OTR Acquisition Corp. - Warrant", "OTRK": "Ontrak, Inc. - Common Stock", "OTRKP": "Ontrak, Inc. - 9.50% Series A Cumulative Perpetual Preferred Stock", "OTTR": "Otter Tail Corporation - Common Stock", "OVBC": "Ohio Valley Banc Corp. - Common Stock", "OVID": "Ovid Therapeutics Inc. - Common Stock", "OVLY": "Oak Valley Bancorp (CA) - Common Stock", "OXBR": "Oxbridge Re Holdings Limited - Ordinary Shares", "OXBRW": "Oxbridge Re Holdings Limited - Warrant", "OXFD": "Oxford Immunotec Global PLC - Ordinary Shares", "OXLC": "Oxford Lane Capital Corp. - Common Stock", "OXLCM": "Oxford Lane Capital Corp. - 6.75% Series 2024 Term Preferred Stock", "OXLCO": "Oxford Lane Capital Corp. - Term Preferred Shares, 7.50% Series 2023", "OXLCP": "Oxford Lane Capital Corp. - 6.25% Series 2027 Term Preferred Shares", "OXSQ": "Oxford Square Capital Corp. - Closed End Fund", "OXSQL": "Oxford Square Capital Corp. - 6.50% Notes due 2024", "OXSQZ": "Oxford Square Capital Corp. - 6.25% Notes due 2026", "OYST": "Oyster Point Pharma, Inc. - common stock", "OZK": "Bank OZK - Common Stock", "OZON": "Ozon Holdings PLC - ADS, each ADS representing one ordinary share", "PAA": "Plains All American Pipeline, L.P. - Common Units representing Limited Partner Interests", "PAAS": "Pan American Silver Corp. - Common Stock", "PACB": "Pacific Biosciences of California, Inc. - Common Stock", "PACW": "PacWest Bancorp - Common Stock", "PACX": "Pioneer Merger Corp. - Class A Ordinary Share", "PACXU": "Pioneer Merger Corp. - Unit", "PACXW": "Pioneer Merger Corp. - Warrant", "PAE": "PAE Incorporated - Class A Common Stock", "PAEWW": "PAE Incorporated - Warrants", "PAGP": "Plains GP Holdings, L.P. - Class A Shares representing limited partner interests", "PAHC": "Phibro Animal Health Corporation - Class A Common Stock", "PAIC": "Petra Acquisition, Inc. - Common Stock", "PAICU": "Petra Acquisition, Inc. - Units", "PAICW": "Petra Acquisition, Inc. - Warrant", "PAND": "Pandion Therapeutics Inc. - Common stock", "PANL": "Pangaea Logistics Solutions Ltd. - Common Stock", "PAQC": "Provident Acquisition Corp. - Class A Ordinary Shares", "PAQCU": "Provident Acquisition Corp. - Units", "PAQCW": "Provident Acquisition Corp. - Warrant", "PASG": "Passage Bio, Inc. - Common Stock", "PATI": "Patriot Transportation Holding, Inc. - Common Stock", "PATK": "Patrick Industries, Inc. - Common Stock", "PAVM": "PAVmed Inc. - Common Stock", "PAVMW": "PAVmed Inc. - Warrant", "PAVMZ": "PAVmed Inc. - Series Z Warrant", "PAX": "Patria Investments Limited - Class A Common Shares", "PAYA": "Paya Holdings Inc. - Common Stock", "PAYAW": "Paya Holdings Inc. - Warrant", "PAYS": "Paysign, Inc. - Common Stock", "PAYX": "Paychex Inc.", "PBCT": "People's United Financial", "PBCTP": "People's United Financial, Inc. - Perpetual Preferred Series A Fixed-to-floating Rate", "PBFS": "Pioneer Bancorp, Inc. - Common Stock", "PBHC": "Pathfinder Bancorp, Inc. - Common Stock", "PBIP": "Prudential Bancorp, Inc. - Common Stock", "PBLA": "Panbela Therapeutics, Inc. - Common Stock", "PBPB": "Potbelly Corporation - Common Stock", "PBTS": "Powerbridge Technologies Co., Ltd. - Ordinary Shares", "PBYI": "Puma Biotechnology Inc - Common Stock", "PCAR": "Paccar", "PCB": "PCB Bancorp - Common Stock", "PCH": "PotlatchDeltic Corporation - Common Stock", "PCOM": "Points International, Ltd. - Common Shares", "PCRX": "Pacira BioSciences, Inc. - Common Stock", "PCSA": "Processa Pharmaceuticals, Inc. - Common Stock", "PCSB": "PCSB Financial Corporation - Common Stock", "PCTI": "PCTEL, Inc. - Common Stock", "PCTY": "Paylocity Holding Corporation - Common Stock", "PCVX": "Vaxcyte, Inc. - Common Stock", "PCYG": "Park City Group, Inc. - Common Stock", "PCYO": "Pure Cycle Corporation - Common Stock", "PDBC": "Invesco Optimum Yield Diversified Commodity Strategy No K-1 ETF", "PDCE": "PDC Energy, Inc. - Common Stock", "PDCO": "Patterson Companies, Inc. - Common Stock", "PDD": "Pinduoduo Inc. - American Depositary Shares", "PDEV": "Principal International Multi-Factor ETF", "PDEX": "Pro-Dex, Inc. - Common Stock", "PDFS": "PDF Solutions, Inc. - Common Stock", "PDLB": "PDL Community Bancorp - Common Stock", "PDP": "Invesco DWA Momentum ETF", "PDSB": "PDS Biotechnology Corporation - Common Stock", "PEBK": "Peoples Bancorp of North Carolina, Inc. - Common Stock", "PEBO": "Peoples Bancorp Inc. - Common Stock", "PEGA": "Pegasystems Inc. - Common Stock", "PENN": "Penn National Gaming, Inc. - Common Stock", "PEP": "PepsiCo Inc.", "PERI": "Perion Network Ltd - Ordinary Shares", "PESI": "Perma-Fix Environmental Services, Inc. - Common Stock", "PETQ": "PetIQ, Inc. - Class A Common Stock", "PETS": "PetMed Express, Inc. - Common Stock", "PETZ": "TDH Holdings, Inc. - Common Shares", "PEY": "Invesco High Yield Equity Dividend Achievers ETF", "PEZ": "Invesco DWA Consumer Cyclicals Momentum ETF", "PFBC": "Preferred Bank - Common Stock", "PFBI": "Premier Financial Bancorp, Inc. - Common Stock", "PFC": "Premier Financial Corp. - Common Stock", "PFDRU": "Pathfinder Acquisition Corporation - Unit", "PFF": "iShares Preferred and Income Securities ETF", "PFG": "Principal Financial Group", "PFHD": "Professional Holding Corp. - Class A Common Stock", "PFI": "Invesco DWA Financial Momentum ETF", "PFIE": "Profire Energy, Inc. - Common Stock", "PFIN": "P & F Industries, Inc. - Class A Common Stock", "PFIS": "Peoples Financial Services Corp. - Common Stock", "PFLT": "PennantPark Floating Rate Capital Ltd. - Common Stock", "PFM": "Invesco Dividend Achievers ETF", "PFMT": "Performant Financial Corporation - Common Stock", "PFPT": "Proofpoint, Inc. - Common Stock", "PFSW": "PFSweb, Inc. - Common Stock", "PFX": "PhenixFIN Corporation - Common Stock", "PFXNL": "PhenixFIN Corporation - Notes Due 2023", "PGC": "Peapack-Gladstone Financial Corporation - Common Stock", "PGEN": "Precigen, Inc. - Common Stock", "PGJ": "Invesco Golden Dragon China ETF", "PGNY": "Progyny, Inc. - Common Stock", "PGRWU": "Progress Acquisition Corp. - Units.", "PHAR": "Pharming Group N.V. - ADS, each representing 10 ordinary shares", "PHAS": "PhaseBio Pharmaceuticals, Inc. - Common Stock", "PHAT": "Phathom Pharmaceuticals, Inc. - Common Stock", "PHCF": "Puhui Wealth Investment Management Co., Ltd. - Ordinary Shares", "PHIC": "Population Health Investment Co., Inc. - Class A Ordinary Share", "PHICU": "Population Health Investment Co., Inc. - Unit", "PHICW": "Population Health Investment Co., Inc. - Warrant", "PHIO": "Phio Pharmaceuticals Corp. - Common Stock", "PHIOW": "Phio Pharmaceuticals Corp. - Warrants", "PHO": "Invesco Water Resources ETF", "PHUN": "Phunware, Inc. - Common Stock", "PHUNW": "Phunware, Inc. - Warrants", "PHVS": "Pharvaris N.V. - Ordinary Shares", "PI": "Impinj, Inc. - Common Stock", "PICO": "PICO Holdings Inc. - Common Stock", "PID": "Invesco International Dividend Achievers ETF", "PIE": "Invesco DWA Emerging Markets Momentum ETF", "PINC": "Premier, Inc. - Class A Common Stock", "PIO": "Invesco Global Water ETF", "PIRS": "Pieris Pharmaceuticals, Inc. - Common Stock", "PIXY": "ShiftPixy, Inc. - Common Stock", "PIZ": "Invesco DWA Developed Markets Momentum ETF", "PKBK": "Parke Bancorp, Inc. - Common Stock", "PKOH": "Park-Ohio Holdings Corp. - Common Stock", "PKW": "Invesco BuyBack Achievers ETF", "PLAB": "Photronics, Inc. - Common Stock", "PLAY": "Dave & Buster's Entertainment, Inc. - Common Stock", "PLBC": "Plumas Bancorp - Common Stock", "PLBY": "PLBY Group, Inc. - Common Stock", "PLCE": "Children's Place, Inc. (The) - Common Stock", "PLIN": "China Xiangtai Food Co., Ltd. - Ordinary Shares", "PLL": "Piedmont Lithium Limited - American Depositary Shares", "PLMR": "Palomar Holdings, Inc. - Common stock", "PLPC": "Preformed Line Products Company - Common Stock", "PLRX": "Pliant Therapeutics, Inc. - Common Stock", "PLSE": "Pulse Biosciences, Inc - Common Stock", "PLTK": "Playtika Holding Corp. - Common Stock", "PLUG": "Plug Power, Inc. - Common Stock", "PLUS": "ePlus inc. - Common Stock", "PLW": "Invesco 1-30 Laddered Treasury ETF", "PLXP": "PLx Pharma Inc. - Common Stock", "PLXS": "Plexus Corp. - Common Stock", "PLYA": "Playa Hotels & Resorts N.V. - Ordinary Shares", "PMBC": "Pacific Mercantile Bancorp - Common Stock", "PMD": "Psychemedics Corporation - Common Stock", "PME": "Pingtan Marine Enterprise Ltd. - Ordinary Shares", "PMGMU": "Priveterra Acquisition Corp. - Units", "PMVP": "PMV Pharmaceuticals, Inc. - Common Stock", "PNBK": "Patriot National Bancorp Inc. - Common Stock", "PNFP": "Pinnacle Financial Partners, Inc. - Common Stock", "PNFPP": "Pinnacle Financial Partners, Inc. - Depositary shares of Pinnacle Financial Partners, Inc., each representing a 1/40th Interest in a share of its 6.75% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series B", "PNNT": "PennantPark Investment Corporation - common stock", "PNNTG": "PennantPark Investment Corporation - 5.50% Notes Due 2024", "PNQI": "Invesco Nasdaq Internet ETF", "PNRG": "PrimeEnergy Resources Corporation - Common Stock", "PNTG": "The Pennant Group, Inc. - Common Stock", "POAI": "Predictive Oncology Inc. - Common Stock", "PODD": "Insulet Corporation - Common Stock", "POLA": "Polar Power, Inc. - Common Stock", "POOL": "Pool Corporation", "POSH": "Poshmark, Inc. - Class A Common Stock", "POTX": "Global X Cannabis ETF", "POW": "Powered Brands - Class A Ordinary Shares", "POWI": "Power Integrations, Inc. - Common Stock", "POWL": "Powell Industries, Inc. - Common Stock", "POWRU": "Powered Brands - Units", "POWRW": "Powered Brands - Warrants", "POWW": "AMMO, Inc. - Common Stock", "PPBI": "Pacific Premier Bancorp Inc - Common Stock", "PPBT": "Purple Biotech Ltd. - American Depositary Shares", "PPC": "Pilgrim's Pride Corporation - Common Stock", "PPD": "PPD, Inc. - Common Stock", "PPGH": "Poema Global Holdings Corp. - Ordinary Share", "PPGHU": "Poema Global Holdings Corp. - Unit", "PPGHW": "Poema Global Holdings Corp. - Warrant", "PPH": "VanEck Vectors Pharmaceutical ETF", "PPIH": "Perma-Pipe International Holdings, Inc. - Common Stock", "PPSI": "Pioneer Power Solutions, Inc. - Common Stock", "PPTA": "Perpetua Resources Corp. - Common Shares", "PRAA": "PRA Group, Inc. - Common Stock", "PRAH": "PRA Health Sciences, Inc. - Common Stock", "PRAX": "Praxis Precision Medicines, Inc. - Common Stock", "PRCH": "Porch Group, Inc. - Common Stock", "PRCHW": "Porch Group, Inc. - Warrant", "PRDO": "Perdoceo Education Corporation - Common Stock", "PRFT": "Perficient, Inc. - Common Stock", "PRFX": "PainReform Ltd. - Ordinary Shares", "PRFZ": "Invesco FTSE RAFI US 1500 Small-Mid ETF", "PRGS": "Progress Software Corporation - Common Stock", "PRIM": "Primoris Services Corporation - Common Stock", "PRLD": "Prelude Therapeutics Incorporated - Common Stock", "PRN": "Invesco DWA Industrials Momentum ETF", "PROF": "Profound Medical Corp. - common stock", "PROG": "Progenity, Inc. - Common Stock", "PROV": "Provident Financial Holdings, Inc. - Common Stock", "PRPH": "ProPhase Labs, Inc. - Common Stock", "PRPL": "Purple Innovation, Inc. - Common Stock", "PRPO": "Precipio, Inc. - Common Stock", "PRQR": "ProQR Therapeutics N.V. - Ordinary Shares", "PRSR": "Prospector Capital Corp. - Class A Ordinary Shares", "PRSRU": "Prospector Capital Corp. - Unit", "PRSRW": "Prospector Capital Corp. - Warrants", "PRTA": "Prothena Corporation plc - Ordinary Shares", "PRTC": "PureTech Health plc - American Depositary Shares", "PRTG": "Portage Biotech Inc. - Common Stock", "PRTH": "Priority Technology Holdings, Inc. - Common Stock", "PRTK": "Paratek Pharmaceuticals, Inc. - Common Stock", "PRTS": "CarParts.com, Inc. - Common Stock", "PRVB": "Provention Bio, Inc. - Common Stock", "PS": "Pluralsight, Inc. - Class A Common Stock", "PSAC": "Property Solutions Acquisition Corp. - Common Stock", "PSACU": "Property Solutions Acquisition Corp. - Unit", "PSACW": "Property Solutions Acquisition Corp. - Warrant", "PSC": "Principal U.S. Small-Cap Multi-Factor ETF", "PSCC": "Invesco S&P SmallCap Consumer Staples ETF", "PSCD": "Invesco S&P SmallCap Consumer Discretionary ETF", "PSCE": "Invesco S&P SmallCap Energy ETF", "PSCF": "Invesco S&P SmallCap Financials ETF", "PSCH": "Invesco S&P SmallCap Health Care ETF", "PSCI": "Invesco S&P SmallCap Industrials ETF", "PSCM": "Invesco S&P SmallCap Materials ETF", "PSCT": "Invesco S&P SmallCap Information Technology ETF", "PSCU": "Invesco S&P SmallCap Utilities & Communication Services ETF", "PSEC": "Prospect Capital Corporation - Common Stock", "PSET": "Principal Quality ETF", "PSHG": "Performance Shipping Inc. - Common Shares", "PSL": "Invesco DWA Consumer Staples Momentum ETF", "PSMT": "PriceSmart, Inc. - Common Stock", "PSNL": "Personalis, Inc. - Common Stock", "PSTI": "Pluristem Therapeutics, Inc. - Common Stock", "PSTV": "PLUS THERAPEUTICS, Inc. - Common Stock", "PSTX": "Poseida Therapeutics, Inc. - Common Stock", "PT": "Pintec Technology Holdings Limited - American Depositary Shares", "PTC": "PTC Inc. - Common Stock", "PTCT": "PTC Therapeutics, Inc. - Common Stock", "PTE": "PolarityTE, Inc. - Common Stock", "PTEN": "Patterson-UTI Energy, Inc. - Common Stock", "PTF": "Invesco DWA Technology Momentum ETF", "PTGX": "Protagonist Therapeutics, Inc. - Common Stock", "PTH": "Invesco DWA Healthcare Momentum ETF", "PTIC": "PropTech Investment Corporation II - Class A Common Stock", "PTICU": "PropTech Investment Corporation II - Unit", "PTICW": "PropTech Investment Corporation II - Warrant", "PTMN": "Portman Ridge Finance Corporation - common stock", "PTNR": "Partner Communications Company Ltd. - American Depositary Shares, each representing one ordinary share", "PTON": "Peloton Interactive, Inc. - Common Stock", "PTPI": "Petros Pharmaceuticals, Inc. - Common Stock", "PTRS": "Partners Bancorp - Common Stock", "PTSI": "P.A.M. Transportation Services, Inc. - Common Stock", "PTVCA": "Protective Insurance Corporation - Class A (voting) Common Stock", "PTVCB": "Protective Insurance Corporation - Class B (nonvoting) Common Stock", "PTVE": "Pactiv Evergreen Inc. - Common stock", "PUBM": "PubMatic, Inc. - Class A Common Stock", "PUCKU": "Goal Acquisitions Corp. - Unit", "PUI": "Invesco DWA Utilities Momentum ETF", "PULM": "Pulmatrix, Inc. - Common Stock", "PUYI": "Puyi Inc. - American Depository Shares", "PVAC": "Penn Virginia Corporation - Common Stock", "PVBC": "Provident Bancorp, Inc. - Common Stock", "PWFL": "PowerFleet, Inc. - Common Stock", "PWOD": "Penns Woods Bancorp, Inc. - Common Stock", "PXI": "Invesco DWA Energy Momentum ETF", "PXLW": "Pixelworks, Inc. - Common Stock", "PXS": "Pyxis Tankers Inc. - Common Stock", "PXSAP": "Pyxis Tankers Inc. - 7.75% Series A Cumulative Convertible Preferred Shares", "PXSAW": "Pyxis Tankers Inc. - Warrant", "PY": "Principal Value ETF", "PYPD": "PolyPid Ltd. - Ordinary Shares", "PYPL": "PayPal", "PYZ": "Invesco DWA Basic Materials Momentum ETF", "PZZA": "Papa John's International, Inc. - Common Stock", "QABA": "First Trust NASDAQ ABA Community Bank Index Fund", "QADA": "QAD Inc. - Class A Common Stock", "QADB": "QAD Inc. - Class B Common Stock", "QAT": "iShares MSCI Qatar ETF", "QCLN": "First Trust NASDAQ Clean Edge Green Energy Index Fund", "QCOM": "Qualcomm", "QCRH": "QCR Holdings, Inc. - Common Stock", "QDEL": "Quidel Corporation - Common Stock", "QELL": "Qell Acquisition Corp. - Class A Ordinary Shares", "QELLU": "Qell Acquisition Corp. - Unit", "QELLW": "Qell Acquisition Corp. - Warrant", "QFIN": "360 DigiTech, Inc. - American Depositary Shares", "QH": "Quhuo Limited - American Depository Shares", "QIWI": "QIWI plc - American Depositary Shares", "QK": "Q&K International Group Limited - American Depositary Shares", "QLGN": "Qualigen Therapeutics, Inc. - Common Stock", "QLI": "Qilian International Holding Group Ltd. - Ordinary Shares", "QLYS": "Qualys, Inc. - Common Stock", "QMCO": "Quantum Corporation - Common Stock", "QNST": "QuinStreet, Inc. - Common Stock", "QQC": "Simplify Nasdaq 100 PLUS Convexity ETF", "QQD": "Simplify Nasdaq 100 PLUS Downside Convexity ETF", "QQEW": "First Trust NASDAQ-100 Equal Weighted Index Fund", "QQQ": "Invesco QQQ Trust, Series 1", "QQQJ": "Invesco NASDAQ Next Gen 100 ETF", "QQQM": "Invesco NASDAQ 100 ETF", "QQQN": "VictoryShares Nasdaq Next 50 ETF", "QQQX": "Nuveen NASDAQ 100 Dynamic Overwrite Fund - Shares of Beneficial Interest", "QQXT": "First Trust NASDAQ-100 Ex-Technology Sector Index Fund", "QRHC": "Quest Resource Holding Corporation - Common Stock", "QRTEA": "Qurate Retail, Inc. - Series A Common Stock", "QRTEB": "Qurate Retail, Inc. - Series B Common Stock", "QRTEP": "Qurate Retail, Inc. - 8.0% Fixed Rate Cumulative Redeemable Preferred Stock", "QRVO": "Qorvo", "QTEC": "First Trust NASDAQ-100-Technology Sector Index Fund", "QTNT": "Quotient Limited - Ordinary Shares", "QTRX": "Quanterix Corporation - Common Stock", "QTT": "Qutoutiao Inc. - American Depositary Shares", "QUIK": "QuickLogic Corporation - Common Stock", "QUMU": "Qumu Corporation - Common Stock", "QURE": "uniQure N.V. - Ordinary Shares", "QYLD": "Global X NASDAQ-100 Covered Call ETF", "QYLG": "Global X Nasdaq 100 Covered Call & Growth ETF", "RAAC": "Revolution Acceleration Acquisition Corp - Class A Common Stock", "RAACU": "Revolution Acceleration Acquisition Corp - Unit", "RAACW": "Revolution Acceleration Acquisition Corp - Warrant", "RACA": "Therapeutics Acquisition Corp. - Class A Common Stock", "RADA": "RADA Electronic Industries Ltd. - Ordinary Shares", "RADI": "Radius Global Infrastructure, Inc. - Common Stock", "RAIL": "Freightcar America, Inc. - Common Stock", "RAND": "Rand Capital Corporation - Common Stock", "RAPT": "RAPT Therapeutics, Inc. - Common Stock", "RARE": "Ultragenyx Pharmaceutical Inc. - Common Stock", "RAVE": "Rave Restaurant Group, Inc. - Common Stock", "RAVN": "Raven Industries, Inc. - Common Stock", "RBB": "RBB Bancorp - Common Stock", "RBBN": "Ribbon Communications Inc. - Common Stock", "RBCAA": "Republic Bancorp, Inc. - Class A Common Stock", "RBCN": "Rubicon Technology, Inc. - Common Stock", "RBKB": "Rhinebeck Bancorp, Inc. - Common Stock", "RBNC": "Reliant Bancorp, Inc. - Common Stock", "RCEL": "Avita Therapeutics, Inc. - Common Stock", "RCHG": "Recharge Acquisition Corp. - Class A Common Stock", "RCHGU": "Recharge Acquisition Corp. - Unit", "RCHGW": "Recharge Acquisition Corp. - Warrant", "RCII": "Rent-A-Center Inc. - Common Stock", "RCKT": "Rocket Pharmaceuticals, Inc. - Common Stock", "RCKY": "Rocky Brands, Inc. - Common Stock", "RCLFU": "Rosecliff Acquisition Corp I - Units, consisting of one share Class A common stock and one-third redeemable warrants", "RCM": "R1 RCM Inc. - Common Stock", "RCMT": "RCM Technologies, Inc. - Common Stock", "RCON": "Recon Technology, Ltd. - Ordinary Shares", "RDCM": "Radcom Ltd. - Ordinary Shares", "RDFN": "Redfin Corporation - Common Stock", "RDHL": "Redhill Biopharma Ltd. - American Depositary Shares", "RDI": "Reading International Inc - Class A Non-voting Common Stock", "RDIB": "Reading International Inc - Class B Voting Common Stock", "RDNT": "RadNet, Inc. - Common Stock", "RDUS": "Radius Health, Inc. - Common Stock", "RDVT": "Red Violet, Inc. - Common Stock ", "RDVY": "First Trust Rising Dividend Achievers ETF", "RDWR": "Radware Ltd. - Ordinary Shares", "REAL": "The RealReal, Inc. - Common Stock", "REDU": "RISE Education Cayman Ltd - American Depositary Shares", "REED": "Reeds, Inc. - Common Stock", "REFR": "Research Frontiers Incorporated - Common Stock", "REG": "Regency Centers Corporation", "REGI": "Renewable Energy Group, Inc. - Common Stock", "REGN": "Regeneron Pharmaceuticals", "REIT": "ALPS Active REIT ETF", "REKR": "Rekor Systems, Inc. - Common Stock", "RELI": "Reliance Global Group, Inc. - Common Stock", "RELIW": "Reliance Global Group, Inc. - Series A Warrants", "RELL": "Richardson Electronics, Ltd. - Common Stock", "REPH": "Recro Pharma, Inc. - Common Stock", "REPL": "Replimune Group, Inc. - Common Stock", "RESN": "Resonant Inc. - Common Stock", "RETA": "Reata Pharmaceuticals, Inc. - Class A Common Stock", "RETO": "ReTo Eco-Solutions, Inc. - Common Shares", "REYN": "Reynolds Consumer Products Inc. - Common Stock", "RFAP": "First Trust RiverFront Dynamic Asia Pacific ETF", "RFDI": "First Trust RiverFront Dynamic Developed International ETF", "RFEM": "First Trust RiverFront Dynamic Emerging Markets ETF", "RFEU": "First Trust RiverFront Dynamic Europe ETF", "RFIL": "RF Industries, Ltd. - Common Stock", "RGCO": "RGC Resources Inc. - Common Stock", "RGEN": "Repligen Corporation - Common Stock", "RGLD": "Royal Gold, Inc. - Common Stock", "RGLS": "Regulus Therapeutics Inc. - Common Stock", "RGNX": "REGENXBIO Inc. - Common Stock", "RGP": "Resources Connection, Inc. - Common Stock", "RIBT": "RiceBran Technologies - Common Stock", "RICK": "RCI Hospitality Holdings, Inc. - Common Stock", "RIDE": "Lordstown Motors Corp. - Class A Common Stock", "RIGL": "Rigel Pharmaceuticals, Inc. - Common Stock", "RILY": "B. Riley Financial, Inc. - Common Stock", "RILYG": "B. Riley Financial, Inc. - 7.25% Senior Notes due 2027", "RILYH": "B. Riley Financial, Inc. - 7.375% Senior Notes Due 2023", "RILYI": "B. Riley Financial, Inc. - 6.875% Senior Notes due 2023", "RILYL": "B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series B Cumulative Perpetual Preferred Stock", "RILYM": "B. Riley Financial, Inc. - 6.375% Senior Notes due 2025", "RILYN": "B. Riley Financial, Inc. - 6.50% Senior Notes Due 2026", "RILYO": "B. Riley Financial, Inc. - 6.75% Senior Notes due 2024", "RILYP": "B. Riley Financial, Inc. - Depositary Shares, each representing a 1/1000th fractional interest in a share of Series A Cumulative Perpetual Preferred Stock", "RILYT": "B. Riley Financial, Inc. - 6.00% Senior Notes Due 2028", "RILYZ": "B. Riley Financial, Inc. - 7.50% Senior Notes Due 2027", "RING": "iShares MSCI Global Gold Miners ETF", "RIOT": "Riot Blockchain, Inc - Common Stock", "RIVE": "Riverview Financial Corporation - Common Stock", "RKDA": "Arcadia Biosciences, Inc. - Common Stock", "RLAY": "Relay Therapeutics, Inc. - Common Stock", "RLMD": "Relmada Therapeutics, Inc. - Common Stock", "RMBI": "Richmond Mutual Bancorporation, Inc. - Common Stock", "RMBL": "RumbleOn, Inc. - Class B Common Stock", "RMBS": "Rambus, Inc. - Common Stock", "RMCF": "Rocky Mountain Chocolate Factory, Inc. - Common Stock", "RMGB": "RMG Acquisition Corp. II - Class A Ordinary Shares", "RMGBU": "RMG Acquisition Corp. II - Unit", "RMGBW": "RMG Acquisition Corp. II - Warrant", "RMGCU": "RMG Acquisition Corp. III - Unit", "RMNI": "Rimini Street, Inc. - Common Stock", "RMR": "The RMR Group Inc. - Class A Common Stock", "RMRM": "RMR Mortgage Trust - Common Stock", "RMTI": "Rockwell Medical, Inc. - Common Stock", "RNA": "Avidity Biosciences, Inc. - Common Stock", "RNDB": "Randolph Bancorp, Inc. - Common Stock", "RNDM": "Developed International Equity Select ETF", "RNDV": "US Equity Dividend Select ETF", "RNEM": "Emerging Markets Equity Select ETF", "RNET": "RigNet, Inc. - Common Stock", "RNLC": "Large Cap US Equity Select ETF", "RNLX": "Renalytix AI plc - American Depositary Shares", "RNMC": "Mid Cap US Equity Select ETF", "RNRG": "Global X Renewable Energy Producers ETF", "RNSC": "Small Cap US Equity Select ETF", "RNST": "Renasant Corporation - Common Stock", "RNWK": "RealNetworks, Inc. - Common Stock", "ROAD": "Construction Partners, Inc. - Common Stock", "ROBT": "First Trust Nasdaq Artificial Intelligence and Robotics ETF", "ROCC": "Roth CH Acquisition II Co. - Common Stock", "ROCCU": "Roth CH Acquisition II Co. - Unit", "ROCCW": "Roth CH Acquisition II Co. - Warrant", "ROCH": "Roth CH Acquisition I Co. - Common Stock", "ROCHU": "Roth CH Acquisition I Co. - Unit", "ROCHW": "Roth CH Acquisition I Co. - Warrant", "ROCK": "Gibraltar Industries, Inc. - Common Stock", "ROCRU": "Roth CH Acquisition III Co. - Unit", "ROIC": "Retail Opportunity Investments Corp. - Common Stock", "ROKU": "Roku, Inc. - Class A Common Stock", "ROLL": "RBC Bearings Incorporated - Common Stock", "ROOT": "Root, Inc. - common stock", "ROST": "Ross Stores", "RP": "RealPage, Inc. - Common Stock", "RPAY": "Repay Holdings Corporation - Class A Common Stock", "RPD": "Rapid7, Inc. - Common Stock", "RPRX": "Royalty Pharma plc - Class A Ordinary Shares", "RPTX": "Repare Therapeutics Inc. - Common Shares", "RRBI": "Red River Bancshares, Inc. - Common Stock", "RRGB": "Red Robin Gourmet Burgers, Inc. - Common Stock", "RRR": "Red Rock Resorts, Inc. - Class A Common Stock", "RSSS": "Research Solutions, Inc - Common Stock", "RSVA": "Rodgers Silicon Valley Acquisition Corp. - Common Stock", "RSVAU": "Rodgers Silicon Valley Acquisition Corp. - Unit", "RSVAW": "Rodgers Silicon Valley Acquisition Corp. - Warrant", "RTH": "VanEck Vectors Retail ETF", "RTLR": "Rattler Midstream LP - Common Units Representing Limited Partnership Interests", "RUBY": "Rubius Therapeutics, Inc. - Common Stock", "RUHN": "Ruhnn Holding Limited - American Depositary Shares", "RUN": "Sunrun Inc. - Common Stock", "RUSHA": "Rush Enterprises, Inc. - Class A Common Stock", "RUSHB": "Rush Enterprises, Inc. - Class B Common Stock", "RUTH": "Ruth's Hospitality Group, Inc. - Common Stock", "RVMD": "Revolution Medicines, Inc. - Common Stock", "RVNC": "Revance Therapeutics, Inc. - Common Stock", "RVPH": "Reviva Pharmaceuticals Holdings, Inc. - Common Stock", "RVPHW": "Reviva Pharmaceuticals Holdings, Inc. - Warrants", "RVSB": "Riverview Bancorp Inc - Common Stock", "RWLK": "ReWalk Robotics Ltd. - Ordinary Shares", "RXT": "Rackspace Technology, Inc. - Common Stock", "RYAAY": "Ryanair Holdings plc - American Depositary Shares, each representing five Ordinary Shares", "RYTM": "Rhythm Pharmaceuticals, Inc. - Common Stock", "RZLT": "Rezolute, Inc. - Common Stock", "SABR": "Sabre Corporation - Common Stock", "SABRP": "Sabre Corporation - 6.50% Series A Mandatory Convertible Preferred Stock", "SAFM": "Sanderson Farms, Inc. - Common Stock", "SAFT": "Safety Insurance Group, Inc. - Common Stock", "SAGE": "Sage Therapeutics, Inc. - Common Stock", "SAIA": "Saia, Inc. - Common Stock", "SAII": "Software Acquisition Group Inc. II - Class A Common Stock", "SAIIU": "Software Acquisition Group Inc. II - Unit", "SAIIW": "Software Acquisition Group Inc. II - Warrant", "SAL": "Salisbury Bancorp, Inc. - Common Stock", "SALM": "Salem Media Group, Inc. - Class A Common Stock", "SAMG": "Silvercrest Asset Management Group Inc. - Common Stock", "SANA": "Sana Biotechnology, Inc. - Common Stock", "SANM": "Sanmina Corporation - Common Stock", "SANW": "S&W Seed Company - Common Stock", "SASR": "Sandy Spring Bancorp, Inc. - Common Stock", "SATS": "EchoStar Corporation - Common stock", "SAVA": "Cassava Sciences, Inc. - Common Stock", "SBAC": "SBA Communications", "SBBP": "Strongbridge Biopharma plc - Ordinary Shares", "SBCF": "Seacoast Banking Corporation of Florida - Common Stock", "SBEAU": "SilverBox Engaged Merger Corp I - Units", "SBFG": "SB Financial Group, Inc. - Common Stock", "SBGI": "Sinclair Broadcast Group, Inc. - Class A Common Stock", "SBLK": "Star Bulk Carriers Corp. - Common Shares", "SBLKZ": "Star Bulk Carriers Corp. - 8.30% Senior Notes due 2022", "SBNY": "Signature Bank - Common Stock", "SBNYP": "Signature Bank - Depositary shares, each representing a 1/40th ownership interest in a share of 5.000% Noncumulative Perpetual Series A Preferred Stock", "SBRA": "Sabra Health Care REIT, Inc. - Common Stock", "SBSI": "Southside Bancshares, Inc. - Common Stock", "SBT": "Sterling Bancorp, Inc. - Common Stock", "SBTX": "Silverback Therapeutics, Inc. - Common Stock", "SBUX": "Starbucks Corp.", "SCHL": "Scholastic Corporation - Common Stock", "SCHN": "Schnitzer Steel Industries, Inc. - Class A Common Stock", "SCKT": "Socket Mobile, Inc. - Common Stock", "SCLEU": "Broadscale Acquisition Corp. - Units", "SCOA": "ScION Tech Growth I - Class A Ordinary Shares", "SCOAU": "ScION Tech Growth I - Unit", "SCOAW": "ScION Tech Growth I - Warrant", "SCOBU": "ScION Tech Growth II - Units", "SCOR": "comScore, Inc. - Common Stock", "SCPH": "scPharmaceuticals Inc. - Common Stock", "SCPL": "SciPlay Corporation - Class A Common Stock", "SCPS": "Scopus BioPharma Inc. - Common Stock", "SCR": "Score Media and Gaming Inc. - Subordinate Voting Shares", "SCSC": "ScanSource, Inc. - Common Stock", "SCVL": "Shoe Carnival, Inc. - Common Stock", "SCWX": "SecureWorks Corp. - Class A Common Stock", "SCYX": "SCYNEXIS, Inc. - Common Stock", "SCZ": "iShares MSCI EAFE Small-Cap ETF", "SDACU": "Sustainable Development Acquisition I Corp. - Unit", "SDC": "SmileDirectClub, Inc. - Common Stock", "SDG": "iShares MSCI Global Impact ETF", "SDGR": "Schrodinger, Inc. - Common Stock", "SDH": "Global Internet of People, Inc. - Ordinary Shares", "SDVY": "First Trust SMID Cap Rising Dividend Achievers ETF", "SEAC": "SeaChange International, Inc. - Common Stock", "SECO": "Secoo Holding Limited - American Depositary Shares", "SEDG": "SolarEdge Technologies, Inc. - Common Stock", "SEED": "Origin Agritech Limited - Common Stock", "SEEL": "Seelos Therapeutics, Inc. - Common Stock", "SEER": "Seer, Inc. - Class A Common Stock", "SEIC": "SEI Investments Company - Common Stock", "SELB": "Selecta Biosciences, Inc. - Common Stock", "SELF": "Global Self Storage, Inc. - Common Stock", "SENEA": "Seneca Foods Corp. - Class A Common Stock", "SENEB": "Seneca Foods Corp. - Class B Common Stock", "SESN": "Sesen Bio, Inc. - Common Stock", "SFBC": "Sound Financial Bancorp, Inc. - Common Stock", "SFBS": "ServisFirst Bancshares, Inc. - Common Stock", "SFET": "Safe-T Group Ltd. - American Depositary Shares", "SFIX": "Stitch Fix, Inc. - Class A Common Stock", "SFM": "Sprouts Farmers Market, Inc. - Common Stock", "SFNC": "Simmons First National Corporation - Common Stock", "SFST": "Southern First Bancshares, Inc. - Common Stock", "SFT": "Shift Technologies, Inc. - Class A Common Stock", "SGA": "Saga Communications, Inc. - Class A Common Stock", "SGAM": "Seaport Global Acquisition Corp. - Class A Common Stock", "SGAMU": "Seaport Global Acquisition Corp. - Unit", "SGAMW": "Seaport Global Acquisition Corp. - Warrant", "SGBX": "SG Blocks, Inc. - Common Stock", "SGC": "Superior Group of Companies, Inc. - Common Stock", "SGEN": "Seagen Inc. - Common Stock", "SGH": "SMART Global Holdings, Inc. - Ordinary Shares", "SGLB": "Sigma Labs, Inc. - Common Stock", "SGLBW": "Sigma Labs, Inc. - Warrant", "SGMA": "SigmaTron International, Inc. - Common Stock", "SGMO": "Sangamo Therapeutics, Inc. - Common Stock", "SGMS": "Scientific Games Corp - Common Stock", "SGOC": "SGOCO Group, Ltd - Ordinary Shares (Cayman Islands)", "SGRP": "SPAR Group, Inc. - Common Stock", "SGRY": "Surgery Partners, Inc. - Common Stock", "SGTX": "Sigilon Therapeutics, Inc. - Common Stock", "SHACU": "SCP & CO Healthcare Acquisition Company - Unit", "SHBI": "Shore Bancshares Inc - Common Stock", "SHC": "Sotera Health Company - Common Stock", "SHEN": "Shenandoah Telecommunications Co - Common Stock", "SHIP": "Seanergy Maritime Holdings Corp - Common Stock", "SHIPW": "Seanergy Maritime Holdings Corp - Class A Warrants", "SHIPZ": "Seanergy Maritime Holdings Corp - Class B Warrant", "SHLD": "VictoryShares Protect America ETF", "SHLS": "Shoals Technologies Group, Inc. - Class A Common Stock", "SHOO": "Steven Madden, Ltd. - Common Stock", "SHSP": "SharpSpring, Inc. - Common Stock", "SHV": "iShares Short Treasury Bond ETF", "SHY": "iShares 1-3 Year Treasury Bond ETF", "SHYF": "The Shyft Group, Inc. - Common Stock", "SIBN": "SI-BONE, Inc. - Common Stock", "SIC": "Select Interior Concepts, Inc. - Class A Common Stock", "SIEB": "Siebert Financial Corp. - Common Stock", "SIEN": "Sientra, Inc. - Common Stock", "SIFY": "Sify Technologies Limited - American Depository Shares, each represented by one Equity Share", "SIGA": "SIGA Technologies Inc. - Common Stock", "SIGI": "Selective Insurance Group, Inc. - Common Stock", "SIGIP": "Selective Insurance Group, Inc. - Depositary Shares, each representing a 1/1,000th interest in a share of 4.60% Non-Cumulative Preferred Stock, Series B", "SILC": "Silicom Ltd - Ordinary Shares", "SILK": "Silk Road Medical, Inc. - Common Stock", "SIMO": "Silicon Motion Technology Corporation - American Depositary Shares, each representing four ordinary shares", "SINA": "Sina Corporation - Ordinary Shares", "SINO": "Sino-Global Shipping America, Ltd. - Common Stock", "SINT": "SiNtx Technologies, Inc. - Common Stock", "SIOX": "Sio Gene Therapies Inc. - Common Stock", "SIRI": "Sirius XM Holdings Inc. - Common Stock", "SITM": "SiTime Corporation - Common Stock", "SIVB": "SVB Financial", "SIVBP": "SVB Financial Group - Depositary Shs each representing a 1/40th interest in a share of 5.25% Fixed-Rate Non-Cumulative Perpetual Preferred Stock, Series A", "SJ": "Scienjoy Holding Corporation - Ordinary Shares", "SKOR": "FlexShares Credit-Scored US Corporate Bond Index Fund", "SKYU": "ProShares Ultra Nasdaq Cloud Computing ETF", "SKYW": "SkyWest, Inc. - Common Stock", "SKYY": "First Trust Cloud Computing ETF", "SLAB": "Silicon Laboratories, Inc. - Common Stock", "SLAMU": "Slam Corp. - Unit", "SLCRU": "Silver Crest Acquisition Corporation - Unit", "SLCT": "Select Bancorp, Inc. - Common Stock", "SLDB": "Solid Biosciences Inc. - Common Stock", "SLGG": "Super League Gaming, Inc. - Common Stock", "SLGL": "Sol-Gel Technologies Ltd. - Common Stock", "SLGN": "Silgan Holdings Inc. - Common Stock", "SLM": "SLM Corporation - Common Stock", "SLMBP": "SLM Corporation - Floating Rate Non-Cumulative Preferred Stock, Series B", "SLN": "Silence Therapeutics Plc - American Depository Share", "SLNO": "Soleno Therapeutics, Inc. - Common Stock", "SLP": "Simulations Plus, Inc. - Common Stock", "SLQD": "iShares 0-5 Year Investment Grade Corporate Bond ETF", "SLRC": "SLR Investment Corp. - Common Stock", "SLRX": "Salarius Pharmaceuticals, Inc. - Common Stock", "SLS": "SELLAS Life Sciences Group, Inc. - Common Stock", "SLVO": "Credit Suisse Silver Shares Covered Call Exchange Traded Notes", "SMBC": "Southern Missouri Bancorp, Inc. - Common Stock", "SMBK": "SmartFinancial, Inc. - Common Stock", "SMCI": "Super Micro Computer, Inc. - Common Stock", "SMCP": "AlphaMark Actively Managed Small Cap ETF", "SMED": "Sharps Compliance Corp. - Common Stock", "SMH": "VanEck Vectors Semiconductor ETF", "SMID": "Smith-Midland Corporation - Common Stock", "SMIT": "Schmitt Industries, Inc. - Common Stock", "SMMF": "Summit Financial Group, Inc. - Common Stock", "SMMT": "Summit Therapeutics Inc. - Common Stock", "SMPL": "The Simply Good Foods Company - Common Stock", "SMSI": "Smith Micro Software, Inc. - Common Stock", "SMTC": "Semtech Corporation - Common Stock", "SMTI": "Sanara MedTech Inc. - Common Stock", "SMTX": "SMTC Corporation - Common Stock", "SNBR": "Sleep Number Corporation - Common Stock", "SNCA": "Seneca Biopharma, Inc. - Common Stock", "SNCR": "Synchronoss Technologies, Inc. - Common Stock", "SND": "Smart Sand, Inc. - Common Stock", "SNDE": "Sundance Energy Inc. - Common Stock", "SNDL": "Sundial Growers Inc. - Common Shares", "SNDX": "Syndax Pharmaceuticals, Inc. - Common Stock", "SNES": "SenesTech, Inc. - Common Stock", "SNEX": "StoneX Group Inc. - Common Stock", "SNFCA": "Security National Financial Corporation - Class A Common Stock", "SNGX": "Soligenix, Inc. - Common Stock", "SNGXW": "Soligenix, Inc. - Warrant", "SNLN": "Highland/iBoxx Senior Loan ETF", "SNOA": "Sonoma Pharmaceuticals, Inc. - Common Stock", "SNPS": "Synopsys Inc.", "SNRH": "Senior Connect Acquisition Corp. I - Class A Common Stock", "SNRHU": "Senior Connect Acquisition Corp. I - Unit", "SNRHW": "Senior Connect Acquisition Corp. I - Warrant", "SNSE": "Sensei Biotherapeutics, Inc. - Common Stock", "SNSR": "Global X Internet of Things ETF", "SNUG": "Merlyn.AI Tactical Growth & Income ETF", "SNY": "Sanofi - American Depositary Shares", "SOCL": "Global X Social Media ETF", "SOHO": "Sotherly Hotels Inc. - Common Stock", "SOHOB": "Sotherly Hotels Inc. - 8.0% Series B Cumulative Redeemable Perpetual Preferred Stock", "SOHON": "Sotherly Hotels Inc. - 8.25% Series D Cumulative Redeemable Perpetual Preferred Stock", "SOHOO": "Sotherly Hotels Inc. - 7.875% Series C Cumulative Redeemable Perpetual Preferred Stock", "SOHU": "Sohu.com Limited - American Depositary Shares", "SOLO": "Electrameccanica Vehicles Corp. Ltd. - Common Stock", "SOLOW": "Electrameccanica Vehicles Corp. Ltd. - Warrants", "SOLY": "Soliton, Inc. - Common Stock", "SONA": "Southern National Bancorp of Virginia, Inc. - Common Stock", "SONM": "Sonim Technologies, Inc. - Common Stock", "SONN": "Sonnet BioTherapeutics Holdings, Inc. - Common Stock", "SONO": "Sonos, Inc. - Common Stock", "SOXX": "iShares PHLX SOX Semiconductor Sector Index Fund", "SP": "SP Plus Corporation - Common Stock", "SPCB": "SuperCom, Ltd. - Ordinary Shares", "SPFI": "South Plains Financial, Inc. - Common Stock", "SPI": "SPI Energy Co., Ltd. - Ordinary Shares", "SPKE": "Spark Energy, Inc. - Class A Common Stock", "SPKEP": "Spark Energy, Inc. - 8.75% Series A Fixed-to-Floating Rate Cumulative Redeemable Perpetual Preferred Stock", "SPLK": "Splunk Inc. - Common Stock", "SPNE": "SeaSpine Holdings Corporation - Common Stock", "SPNS": "Sapiens International Corporation N.V. - Common Shares", "SPOK": "Spok Holdings, Inc. - Common Stock", "SPPI": "Spectrum Pharmaceuticals, Inc. - Common Stock", "SPQQ": "Siren Large Cap Blend Index ETF", "SPRB": "Spruce Biosciences, Inc. - Common Stock", "SPRO": "Spero Therapeutics, Inc. - Common Stock", "SPRT": "Support.com, Inc. - Common Stock", "SPSC": "SPS Commerce, Inc. - Common Stock", "SPT": "Sprout Social, Inc - Class A Common Stock", "SPTKU": "SportsTek Acquisition Corp. - Unit", "SPTN": "SpartanNash Company - Common Stock", "SPWH": "Sportsman's Warehouse Holdings, Inc. - Common Stock", "SPWR": "SunPower Corporation - Common Stock", "SQBG": "Sequential Brands Group, Inc. - Common Stock", "SQFT": "Presidio Property Trust, Inc. - Class A Common Stock", "SQLV": "Legg Mason Small-Cap Quality Value ETF", "SQQQ": "ProShares UltraPro Short QQQ", "SRAC": "Stable Road Acquisition Corp. - Class A Common Stock", "SRACU": "Stable Road Acquisition Corp. - Unit", "SRACW": "Stable Road Acquisition Corp. - Warrant", "SRAX": "SRAX, Inc. - Class A Common Stock", "SRCE": "1st Source Corporation - Common Stock", "SRCL": "Stericycle, Inc. - Common Stock", "SRDX": "Surmodics, Inc. - Common Stock", "SRET": "Global X SuperDividend REIT ETF", "SREV": "ServiceSource International, Inc. - Common Stock", "SRGA": "Surgalign Holdings, Inc. - Common Stock", "SRNE": "Sorrento Therapeutics, Inc. - Common Stock", "SRNGU": "Soaring Eagle Acquisition Corp. - Unit", "SRPT": "Sarepta Therapeutics, Inc. - Common Stock", "SRRA": "Sierra Oncology, Inc. - Common Stock", "SRRK": "Scholar Rock Holding Corporation - Common Stock", "SRSA": "Sarissa Capital Acquisition Corp. - Class A Ordinary Shares", "SRSAU": "Sarissa Capital Acquisition Corp. - Unit", "SRSAW": "Sarissa Capital Acquisition Corp. - Warrants", "SRTS": "Sensus Healthcare, Inc. - Common Stock", "SSAAU": "Science Strategic Acquisition Corp. Alpha - Unit", "SSB": "South State Corporation - Common Stock", "SSBI": "Summit State Bank - Common Stock", "SSKN": "Strata Skin Sciences, Inc. - Common Stock", "SSNC": "SS&C Technologies Holdings, Inc. - Common Stock", "SSNT": "SilverSun Technologies, Inc. - Common Stock", "SSP": "E.W. Scripps Company (The) - Class A Common Stock", "SSPK": "Silver Spike Acquisition Corp. - Class A Ordinary Shares", "SSPKU": "Silver Spike Acquisition Corp. - Units", "SSPKW": "Silver Spike Acquisition Corp. - Warrants", "SSRM": "SSR Mining Inc. - Common Stock", "SSSS": "SuRo Capital Corp. - Common Stock", "SSTI": "ShotSpotter, Inc. - Common Stock", "SSYS": "Stratasys, Ltd. - Common Stock", "STAA": "STAAR Surgical Company - Common Stock", "STAF": "Staffing 360 Solutions, Inc. - Common Stock", "STAY": "Extended Stay America, Inc. - Paired Shares", "STBA": "S&T Bancorp, Inc. - Common Stock", "STCN": "Steel Connect, Inc. - Common Stock", "STEP": "StepStone Group Inc. - Class A Common Stock", "STFC": "State Auto Financial Corporation - Common Stock", "STIM": "Neuronetics, Inc. - Common Stock", "STKL": "SunOpta, Inc. - Common Stock", "STKS": "The ONE Group Hospitality, Inc. - Common Stock", "STLD": "Steel Dynamics, Inc. - Common Stock", "STMP": "Stamps.com Inc. - Common Stock", "STND": "Standard AVB Financial Corp. - Common Stock", "STNE": "StoneCo Ltd. - Class A Common Share", "STOK": "Stoke Therapeutics, Inc. - Common Stock", "STRA": "Strategic Education, Inc. - Common Stock", "STRL": "Sterling Construction Company Inc - Common Stock", "STRM": "Streamline Health Solutions, Inc. - Common Stock", "STRO": "Sutro Biopharma, Inc. - Common Stock", "STRR": "Star Equity Holdings, Inc. - Common Stock", "STRRP": "Star Equity Holdings, Inc. - Series A Cumulative Perpetual Preferred Stock", "STRS": "Stratus Properties Inc. - Common Stock", "STRT": "STRATTEC SECURITY CORPORATION - Common Stock", "STSA": "Satsuma Pharmaceuticals, Inc. - Common stock", "STTK": "Shattuck Labs, Inc. - Common Stock", "STWO": "ACON S2 Acquisition Corp. - Class A ordinary shares", "STWOU": "ACON S2 Acquisition Corp. - Unit", "STWOW": "ACON S2 Acquisition Corp. - Warrant", "STX": "Seagate Technology", "STXB": "Spirit of Texas Bancshares, Inc. - Common Stock", "SUMO": "Sumo Logic, Inc. - Common Stock", "SUMR": "Summer Infant, Inc. - Common Stock", "SUNS": "SLR Senior Investment Corp. - Common Stock", "SUNW": "Sunworks, Inc. - Common Stock", "SUPN": "Supernus Pharmaceuticals, Inc. - Common Stock", "SURF": "Surface Oncology, Inc. - Common Stock", "SUSB": "iShares ESG Aware 1-5 Year USD Corporate Bond ETF", "SUSC": "iShares ESG Aware USD Corporate Bond ETF", "SUSL": "iShares ESG MSCI USA Leaders ETF", "SV": "Spring Valley Acquisition Corp. - Class A Ordinary Share", "SVA": "Sinovac Biotech, Ltd. - Ordinary Shares (Antigua/Barbudo)", "SVAC": "Starboard Value Acquisition Corp. - Class A Common Stock", "SVACU": "Starboard Value Acquisition Corp. - Unit", "SVACW": "Starboard Value Acquisition Corp. - Warrant", "SVBI": "Severn Bancorp Inc - Common Stock", "SVC": "Service Properties Trust - Shares of Beneficial Interest", "SVFA": "SVF Investment Corp. - Class A Ordinary Shares", "SVFAU": "SVF Investment Corp. - Unit", "SVFAW": "SVF Investment Corp. - Warrant", "SVMK": "SVMK Inc. - Common Stock", "SVOK": "Seven Oaks Acquisition Corp. - Class A Common Stock", "SVOKU": "Seven Oaks Acquisition Corp. - Unit", "SVOKW": "Seven Oaks Acquisition Corp. - Warrant", "SVRA": "Savara, Inc. - Common Stock", "SVSVU": "Spring Valley Acquisition Corp. - Unit", "SVSVW": "Spring Valley Acquisition Corp. - Warrant", "SVVC": "Firsthand Technology Value Fund, Inc. - Common Stock", "SWAV": "ShockWave Medical, Inc. - Common Stock", "SWBI": "Smith & Wesson Brands, Inc. - Common Stock", "SWETU": "Athlon Acquisition Corp. - Unit", "SWIR": "Sierra Wireless, Inc. - Common Stock", "SWKH": "SWK Holdings Corporation - Common Stock", "SWKS": "Skyworks Solutions", "SWTX": "SpringWorks Therapeutics, Inc. - common stock", "SXTC": "China SXT Pharmaceuticals, Inc. - Common Stock", "SY": "So-Young International Inc. - American Depository Shares", "SYBT": "Stock Yards Bancorp, Inc. - Common Stock", "SYBX": "Synlogic, Inc. - Common Stock", "SYKE": "Sykes Enterprises, Incorporated - Common Stock", "SYNA": "Synaptics Incorporated - Common Stock", "SYNC": "Synacor, Inc. - Common Stock", "SYNH": "Syneos Health, Inc. - Class A Common Stock", "SYNL": "Synalloy Corporation - Common Stock", "SYPR": "Sypris Solutions, Inc. - Common Stock", "SYRS": "Syros Pharmaceuticals, Inc. - common stock", "SYTA": "Siyata Mobile, Inc. - Common Shares", "SYTAW": "Siyata Mobile, Inc. - Warrant", "TA": "TravelCenters of America Inc. - Common Stock", "TACO": "Del Taco Restaurants, Inc. - Common Stock", "TACT": "TransAct Technologies Incorporated - Common Stock", "TAIT": "Taitron Components Incorporated - Class A Common Stock", "TANH": "Tantech Holdings Ltd. - Common Stock", "TANNI": "TravelCenters of America Inc. - 8.25% Senior Notes due 2028", "TANNL": "TravelCenters of America Inc. - 8.00% Senior Notes due 2029", "TANNZ": "TravelCenters of America Inc. - 8.00% Senior Notes due 2030", "TAOP": "Taoping Inc. - Ordinary Shares", "TARA": "Protara Therapeutics, Inc. - Common Stock", "TARS": "Tarsus Pharmaceuticals, Inc. - Common Stock", "TAST": "Carrols Restaurant Group, Inc. - Common Stock", "TATT": "TAT Technologies Ltd. - Ordinary Shares", "TAYD": "Taylor Devices, Inc. - Common Stock", "TBBK": "The Bancorp, Inc. - Common Stock", "TBCPU": "Thunder Bridge Capital Partners III Inc. - Units", "TBIO": "Translate Bio, Inc. - Common Stock", "TBK": "Triumph Bancorp, Inc. - Common Stock", "TBKCP": "Triumph Bancorp, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of Series C Fixed-Rate Non-Cumulative Perpetual Preferred Stock ", "TBLT": "ToughBuilt Industries, Inc. - Common Stock", "TBLTW": "ToughBuilt Industries, Inc. - Warrant", "TBNK": "Territorial Bancorp Inc. - Common Stock", "TBPH": "Theravance Biopharma, Inc. - Ordinary Shares", "TC": "TuanChe Limited - American Depositary Shares", "TCACU": "Tuatara Capital Acquisition Corporation - Unit", "TCBI": "Texas Capital Bancshares, Inc. - Common Stock", "TCBIL": "Texas Capital Bancshares, Inc. - 6.50% Subordinated Notes due 2042", "TCBIP": "Texas Capital Bancshares, Inc. - Non Cumulative Preferred Perpetual Stock Series A", "TCBK": "TriCo Bancshares - Common Stock", "TCDA": "Tricida, Inc. - Common Stock", "TCF": "TCF Financial Corporation - Common Stock", "TCFC": "The Community Financial Corporation - Common Stock", "TCFCP": "TCF Financial Corporation - Depositary Shares representing 5.70% Series C Non-Cumulative Preferred Stock", "TCMD": "Tactile Systems Technology, Inc. - Common Stock", "TCOM": "Trip.com Group Limited - American Depositary Shares", "TCON": "TRACON Pharmaceuticals, Inc. - Common Stock", "TCPC": "BlackRock TCP Capital Corp. - Common Stock", "TCRR": "TCR2 Therapeutics Inc. - Common Stock", "TCX": "Tucows Inc. - Common Stock", "TDAC": "Trident Acquisitions Corp. - Common Stock", "TDACU": "Trident Acquisitions Corp. - Units", "TDACW": "Trident Acquisitions Corp. - Warrant", "TDIV": "First Trust NASDAQ Technology Dividend Index Fund", "TEAM": "Atlassian Corporation Plc - Class A Ordinary Shares", "TECH": "Bio-Techne Corp - Common Stock", "TECTP": "Tectonic Financial, Inc. - 9.00% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "TEDU": "Tarena International, Inc. - American Depositary Shares", "TEKK": "Tekkorp Digital Acquisition Corp. - Class A Ordinary Shares", "TEKKU": "Tekkorp Digital Acquisition Corp. - Unit", "TEKKW": "Tekkorp Digital Acquisition Corp. - Warrant", "TELA": "TELA Bio, Inc. - Common stock", "TELL": "Tellurian Inc. - Common Stock", "TENB": "Tenable Holdings, Inc. - Common Stock", "TENX": "Tenax Therapeutics, Inc. - Common Stock", "TER": "Teradyne", "TERN": "Terns Pharmaceuticals, Inc. - Common Stock", "TESS": "TESSCO Technologies Incorporated - Common Stock", "TFFP": "TFF Pharmaceuticals, Inc. - Common Stock", "TFSL": "TFS Financial Corporation - Common Stock", "TGA": "TransGlobe Energy Corporation - Common Shares", "TGLS": "Tecnoglass Inc. - Ordinary Shares", "TGTX": "TG Therapeutics, Inc. - Common Stock", "TH": "Target Hospitality Corp. - Common Stock", "THBR": "Thunder Bridge Acquisition II, Ltd. - Class A Ordinary Shares", "THBRU": "Thunder Bridge Acquisition II, Ltd. - Units", "THBRW": "Thunder Bridge Acquisition II, Ltd. - Warrants", "THCA": "Tuscan Holdings Corp. II - Common Stock", "THCAU": "Tuscan Holdings Corp. II - Unit", "THCAW": "Tuscan Holdings Corp. II - Warrant", "THCB": "Tuscan Holdings Corp. - Common Stock", "THCBU": "Tuscan Holdings Corp. - Unit", "THCBW": "Tuscan Holdings Corp. - Warrant", "THFF": "First Financial Corporation Indiana - Common Stock", "THMAU": "Thimble Point Acquisition Corp. - Unit", "THMO": "ThermoGenesis Holdings, Inc. - Common Stock", "THRM": "Gentherm Inc - Common Stock", "THRY": "Thryv Holdings, Inc. - Common Stock", "THTX": "Theratechnologies Inc. - Common Shares", "THWWW": "Target Hospitality Corp. - Warrant expiring 3/15/2024", "TIG": "Trean Insurance Group, Inc. - Common Stock", "TIGO": "Millicom International Cellular S.A. - Common Stock", "TIGR": "UP Fintech Holding Limited - American Depositary Shares representing fifteen Class A Ordinary Shares", "TILE": "Interface, Inc. - Common Stock", "TIPT": "Tiptree Inc. - Common Stock", "TIRX": "TIAN RUIXIANG Holdings Ltd - Class A Ordinary Shares", "TITN": "Titan Machinery Inc. - Common Stock", "TLC": "Taiwan Liposome Company, Ltd. - American Depositary Shares", "TLGT": "Teligent, Inc. - Common Stock", "TLIS": "Talis Biomedical Corporation - common stock", "TLMD": "SOC Telemed, Inc. - Class A Common Stock", "TLMDW": "SOC Telemed, Inc. - Warrants", "TLND": "Talend S.A. - American Depositary Shares", "TLRY": "Tilray, Inc. - Class 2 Common Stock", "TLS": "Telos Corporation - Common Stock", "TLSA": "Tiziana Life Sciences plc - American Depository Share", "TLT": "iShares 20+ Year Treasury Bond ETF", "TMDI": "Titan Medical Inc. - Ordinary Shares", "TMDX": "TransMedics Group, Inc. - Common Stock", "TMKR": "Tastemaker Acquisition Corp. - Class A common stock", "TMKRU": "Tastemaker Acquisition Corp. - Unit", "TMKRW": "Tastemaker Acquisition Corp. - Warrant to purchase Class A common stock", "TMPM": "Turmeric Acquisition Corp. - Class A Ordinary Shares", "TMPMU": "Turmeric Acquisition Corp. - Unit", "TMPMW": "Turmeric Acquisition Corp. - Warrant", "TMTS": "Spartacus Acquisition Corporation - Class A Common Stock", "TMTSU": "Spartacus Acquisition Corporation - Unit", "TMTSW": "Spartacus Acquisition Corporation - Warrant", "TMUS": "T-Mobile US", "TNDM": "Tandem Diabetes Care, Inc. - Common Stock", "TNXP": "Tonix Pharmaceuticals Holding Corp. - Common Stock", "TOMZ": "TOMI Environmental Solutions, Inc. - Common Stock", "TOPS": "TOP Ships Inc. - Common Stock", "TOUR": "Tuniu Corporation - American Depositary Shares", "TOWN": "Towne Bank - Common Stock", "TPCO": "Tribune Publishing Company - Common Stock", "TPIC": "TPI Composites, Inc. - Common Stock", "TPTX": "Turning Point Therapeutics, Inc. - Common stock", "TQQQ": "ProShares UltraPro QQQ", "TRCH": "Torchlight Energy Resources, Inc. - Common Stock", "TREE": "LendingTree, Inc. - Common Stock", "TRHC": "Tabula Rasa HealthCare, Inc. - Common Stock", "TRIB": "Trinity Biotech plc - American Depositary Shares each representing 4 A Ordinary Shares", "TRIL": "Trillium Therapeutics Inc. - Common Shares", "TRIN": "Trinity Capital Inc. - Common Stock", "TRIP": "TripAdvisor, Inc. - Common Stock", "TRIT": "Triterras, Inc. - Class A Ordinary Shares", "TRITW": "Triterras, Inc. - Warrant", "TRMB": "Trimble Inc.", "TRMD": "TORM plc - Class A Common Stock", "TRMK": "Trustmark Corporation - Common Stock", "TRMT": "Tremont Mortgage Trust - Common Shares of Beneficial Interest", "TRNS": "Transcat, Inc. - Common Stock", "TROW": "T. Rowe Price Group", "TRS": "TriMas Corporation - Common Stock", "TRST": "TrustCo Bank Corp NY - Common Stock", "TRUE": "TrueCar, Inc. - Common Stock", "TRUP": "Trupanion, Inc. - Common Stock", "TRVG": "trivago N.V. - American Depositary Shares", "TRVI": "Trevi Therapeutics, Inc. - Common Stock", "TRVN": "Trevena, Inc. - Common Stock", "TSBK": "Timberland Bancorp, Inc. - Common Stock", "TSC": "TriState Capital Holdings, Inc. - Common Stock", "TSCAP": "TriState Capital Holdings, Inc. - Dep Shs Rep 1/40th Int 6.75% Srs A Non-Cum Pfd", "TSCBP": "TriState Capital Holdings, Inc. - Depositary Share, representing a 1/40th Interest in a Share of 6.375% Fixed-to-Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "TSCO": "Tractor Supply Company", "TSEM": "Tower Semiconductor Ltd. - Ordinary Shares", "TSHA": "Taysha Gene Therapies, Inc. - Common Stock", "TSIA": "TS Innovation Acquisitions Corp. - Class A Common Stock", "TSIAU": "TS Innovation Acquisitions Corp. - Unit", "TSIAW": "TS Innovation Acquisitions Corp. - Warrant", "TSIBU": "Tishman Speyer Innovation Corp. II - Unit", "TSLA": "Tesla, Inc.", "TSRI": "TSR, Inc. - Common Stock", "TTCF": "Tattooed Chef, Inc. - Class A Common Stock", "TTD": "The Trade Desk, Inc. - Class A Common Stock", "TTEC": "TTEC Holdings, Inc. - Common Stock", "TTEK": "Tetra Tech, Inc. - Common Stock", "TTGT": "TechTarget, Inc. - Common Stock", "TTMI": "TTM Technologies, Inc. - Common Stock", "TTNP": "Titan Pharmaceuticals, Inc. - Common Stock", "TTOO": "T2 Biosystems, Inc. - Common Stock", "TTWO": "Take-Two Interactive", "TUR": "iShares MSCI Turkey ETF", "TURN": "180 Degree Capital Corp. - Common Stock", "TUSA": "First Trust Total US Market AlphaDEX ETF", "TUSK": "Mammoth Energy Services, Inc. - Common Stock", "TVAC": "Thayer Ventures Acquisition Corporation - Class A Common Stock", "TVACU": "Thayer Ventures Acquisition Corporation - Units", "TVACW": "Thayer Ventures Acquisition Corporation - Warrant", "TVTX": "Travere Therapeutics, Inc. - Common Stock", "TVTY": "Tivity Health, Inc. - Common Stock", "TW": "Tradeweb Markets Inc. - Class A Common Stock", "TWCT": "TWC Tech Holdings II Corp. - Class A Common Stock", "TWCTU": "TWC Tech Holdings II Corp. - Unit", "TWCTW": "TWC Tech Holdings II Corp. - Warrant", "TWIN": "Twin Disc, Incorporated - Common Stock", "TWLVU": "Twelve Seas Investment Company II - Unit", "TWNK": "Hostess Brands, Inc. - Class A Common Stock", "TWNKW": "Hostess Brands, Inc. - Warrants", "TWOU": "2U, Inc. - Common Stock", "TWST": "Twist Bioscience Corporation - Common Stock", "TXG": "10x Genomics, Inc. - Common Stock", "TXMD": "TherapeuticsMD, Inc. - Common Stock", "TXN": "Texas Instruments", "TXRH": "Texas Roadhouse, Inc. - Common Stock", "TYHT": "Shineco, Inc. - Common Stock", "TYME": "Tyme Technologies, Inc. - Common Stock", "TZOO": "Travelzoo - Common Stock", "TZPSU": "TZP Strategies Acquisition Corp. - Unit", "UAE": "iShares MSCI UAE ETF", "UAL": "United Airlines Holdings", "UBCP": "United Bancorp, Inc. - Common Stock", "UBFO": "United Security Bancshares - Common Stock", "UBOH": "United Bancshares, Inc. - Common Stock", "UBSI": "United Bankshares, Inc. - Common Stock", "UBX": "Unity Biotechnology, Inc. - Common Stock", "UCBI": "United Community Banks, Inc. - Common Stock", "UCBIO": "United Community Banks, Inc. - Depositary Shares each representing 1/1,000th interest in a share of Series I Non-Cumulative Preferred Stock", "UCL": "uCloudlink Group Inc. - American Depositary Shares", "UCTT": "Ultra Clean Holdings, Inc. - Common Stock", "UCYB": "ProShares Ultra Nasdaq Cybersecurity ETF", "UEIC": "Universal Electronics Inc. - Common Stock", "UEPS": "Net 1 UEPS Technologies, Inc. - Common Stock", "UFCS": "United Fire Group, Inc - Common Stock", "UFO": "Procure Space ETF", "UFPI": "UFP Industries, Inc. - Common Stock", "UFPT": "UFP Technologies, Inc. - Common Stock", "UG": "United-Guardian, Inc. - Common Stock", "UGRO": "urban-gro, Inc. - Common Stock", "UHAL": "Amerco - Common Stock", "UIHC": "United Insurance Holdings Corp. - Common Stock", "UK": "Ucommune International Ltd - Ordinary Shares", "UKOMW": "Ucommune International Ltd - Warrant expiring 11/17/2025", "ULBI": "Ultralife Corporation - Common Stock", "ULH": "Universal Logistics Holdings, Inc. - Common Stock", "ULTA": "Ulta Beauty", "UMBF": "UMB Financial Corporation - Common Stock", "UMPQ": "Umpqua Holdings Corporation - Common Stock", "UNAM": "Unico American Corporation - Common Stock", "UNB": "Union Bankshares, Inc. - Common Stock", "UNIT": "Uniti Group Inc. - Common Stock", "UNTY": "Unity Bancorp, Inc. - Common Stock", "UONE": "Urban One, Inc. - Class A Common Stock", "UONEK": "Urban One, Inc. - Class D Common Stock", "UPLD": "Upland Software, Inc. - Common Stock", "UPST": "Upstart Holdings, Inc. - Common stock", "UPWK": "Upwork Inc. - Common Stock", "URBN": "Urban Outfitters, Inc. - Common Stock", "URGN": "UroGen Pharma Ltd. - Ordinary Shares", "UROV": "Urovant Sciences Ltd. - Common Stock", "USAK": "USA Truck, Inc. - Common Stock", "USAP": "Universal Stainless & Alloy Products, Inc. - Common Stock", "USAT": "USA Technologies, Inc. - Common Stock", "USAU": "U.S. Gold Corp. - Common Stock", "USCR": "U S Concrete, Inc. - Common Stock", "USEG": "U.S. Energy Corp. - Common Stock", "USIG": "iShares Broad USD Investment Grade Corporate Bond ETF", "USIO": "Usio, Inc. - Common Stock", "USLB": "Invesco Russell 1000 Low Beta Equal Weight ETF", "USLM": "United States Lime & Minerals, Inc. - Common Stock", "USMC": "Principal U.S. Mega-Cap ETF", "USOI": "Credit Suisse X-Links Crude Oil Shares Covered Call ETN", "USWS": "U.S. Well Services, Inc. - Class A Common Stock", "USWSW": "U.S. Well Services, Inc. - Warrants", "USXF": "iShares ESG Advanced MSCI USA ETF", "UTHR": "United Therapeutics Corporation - Common Stock", "UTMD": "Utah Medical Products, Inc. - Common Stock", "UTSI": "UTStarcom Holdings Corp - Ordinary Shares", "UVSP": "Univest Financial Corporation - Common Stock", "UXIN": "Uxin Limited - American Depositary Shares", "VACQ": "Vector Acquisition Corporation - Class A Common Stock", "VACQU": "Vector Acquisition Corporation - Unit", "VACQW": "Vector Acquisition Corporation - Warrant", "VALU": "Value Line, Inc. - Common Stock", "VBFC": "Village Bank and Trust Financial Corp. - Common Stock", "VBIV": "VBI Vaccines, Inc. - Ordinary Shares", "VBLT": "Vascular Biogenics Ltd. - Ordinary Shares", "VBTX": "Veritex Holdings, Inc. - Common Stock", "VC": "Visteon Corporation - Common Stock", "VCEL": "Vericel Corporation - Common Stock", "VCIT": "Vanguard Intermediate-Term Corporate Bond ETF", "VCKA": "Vickers Vantage Corp. I - Ordinary Shares", "VCKAU": "Vickers Vantage Corp. I - Unit", "VCKAW": "Vickers Vantage Corp. I - Warrant", "VCLT": "Vanguard Long-Term Corporate Bond ETF", "VCNX": "Vaccinex, Inc. - Common Stock", "VCSH": "Vanguard Short-Term Corporate Bond ETF", "VCTR": "Victory Capital Holdings, Inc. - Common Stock", "VCVC": "10X Capital Venture Acquisition Corp - Common Stock", "VCVCU": "10X Capital Venture Acquisition Corp - Unit", "VCVCW": "10X Capital Venture Acquisition Corp - Warrant", "VCYT": "Veracyte, Inc. - Common Stock", "VECO": "Veeco Instruments Inc. - Common Stock", "VELOU": "Velocity Acquisition Corp. - Units", "VENAU": "Venus Acquisition Corporation - Units", "VEON": "VEON Ltd. - American Depositary Shares", "VERB": "Verb Technology Company, Inc. - Common Stock", "VERBW": "Verb Technology Company, Inc. - Warrant", "VERI": "Veritone, Inc. - Common Stock", "VERO": "Venus Concept Inc. - Common Stock", "VERU": "Veru Inc. - Common Stock", "VERX": "Vertex, Inc. - Class A Common Stock", "VERY": "Vericity, Inc. - Common Stock", "VETS": "Pacer Military Times Best Employers ETF", "VFF": "Village Farms International, Inc. - Common Shares", "VG": "Vonage Holdings Corp. - Common Stock", "VGIT": "Vanguard Intermediate-Term Treasury ETF", "VGLT": "Vanguard Long-Treasury ETF", "VGSH": "Vanguard Short-Term Treasury ETF", "VIAC": "ViacomCBS", "VIACA": "ViacomCBS Inc. - Class A Common Stock", "VIAV": "Viavi Solutions Inc. - Common Stock", "VICR": "Vicor Corporation - Common Stock", "VIE": "Viela Bio, Inc. - Common Stock", "VIGI": "Vanguard International Dividend Appreciation ETF", "VIH": "VPC Impact Acquisition Holdings - Class A Ordinary Shares", "VIHAU": "VPC Impact Acquisition Holdings - Unit", "VIHAW": "VPC Impact Acquisition Holdings - Warrant", "VII": "7GC & Co. Holdings Inc. - Class A common stock", "VIIAU": "7GC & Co. Holdings Inc. - Unit", "VIIAW": "7GC & Co. Holdings Inc. - Warrant", "VINC": "Vincerx Pharma, Inc. - Common Stock", "VINCU": "Vincerx Pharma, Inc. - Unit", "VINCW": "Vincerx Pharma, Inc. - Warrant", "VINO": "Gaucho Group Holdings, Inc. - Common Stock", "VINP": "Vinci Partners Investments Ltd. - Class A Common Shares", "VIOT": "Viomi Technology Co., Ltd - American Depositary Shares", "VIR": "Vir Biotechnology, Inc. - Common Stock", "VIRC": "Virco Manufacturing Corporation - Common Stock", "VIRI": "Virios Therapeutics, Inc. - Common Stock", "VIRT": "Virtu Financial, Inc. - Class A Common Stock", "VIRX": "Viracta Therapeutics, Inc. - Common Stock", "VISL": "Vislink Technologies, Inc. - Common Stock", "VITL": "Vital Farms, Inc. - Common Stock", "VIVE": "Viveve Medical, Inc. - Common Stock", "VIVO": "Meridian Bioscience Inc. - Common Stock", "VJET": "voxeljet AG - American Depositary Shares", "VKTX": "Viking Therapeutics, Inc. - Common Stock", "VKTXW": "Viking Therapeutics, Inc. - Warrants", "VLDR": "Velodyne Lidar, Inc. - Common Stock", "VLDRW": "Velodyne Lidar, Inc. - Warrant", "VLGEA": "Village Super Market, Inc. - Class A Common Stock", "VLON": "Vallon Pharmaceuticals Inc. - Common Stock", "VLY": "Valley National Bancorp - Common Stock", "VLYPO": "Valley National Bancorp - 5.5% Fixed to Floating Rate Series B Non-Cumulative Perpetual Preferred Stock", "VLYPP": "Valley National Bancorp - 6.25% Fixed-to-Floating Rate Series A Non-Cumulative Perpetual Preferred Stock", "VMAC": "Vistas Media Acquisition Company Inc. - Class A Common Stock", "VMACU": "Vistas Media Acquisition Company Inc. - Unit", "VMACW": "Vistas Media Acquisition Company Inc. - Warrant", "VMAR": "Vision Marine Technologies Inc. - Common Shares", "VMBS": "Vanguard Mortgage-Backed Securities ETF", "VMD": "Viemed Healthcare, Inc. - Common Shares", "VNDA": "Vanda Pharmaceuticals Inc. - Common Stock", "VNET": "21Vianet Group, Inc. - American Depositary Shares", "VNOM": "Viper Energy Partners LP - Common Unit", "VNQI": "Vanguard Global ex-U.S. Real Estate ETF", "VOD": "Vodafone Group Plc - American Depositary Shares each representing ten Ordinary Shares", "VONE": "Vanguard Russell 1000 ETF", "VONG": "Vanguard Russell 1000 Growth ETF", "VONV": "Vanguard Russell 1000 Value ETF", "VOR": "Vor Biopharma Inc. - Common Stock", "VOSOU": "Virtuoso Acquisition Corp. - Unit", "VOXX": "VOXX International Corporation - Class A Common Stock", "VPN": "Global X Data Center REITs & Digital Infrastructure ETF", "VRA": "Vera Bradley, Inc. - Common Stock", "VRAY": "ViewRay, Inc. - Common Stock", "VRCA": "Verrica Pharmaceuticals Inc. - Common Stock", "VRDN": "Viridian Therapeutics, Inc. - Common Stock", "VREX": "Varex Imaging Corporation - Common Stock", "VRIG": "Invesco Variable Rate Investment Grade ETF", "VRM": "Vroom, Inc. - Common Stock", "VRME": "VerifyMe, Inc. - Common Stock", "VRMEW": "VerifyMe, Inc. - Warrant", "VRNA": "Verona Pharma plc - American Depositary Shares", "VRNS": "Varonis Systems, Inc. - Common Stock", "VRNT": "Verint Systems Inc. - Common Stock", "VRPX": "Virpax Pharmaceuticals, Inc. - Common Stock", "VRRM": "Verra Mobility Corporation - Class A Common Stock", "VRSK": "Verisk Analytics", "VRSN": "Verisign Inc.", "VRTS": "Virtus Investment Partners, Inc. - Common Stock", "VRTX": "Vertex Pharmaceuticals Inc", "VS": "Versus Systems Inc. - Common Shares", "VSAT": "ViaSat, Inc. - Common Stock", "VSDA": "VictoryShares Dividend Accelerator ETF", "VSEC": "VSE Corporation - Common Stock", "VSMV": "VictoryShares US Multi-Factor Minimum Volatility ETF", "VSPR": "Vesper Healthcare Acquisition Corp. - Class A Common Stock", "VSPRU": "Vesper Healthcare Acquisition Corp. - Unit", "VSPRW": "Vesper Healthcare Acquisition Corp. - Warrant", "VSSYW": "Versus Systems Inc. - Class A Warrants", "VSTA": "Vasta Platform Limited - Class A Ordinary Shares", "VSTM": "Verastem, Inc. - Common Stock", "VTAQ": "Ventoux CCM Acquisition Corp. - Common Stock", "VTAQR": "Ventoux CCM Acquisition Corp. - Right", "VTAQU": "Ventoux CCM Acquisition Corp. - Unit", "VTAQW": "Ventoux CCM Acquisition Corp. - Warrant", "VTC": "Vanguard Total Corporate Bond ETF", "VTGN": "VistaGen Therapeutics, Inc. - Common Stock", "VTHR": "Vanguard Russell 3000 ETF", "VTIP": "Vanguard Short-Term Inflation-Protected Securities Index Fund", "VTIQ": "VectoIQ Acquisition Corp. II - Class A Common Stock", "VTIQU": "VectoIQ Acquisition Corp. II - Unit", "VTIQW": "VectoIQ Acquisition Corp. II - Warrant", "VTNR": "Vertex Energy, Inc - Common Stock", "VTRN": "VictoryShares Top Veteran Employers ETF", "VTRS": "Viatris", "VTRU": "Vitru Limited - Common Shares", "VTSI": "VirTra, Inc. - Common Stock", "VTVT": "vTv Therapeutics Inc. - Class A Common Stock", "VTWG": "Vanguard Russell 2000 Growth ETF", "VTWO": "Vanguard Russell 2000 ETF", "VTWV": "Vanguard Russell 2000 Value ETF", "VUZI": "Vuzix Corporation - Common Stock", "VVOS": "Vivos Therapeutics, Inc. - Common Stock", "VVPR": "VivoPower International PLC - Ordinary Shares", "VWOB": "Vanguard Emerging Markets Government Bond ETF", "VXRT": "Vaxart, Inc. - Common Stock", "VXUS": "Vanguard Total International Stock ETF", "VYGR": "Voyager Therapeutics, Inc. - Common Stock", "VYMI": "Vanguard International High Dividend Yield ETF", "VYNE": "VYNE Therapeutics Inc. - Common Stock", "WABC": "Westamerica Bancorporation - Common Stock", "WAFD": "Washington Federal, Inc. - Common Stock", "WAFDP": "Washington Federal, Inc. - Depositary Shares", "WAFU": "Wah Fu Education Group Limited - Ordinary Shares", "WASH": "Washington Trust Bancorp, Inc. - Common Stock", "WATT": "Energous Corporation - Common Stock", "WB": "Weibo Corporation - American Depositary Shares", "WBND": "Western Asset Total Return ETF", "WCBR": "WisdomTree Cybersecurity Fund", "WCLD": "WisdomTree Cloud Computing Fund", "WDAY": "Workday, Inc. - Class A Common Stock", "WDC": "Western Digital", "WDFC": "WD-40 Company - Common Stock", "WEN": "Wendy's Company (The) - Common Stock", "WERN": "Werner Enterprises, Inc. - Common Stock", "WETF": "WisdomTree Investments, Inc. - Common Stock", "WEYS": "Weyco Group, Inc. - Common Stock", "WHF": "WhiteHorse Finance, Inc. - Common Stock", "WHFBZ": "WhiteHorse Finance, Inc. - 6.50% Notes due 2025", "WHLM": "Wilhelmina International, Inc. - Common Stock", "WHLR": "Wheeler Real Estate Investment Trust, Inc. - Common Stock", "WHLRD": "Wheeler Real Estate Investment Trust, Inc. - Series D Cumulative Preferred Stock", "WHLRP": "Wheeler Real Estate Investment Trust, Inc. - Series B Preferred Stock", "WIFI": "Boingo Wireless, Inc. - Common Stock", "WILC": "G. Willi-Food International, Ltd. - Ordinary Shares", "WIMI": "WiMi Hologram Cloud Inc. - American Depositary Share", "WINA": "Winmark Corporation - Common Stock", "WINC": "Western Asset Short Duration Income ETF", "WING": "Wingstop Inc. - Common Stock", "WINT": "Windtree Therapeutics, Inc. - Common Stock", "WIRE": "Encore Wire Corporation - Common Stock", "WISA": "Summit Wireless Technologies, Inc. - Common Stock", "WISH": "ContextLogic Inc. - Class A Common Stock", "WIX": "Wix.com Ltd. - Ordinary Shares", "WKEY": "WISeKey International Holding AG - American Depositary Shares", "WKHS": "Workhorse Group, Inc. - Common Stock", "WLDN": "Willdan Group, Inc. - Common Stock", "WLFC": "Willis Lease Finance Corporation - Common Stock", "WLTW": "Willis Towers Watson", "WMG": "Warner Music Group Corp. - Class A Common Stock", "WNEB": "Western New England Bancorp, Inc. - Common Stock", "WNW": "Wunong Net Technology Company Limited - Ordinary Shares", "WOOD": "iShares S&P Global Timber & Forestry Index Fund", "WOOF": "Petco Health and Wellness Company, Inc. - Class A Common Stock", "WORX": "SCWorx Corp. - Common Stock", "WPRT": "Westport Fuel Systems Inc - Common Shares", "WRAP": "Wrap Technologies, Inc. - Common Stock", "WRLD": "World Acceptance Corporation - Common Stock", "WSBC": "WesBanco, Inc. - Common Stock", "WSBCP": "WesBanco, Inc. - Depositary Shares, Each Representing a 1/40th Interest in a Share of 6.75% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series A", "WSBF": "Waterstone Financial, Inc. - Common Stock", "WSC": "WillScot Mobile Mini Holdings Corp. - Class A Common Stock", "WSFS": "WSFS Financial Corporation - Common Stock", "WSTG": "Wayside Technology Group, Inc. - Common Stock", "WTBA": "West Bancorporation - Common Stock", "WTER": "The Alkaline Water Company Inc. - Common Stock", "WTFC": "Wintrust Financial Corporation - Common Stock", "WTFCM": "Wintrust Financial Corporation - Fixed-to-Floating Rate Non-Cumulative Perpetual Preferred Stock, Series D", "WTFCP": "Wintrust Financial Corporation - Depositary Shares, Each Representing a 1/1,000th Interest in a Share of 6.875% Fixed-Rate Reset Non-Cumulative Perpetual Preferred Stock, Series E", "WTRE": "Watford Holdings Ltd. - Common Shares", "WTREP": "Watford Holdings Ltd. - 8.25% Cumulative Redeemable Preference Shares", "WTRH": "Waitr Holdings Inc. - Common Stock", "WVE": "Wave Life Sciences Ltd. - Ordinary Shares", "WVFC": "WVS Financial Corp. - Common Stock", "WVVI": "Willamette Valley Vineyards, Inc. - Common Stock", "WVVIP": "Willamette Valley Vineyards, Inc. - Series A Redeemable Preferred Stock", "WW": "WW International, Inc. - Common Stock", "WWD": "Woodward, Inc. - Common Stock", "WWR": "Westwater Resources, Inc. - Common Stock", "WYNN": "Wynn Resorts Ltd", "XAIR": "Beyond Air, Inc. - Common Stock", "XBIO": "Xenetic Biosciences, Inc. - Common Stock", "XBIOW": "Xenetic Biosciences, Inc. - Warrants", "XBIT": "XBiotech Inc. - Common Stock", "XCUR": "Exicure, Inc. - Common Stock", "XEL": "Xcel Energy Inc", "XELA": "Exela Technologies, Inc. - Common Stock", "XELB": "Xcel Brands, Inc - Common Stock", "XENE": "Xenon Pharmaceuticals Inc. - Common Shares", "XENT": "Intersect ENT, Inc. - Common Stock", "XERS": "Xeris Pharmaceuticals, Inc. - Common Stock", "XFOR": "X4 Pharmaceuticals, Inc. - Common Stock", "XGN": "Exagen Inc. - Common Stock", "XLNX": "Xilinx", "XLRN": "Acceleron Pharma Inc. - Common Stock", "XM": "Qualtrics International Inc. - Class A Common Stock", "XNCR": "Xencor, Inc. - Common Stock", "XNET": "Xunlei Limited - American Depositary Shares", "XOG": "Extraction Oil & Gas, Inc. - Common Stock", "XOMA": "XOMA Corporation - Common Stock", "XOMAP": "XOMA Corporation - 8.625% Series A Cumulative Perpetual Preferred Stock", "XONE": "The ExOne Company - Common Stock", "XP": "XP Inc. - Class A Common Stock", "XPDIU": "Power & Digital Infrastructure Acquisition Corp. - Unit", "XPEL": "XPEL, Inc. - Common Stock", "XPER": "Xperi Holding Corporation - Common Stock", "XRAY": "Dentsply Sirona", "XSPA": "XpresSpa Group, Inc. - Common Stock", "XT": "iShares Exponential Technologies ETF", "XTLB": "XTL Biopharmaceuticals Ltd. - American Depositary Shares", "YELL": "Yellow Corporation - Common Stock", "YGMZ": "MingZhu Logistics Holdings Limited - Ordinary Shares", "YI": "111, Inc. - American Depositary Shares", "YJ": "Yunji Inc. - American Depository Shares", "YLDE": "ClearBridge Dividend Strategy ESG ETF", "YMAB": "Y-mAbs Therapeutics, Inc. - Common Stock", "YMTX": "Yumanity Therapeutics, Inc. - Common Stock", "YNDX": "Yandex N.V. - Class A Ordinary Shares", "YORW": "The York Water Company - Common Stock", "YQ": "17 Education & Technology Group Inc. - American Depositary Shares", "YSAC": "Yellowstone Acquisition Company - Class A Common Stock", "YSACU": "Yellowstone Acquisition Company - Units", "YSACW": "Yellowstone Acquisition Company - Warrants to purchase Class A common stock", "YTEN": "Yield10 Bioscience, Inc. - Common Stock", "YTRA": "Yatra Online, Inc. - Ordinary Shares", "YVR": "Liquid Media Group Ltd. - Common Shares", "YY": "JOYY Inc. - American Depositary Shares", "Z": "Zillow Group, Inc. - Class C Capital Stock", "ZAZZT": "Tick Pilot Test Stock Class A Common Stock", "ZBRA": "Zebra Technologies", "ZBZZT": "Test Pilot Test Stock Class B Common Stock", "ZCMD": "Zhongchao Inc. - Class A Ordinary Shares", "ZCZZT": "Tick Pilot Test Stock Class C ", "ZEAL": "Zealand Pharma A/S - American Depositary Shares", "ZEUS": "Olympic Steel, Inc. - Common Stock", "ZG": "Zillow Group, Inc. - Class A Common Stock", "ZGNX": "Zogenix, Inc. - Common Stock", "ZGYH": "Yunhong International - Class A Ordinary Shares", "ZGYHR": "Yunhong International - Right", "ZGYHU": "Yunhong International - Unit", "ZGYHW": "Yunhong International - Warrant", "ZI": "ZoomInfo Technologies Inc. - Class A Common Stock", "ZION": "Zions Bancorp", "ZIONL": "Zions Bancorporation N.A. - 6.95% Fixed-to-Floating Rate Subordinated Notes due September 15, 2028", "ZIONN": "Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series H 5.75% Non-Cumulative Perpetual Preferred Stock", "ZIONO": "Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series G Fixed/Floating-Rate Non-Cumulative Perpetual Preferred Stock", "ZIONP": "Zions Bancorporation N.A. - Depositary Shares each representing a 1/40th ownership interest in a share of Series A Floating-Rate Non-Cumulative Perpetual Preferred Stock", "ZIOP": "ZIOPHARM Oncology Inc - Common Stock", "ZIXI": "Zix Corporation - Common Stock", "ZJZZT": "NASDAQ TEST STOCK", "ZKIN": "ZK International Group Co., Ltd - Ordinary Share", "ZLAB": "Zai Lab Limited - American Depositary Shares", "ZM": "Zoom Video Communications, Inc. - Class A Common Stock", "ZNGA": "Zynga Inc. - Class A Common Stock", "ZNTE": "Zanite Acquisition Corp. - Class A Common Stock", "ZNTEU": "Zanite Acquisition Corp. - Unit", "ZNTEW": "Zanite Acquisition Corp. - Warrant", "ZNTL": "Zentalis Pharmaceuticals, Inc. - common stock", "ZS": "Zscaler, Inc. - Common Stock", "ZSAN": "Zosano Pharma Corporation - Common Stock", "ZUMZ": "Zumiez Inc. - Common Stock", "ZVO": "Zovio Inc. - Common Stock", "ZVZZC": "NASDAQ TEST STOCK Nextshares Test Security", "ZVZZT": "NASDAQ TEST STOCK", "ZWRKU": "Z-Work Acquisition Corp. - Units", "ZWZZT": "NASDAQ TEST STOCK", "ZXYZ.A": "Nasdaq Symbology Test Common Stock", "ZXZZT": "NASDAQ TEST STOCK", "ZYNE": "Zynerba Pharmaceuticals, Inc. - Common Stock", "ZYXI": "Zynex, Inc. - Common Stock", "ABT": "Abbott Laboratories", "ABBV": "AbbVie Inc.", "ACN": "Accenture", "AAP": "Advance Auto Parts", "AES": "AES Corp", "AFL": "Aflac", "A": "Agilent Technologies", "APD": "Air Products & Chemicals", "ALK": "Alaska Air Group", "ALB": "Albemarle Corporation", "ARE": "Alexandria Real Estate Equities", "ALLE": "Allegion", "ALL": "Allstate Corp", "MO": "Altria Group Inc", "AMCR": "Amcor", "AEE": "Ameren Corp", "AIG": "American International Group", "AMT": "American Tower Corp.", "AWK": "American Water Works", "AMP": "Ameriprise Financial", "ABC": "AmerisourceBergen", "AME": "Ametek", "APH": "Amphenol Corp", "ANTM": "Anthem", "AON": "Aon plc", "AOS": "A.O. Smith Corp", "APTV": "Aptiv PLC", "ADM": "Archer-Daniels-Midland Co", "ANET": "Arista Networks", "AJG": "Arthur J. Gallagher & Co.", "AIZ": "Assurant", "T": "AT&T Inc.", "ATO": "Atmos Energy", "AZO": "AutoZone Inc", "AVB": "AvalonBay Communities", "AVY": "Avery Dennison Corp", "BKR": "Baker Hughes Co", "BLL": "Ball Corp", "BAC": "Bank of America Corp", "BK": "The Bank of New York Mellon", "BAX": "Baxter International Inc.", "BDX": "Becton Dickinson", "BRK.B": "Berkshire Hathaway", "BBY": "Best Buy Co. Inc.", "BIO": "Bio-Rad Laboratories", "BLK": "BlackRock", "BWA": "BorgWarner", "BXP": "Boston Properties", "BSX": "Boston Scientific", "BMY": "Bristol-Myers Squibb", "BR": "Broadridge Financial Solutions", "BF.B": "Brown-Forman Corp.", "COG": "Cabot Oil & Gas", "CPB": "Campbell Soup", "COF": "Capital One Financial", "CAH": "Cardinal Health Inc.", "KMX": "Carmax Inc", "CCL": "Carnival Corp.", "CARR": "Carrier Global", "CTLT": "Catalent", "CBOE": "Cboe Global Markets", "CBRE": "CBRE Group", "CE": "Celanese", "CNC": "Centene Corporation", "CNP": "CenterPoint Energy", "CF": "CF Industries Holdings Inc", "SCHW": "Charles Schwab Corporation", "CMG": "Chipotle Mexican Grill", "CB": "Chubb Limited", "CHD": "Church & Dwight", "CI": "Cigna", "C": "Citigroup Inc.", "CFG": "Citizens Financial Group", "CLX": "The Clorox Company", "CMS": "CMS Energy", "CL": "Colgate-Palmolive", "CMA": "Comerica Inc.", "CAG": "Conagra Brands", "COP": "ConocoPhillips", "ED": "Consolidated Edison", "STZ": "Constellation Brands", "COO": "The Cooper Companies", "GLW": "Corning Inc.", "CTVA": "Corteva", "CCI": "Crown Castle", "CMI": "Cummins Inc.", "CVS": "CVS Health", "DHI": "D. R. Horton", "DHR": "Danaher Corp.", "DRI": "Darden Restaurants", "DVA": "DaVita Inc.", "DE": "Deere & Co.", "DAL": "Delta Air Lines Inc.", "DVN": "Devon Energy", "DLR": "Digital Realty Trust Inc", "DFS": "Discover Financial Services", "DG": "Dollar General", "D": "Dominion Energy", "DPZ": "Domino's Pizza", "DOV": "Dover Corporation", "DTE": "DTE Energy Co.", "DUK": "Duke Energy", "DRE": "Duke Realty Corp", "DD": "DuPont de Nemours Inc", "DXC": "DXC Technology", "EMN": "Eastman Chemical", "ETN": "Eaton Corporation", "ECL": "Ecolab Inc.", "EIX": "Edison Int'l", "EW": "Edwards Lifesciences", "EMR": "Emerson Electric Company", "ETR": "Entergy Corp.", "EOG": "EOG Resources", "EFX": "Equifax Inc.", "EQR": "Equity Residential", "ESS": "Essex Property Trust, Inc.", "EL": "Est\u00e9e Lauder Companies", "EVRG": "Evergy", "ES": "Eversource Energy", "RE": "Everest Re Group Ltd.", "EXR": "Extra Space Storage", "XOM": "Exxon Mobil Corp.", "FRT": "Federal Realty Investment Trust", "FDX": "FedEx Corporation", "FIS": "Fidelity National Information Services", "FE": "FirstEnergy Corp", "FRC": "First Republic Bank", "FLT": "FleetCor Technologies Inc", "FLS": "Flowserve Corporation", "FMC": "FMC Corporation", "F": "Ford Motor Company", "FTV": "Fortive Corp", "FBHS": "Fortune Brands Home & Security", "BEN": "Franklin Resources", "FCX": "Freeport-McMoRan Inc.", "GPS": "Gap Inc.", "IT": "Gartner Inc", "GD": "General Dynamics", "GE": "General Electric", "GIS": "General Mills", "GM": "General Motors", "GPC": "Genuine Parts", "GL": "Globe Life Inc.", "GPN": "Global Payments Inc.", "GWW": "Grainger (W.W.) Inc.", "HAL": "Halliburton Co.", "HBI": "Hanesbrands Inc", "HIG": "Hartford Financial Svc.Gp.", "HCA": "HCA Healthcare", "PEAK": "Healthpeak Properties", "HSY": "The Hershey Company", "HES": "Hess Corporation", "HPE": "Hewlett Packard Enterprise", "HLT": "Hilton Worldwide Holdings Inc", "HFC": "HollyFrontier Corp", "HRL": "Hormel Foods Corp.", "HWM": "Howmet Aerospace", "HPQ": "HP Inc.", "HUM": "Humana Inc.", "HII": "Huntington Ingalls Industries", "IEX": "IDEX Corporation", "INFO": "IHS Markit", "ITW": "Illinois Tool Works", "IR": "Ingersoll Rand", "ICE": "Intercontinental Exchange", "IP": "International Paper", "IPG": "Interpublic Group", "IFF": "International Flavors & Fragrances", "IVZ": "Invesco Ltd.", "IQV": "IQVIA Holdings Inc.", "IRM": "Iron Mountain Incorporated", "J": "Jacobs Engineering Group", "SJM": "JM Smucker", "JCI": "Johnson Controls International", "JNPR": "Juniper Networks", "KSU": "Kansas City Southern", "K": "Kellogg Co.", "KEY": "KeyCorp", "KEYS": "Keysight Technologies", "KMB": "Kimberly-Clark", "KIM": "Kimco Realty", "KMI": "Kinder Morgan", "KR": "Kroger Co.", "LB": "L Brands Inc.", "LHX": "L3Harris Technologies", "LH": "Laboratory Corp. of America Holding", "LW": "Lamb Weston Holdings Inc", "LVS": "Las Vegas Sands", "LEG": "Leggett & Platt", "LDOS": "Leidos Holdings", "LEN": "Lennar Corp.", "LLY": "Lilly (Eli) & Co.", "LNC": "Lincoln National", "LIN": "Linde plc", "LYV": "Live Nation Entertainment", "LMT": "Lockheed Martin Corp.", "L": "Loews Corp.", "LOW": "Lowe's Cos.", "LUMN": "Lumen Technologies", "LYB": "LyondellBasell", "MTB": "M&T Bank", "MRO": "Marathon Oil Corp.", "MPC": "Marathon Petroleum", "MMC": "Marsh & McLennan", "MLM": "Martin Marietta Materials", "MAS": "Masco Corp.", "MA": "Mastercard Inc.", "MKC": "McCormick & Co.", "MCK": "McKesson Corp.", "MDT": "Medtronic plc", "MET": "MetLife Inc.", "MTD": "Mettler Toledo", "MGM": "MGM Resorts International", "MAA": "Mid-America Apartments", "MHK": "Mohawk Industries", "TAP": "Molson Coors Beverage Company", "MCO": "Moody's Corp", "MS": "Morgan Stanley", "MOS": "The Mosaic Company", "MSI": "Motorola Solutions Inc.", "MSCI": "MSCI Inc", "NEM": "Newmont Corporation", "NEE": "NextEra Energy", "NLSN": "Nielsen Holdings", "NI": "NiSource Inc.", "NSC": "Norfolk Southern Corp.", "NOC": "Northrop Grumman", "NCLH": "Norwegian Cruise Line Holdings", "NOV": "NOV Inc.", "NRG": "NRG Energy", "NUE": "Nucor Corp.", "NVR": "NVR, Inc.", "OXY": "Occidental Petroleum", "OMC": "Omnicom Group", "OKE": "Oneok", "ORCL": "Oracle Corp.", "OTIS": "Otis Worldwide", "PKG": "Packaging Corporation of America", "PH": "Parker-Hannifin", "PAYC": "Paycom", "PNR": "Pentair plc", "PKI": "PerkinElmer", "PRGO": "Perrigo", "PFE": "Pfizer Inc.", "PM": "Philip Morris International", "PSX": "Phillips 66", "PNW": "Pinnacle West Capital", "PXD": "Pioneer Natural Resources", "PNC": "PNC Financial Services", "PPG": "PPG Industries", "PPL": "PPL Corp.", "PGR": "Progressive Corp.", "PLD": "Prologis", "PRU": "Prudential Financial", "PEG": "Public Service Enterprise Group (PSEG)", "PSA": "Public Storage", "PHM": "PulteGroup", "PVH": "PVH Corp.", "PWR": "Quanta Services Inc.", "DGX": "Quest Diagnostics", "RL": "Ralph Lauren Corporation", "RJF": "Raymond James Financial", "RTX": "Raytheon Technologies", "O": "Realty Income Corporation", "RF": "Regions Financial Corp.", "RSG": "Republic Services Inc", "RMD": "ResMed", "RHI": "Robert Half International", "ROK": "Rockwell Automation Inc.", "ROL": "Rollins, Inc.", "ROP": "Roper Technologies", "RCL": "Royal Caribbean Group", "SPGI": "S&P Global Inc.", "SLB": "Schlumberger Ltd.", "SEE": "Sealed Air", "SRE": "Sempra Energy", "NOW": "ServiceNow", "SHW": "Sherwin-Williams", "SPG": "Simon Property Group Inc", "SLG": "SL Green Realty", "SNA": "Snap-on", "SO": "Southern Company", "LUV": "Southwest Airlines", "SWK": "Stanley Black & Decker", "STT": "State Street Corp.", "STE": "Steris", "SYK": "Stryker Corp.", "SYF": "Synchrony Financial", "SYY": "Sysco Corp.", "TPR": "Tapestry, Inc.", "TGT": "Target Corp.", "TEL": "TE Connectivity Ltd.", "TDY": "Teledyne Technologies", "TFX": "Teleflex", "TXT": "Textron Inc.", "TMO": "Thermo Fisher Scientific", "TJX": "TJX Companies Inc.", "TT": "Trane Technologies plc", "TDG": "TransDigm Group", "TFC": "Truist Financial", "TWTR": "Twitter, Inc.", "TYL": "Tyler Technologies", "TSN": "Tyson Foods", "UDR": "UDR, Inc.", "USB": "U.S. Bancorp", "UAA": "Under Armour (Class A)", "UA": "Under Armour (Class C)", "UNP": "Union Pacific Corp", "UPS": "United Parcel Service", "URI": "United Rentals, Inc.", "UHS": "Universal Health Services", "UNM": "Unum Group", "VLO": "Valero Energy", "VAR": "Varian Medical Systems", "VTR": "Ventas Inc", "VFC": "VF Corporation", "VNT": "Vontier", "VNO": "Vornado Realty Trust", "VMC": "Vulcan Materials", "WRB": "W. R. Berkley Corporation", "WAB": "Westinghouse Air Brake Technologies Corp", "WM": "Waste Management Inc.", "WAT": "Waters Corporation", "WEC": "WEC Energy Group", "WFC": "Wells Fargo", "WELL": "Welltower Inc.", "WST": "West Pharmaceutical Services", "WU": "Western Union Co", "WRK": "WestRock", "WY": "Weyerhaeuser", "WHR": "Whirlpool Corp.", "WMB": "Williams Companies", "XRX": "Xerox", "XYL": "Xylem Inc.", "YUM": "Yum! Brands Inc", "ZBH": "Zimmer Biomet", "ZTS": "Zoetis"} \ No newline at end of file diff --git a/app/launcher.py b/app/launcher.py index 716de43..f8f4594 100644 --- a/app/launcher.py +++ b/app/launcher.py @@ -3,7 +3,6 @@ from PySide2 import QtWidgets from resources.style import style -from libs.yahoo_fin import stock_info as sf import view SCRIPT_PATH = os.path.dirname(__file__) @@ -12,20 +11,8 @@ def read_data(): """Temp function to load all tickers. Should be loaded by a request in the future""" data = {} - try: - with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: - data = json.load(f) - except: - dow = sf.tickers_dow() - cac = sf.tickers_cac() - sp500 = sf.tickers_sp500() - nasdaq = sf.tickers_nasdaq() - for i in [cac, dow, nasdaq, sp500]: - data.update(i) - print(data) - with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "w") as outfile: - json.dump(data, outfile) - + with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: + data = json.load(f) return data @@ -37,4 +24,3 @@ def read_data(): win = view.MainWindow(data=data) win.show() app.exec_() - diff --git a/app/libs/analysies/analyse_financials.py b/app/libs/analysies/analyse_financials.py index 83553b4..cbe55e2 100644 --- a/app/libs/analysies/analyse_financials.py +++ b/app/libs/analysies/analyse_financials.py @@ -18,12 +18,15 @@ from pprint import pprint from utils import utils as utl from libs.yahoo_fin import stock_info as sf -from .analyse import AnalyseData +from libs.thread_pool import ThreadPool +from libs.analysies.analyse import AnalyseData class AnalyseFondamental(object): def __init__(self, ticker): + self.thread_pool = ThreadPool() + self.per_datas = sf.get_quote_table(ticker) self.resultat_datas = sf.get_income_statement(ticker) self.balance_datas = sf.get_balance_sheet(ticker) @@ -34,12 +37,6 @@ def __init__(self, ticker): self.year_atual = self.resultat_datas.keys()[0] self.year_before = self.resultat_datas.keys()[1] - # pprint(self.resultat_datas) - # pprint(self.balance_datas) - # pprint(self.cash_flow_datas) - # pprint(self.per_datas) - # pprint(self.statistic_datas) - self.datas = {} self.data_analyse = {} @@ -222,7 +219,6 @@ def data_for_analyse(self): "Capitaux Propre" ] = self.total_capitaux_propre.values.tolist() self.data_analyse["Chiffre d'affaires"] = self.chiffre_affaire.tolist() - self.data_analyse["Dividendes"] = self.datas["Dividendes"] self.data_analyse["EBITDA"] = self.ebitda.values.tolist() self.data_analyse["PER"] = self.datas["PER"] self.data_analyse["ROA"] = self.datas["ROA"] @@ -294,7 +290,10 @@ def dividendes_ratio(self): calcul_rend = round(calcul_rend, 2) rendement.append("{}€".format(calcul_rend)) - self.datas["Dividendes"] = dividendes + self.data_analyse["Dividendes"] = dividendes + self.datas["Dividendes"] = [] + for i in dividendes: + self.datas["Dividendes"].append(" ".join(["{}€".format(str(x)) for x in i])) self.datas["Dividendes Rendement"] = [ "{}%".format(i) for i in rendement ] @@ -339,6 +338,6 @@ def extend_dict_data(self): if __name__ == "__main__": test = AnalyseFondamental("AAPL") - pprint(test.data_analyse) - pprint(test.analyse.__dict__) + pprint(test.datas) + # pprint(test.analyse.__dict__) # testq = AnalyseFondamental("BN.PA") diff --git a/app/libs/articles/get_articles.py b/app/libs/articles/get_articles.py index 88b27b9..3051e4a 100644 --- a/app/libs/articles/get_articles.py +++ b/app/libs/articles/get_articles.py @@ -32,14 +32,15 @@ def __init__(self, ticker=None): self.get_url(ticker=ticker) def get_url(self, ticker): - if "{}.PA".format(ticker) in sf.tickers_cac().keys(): + if "{}".format(ticker) in sf.tickers_cac().keys(): url = "https://www.boursorama.com/cours/actualites/1rP{}/".format( - ticker + ticker.split('.')[0] ) else: url = "https://www.boursorama.com/cours/actualites/{}/".format( ticker ) + print(url) self.response = requests.get(url, headers=self.headers) self.soup() diff --git a/app/libs/articles_widget.py b/app/libs/articles_widget.py index 3d11813..d317b98 100644 --- a/app/libs/articles_widget.py +++ b/app/libs/articles_widget.py @@ -1,8 +1,7 @@ -import random -from ui import articles as ui -from PySide2 import QtWidgets, QtGui +from PySide2 import QtWidgets, QtCore from libs.thread_pool import ThreadPool from libs.articles.get_articles import Articles +from libs.widgets.article_itemwidget import ArticlesWidgetItem class ArticlesWidget(QtWidgets.QListWidget): @@ -12,58 +11,29 @@ def __init__(self, parent=None, ticker=None): self.thread_pool = ThreadPool() self.get_articles(ticker) + @QtCore.Slot(str) def get_articles(self, ticker): - print(ticker, "wgt_articles") - if ticker: - # rdm_tickers = random.sample(,5) - articles = self._get_articles_dict(ticker=ticker).articles + articles = self._get_articles_dict(ticker=ticker).articles + self.clear() - else: - # Remplacer par 2 3 ticker Random - articles = self._get_articles_dict(ticker="GLE").articles - - for i in articles: + for index, i in enumerate(articles): title = i["title"] date = i["date"] description = i["descritpion"] link = i["link"] - article = ArticlesWidgetItem( - parent=self, + parent=self ) - article.set_title(title, link) + article.set_title(title) article.set_date(date) article.set_description(description) - - article_item = QtWidgets.QListWidgetItem(self) - article_item.setSizeHint(article.sizeHint()) - self.addItem(article_item) - self.setItemWidget(article_item, article) - + item = QtWidgets.QListWidgetItem() + item.setSizeHint(article.sizeHint()) + self.addItem(item) + self.setItemWidget(item, article) def _get_articles_dict(self, ticker): return Articles(ticker=ticker) -class ArticlesWidgetItem(QtWidgets.QWidget, ui.Ui_Form): - def __init__(self, parent=None): - super(ArticlesWidgetItem, self).__init__(parent) - self.setupUi(self) - - def set_title(self, text, link=None): - self.title_lb.setText(text) - - def set_date(self, text): - self.date_lb.setText(text) - - def set_description(self, text): - self.descri.setText(text) - - -class QHLine(QtWidgets.QFrame): - def __init__(self): - super(QHLine, self).__init__() - self.setFrameShape(QtWidgets.QFrame.HLine) - self.setFrameShadow(QtWidgets.QFrame.Sunken) - diff --git a/app/libs/financial_widgets.py b/app/libs/financial_widgets.py new file mode 100644 index 0000000..192cc0c --- /dev/null +++ b/app/libs/financial_widgets.py @@ -0,0 +1,89 @@ +from pprint import pprint +from libs.thread_pool import ThreadPool +from PySide2 import QtWidgets, QtCore, QtGui +from libs.analysies.analyse_financials import AnalyseFondamental + +class QTableWidgetFinance(QtWidgets.QTableWidget): + def __init__(self, parent=None): + super(QTableWidgetFinance, self).__init__(parent=parent) + # cellExited = QtCore.pyqtSignal(int, int) + # itemExited = QtCore.pyqtSignal(QtWidgets.QTableWidgetItem) + + # def eventFilter(self, widget, event): + # item = self.table.item(row, column) + # old_item = self.table.item(self.current_hover[0], self.current_hover[1]) + # if self.current_hover != [row, column]: + # old_item.setBackground(QBrush(QColor('white'))) + # item.setBackground(QBrush(QColor('yellow'))) + # self.current_hover = [row, column] + +class TableFinance(QTableWidgetFinance): + def __init__(self, parent=None): + super(TableFinance, self).__init__(parent=parent) + self.thread_pool = ThreadPool() + + @QtCore.Slot(str) + def get_financials_table(self, ticker): + analyses = AnalyseFondamental(ticker) + self.data = analyses.datas + + # pprint(self.data) + + self.clear() + header = self.data['YEAR'] + # hearder_len = len(header) + header.insert(0, 'Valorisation') + header.insert(len(header), 'Bilan') + score = self.data["Score"] + + del self.data["YEAR"] + del self.data["Score"] + + self.setColumnCount(len(header)) + self.setHorizontalHeaderLabels(header) + self.horizontalHeader().resizeSection(0, 150) + self.setColumnWidth(len(header) - 1, 250) + self.setWordWrap(True) + + # Rows + for row, (title, donnee) in enumerate(sorted(self.data.items())): + self.insertRow(row) + cell_val = QtWidgets.QTableWidgetItem() + cell_val.setData(QtCore.Qt.DisplayRole, title) + self.setItem(row, 0, cell_val) + for column, data in enumerate(donnee): + cell = QtWidgets.QTableWidgetItem() + cell.setData(QtCore.Qt.DisplayRole, str(data)) + cell.setTextAlignment(QtCore.Qt.AlignHCenter) + self.setItem(row, column + 1, cell) + + analyse_cell = QtWidgets.QTableWidgetItem() + analyse_cell.setData(QtCore.Qt.DisplayRole, self.data[title]) + self.setItem(row, 7, analyse_cell) + + # Add Score to the last Row + last_row = len(self.data) + self.insertRow(last_row) + cell_score_title = QtWidgets.QTableWidgetItem() + cell_score_title.setData(QtCore.Qt.DisplayRole, "Score") + self.setItem(last_row, 0, cell_score_title) + cell_score = QtWidgets.QTableWidgetItem() + cell_score.setData(QtCore.Qt.DisplayRole, str(score[0])) + cell_score.setTextAlignment(QtCore.Qt.AlignHCenter) + self.setItem(last_row, len(header)-1, cell_score) + + for i in range(self.rowCount()): + self.setRowHeight(i, 50) + + self.verticalHeader().setVisible(False) + self.setShowGrid(False) + self.setMouseTracking(True) + # self.cellEntered.connect(self.cellHover) + + def cellHover(self, row, column): + self.current_hover = [0, 0] + item = self.item(row, column) + # print(self.itemFromIndex(row)) + print(row) + + diff --git a/app/libs/tickers_dialog.py b/app/libs/tickers_dialog.py index 3cde806..d264211 100644 --- a/app/libs/tickers_dialog.py +++ b/app/libs/tickers_dialog.py @@ -43,17 +43,13 @@ def build_ticker_tree(self, data: list): :param data: All tickers :type data: list """ - - for ticker, infos in data.items(): - company = infos[0] - market = infos[1] + for ticker, company in data.items(): item = TreeWidgetItem( self.trw_all_tickers, - [ticker, company, market], + [ticker, company], checkable=True, ticker=ticker, name=company, - market=market, ) def update_ticker_favorite_state(self, favorite): diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py new file mode 100644 index 0000000..94ecbbe --- /dev/null +++ b/app/libs/welcome_widget.py @@ -0,0 +1,52 @@ +import os +import json +import random +from PySide2 import QtWidgets, QtCore +from libs.thread_pool import ThreadPool +from libs.articles.get_articles import Articles +from libs.widgets.article_itemwidget import ArticlesWidgetItem + + +SCRIPT_PATH = os.path.dirname(os.path.dirname(__file__)) + + +def read_data(): + """Temp function to load all tickers. Should be loaded by a request in the future""" + data = {} + with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: + data = json.load(f) + return data + +class WelcomeWidget(QtWidgets.QListWidget): + def __init__(self, parent=None): + super(WelcomeWidget, self).__init__(parent) + + articles = [] + for tick in self.rdm_tickers(): + artic = self._get_articles_dict(ticker=tick).articles + if artic: + articles.append(artic[0]) + + for index, i in enumerate(articles): + title = i["title"] + date = i["date"] + description = i["descritpion"] + link = i["link"] + article = ArticlesWidgetItem( + parent=self + ) + article.set_title(title) + article.set_date(date) + article.set_description(description) + item = QtWidgets.QListWidgetItem() + item.setSizeHint(article.sizeHint()) + self.addItem(item) + self.setItemWidget(item, article) + + def _get_articles_dict(self, ticker): + return Articles(ticker=ticker) + + def rdm_tickers(self): + all_tickers = read_data().keys() + tickers = random.sample(all_tickers, 5) + return tickers \ No newline at end of file diff --git a/app/libs/widgets/article_itemwidget.py b/app/libs/widgets/article_itemwidget.py new file mode 100644 index 0000000..76db831 --- /dev/null +++ b/app/libs/widgets/article_itemwidget.py @@ -0,0 +1,16 @@ +from ui.article import Ui_Form +from PySide2 import QtWidgets, QtCore + +class ArticlesWidgetItem(QtWidgets.QWidget, Ui_Form): + def __init__(self, parent=None): + super(ArticlesWidgetItem, self).__init__(parent) + self.setupUi(self) + + def set_title(self, text): + self.lb_title.setText(text) + + def set_date(self, text): + self.lb_date.setText(text) + + def set_description(self, text): + self.desc.setText(text) diff --git a/app/libs/yahoo_fin/stock_info.py b/app/libs/yahoo_fin/stock_info.py index 64e9e0c..506c973 100644 --- a/app/libs/yahoo_fin/stock_info.py +++ b/app/libs/yahoo_fin/stock_info.py @@ -137,7 +137,7 @@ def tickers_sp500(include_company_data=False): )[0] sp500 = { - key: [value, "S&P500"] for key, value in zip(sp500["Symbol"], sp500["Security"]) + key: value for key, value in zip(sp500["Symbol"], sp500["Security"]) } if include_company_data: @@ -180,7 +180,7 @@ def tickers_nasdaq(include_company_data=False): name.append(x) ftp.close() - nasdaq = {key: [value, "NASDAQ"] for key, value in zip(tickers, name)} + nasdaq = {key: value for key, value in zip(tickers, name)} return nasdaq @@ -194,7 +194,7 @@ def tickers_cac(include_company_data=False): return cac cac_tickers = { - key: [value, "EURONEXT"] for key, value in zip(cac["Ticker"], cac["Company"]) + key: value for key, value in zip(cac["Ticker"], cac["Company"]) } return cac_tickers @@ -239,7 +239,7 @@ def tickers_dow(include_company_data=False): return table dow_tickers = { - key: [value, "DOWJOHNS"] + key: value for key, value in zip(table["Symbol"], table["Company Name"]) } diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index e353c15..f096b80 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -175,3 +175,24 @@ QDockWidget { titlebar-close-icon: url(:/svg/times.svg); titlebar-normal-icon: url(:/svg/window.svg); } + +QTableWidget#wid_table_financ { + background-color: transparent; +} + +QTableWidget#wid_table_financ::item { + border-right: 1px solid #d6d9dc; +} + +QTableWidget#wid_table_financ::item:hover { + +} + +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 #616161, stop: 0.5 #505050, + stop: 0.6 #434343, stop:1 #656565); + color: white; + padding-left: 4px; + border: 1px solid #6c6c6c; +} diff --git a/app/ui/articles.py b/app/ui/article.py similarity index 65% rename from app/ui/articles.py rename to app/ui/article.py index df935a3..c12a310 100644 --- a/app/ui/articles.py +++ b/app/ui/article.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- ################################################################################ -## Form generated from reading UI file 'articles.ui' +## Form generated from reading UI file 'article.ui' ## ## Created by: Qt User Interface Compiler version 5.15.2 ## @@ -20,23 +20,23 @@ class Ui_Form(object): def setupUi(self, Form): if not Form.objectName(): Form.setObjectName(u"Form") - Form.resize(400, 282) + Form.resize(400, 295) self.verticalLayout = QVBoxLayout(Form) self.verticalLayout.setObjectName(u"verticalLayout") - self.title_lb = LabelTitle(Form) - self.title_lb.setObjectName(u"title_lb") + self.lb_title = LabelTitle(Form) + self.lb_title.setObjectName(u"lb_title") - self.verticalLayout.addWidget(self.title_lb) + self.verticalLayout.addWidget(self.lb_title) - self.date_lb = QLabel(Form) - self.date_lb.setObjectName(u"date_lb") + self.lb_date = QLabel(Form) + self.lb_date.setObjectName(u"lb_date") - self.verticalLayout.addWidget(self.date_lb) + self.verticalLayout.addWidget(self.lb_date) - self.descri = Description(Form) - self.descri.setObjectName(u"descri") + self.desc = Description(Form) + self.desc.setObjectName(u"desc") - self.verticalLayout.addWidget(self.descri) + self.verticalLayout.addWidget(self.desc) self.line = QFrame(Form) self.line.setObjectName(u"line") @@ -53,7 +53,7 @@ def setupUi(self, Form): def retranslateUi(self, Form): Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None)) - self.title_lb.setText(QCoreApplication.translate("Form", u"Title", None)) - self.date_lb.setText(QCoreApplication.translate("Form", u"Dates", None)) + self.lb_title.setText(QCoreApplication.translate("Form", u"Title", None)) + self.lb_date.setText(QCoreApplication.translate("Form", u"date", None)) # retranslateUi diff --git a/app/ui/articles.ui b/app/ui/article.ui similarity index 85% rename from app/ui/articles.ui rename to app/ui/article.ui index 9fb85cd..c97cc3a 100644 --- a/app/ui/articles.ui +++ b/app/ui/article.ui @@ -7,7 +7,7 @@ 0 0 400 - 282 + 295
@@ -15,21 +15,21 @@ - + Title - + - Dates + date - + diff --git a/app/ui/main_window.py b/app/ui/main_window.py index 43c10a4..0d83517 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -17,21 +17,21 @@ from libs.widgets.toolbar import ToolBar from libs.widgets.stackedwidget import StackedWidget from libs.company_widget import CompanyWidget -from libs.articles_widget import ArticlesWidget from libs.favorites_widget import FavoritesWidget +from libs.articles_widget import ArticlesWidget +from libs.widgets.label import LabelTitle +from libs.financial_widgets import TableFinance +from libs.welcome_widget import WelcomeWidget import resources_rc - class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") - MainWindow.resize(900, 700) + MainWindow.resize(944, 754) self.action_reload_indicators = QAction(MainWindow) - self.action_reload_indicators.setObjectName( - u"action_reload_indicators" - ) + self.action_reload_indicators.setObjectName(u"action_reload_indicators") self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.verticalLayout = QVBoxLayout(self.centralwidget) @@ -44,9 +44,7 @@ def setupUi(self, MainWindow): self.pub_go_welcome.setMaximumSize(QSize(25, 25)) self.pub_go_welcome.setCursor(QCursor(Qt.PointingHandCursor)) icon = QIcon() - icon.addFile( - u":/svg/keyboard-arrow-left.svg", QSize(), QIcon.Normal, QIcon.Off - ) + icon.addFile(u":/svg/keyboard-arrow-left.svg", QSize(), QIcon.Normal, QIcon.Off) self.pub_go_welcome.setIcon(icon) self.pub_go_welcome.setIconSize(QSize(28, 28)) self.pub_go_welcome.setFlat(True) @@ -66,21 +64,33 @@ def setupUi(self, MainWindow): self.pub_go_graph.setMaximumSize(QSize(25, 25)) self.pub_go_graph.setCursor(QCursor(Qt.PointingHandCursor)) icon1 = QIcon() - icon1.addFile( - u":/svg/keyboard-arrow-right.svg", QSize(), QIcon.Normal, QIcon.Off - ) + icon1.addFile(u":/svg/keyboard-arrow-right.svg", QSize(), QIcon.Normal, QIcon.Off) self.pub_go_graph.setIcon(icon1) self.pub_go_graph.setIconSize(QSize(28, 28)) self.pub_go_graph.setFlat(True) self.horizontalLayout.addWidget(self.pub_go_graph) + self.verticalLayout.addLayout(self.horizontalLayout) self.stw_main = StackedWidget(self.centralwidget) self.stw_main.setObjectName(u"stw_main") self.wgt_welcome = QWidget() self.wgt_welcome.setObjectName(u"wgt_welcome") + self.verticalLayout_3 = QVBoxLayout(self.wgt_welcome) + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.label = LabelTitle(self.wgt_welcome) + self.label.setObjectName(u"label") + self.label.setAlignment(Qt.AlignCenter) + + self.verticalLayout_3.addWidget(self.label) + + self.listWidget = WelcomeWidget(self.wgt_welcome) + self.listWidget.setObjectName(u"listWidget") + + self.verticalLayout_3.addWidget(self.listWidget) + self.stw_main.addWidget(self.wgt_welcome) self.wgt_articles = ArticlesWidget() self.wgt_articles.setObjectName(u"wgt_articles") @@ -89,13 +99,33 @@ def setupUi(self, MainWindow): self.wgt_graph.setObjectName(u"wgt_graph") self.wgt_graph.setCursor(QCursor(Qt.CrossCursor)) self.stw_main.addWidget(self.wgt_graph) + self.wgt_financ = QWidget() + self.wgt_financ.setObjectName(u"wgt_financ") + self.horizontalLayout_2 = QHBoxLayout(self.wgt_financ) + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalSpacer = QSpacerItem(240, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout_2.addItem(self.horizontalSpacer) + + self.wid_table_financ = TableFinance(self.wgt_financ) + self.wid_table_financ.setObjectName(u"wid_table_financ") + self.wid_table_financ.setMinimumSize(QSize(850, 0)) + self.wid_table_financ.setMaximumSize(QSize(850, 16777215)) + + self.horizontalLayout_2.addWidget(self.wid_table_financ) + + self.horizontalSpacer_2 = QSpacerItem(240, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout_2.addItem(self.horizontalSpacer_2) + + self.stw_main.addWidget(self.wgt_financ) self.verticalLayout.addWidget(self.stw_main) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 900, 21)) + self.menubar.setGeometry(QRect(0, 0, 944, 21)) self.menuOptions = QMenu(self.menubar) self.menuOptions.setObjectName(u"menuOptions") MainWindow.setMenuBar(self.menubar) @@ -107,9 +137,7 @@ def setupUi(self, MainWindow): sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth( - self.dock_wgt_company.sizePolicy().hasHeightForWidth() - ) + sizePolicy.setHeightForWidth(self.dock_wgt_company.sizePolicy().hasHeightForWidth()) self.dock_wgt_company.setSizePolicy(sizePolicy) font = QFont() font.setBold(True) @@ -125,9 +153,7 @@ def setupUi(self, MainWindow): self.wgt_indicators = IndicatorsWidget() self.wgt_indicators.setObjectName(u"wgt_indicators") self.dock_wgt_indicators.setWidget(self.wgt_indicators) - MainWindow.addDockWidget( - Qt.RightDockWidgetArea, self.dock_wgt_indicators - ) + MainWindow.addDockWidget(Qt.RightDockWidgetArea, self.dock_wgt_indicators) self.tool_bar = ToolBar(MainWindow) self.tool_bar.setObjectName(u"tool_bar") MainWindow.addToolBar(Qt.LeftToolBarArea, self.tool_bar) @@ -137,46 +163,29 @@ def setupUi(self, MainWindow): self.wgt_favorites = FavoritesWidget() self.wgt_favorites.setObjectName(u"wgt_favorites") self.dock_wgt_favorites.setWidget(self.wgt_favorites) - MainWindow.addDockWidget( - Qt.RightDockWidgetArea, self.dock_wgt_favorites - ) + MainWindow.addDockWidget(Qt.RightDockWidgetArea, self.dock_wgt_favorites) self.menubar.addAction(self.menuOptions.menuAction()) self.menuOptions.addAction(self.action_reload_indicators) self.retranslateUi(MainWindow) - self.stw_main.setCurrentIndex(1) + self.stw_main.setCurrentIndex(0) - QMetaObject.connectSlotsByName(MainWindow) + QMetaObject.connectSlotsByName(MainWindow) # setupUi def retranslateUi(self, MainWindow): - MainWindow.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Trade Helper", None) - ) - self.action_reload_indicators.setText( - QCoreApplication.translate( - "MainWindow", u"Reload Indicators", None - ) - ) + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Trade Helper", None)) + self.action_reload_indicators.setText(QCoreApplication.translate("MainWindow", u"Reload Indicators", None)) self.pub_go_welcome.setText("") self.pub_go_graph.setText("") - self.menuOptions.setTitle( - QCoreApplication.translate("MainWindow", u"Options", None) - ) - self.dock_wgt_company.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Company", None) - ) - self.dock_wgt_indicators.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Indicators", None) - ) - self.tool_bar.setWindowTitle( - QCoreApplication.translate("MainWindow", u"toolBar", None) - ) - self.dock_wgt_favorites.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Favorites", None) - ) - + self.label.setText(QCoreApplication.translate("MainWindow", u"Trading Visualisation", None)) + self.menuOptions.setTitle(QCoreApplication.translate("MainWindow", u"Options", None)) + self.dock_wgt_company.setWindowTitle(QCoreApplication.translate("MainWindow", u"Company", None)) + self.dock_wgt_indicators.setWindowTitle(QCoreApplication.translate("MainWindow", u"Indicators", None)) + self.tool_bar.setWindowTitle(QCoreApplication.translate("MainWindow", u"toolBar", None)) + self.dock_wgt_favorites.setWindowTitle(QCoreApplication.translate("MainWindow", u"Favorites", None)) # retranslateUi + diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 1d63e61..7e19e6e 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -6,8 +6,8 @@ 0 0 - 900 - 700 + 944 + 754 @@ -76,6 +76,9 @@ 25 + + PointingHandCursor + @@ -99,17 +102,83 @@ - 1 + 0 - - - + + - + + + Trading Visualisation + + + Qt::AlignCenter + + + + + + + + + + + + CrossCursor + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 240 + 20 + + + + + + + + + 850 + 0 + + + + + 850 + 16777215 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 240 + 20 + + + - @@ -119,7 +188,7 @@ 0 0 - 900 + 944 21 @@ -179,6 +248,21 @@ false
+ + + + 75 + true + + + + Favorites + + + 2 + + + Reload Indicators @@ -210,21 +294,37 @@ 1 - WelcomeWidget + CompanyWidget QWidget -
libs.welcome_widget
+
libs.company_widget
1
- CompanyWidget + FavoritesWidget QWidget -
libs.company_widget
+
libs.favorites_widget
1
ArticlesWidget - QListWidget + QWidget
libs.articles_widget.h
+ 1 +
+ + LabelTitle + QLabel +
libs.widgets.label.h
+
+ + TableFinance + QTableWidget +
libs.financial_widgets.h
+
+ + WelcomeWidget + QListWidget +
libs.welcome_widget.h
diff --git a/app/utils/utils.py b/app/utils/utils.py index f556fc5..beaefe9 100644 --- a/app/utils/utils.py +++ b/app/utils/utils.py @@ -220,3 +220,72 @@ def get_image_from_url(url: str) -> QPixmap: image = QPixmap() image.loadFromData(data) return image + + +def refacto_dette(dette_toref, leverage_toref): + dette = [] + leverage = [] + for dett in dette_toref: + if dett == "-": + dette.append(0) + else: + dette.append(dett) + for lev in leverage_toref: + try: + leverage.append(float(lev[:-1].replace(',', '.'))) + except: + leverage.append(lev) + return dette, leverage + + +def remove_nan(data): + """ + Cette fonction renplace les valeurs NaN par 0. + Sinon return float. + :param data: + :return: List + """ + data_format = [] + for i in data: + if str(i) == "nan": + i = 0 + data_format.append(float(i)) + return data_format + + + +def format_data(data): + """ + Cette fonction format les nombres avec des ','. + exemple: 2,120,350 + :param data: + :return: List of string + """ + data_format = [] + for i in remove_nan(data): + i = f"{int(i):,}" + data_format.append(i) + return data_format + +def get_last_value(data): + if data[0] != 0: + index = 0 + value = data[index] + else: + index = 1 + value = data[index] + return value, index + + +def croissance(data): + ls_croi = [] + el_prec = data[0] + for element in data: + if el_prec < element: + ls_croi.append(True) + else: + ls_croi.append(False) + el_prec = element + decroi = ls_croi.count(False) + croi = ls_croi.count(True) + return croi, decroi diff --git a/app/view.py b/app/view.py index 830151e..c27ad6a 100644 --- a/app/view.py +++ b/app/view.py @@ -67,9 +67,12 @@ def __init__(self, parent=None, data=None): self.signals.sig_ticker_infos_fetched.connect( self.wgt_company._on_ticker_infos ) - self.signals.sig_ticker_choosen.connect( + self.tickers_dialog.signal.sig_ticker_choosen.connect( self.wgt_articles.get_articles ) + self.tickers_dialog.signal.sig_ticker_choosen.connect( + self.wid_table_financ.get_financials_table + ) self.thread_pool.signals.sig_thread_pre.connect( self.busy_indicator.show ) From 6cefc9987f594c374f52cca7358ae2120e7c1113 Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 21 Mar 2021 16:49:34 +0100 Subject: [PATCH 03/28] =?UTF-8?q?Modification=20ArticlesItem=20+=20MACD=20?= =?UTF-8?q?invers=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/add_ons/indicators/macd.py | 2 +- app/libs/analysies/analyse_financials.py | 3 - ...get_articles.py => boursorama_articles.py} | 4 +- app/libs/articles/yahoo_articles.py | 69 +++++++++++ app/libs/articles_widget.py | 33 +++--- ...nancial_widgets.py => financial_widget.py} | 25 ++-- app/libs/welcome_widget.py | 49 ++++---- app/libs/widgets/article_itemwidget.py | 53 ++++++++- app/libs/widgets/label.py | 9 +- app/libs/widgets/textbrowser.py | 19 ++- app/libs/yahoo_fin/news.py | 6 +- app/libs/yahoo_fin/stock_info.py | 22 +++- app/resources/img/no_file.png | Bin 0 -> 19720 bytes app/resources/style/style.qss | 26 ++++ app/ui/__convert.py | 2 +- app/ui/article.py | 71 ++++++++--- app/ui/article.ui | 111 ++++++++++++++---- app/ui/main_window.py | 12 +- app/ui/main_window.ui | 32 +++-- app/ui/run.py | 6 - app/utils/utils.py | 36 +++++- app/view.py | 4 +- 22 files changed, 444 insertions(+), 150 deletions(-) rename app/libs/articles/{get_articles.py => boursorama_articles.py} (96%) create mode 100644 app/libs/articles/yahoo_articles.py rename app/libs/{financial_widgets.py => financial_widget.py} (78%) create mode 100644 app/resources/img/no_file.png delete mode 100644 app/ui/run.py diff --git a/app/add_ons/indicators/macd.py b/app/add_ons/indicators/macd.py index 8a37f46..2f6d101 100644 --- a/app/add_ons/indicators/macd.py +++ b/app/add_ons/indicators/macd.py @@ -93,7 +93,7 @@ def exp_moving_average(values, w): def get_macd(values): emaslow = exp_moving_average(values, w=12) emafast = exp_moving_average(values, w=26) - return emaslow, emafast, emafast - emaslow + return emaslow, emafast, emaslow - emafast def MACD_strategy(values): diff --git a/app/libs/analysies/analyse_financials.py b/app/libs/analysies/analyse_financials.py index cbe55e2..44fd948 100644 --- a/app/libs/analysies/analyse_financials.py +++ b/app/libs/analysies/analyse_financials.py @@ -18,15 +18,12 @@ from pprint import pprint from utils import utils as utl from libs.yahoo_fin import stock_info as sf -from libs.thread_pool import ThreadPool from libs.analysies.analyse import AnalyseData class AnalyseFondamental(object): def __init__(self, ticker): - self.thread_pool = ThreadPool() - self.per_datas = sf.get_quote_table(ticker) self.resultat_datas = sf.get_income_statement(ticker) self.balance_datas = sf.get_balance_sheet(ticker) diff --git a/app/libs/articles/get_articles.py b/app/libs/articles/boursorama_articles.py similarity index 96% rename from app/libs/articles/get_articles.py rename to app/libs/articles/boursorama_articles.py index 3051e4a..5e32c0b 100644 --- a/app/libs/articles/get_articles.py +++ b/app/libs/articles/boursorama_articles.py @@ -62,8 +62,8 @@ def soup(self): self.articles.append( { "title": title, - "date": time, - "descritpion": descritpion, + "published": time, + "summary": descritpion, "link": "https://www.boursorama.com{}".format(link), } ) diff --git a/app/libs/articles/yahoo_articles.py b/app/libs/articles/yahoo_articles.py new file mode 100644 index 0000000..7d137cc --- /dev/null +++ b/app/libs/articles/yahoo_articles.py @@ -0,0 +1,69 @@ +# +# This Class get all articles from selected ticker +# from the Yahoo website. + +import requests +from bs4 import BeautifulSoup +from utils import utils +from pprint import pprint +from libs.yahoo_fin import stock_info +from libs.yahoo_fin import news +from deep_translator import GoogleTranslator + + +class ArticlesYahoo(object): + def __init__(self, ticker=None, translate=None, single=False): + super(ArticlesYahoo, self).__init__() + + self.translator = GoogleTranslator(source='auto', target='fr') + self.articles = news.get_yf_rss(ticker) + compagny = utils.get_compagny_name_from_tick(ticker=ticker) + + if not self.articles: + return + + if single: + self.articles = [self.articles[0]] + + for article in self.articles: + article['compagny'] = compagny + self.get_thumbnail_link(article) + article['summary'] = self.cup_long_text(article['summary']) + + + + def get_thumbnail_link(self, article): + """ + This method scrap the img url of the article from the website. + """ + header = { + "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36", + } + link = article['link'] + request = requests.get(link, headers=header) + soup = BeautifulSoup(request.text, "html.parser") + + try: + img = soup.findAll('img', {"class": "caas-img"}) + img = img[-1]['src'] + except: + img = None + article['img'] = img + + return article + + + def cup_long_text(self, value): + """ + This method cut long description. + return: list. + """ + len_chart = 180 + if len(value) > len_chart: + value = "{}...".format(value[0:len_chart]) + return value + +if __name__ == '__main__': + tick = "MSFT" + x = ArticlesYahoo(ticker=tick, translate=False, single=True) + diff --git a/app/libs/articles_widget.py b/app/libs/articles_widget.py index d317b98..602d8b8 100644 --- a/app/libs/articles_widget.py +++ b/app/libs/articles_widget.py @@ -1,39 +1,36 @@ +# +# This class set all the articles from a selected compagny. +# + from PySide2 import QtWidgets, QtCore -from libs.thread_pool import ThreadPool -from libs.articles.get_articles import Articles +from libs.articles.yahoo_articles import ArticlesYahoo from libs.widgets.article_itemwidget import ArticlesWidgetItem class ArticlesWidget(QtWidgets.QListWidget): def __init__(self, parent=None, ticker=None): super(ArticlesWidget, self).__init__(parent) - - self.thread_pool = ThreadPool() - self.get_articles(ticker) + self._on_get_articles(ticker) @QtCore.Slot(str) - def get_articles(self, ticker): - + def _on_get_articles(self, ticker): articles = self._get_articles_dict(ticker=ticker).articles self.clear() for index, i in enumerate(articles): - title = i["title"] - date = i["date"] - description = i["descritpion"] - link = i["link"] - article = ArticlesWidgetItem( - parent=self - ) - article.set_title(title) - article.set_date(date) - article.set_description(description) + article = ArticlesWidgetItem(parent=self) + article.set_title(i["title"], i["link"]) + article.set_compagny(i["compagny"]) + article.set_date(i["published"]) + article.set_description(i["summary"]) + article.set_thumbnail(i["img"]) item = QtWidgets.QListWidgetItem() item.setSizeHint(article.sizeHint()) self.addItem(item) self.setItemWidget(item, article) + def _get_articles_dict(self, ticker): - return Articles(ticker=ticker) + return ArticlesYahoo(ticker=ticker, translate=False) diff --git a/app/libs/financial_widgets.py b/app/libs/financial_widget.py similarity index 78% rename from app/libs/financial_widgets.py rename to app/libs/financial_widget.py index 192cc0c..48b53bd 100644 --- a/app/libs/financial_widgets.py +++ b/app/libs/financial_widget.py @@ -1,37 +1,25 @@ -from pprint import pprint -from libs.thread_pool import ThreadPool from PySide2 import QtWidgets, QtCore, QtGui from libs.analysies.analyse_financials import AnalyseFondamental class QTableWidgetFinance(QtWidgets.QTableWidget): def __init__(self, parent=None): super(QTableWidgetFinance, self).__init__(parent=parent) - # cellExited = QtCore.pyqtSignal(int, int) - # itemExited = QtCore.pyqtSignal(QtWidgets.QTableWidgetItem) - - # def eventFilter(self, widget, event): - # item = self.table.item(row, column) - # old_item = self.table.item(self.current_hover[0], self.current_hover[1]) - # if self.current_hover != [row, column]: - # old_item.setBackground(QBrush(QColor('white'))) - # item.setBackground(QBrush(QColor('yellow'))) - # self.current_hover = [row, column] class TableFinance(QTableWidgetFinance): def __init__(self, parent=None): super(TableFinance, self).__init__(parent=parent) - self.thread_pool = ThreadPool() @QtCore.Slot(str) - def get_financials_table(self, ticker): + def on_set_financials_table(self, ticker): + """ + This method get the fondamental from the compagny + and fill the table. + """ analyses = AnalyseFondamental(ticker) self.data = analyses.datas - # pprint(self.data) - self.clear() header = self.data['YEAR'] - # hearder_len = len(header) header.insert(0, 'Valorisation') header.insert(len(header), 'Bilan') score = self.data["Score"] @@ -81,6 +69,9 @@ def get_financials_table(self, ticker): # self.cellEntered.connect(self.cellHover) def cellHover(self, row, column): + """ + This method get position (row,column) of cursor. + """ self.current_hover = [0, 0] item = self.item(row, column) # print(self.itemFromIndex(row)) diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 94ecbbe..e1de3f7 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -1,22 +1,14 @@ -import os -import json +# +# This class set the default Welcome Page. +# + import random -from PySide2 import QtWidgets, QtCore -from libs.thread_pool import ThreadPool -from libs.articles.get_articles import Articles +from utils import utils +from PySide2 import QtWidgets +from libs.articles.yahoo_articles import ArticlesYahoo from libs.widgets.article_itemwidget import ArticlesWidgetItem -SCRIPT_PATH = os.path.dirname(os.path.dirname(__file__)) - - -def read_data(): - """Temp function to load all tickers. Should be loaded by a request in the future""" - data = {} - with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: - data = json.load(f) - return data - class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) @@ -24,29 +16,28 @@ def __init__(self, parent=None): articles = [] for tick in self.rdm_tickers(): artic = self._get_articles_dict(ticker=tick).articles - if artic: - articles.append(artic[0]) + articles.extend(artic) for index, i in enumerate(articles): - title = i["title"] - date = i["date"] - description = i["descritpion"] - link = i["link"] - article = ArticlesWidgetItem( - parent=self - ) - article.set_title(title) - article.set_date(date) - article.set_description(description) + article = ArticlesWidgetItem(parent=self) + article.set_title(i["title"], i["link"]) + article.set_compagny(i["compagny"]) + article.set_date(i["published"]) + article.set_description(i["summary"]) + article.set_thumbnail(i["img"]) item = QtWidgets.QListWidgetItem() item.setSizeHint(article.sizeHint()) self.addItem(item) self.setItemWidget(item, article) + def _get_articles_dict(self, ticker): - return Articles(ticker=ticker) + return ArticlesYahoo(ticker=ticker, translate=False, single=True) def rdm_tickers(self): - all_tickers = read_data().keys() + """ + This method select 5 randoms tickers. + """ + all_tickers = utils.get_all_tickers().keys() tickers = random.sample(all_tickers, 5) return tickers \ No newline at end of file diff --git a/app/libs/widgets/article_itemwidget.py b/app/libs/widgets/article_itemwidget.py index 76db831..51db65d 100644 --- a/app/libs/widgets/article_itemwidget.py +++ b/app/libs/widgets/article_itemwidget.py @@ -1,16 +1,61 @@ -from ui.article import Ui_Form -from PySide2 import QtWidgets, QtCore -class ArticlesWidgetItem(QtWidgets.QWidget, Ui_Form): +from utils import utils +from ui.article import Ui_Article +from libs.thread_pool import ThreadPool +from PySide2 import QtWidgets, QtCore, QtGui + +class ArticlesWidgetItem(QtWidgets.QWidget, Ui_Article): def __init__(self, parent=None): super(ArticlesWidgetItem, self).__init__(parent) self.setupUi(self) + self.thread_pool = ThreadPool() + self.thread_pool.signals.sig_thread_result.connect( + self._on_thumbnail_available + ) + + def set_compagny(self, text): + """ + Set Compagny name on the article. + """ + self.lb_compagny.setText(text) + self.lb_compagny.setFont(QtGui.QFont("Times", 12)) - def set_title(self, text): + def set_title(self, text, link): + """ + Set Title of the article and link clickable. + """ self.lb_title.setText(text) + self.lb_title.set_link(link) + self.lb_title.set_font_size(size=15) def set_date(self, text): + """ + Set date published article. + """ self.lb_date.setText(text) def set_description(self, text): + """ + Set description of the article. + """ self.desc.setText(text) + self.desc.setFont(QtGui.QFont("Times", 12)) + + def set_thumbnail(self, link): + if link: + self.thread_pool.execution( + function=utils.get_image_from_url, url=link + ) + else: + self._on_thumbnail_available(":/img/no_file.png") + + @QtCore.Slot(object) + def _on_thumbnail_available(self, image): + """Called when a thumbnail is available for the company + + :param image: The thumbnail + :type image: QPixmap + """ + self.thumbnail.setPixmap(image.scaled(self.size(), + QtCore.Qt.KeepAspectRatioByExpanding)) + self.thumbnail.setScaledContents(True) diff --git a/app/libs/widgets/label.py b/app/libs/widgets/label.py index c6a4736..5f7e97d 100644 --- a/app/libs/widgets/label.py +++ b/app/libs/widgets/label.py @@ -4,8 +4,15 @@ class LabelTitle(QtWidgets.QLabel): def __init__(self, link=None, size=20): super(LabelTitle, self).__init__() + + self.font = "Times" + self.set_font_size(size) + + def set_font_size(self, size): + self.setFont(QtGui.QFont(self.font, size)) + + def set_link(self, link): self.link = link - self.setFont(QtGui.QFont("Times", size)) def mousePressEvent(self, event) -> None: webbrowser.open(self.link) diff --git a/app/libs/widgets/textbrowser.py b/app/libs/widgets/textbrowser.py index 7ddbcca..009ef23 100644 --- a/app/libs/widgets/textbrowser.py +++ b/app/libs/widgets/textbrowser.py @@ -1,9 +1,24 @@ -from PySide2 import QtWidgets, QtGui +from PySide2 import QtWidgets, QtGui, QtCore -class Description(QtWidgets.QTextBrowser): + +class Description(QtWidgets.QTextEdit): def __init__(self, text): super(Description, self).__init__() self.setStyleSheet("background-color: rgba(0, 0, 0, 0);") + + size_policy = self.sizePolicy() + document = self.document() + margins = self.contentsMargins() + # document_width = size_policy - margins.left() - margins.right() + # print(QtCore.QSize(size_policy)) + # print(document.setTextWidth(document_width)) + + self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + # self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) + + self.setFixedHeight(self.document().size().height() + self.contentsMargins().top() * 2) + if text: self.setText("text") self.setFont(QtGui.QFont("Times", 10)) diff --git a/app/libs/yahoo_fin/news.py b/app/libs/yahoo_fin/news.py index 3a791cc..d886264 100644 --- a/app/libs/yahoo_fin/news.py +++ b/app/libs/yahoo_fin/news.py @@ -1,10 +1,10 @@ import feedparser -yf_rss_url = "https://feeds.finance.yahoo.com/rss/2.0/headline?s=%s®ion=US&lang=en-US" +yf_rss_url = "https://feeds.finance.yahoo.com/rss/2.0/headline?s=%s®ion=FR&lang=fr-FR" def get_yf_rss(ticker): - feed = feedparser.parse(yf_rss_url % ticker) + feeds = feedparser.parse(yf_rss_url % ticker) - return feed.entries + return feeds.entries diff --git a/app/libs/yahoo_fin/stock_info.py b/app/libs/yahoo_fin/stock_info.py index 506c973..d532964 100644 --- a/app/libs/yahoo_fin/stock_info.py +++ b/app/libs/yahoo_fin/stock_info.py @@ -5,6 +5,7 @@ import re import json import datetime +from bs4 import BeautifulSoup try: from requests_html import HTMLSession @@ -227,14 +228,14 @@ def tickers_other(include_company_data=False): return tickers -def tickers_dow(include_company_data=False): +def _tickers_dow_(include_company_data=False): """Downloads list of currently traded tickers on the Dow""" site = "https://finance.yahoo.com/quote/%5EDJI/components?p=%5EDJI" table = pd.read_html(site)[0] - + print(table) if include_company_data: return table @@ -245,6 +246,23 @@ def tickers_dow(include_company_data=False): return dow_tickers +def tickers_dow(): + + site = "https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average" + head = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36" + + request = requests.get(site, headers={"user-agent": head}) + soup = BeautifulSoup(request.text, 'html.parser') + + ul = soup.find("table", {"class": "wikitable sortable"}) + title = ul.findAll("th", {"scope": "row"}) + tickers = ul.findAll("a", {"class": "external text"}) + + dow_tickers = { + key: value + for key, value in zip([i.text for i in tickers], [i.text.strip() for i in title]) + } + return dow_tickers def tickers_ibovespa(include_company_data=False): diff --git a/app/resources/img/no_file.png b/app/resources/img/no_file.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0ad999b8f43ba22ef367b84947029bfb3befae GIT binary patch literal 19720 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 Udv}2s&S1MN_HKW<)#>8@1FF!`hyVZp literal 0 HcmV?d00001 diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index f096b80..c516b82 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -176,6 +176,10 @@ QDockWidget { titlebar-normal-icon: url(:/svg/window.svg); } +/* + * QTableWidget + */ + QTableWidget#wid_table_financ { background-color: transparent; } @@ -185,9 +189,22 @@ QTableWidget#wid_table_financ::item { } QTableWidget#wid_table_financ::item:hover { + background-color: transparent; +} +/* + * QListWidget + */ + +QListWidget#listWidget, #wgt_articles{ + background-color:transparent; + border: none; } +/* + * QHeaderView + */ + QHeaderView::section { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, @@ -196,3 +213,12 @@ QHeaderView::section { padding-left: 4px; border: 1px solid #6c6c6c; } + +/* + * QTextEdit + */ + +QTextEdit { + border: none; +} + diff --git a/app/ui/__convert.py b/app/ui/__convert.py index 9e6c83e..9400289 100644 --- a/app/ui/__convert.py +++ b/app/ui/__convert.py @@ -1,6 +1,6 @@ import subprocess -cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" +cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe article.ui > article.py" # cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" subprocess.run(cmd, shell=True) diff --git a/app/ui/article.py b/app/ui/article.py index c12a310..fc632c8 100644 --- a/app/ui/article.py +++ b/app/ui/article.py @@ -13,47 +13,80 @@ from PySide2.QtWidgets import * from libs.widgets.label import LabelTitle -from libs.widgets.textbrowser import Description -class Ui_Form(object): - def setupUi(self, Form): - if not Form.objectName(): - Form.setObjectName(u"Form") - Form.resize(400, 295) - self.verticalLayout = QVBoxLayout(Form) +class Ui_Article(object): + def setupUi(self, Article): + if not Article.objectName(): + Article.setObjectName(u"Article") + Article.resize(638, 219) + self.verticalLayout_2 = QVBoxLayout(Article) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.thumbnail = QLabel(Article) + self.thumbnail.setObjectName(u"thumbnail") + self.thumbnail.setMinimumSize(QSize(250, 150)) + self.thumbnail.setMaximumSize(QSize(250, 150)) + + self.horizontalLayout.addWidget(self.thumbnail) + + self.verticalLayout = QVBoxLayout() self.verticalLayout.setObjectName(u"verticalLayout") - self.lb_title = LabelTitle(Form) + self.lb_title = LabelTitle(Article) self.lb_title.setObjectName(u"lb_title") self.verticalLayout.addWidget(self.lb_title) - self.lb_date = QLabel(Form) + self.horizontalLayout_2 = QHBoxLayout() + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.lb_compagny = QLabel(Article) + self.lb_compagny.setObjectName(u"lb_compagny") + self.lb_compagny.setMinimumSize(QSize(0, 25)) + self.lb_compagny.setMaximumSize(QSize(100, 16777215)) + + self.horizontalLayout_2.addWidget(self.lb_compagny) + + self.lb_date = QLabel(Article) self.lb_date.setObjectName(u"lb_date") + self.lb_date.setMinimumSize(QSize(0, 25)) + + self.horizontalLayout_2.addWidget(self.lb_date) - self.verticalLayout.addWidget(self.lb_date) - self.desc = Description(Form) + self.verticalLayout.addLayout(self.horizontalLayout_2) + + self.desc = QLabel(Article) self.desc.setObjectName(u"desc") + self.desc.setMinimumSize(QSize(175, 0)) self.verticalLayout.addWidget(self.desc) - self.line = QFrame(Form) + + self.horizontalLayout.addLayout(self.verticalLayout) + + + self.verticalLayout_2.addLayout(self.horizontalLayout) + + self.line = QFrame(Article) self.line.setObjectName(u"line") self.line.setFrameShape(QFrame.HLine) self.line.setFrameShadow(QFrame.Sunken) - self.verticalLayout.addWidget(self.line) + self.verticalLayout_2.addWidget(self.line) - self.retranslateUi(Form) + self.retranslateUi(Article) - QMetaObject.connectSlotsByName(Form) + QMetaObject.connectSlotsByName(Article) # setupUi - def retranslateUi(self, Form): - Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None)) - self.lb_title.setText(QCoreApplication.translate("Form", u"Title", None)) - self.lb_date.setText(QCoreApplication.translate("Form", u"date", None)) + def retranslateUi(self, Article): + Article.setWindowTitle(QCoreApplication.translate("Article", u"Form", None)) + self.thumbnail.setText("") + self.lb_title.setText(QCoreApplication.translate("Article", u"Title", None)) + self.lb_compagny.setText("") + self.lb_date.setText(QCoreApplication.translate("Article", u"date", None)) + self.desc.setText(QCoreApplication.translate("Article", u"desc", None)) # retranslateUi diff --git a/app/ui/article.ui b/app/ui/article.ui index c97cc3a..23f0cc1 100644 --- a/app/ui/article.ui +++ b/app/ui/article.ui @@ -1,35 +1,101 @@ - Form - + Article + 0 0 - 400 - 295 + 638 + 219 Form - + - - - Title - - - - - - - date - - - - - + + + + + + 250 + 150 + + + + + 250 + 150 + + + + + + + + + + + + + Title + + + + + + + + + + 0 + 25 + + + + + 100 + 16777215 + + + + + + + + + + + + 0 + 25 + + + + date + + + + + + + + + + 175 + 0 + + + + desc + + + + + + @@ -46,11 +112,6 @@ QLabel
libs.widgets.label.h
- - Description - QTextBrowser -
libs.widgets.textbrowser.h
-
diff --git a/app/ui/main_window.py b/app/ui/main_window.py index 0d83517..dc34abf 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -12,6 +12,7 @@ from PySide2.QtGui import * from PySide2.QtWidgets import * +from libs.widgets.label import LabelTitle from libs.graph.graphwidget import GraphWidget from libs.indicators_widget import IndicatorsWidget from libs.widgets.toolbar import ToolBar @@ -19,8 +20,7 @@ from libs.company_widget import CompanyWidget from libs.favorites_widget import FavoritesWidget from libs.articles_widget import ArticlesWidget -from libs.widgets.label import LabelTitle -from libs.financial_widgets import TableFinance +from libs.financial_widget import TableFinance from libs.welcome_widget import WelcomeWidget import resources_rc @@ -29,7 +29,7 @@ class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") - MainWindow.resize(944, 754) + MainWindow.resize(997, 754) self.action_reload_indicators = QAction(MainWindow) self.action_reload_indicators.setObjectName(u"action_reload_indicators") self.centralwidget = QWidget(MainWindow) @@ -86,6 +86,10 @@ def setupUi(self, MainWindow): self.verticalLayout_3.addWidget(self.label) + self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Minimum) + + self.verticalLayout_3.addItem(self.verticalSpacer) + self.listWidget = WelcomeWidget(self.wgt_welcome) self.listWidget.setObjectName(u"listWidget") @@ -125,7 +129,7 @@ def setupUi(self, MainWindow): MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 944, 21)) + self.menubar.setGeometry(QRect(0, 0, 997, 21)) self.menuOptions = QMenu(self.menubar) self.menuOptions.setObjectName(u"menuOptions") MainWindow.setMenuBar(self.menubar) diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 7e19e6e..ba9f0fe 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -6,7 +6,7 @@ 0 0 - 944 + 997 754
@@ -116,6 +116,22 @@
+ + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 40 + + + + @@ -188,7 +204,7 @@ 0 0 - 944 + 997 21 @@ -270,6 +286,11 @@
+ + LabelTitle + QLabel +
libs.widgets.label.h
+
GraphWidget QWidget @@ -311,15 +332,10 @@
libs.articles_widget.h
1
- - LabelTitle - QLabel -
libs.widgets.label.h
-
TableFinance QTableWidget -
libs.financial_widgets.h
+
libs.financial_widget.h
WelcomeWidget diff --git a/app/ui/run.py b/app/ui/run.py deleted file mode 100644 index 9549d97..0000000 --- a/app/ui/run.py +++ /dev/null @@ -1,6 +0,0 @@ -import subprocess - -cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" -# cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" - -subprocess.run(cmd, shell=True) \ No newline at end of file diff --git a/app/utils/utils.py b/app/utils/utils.py index beaefe9..dbe4557 100644 --- a/app/utils/utils.py +++ b/app/utils/utils.py @@ -1,6 +1,6 @@ import datetime import urllib.request -from statistics import mean +from libs.yahoo_fin import stock_info as sf from sklearn import preprocessing import numpy as np @@ -9,6 +9,8 @@ from PySide2.QtGui import QPixmap +from statistics import mean + def normalize_data(data): data = data.reshape(1, -1) @@ -240,7 +242,7 @@ def refacto_dette(dette_toref, leverage_toref): def remove_nan(data): """ - Cette fonction renplace les valeurs NaN par 0. + This method replace Nan value by 0. Sinon return float. :param data: :return: List @@ -256,7 +258,7 @@ def remove_nan(data): def format_data(data): """ - Cette fonction format les nombres avec des ','. + This method format number with ','. exemple: 2,120,350 :param data: :return: List of string @@ -289,3 +291,31 @@ def croissance(data): decroi = ls_croi.count(False) croi = ls_croi.count(True) return croi, decroi + + +def get_all_tickers(): + """ + This method return a dict of all the compagny for each markets. + """ + dow = sf.tickers_dow() + cac = sf.tickers_cac() + sp500 = sf.tickers_sp500() + nasdaq = sf.tickers_nasdaq() + + data = {} + for i in [cac, dow, nasdaq, sp500]: + data.update(i) + + return dow + + +def get_compagny_name_from_tick(ticker): + """ + This method return the Compagny name for his ticker. + """ + + data = get_all_tickers() + + for tick, company in data.items(): + if tick == ticker: + return company diff --git a/app/view.py b/app/view.py index c27ad6a..9d8c5dc 100644 --- a/app/view.py +++ b/app/view.py @@ -68,10 +68,10 @@ def __init__(self, parent=None, data=None): self.wgt_company._on_ticker_infos ) self.tickers_dialog.signal.sig_ticker_choosen.connect( - self.wgt_articles.get_articles + self.wgt_articles._on_get_articles ) self.tickers_dialog.signal.sig_ticker_choosen.connect( - self.wid_table_financ.get_financials_table + self.wid_table_financ.on_set_financials_table ) self.thread_pool.signals.sig_thread_pre.connect( self.busy_indicator.show From 5fb0adacdecfc6628a5c16f10129b04b728c27d9 Mon Sep 17 00:00:00 2001 From: vince Date: Wed, 24 Mar 2021 20:27:42 +0100 Subject: [PATCH 04/28] add feature markets evolution days in Welcome page --- app/libs/markets_widget.py | 63 +++++++++++++++++ app/libs/welcome_widget.py | 35 ++++----- app/libs/widgets/article_itemwidget.py | 7 +- app/ui/__convert.py | 4 +- app/ui/main_window.py | 44 ++++++++++++ app/ui/main_window.ui | 98 ++++++++++++++++++++++++++ app/ui/markets_widget.py | 71 +++++++++++++++++++ app/ui/markets_widget.ui | 80 +++++++++++++++++++++ 8 files changed, 382 insertions(+), 20 deletions(-) create mode 100644 app/libs/markets_widget.py create mode 100644 app/ui/markets_widget.py create mode 100644 app/ui/markets_widget.ui diff --git a/app/libs/markets_widget.py b/app/libs/markets_widget.py new file mode 100644 index 0000000..3c24642 --- /dev/null +++ b/app/libs/markets_widget.py @@ -0,0 +1,63 @@ + +from ui import markets_widget +from PySide2 import QtWidgets +from libs.yahoo_fin import stock_info + + +TICKERS = { + "NASDAQ": "%5EIXIC", + "S&P 500": "5EGSPC", + "Dow Jones": "%5EDJI", + "Oil": "CL%3DF", + "BTC": "BTC-USD", + "Gold": "GC%3DF", + "CAC40": "%5EFCHI", +} + +class MarketsWidget(QtWidgets.QStackedWidget): + def __init__(self, parent=None): + super(MarketsWidget, self).__init__(parent) + + # self.pub_go_market_next.clicked.connect(self.stw_main.slide_in_next) + + self.page = QtWidgets.QWidget() + layout = QtWidgets.QHBoxLayout(self.page) + + for count, (name, tick) in enumerate(TICKERS.items()): + # if count % 5 == 0: + # self.page = QtWidgets.QWidget() + # layout = QtWidgets.QHBoxLayout(self.page) + + item = MarketsWidgetItem(self, ticker=tick, compagny=name) + layout.addWidget(item) + + self.addWidget(self.page) + + +class MarketsWidgetItem(QtWidgets.QWidget, markets_widget.Ui_markets): + def __init__(self, parent=None, ticker=None, compagny=None): + super(MarketsWidgetItem, self).__init__(parent) + + self.setupUi(self) + try: + x = stock_info.get_data(ticker) + except: + return + + day = float(x['adjclose'][-1]) + prev_day = float(x['adjclose'][-2]) + + variation = ((day - prev_day) / prev_day) * 100 + variation = round(variation, 2) + + self.title.setText(compagny) + self.price.setText(str(round(day, 2))) + self.pourcentage.setText("{}%".format(str(variation))) + + if variation < 0: + self.pourcentage.setStyleSheet("color:rgb(239, 83, 80);") + else: + self.pourcentage.setStyleSheet("color:rgb(38, 166, 154);") + + + diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index e1de3f7..6c158d9 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -5,6 +5,7 @@ import random from utils import utils from PySide2 import QtWidgets +from libs.widgets.stackedwidget import StackedWidget from libs.articles.yahoo_articles import ArticlesYahoo from libs.widgets.article_itemwidget import ArticlesWidgetItem @@ -13,22 +14,24 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - articles = [] - for tick in self.rdm_tickers(): - artic = self._get_articles_dict(ticker=tick).articles - articles.extend(artic) - - for index, i in enumerate(articles): - article = ArticlesWidgetItem(parent=self) - article.set_title(i["title"], i["link"]) - article.set_compagny(i["compagny"]) - article.set_date(i["published"]) - article.set_description(i["summary"]) - article.set_thumbnail(i["img"]) - item = QtWidgets.QListWidgetItem() - item.setSizeHint(article.sizeHint()) - self.addItem(item) - self.setItemWidget(item, article) + + + # articles = [] + # for tick in self.rdm_tickers(): + # artic = self._get_articles_dict(ticker=tick).articles + # articles.extend(artic) + # + # for index, i in enumerate(articles): + # article = ArticlesWidgetItem(parent=self) + # article.set_title(i["title"], i["link"]) + # article.set_compagny(i["compagny"]) + # article.set_date(i["published"]) + # article.set_description(i["summary"]) + # article.set_thumbnail(i["img"]) + # item = QtWidgets.QListWidgetItem() + # item.setSizeHint(article.sizeHint()) + # self.addItem(item) + # self.setItemWidget(item, article) def _get_articles_dict(self, ticker): diff --git a/app/libs/widgets/article_itemwidget.py b/app/libs/widgets/article_itemwidget.py index 51db65d..9a03e11 100644 --- a/app/libs/widgets/article_itemwidget.py +++ b/app/libs/widgets/article_itemwidget.py @@ -39,7 +39,7 @@ def set_description(self, text): Set description of the article. """ self.desc.setText(text) - self.desc.setFont(QtGui.QFont("Times", 12)) + self.desc.setFont(QtGui.QFont("Times", 10)) def set_thumbnail(self, link): if link: @@ -57,5 +57,8 @@ def _on_thumbnail_available(self, image): :type image: QPixmap """ self.thumbnail.setPixmap(image.scaled(self.size(), - QtCore.Qt.KeepAspectRatioByExpanding)) + QtCore.Qt.KeepAspectRatio, + QtCore.Qt.SmoothTransformation + ) + ) self.thumbnail.setScaledContents(True) diff --git a/app/ui/__convert.py b/app/ui/__convert.py index 9400289..de12e8c 100644 --- a/app/ui/__convert.py +++ b/app/ui/__convert.py @@ -1,6 +1,6 @@ import subprocess -cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe article.ui > article.py" +cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" # cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" - +# main_window markets_widget subprocess.run(cmd, shell=True) diff --git a/app/ui/main_window.py b/app/ui/main_window.py index dc34abf..8bb37c7 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -22,6 +22,7 @@ from libs.articles_widget import ArticlesWidget from libs.financial_widget import TableFinance from libs.welcome_widget import WelcomeWidget +from libs.markets_widget import MarketsWidget import resources_rc @@ -90,6 +91,47 @@ def setupUi(self, MainWindow): self.verticalLayout_3.addItem(self.verticalSpacer) + self.horizontalLayout_3 = QHBoxLayout() + self.horizontalLayout_3.setSpacing(0) + self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setSizeConstraint(QLayout.SetMinimumSize) + self.pub_go_market_prev = QPushButton(self.wgt_welcome) + self.pub_go_market_prev.setObjectName(u"pub_go_market_prev") + self.pub_go_market_prev.setMinimumSize(QSize(25, 25)) + self.pub_go_market_prev.setMaximumSize(QSize(25, 25)) + self.pub_go_market_prev.setCursor(QCursor(Qt.PointingHandCursor)) + self.pub_go_market_prev.setIcon(icon) + self.pub_go_market_prev.setIconSize(QSize(28, 28)) + self.pub_go_market_prev.setFlat(True) + + self.horizontalLayout_3.addWidget(self.pub_go_market_prev) + + self.wgt_markets_2 = MarketsWidget(self.wgt_welcome) + self.wgt_markets_2.setObjectName(u"wgt_markets_2") + self.wgt_markets_2.setMaximumSize(QSize(16777215, 80)) + self.page_3 = QWidget() + self.page_3.setObjectName(u"page_3") + self.wgt_markets_2.addWidget(self.page_3) + self.page_4 = QWidget() + self.page_4.setObjectName(u"page_4") + self.wgt_markets_2.addWidget(self.page_4) + + self.horizontalLayout_3.addWidget(self.wgt_markets_2) + + self.pub_go_market_next = QPushButton(self.wgt_welcome) + self.pub_go_market_next.setObjectName(u"pub_go_market_next") + self.pub_go_market_next.setMinimumSize(QSize(25, 25)) + self.pub_go_market_next.setMaximumSize(QSize(25, 25)) + self.pub_go_market_next.setCursor(QCursor(Qt.PointingHandCursor)) + self.pub_go_market_next.setIcon(icon1) + self.pub_go_market_next.setIconSize(QSize(28, 28)) + self.pub_go_market_next.setFlat(True) + + self.horizontalLayout_3.addWidget(self.pub_go_market_next) + + + self.verticalLayout_3.addLayout(self.horizontalLayout_3) + self.listWidget = WelcomeWidget(self.wgt_welcome) self.listWidget.setObjectName(u"listWidget") @@ -186,6 +228,8 @@ def retranslateUi(self, MainWindow): self.pub_go_welcome.setText("") self.pub_go_graph.setText("") self.label.setText(QCoreApplication.translate("MainWindow", u"Trading Visualisation", None)) + self.pub_go_market_prev.setText("") + self.pub_go_market_next.setText("") self.menuOptions.setTitle(QCoreApplication.translate("MainWindow", u"Options", None)) self.dock_wgt_company.setWindowTitle(QCoreApplication.translate("MainWindow", u"Company", None)) self.dock_wgt_indicators.setWindowTitle(QCoreApplication.translate("MainWindow", u"Indicators", None)) diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index ba9f0fe..e3bcdc5 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -132,6 +132,98 @@ + + + + 0 + + + QLayout::SetMinimumSize + + + + + + 25 + 25 + + + + + 25 + 25 + + + + PointingHandCursor + + + + + + + :/svg/keyboard-arrow-left.svg:/svg/keyboard-arrow-left.svg + + + + 28 + 28 + + + + true + + + + + + + + 16777215 + 80 + + + + + + + + + + + 25 + 25 + + + + + 25 + 25 + + + + PointingHandCursor + + + + + + + :/svg/keyboard-arrow-right.svg:/svg/keyboard-arrow-right.svg + + + + 28 + 28 + + + + true + + + + + @@ -342,6 +434,12 @@ QListWidget
libs.welcome_widget.h
+ + MarketsWidget + QStackedWidget +
libs.markets_widget.h
+ 1 +
diff --git a/app/ui/markets_widget.py b/app/ui/markets_widget.py new file mode 100644 index 0000000..4071473 --- /dev/null +++ b/app/ui/markets_widget.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'markets_widget.ui' +## +## Created by: Qt User Interface Compiler version 5.15.2 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide2.QtCore import * +from PySide2.QtGui import * +from PySide2.QtWidgets import * + + +class Ui_markets(object): + def setupUi(self, markets): + if not markets.objectName(): + markets.setObjectName(u"markets") + markets.resize(125, 80) + markets.setMinimumSize(QSize(125, 80)) + markets.setMaximumSize(QSize(125, 80)) + self.horizontalLayout = QHBoxLayout(markets) + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.verticalLayout = QVBoxLayout() + self.verticalLayout.setObjectName(u"verticalLayout") + self.title = QLabel(markets) + self.title.setObjectName(u"title") + font = QFont() + font.setPointSize(12) + self.title.setFont(font) + + self.verticalLayout.addWidget(self.title) + + self.price = QLabel(markets) + self.price.setObjectName(u"price") + font1 = QFont() + font1.setPointSize(10) + self.price.setFont(font1) + + self.verticalLayout.addWidget(self.price) + + self.pourcentage = QLabel(markets) + self.pourcentage.setObjectName(u"pourcentage") + self.pourcentage.setFont(font1) + + self.verticalLayout.addWidget(self.pourcentage) + + + self.horizontalLayout.addLayout(self.verticalLayout) + + self.line = QFrame(markets) + self.line.setObjectName(u"line") + self.line.setFrameShape(QFrame.VLine) + self.line.setFrameShadow(QFrame.Sunken) + + self.horizontalLayout.addWidget(self.line) + + + self.retranslateUi(markets) + + QMetaObject.connectSlotsByName(markets) + # setupUi + + def retranslateUi(self, markets): + markets.setWindowTitle(QCoreApplication.translate("markets", u"Form", None)) + self.title.setText(QCoreApplication.translate("markets", u"Markets", None)) + self.price.setText(QCoreApplication.translate("markets", u"Price", None)) + self.pourcentage.setText(QCoreApplication.translate("markets", u"%", None)) + # retranslateUi + diff --git a/app/ui/markets_widget.ui b/app/ui/markets_widget.ui new file mode 100644 index 0000000..601b552 --- /dev/null +++ b/app/ui/markets_widget.ui @@ -0,0 +1,80 @@ + + + markets + + + + 0 + 0 + 125 + 80 + + + + + 125 + 80 + + + + + 125 + 80 + + + + Form + + + + + + + + + 12 + + + + Markets + + + + + + + + 10 + + + + Price + + + + + + + + 10 + + + + % + + + + + + + + + Qt::Vertical + + + + + + + + From fd6f2ddf555777a8472bf4fc37eb6e1721b76d5a Mon Sep 17 00:00:00 2001 From: vince Date: Wed, 24 Mar 2021 21:23:35 +0100 Subject: [PATCH 05/28] Conflits resolus --- app/libs/welcome_widget.py | 32 ++++---- app/ui/main_window.py | 151 +++++++++++++++++++++++++------------ app/utils/utils.py | 43 +++++++++++ app/view.py | 6 +- 4 files changed, 166 insertions(+), 66 deletions(-) diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 6c158d9..6b54292 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -16,22 +16,22 @@ def __init__(self, parent=None): - # articles = [] - # for tick in self.rdm_tickers(): - # artic = self._get_articles_dict(ticker=tick).articles - # articles.extend(artic) - # - # for index, i in enumerate(articles): - # article = ArticlesWidgetItem(parent=self) - # article.set_title(i["title"], i["link"]) - # article.set_compagny(i["compagny"]) - # article.set_date(i["published"]) - # article.set_description(i["summary"]) - # article.set_thumbnail(i["img"]) - # item = QtWidgets.QListWidgetItem() - # item.setSizeHint(article.sizeHint()) - # self.addItem(item) - # self.setItemWidget(item, article) + articles = [] + for tick in self.rdm_tickers(): + artic = self._get_articles_dict(ticker=tick).articles + articles.extend(artic) + + for index, i in enumerate(articles): + article = ArticlesWidgetItem(parent=self) + article.set_title(i["title"], i["link"]) + article.set_compagny(i["compagny"]) + article.set_date(i["published"]) + article.set_description(i["summary"]) + article.set_thumbnail(i["img"]) + item = QtWidgets.QListWidgetItem() + item.setSizeHint(article.sizeHint()) + self.addItem(item) + self.setItemWidget(item, article) def _get_articles_dict(self, ticker): diff --git a/app/ui/main_window.py b/app/ui/main_window.py index 1d8a1a4..8bb37c7 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -12,6 +12,7 @@ from PySide2.QtGui import * from PySide2.QtWidgets import * +from libs.widgets.label import LabelTitle from libs.graph.graphwidget import GraphWidget from libs.indicators_widget import IndicatorsWidget from libs.widgets.toolbar import ToolBar @@ -19,19 +20,19 @@ from libs.company_widget import CompanyWidget from libs.favorites_widget import FavoritesWidget from libs.articles_widget import ArticlesWidget +from libs.financial_widget import TableFinance +from libs.welcome_widget import WelcomeWidget +from libs.markets_widget import MarketsWidget import resources_rc - class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") - MainWindow.resize(900, 700) + MainWindow.resize(997, 754) self.action_reload_indicators = QAction(MainWindow) - self.action_reload_indicators.setObjectName( - u"action_reload_indicators" - ) + self.action_reload_indicators.setObjectName(u"action_reload_indicators") self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.verticalLayout = QVBoxLayout(self.centralwidget) @@ -44,9 +45,7 @@ def setupUi(self, MainWindow): self.pub_go_welcome.setMaximumSize(QSize(25, 25)) self.pub_go_welcome.setCursor(QCursor(Qt.PointingHandCursor)) icon = QIcon() - icon.addFile( - u":/svg/keyboard-arrow-left.svg", QSize(), QIcon.Normal, QIcon.Off - ) + icon.addFile(u":/svg/keyboard-arrow-left.svg", QSize(), QIcon.Normal, QIcon.Off) self.pub_go_welcome.setIcon(icon) self.pub_go_welcome.setIconSize(QSize(28, 28)) self.pub_go_welcome.setFlat(True) @@ -66,21 +65,78 @@ def setupUi(self, MainWindow): self.pub_go_graph.setMaximumSize(QSize(25, 25)) self.pub_go_graph.setCursor(QCursor(Qt.PointingHandCursor)) icon1 = QIcon() - icon1.addFile( - u":/svg/keyboard-arrow-right.svg", QSize(), QIcon.Normal, QIcon.Off - ) + icon1.addFile(u":/svg/keyboard-arrow-right.svg", QSize(), QIcon.Normal, QIcon.Off) self.pub_go_graph.setIcon(icon1) self.pub_go_graph.setIconSize(QSize(28, 28)) self.pub_go_graph.setFlat(True) self.horizontalLayout.addWidget(self.pub_go_graph) + self.verticalLayout.addLayout(self.horizontalLayout) self.stw_main = StackedWidget(self.centralwidget) self.stw_main.setObjectName(u"stw_main") self.wgt_welcome = QWidget() self.wgt_welcome.setObjectName(u"wgt_welcome") + self.verticalLayout_3 = QVBoxLayout(self.wgt_welcome) + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.label = LabelTitle(self.wgt_welcome) + self.label.setObjectName(u"label") + self.label.setAlignment(Qt.AlignCenter) + + self.verticalLayout_3.addWidget(self.label) + + self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Minimum) + + self.verticalLayout_3.addItem(self.verticalSpacer) + + self.horizontalLayout_3 = QHBoxLayout() + self.horizontalLayout_3.setSpacing(0) + self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setSizeConstraint(QLayout.SetMinimumSize) + self.pub_go_market_prev = QPushButton(self.wgt_welcome) + self.pub_go_market_prev.setObjectName(u"pub_go_market_prev") + self.pub_go_market_prev.setMinimumSize(QSize(25, 25)) + self.pub_go_market_prev.setMaximumSize(QSize(25, 25)) + self.pub_go_market_prev.setCursor(QCursor(Qt.PointingHandCursor)) + self.pub_go_market_prev.setIcon(icon) + self.pub_go_market_prev.setIconSize(QSize(28, 28)) + self.pub_go_market_prev.setFlat(True) + + self.horizontalLayout_3.addWidget(self.pub_go_market_prev) + + self.wgt_markets_2 = MarketsWidget(self.wgt_welcome) + self.wgt_markets_2.setObjectName(u"wgt_markets_2") + self.wgt_markets_2.setMaximumSize(QSize(16777215, 80)) + self.page_3 = QWidget() + self.page_3.setObjectName(u"page_3") + self.wgt_markets_2.addWidget(self.page_3) + self.page_4 = QWidget() + self.page_4.setObjectName(u"page_4") + self.wgt_markets_2.addWidget(self.page_4) + + self.horizontalLayout_3.addWidget(self.wgt_markets_2) + + self.pub_go_market_next = QPushButton(self.wgt_welcome) + self.pub_go_market_next.setObjectName(u"pub_go_market_next") + self.pub_go_market_next.setMinimumSize(QSize(25, 25)) + self.pub_go_market_next.setMaximumSize(QSize(25, 25)) + self.pub_go_market_next.setCursor(QCursor(Qt.PointingHandCursor)) + self.pub_go_market_next.setIcon(icon1) + self.pub_go_market_next.setIconSize(QSize(28, 28)) + self.pub_go_market_next.setFlat(True) + + self.horizontalLayout_3.addWidget(self.pub_go_market_next) + + + self.verticalLayout_3.addLayout(self.horizontalLayout_3) + + self.listWidget = WelcomeWidget(self.wgt_welcome) + self.listWidget.setObjectName(u"listWidget") + + self.verticalLayout_3.addWidget(self.listWidget) + self.stw_main.addWidget(self.wgt_welcome) self.wgt_articles = ArticlesWidget() self.wgt_articles.setObjectName(u"wgt_articles") @@ -89,13 +145,33 @@ def setupUi(self, MainWindow): self.wgt_graph.setObjectName(u"wgt_graph") self.wgt_graph.setCursor(QCursor(Qt.CrossCursor)) self.stw_main.addWidget(self.wgt_graph) + self.wgt_financ = QWidget() + self.wgt_financ.setObjectName(u"wgt_financ") + self.horizontalLayout_2 = QHBoxLayout(self.wgt_financ) + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalSpacer = QSpacerItem(240, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout_2.addItem(self.horizontalSpacer) + + self.wid_table_financ = TableFinance(self.wgt_financ) + self.wid_table_financ.setObjectName(u"wid_table_financ") + self.wid_table_financ.setMinimumSize(QSize(850, 0)) + self.wid_table_financ.setMaximumSize(QSize(850, 16777215)) + + self.horizontalLayout_2.addWidget(self.wid_table_financ) + + self.horizontalSpacer_2 = QSpacerItem(240, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout_2.addItem(self.horizontalSpacer_2) + + self.stw_main.addWidget(self.wgt_financ) self.verticalLayout.addWidget(self.stw_main) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 900, 21)) + self.menubar.setGeometry(QRect(0, 0, 997, 21)) self.menuOptions = QMenu(self.menubar) self.menuOptions.setObjectName(u"menuOptions") MainWindow.setMenuBar(self.menubar) @@ -107,9 +183,7 @@ def setupUi(self, MainWindow): sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth( - self.dock_wgt_company.sizePolicy().hasHeightForWidth() - ) + sizePolicy.setHeightForWidth(self.dock_wgt_company.sizePolicy().hasHeightForWidth()) self.dock_wgt_company.setSizePolicy(sizePolicy) font = QFont() font.setBold(True) @@ -125,9 +199,7 @@ def setupUi(self, MainWindow): self.wgt_indicators = IndicatorsWidget() self.wgt_indicators.setObjectName(u"wgt_indicators") self.dock_wgt_indicators.setWidget(self.wgt_indicators) - MainWindow.addDockWidget( - Qt.RightDockWidgetArea, self.dock_wgt_indicators - ) + MainWindow.addDockWidget(Qt.RightDockWidgetArea, self.dock_wgt_indicators) self.tool_bar = ToolBar(MainWindow) self.tool_bar.setObjectName(u"tool_bar") MainWindow.addToolBar(Qt.LeftToolBarArea, self.tool_bar) @@ -137,46 +209,31 @@ def setupUi(self, MainWindow): self.wgt_favorites = FavoritesWidget() self.wgt_favorites.setObjectName(u"wgt_favorites") self.dock_wgt_favorites.setWidget(self.wgt_favorites) - MainWindow.addDockWidget( - Qt.RightDockWidgetArea, self.dock_wgt_favorites - ) + MainWindow.addDockWidget(Qt.RightDockWidgetArea, self.dock_wgt_favorites) self.menubar.addAction(self.menuOptions.menuAction()) self.menuOptions.addAction(self.action_reload_indicators) self.retranslateUi(MainWindow) - self.stw_main.setCurrentIndex(1) + self.stw_main.setCurrentIndex(0) - QMetaObject.connectSlotsByName(MainWindow) + QMetaObject.connectSlotsByName(MainWindow) # setupUi def retranslateUi(self, MainWindow): - MainWindow.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Trade Helper", None) - ) - self.action_reload_indicators.setText( - QCoreApplication.translate( - "MainWindow", u"Reload Indicators", None - ) - ) + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Trade Helper", None)) + self.action_reload_indicators.setText(QCoreApplication.translate("MainWindow", u"Reload Indicators", None)) self.pub_go_welcome.setText("") self.pub_go_graph.setText("") - self.menuOptions.setTitle( - QCoreApplication.translate("MainWindow", u"Options", None) - ) - self.dock_wgt_company.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Company", None) - ) - self.dock_wgt_indicators.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Indicators", None) - ) - self.tool_bar.setWindowTitle( - QCoreApplication.translate("MainWindow", u"toolBar", None) - ) - self.dock_wgt_favorites.setWindowTitle( - QCoreApplication.translate("MainWindow", u"Favorites", None) - ) - + self.label.setText(QCoreApplication.translate("MainWindow", u"Trading Visualisation", None)) + self.pub_go_market_prev.setText("") + self.pub_go_market_next.setText("") + self.menuOptions.setTitle(QCoreApplication.translate("MainWindow", u"Options", None)) + self.dock_wgt_company.setWindowTitle(QCoreApplication.translate("MainWindow", u"Company", None)) + self.dock_wgt_indicators.setWindowTitle(QCoreApplication.translate("MainWindow", u"Indicators", None)) + self.tool_bar.setWindowTitle(QCoreApplication.translate("MainWindow", u"toolBar", None)) + self.dock_wgt_favorites.setWindowTitle(QCoreApplication.translate("MainWindow", u"Favorites", None)) # retranslateUi + diff --git a/app/utils/utils.py b/app/utils/utils.py index 1708220..226203e 100644 --- a/app/utils/utils.py +++ b/app/utils/utils.py @@ -1,6 +1,7 @@ import datetime import urllib.request from statistics import mean +from libs.yahoo_fin import stock_info as sf from sklearn import preprocessing import numpy as np @@ -236,3 +237,45 @@ def get_main_window_instance(name: str = "MainWindow"): continue return widget return None + + + +def get_all_tickers(): + """ + This method return a dict of all the compagny for each markets. + """ + dow = sf.tickers_dow() + cac = sf.tickers_cac() + sp500 = sf.tickers_sp500() + nasdaq = sf.tickers_nasdaq() + + data = {} + for i in [cac, dow, nasdaq, sp500]: + data.update(i) + + return dow + + +def get_compagny_name_from_tick(ticker): + """ + This method return the Compagny name for his ticker. + """ + + data = get_all_tickers() + + for tick, company in data.items(): + if tick == ticker: + return company + +def format_data(data): + """ + This method format number with ','. + exemple: 2,120,350 + :param data: + :return: List of string + """ + data_format = [] + for i in remove_nan(data): + i = f"{int(i):,}" + data_format.append(i) + return data_format \ No newline at end of file diff --git a/app/view.py b/app/view.py index c20ca0f..9f55cf2 100644 --- a/app/view.py +++ b/app/view.py @@ -70,9 +70,9 @@ def __init__(self, parent=None, data=None): self.tickers_dialog.signal.sig_ticker_choosen.connect( self.wgt_articles._on_get_articles ) - self.tickers_dialog.signal.sig_ticker_choosen.connect( - self.wid_table_financ.on_set_financials_table - ) + # self.tickers_dialog.signal.sig_ticker_choosen.connect( + # self.wid_table_financ.on_set_financials_table + # ) self.thread_pool.signals.sig_thread_pre.connect( self.busy_indicator.show ) From dab1b6fea9c79523ad397e828a0fe2c454db3d74 Mon Sep 17 00:00:00 2001 From: vince Date: Fri, 26 Mar 2021 18:20:26 +0100 Subject: [PATCH 06/28] Add Financial Table + Hover Selection row in Table --- app/libs/analysies/analyse_financials.py | 9 ++++++- app/libs/financial_widget.py | 31 ++++++++++----------- app/libs/welcome_widget.py | 34 +++++++++++------------- app/resources/style/style.qss | 7 +++++ app/utils/utils.py | 31 ++++++++++++++------- app/view.py | 12 ++++++--- 6 files changed, 78 insertions(+), 46 deletions(-) diff --git a/app/libs/analysies/analyse_financials.py b/app/libs/analysies/analyse_financials.py index 44fd948..04240cc 100644 --- a/app/libs/analysies/analyse_financials.py +++ b/app/libs/analysies/analyse_financials.py @@ -44,6 +44,7 @@ def __init__(self, ticker): self.analyse = AnalyseData(self.data_analyse) self.extend_dict_data() + self.tes() def set_var(self): self.actions = None @@ -196,7 +197,7 @@ def datas_dict(self): self.datas["Capitaux Propre"] = utl.format_data( self.total_capitaux_propre.values.tolist() ) - self.datas["Score"] = [self.total_score()] + self.datas["Score"] = ["", "", "", "", self.total_score()] self.bna_years() self.per_years() @@ -207,6 +208,12 @@ def datas_dict(self): self.roe_roa_ratio(roa=False) self.roe_roa_ratio(roa=True) + + def tes(self): + for key, value in self.datas.items(): + if len(value) <= 4: + self.datas[key].append("") + def data_for_analyse(self): self.data_analyse["Actifs Total"] = self.datas["Actifs Total"] self.data_analyse["BNA"] = self.datas["BNA"] diff --git a/app/libs/financial_widget.py b/app/libs/financial_widget.py index 48b53bd..5c046ec 100644 --- a/app/libs/financial_widget.py +++ b/app/libs/financial_widget.py @@ -1,10 +1,12 @@ from PySide2 import QtWidgets, QtCore, QtGui from libs.analysies.analyse_financials import AnalyseFondamental + class QTableWidgetFinance(QtWidgets.QTableWidget): def __init__(self, parent=None): super(QTableWidgetFinance, self).__init__(parent=parent) + class TableFinance(QTableWidgetFinance): def __init__(self, parent=None): super(TableFinance, self).__init__(parent=parent) @@ -19,18 +21,18 @@ def on_set_financials_table(self, ticker): self.data = analyses.datas self.clear() - header = self.data['YEAR'] - header.insert(0, 'Valorisation') - header.insert(len(header), 'Bilan') + self.header = self.data['YEAR'] + self.header.insert(0, 'Valorisation') + self.header.insert(len(self.header), 'Bilan') score = self.data["Score"] del self.data["YEAR"] del self.data["Score"] - self.setColumnCount(len(header)) - self.setHorizontalHeaderLabels(header) + self.setColumnCount(len(self.header)) + self.setHorizontalHeaderLabels(self.header) self.horizontalHeader().resizeSection(0, 150) - self.setColumnWidth(len(header) - 1, 250) + self.setColumnWidth(len(self.header) - 1, 250) self.setWordWrap(True) # Rows @@ -42,7 +44,7 @@ def on_set_financials_table(self, ticker): for column, data in enumerate(donnee): cell = QtWidgets.QTableWidgetItem() cell.setData(QtCore.Qt.DisplayRole, str(data)) - cell.setTextAlignment(QtCore.Qt.AlignHCenter) + cell.setTextAlignment(QtCore.Qt.AlignCenter) self.setItem(row, column + 1, cell) analyse_cell = QtWidgets.QTableWidgetItem() @@ -57,8 +59,8 @@ def on_set_financials_table(self, ticker): self.setItem(last_row, 0, cell_score_title) cell_score = QtWidgets.QTableWidgetItem() cell_score.setData(QtCore.Qt.DisplayRole, str(score[0])) - cell_score.setTextAlignment(QtCore.Qt.AlignHCenter) - self.setItem(last_row, len(header)-1, cell_score) + cell_score.setTextAlignment(QtCore.Qt.AlignCenter) + self.setItem(last_row, len(self.header) - 1, cell_score) for i in range(self.rowCount()): self.setRowHeight(i, 50) @@ -66,15 +68,14 @@ def on_set_financials_table(self, ticker): self.verticalHeader().setVisible(False) self.setShowGrid(False) self.setMouseTracking(True) - # self.cellEntered.connect(self.cellHover) + self.cellEntered.connect(self.cellHover) def cellHover(self, row, column): """ This method get position (row,column) of cursor. """ + self.clearSelection() self.current_hover = [0, 0] - item = self.item(row, column) - # print(self.itemFromIndex(row)) - print(row) - - + for i in range(len(self.header)-1): + item = self.item(row, i) + item.setSelected(True) diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 6b54292..4b1100c 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -14,24 +14,22 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - - - articles = [] - for tick in self.rdm_tickers(): - artic = self._get_articles_dict(ticker=tick).articles - articles.extend(artic) - - for index, i in enumerate(articles): - article = ArticlesWidgetItem(parent=self) - article.set_title(i["title"], i["link"]) - article.set_compagny(i["compagny"]) - article.set_date(i["published"]) - article.set_description(i["summary"]) - article.set_thumbnail(i["img"]) - item = QtWidgets.QListWidgetItem() - item.setSizeHint(article.sizeHint()) - self.addItem(item) - self.setItemWidget(item, article) + # articles = [] + # for tick in self.rdm_tickers(): + # artic = self._get_articles_dict(ticker=tick).articles + # articles.extend(artic) + # + # for index, i in enumerate(articles): + # article = ArticlesWidgetItem(parent=self) + # article.set_title(i["title"], i["link"]) + # article.set_compagny(i["compagny"]) + # article.set_date(i["published"]) + # article.set_description(i["summary"]) + # article.set_thumbnail(i["img"]) + # item = QtWidgets.QListWidgetItem() + # item.setSizeHint(article.sizeHint()) + # self.addItem(item) + # self.setItemWidget(item, article) def _get_articles_dict(self, ticker): diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index b637ede..41774ad 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -175,3 +175,10 @@ QDockWidget { titlebar-close-icon: url(:/svg/times.svg); titlebar-normal-icon: url(:/svg/window.svg); } + +/* TableWidget */ +QTableWidget#wid_table_financ { + background:transparent; + border-style: none; +} + diff --git a/app/utils/utils.py b/app/utils/utils.py index 226203e..c8ccaf5 100644 --- a/app/utils/utils.py +++ b/app/utils/utils.py @@ -37,16 +37,20 @@ def savgol_filter(values, window_length, polyorder=3): mode="interp", ) - -def remove_nan(values): - """Remove NaN from array - - :param values: array of data - :type values: np.array - :return: The array without NaN - :rtype: np.array +def remove_nan(data): + """ + This method replace Nan value by 0. + Sinon return float. + :param data: + :return: List """ - return values[~np.isnan(values)] + data_format = [] + for i in data: + if str(i) == "nan": + i = 0 + data_format.append(float(i)) + return data_format + def _peaks_detection(values, rounded=3, direction="up"): @@ -267,6 +271,15 @@ def get_compagny_name_from_tick(ticker): if tick == ticker: return company +def get_last_value(data): + if data[0] != 0: + index = 0 + value = data[index] + else: + index = 1 + value = data[index] + return value, index + def format_data(data): """ This method format number with ','. diff --git a/app/view.py b/app/view.py index 9f55cf2..65a49b0 100644 --- a/app/view.py +++ b/app/view.py @@ -70,9 +70,15 @@ def __init__(self, parent=None, data=None): self.tickers_dialog.signal.sig_ticker_choosen.connect( self.wgt_articles._on_get_articles ) - # self.tickers_dialog.signal.sig_ticker_choosen.connect( - # self.wid_table_financ.on_set_financials_table - # ) + self.wgt_favorites.signals.sig_favorite_clicked.connect( + self.wgt_articles._on_get_articles + ) + self.tickers_dialog.signal.sig_ticker_choosen.connect( + self.wid_table_financ.on_set_financials_table + ) + self.wgt_favorites.signals.sig_favorite_clicked.connect( + self.wid_table_financ.on_set_financials_table + ) self.thread_pool.signals.sig_thread_pre.connect( self.busy_indicator.show ) From 3305526c638b60fb4b2d021385a750e475c57dc8 Mon Sep 17 00:00:00 2001 From: vince Date: Fri, 26 Mar 2021 18:29:38 +0100 Subject: [PATCH 07/28] Forget reactive articles + ReadMe --- README.md | 3 ++- app/libs/welcome_widget.py | 32 ++++++++++++++++---------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index b93f063..591e43f 100644 --- a/README.md +++ b/README.md @@ -44,4 +44,5 @@ It is largely inspired by `TradingView` which is a wonderfull tool for finance a - [ ] Save users settings - [ ] Embeded Python Console ? - [ ] Draw over the graph -- [ ] Use Machine learning to determine patterns \ No newline at end of file +- [ ] Use Machine learning to determine patterns +- [ ] Draw Fibonnaci on Chart \ No newline at end of file diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 4b1100c..613828e 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -14,22 +14,22 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - # articles = [] - # for tick in self.rdm_tickers(): - # artic = self._get_articles_dict(ticker=tick).articles - # articles.extend(artic) - # - # for index, i in enumerate(articles): - # article = ArticlesWidgetItem(parent=self) - # article.set_title(i["title"], i["link"]) - # article.set_compagny(i["compagny"]) - # article.set_date(i["published"]) - # article.set_description(i["summary"]) - # article.set_thumbnail(i["img"]) - # item = QtWidgets.QListWidgetItem() - # item.setSizeHint(article.sizeHint()) - # self.addItem(item) - # self.setItemWidget(item, article) + articles = [] + for tick in self.rdm_tickers(): + artic = self._get_articles_dict(ticker=tick).articles + articles.extend(artic) + + for index, i in enumerate(articles): + article = ArticlesWidgetItem(parent=self) + article.set_title(i["title"], i["link"]) + article.set_compagny(i["compagny"]) + article.set_date(i["published"]) + article.set_description(i["summary"]) + article.set_thumbnail(i["img"]) + item = QtWidgets.QListWidgetItem() + item.setSizeHint(article.sizeHint()) + self.addItem(item) + self.setItemWidget(item, article) def _get_articles_dict(self, ticker): From 9628c1ff40accf008b41d81d01b38299ad2d2586 Mon Sep 17 00:00:00 2001 From: vince Date: Fri, 26 Mar 2021 22:51:32 +0100 Subject: [PATCH 08/28] Refining Market info in Welcome Page --- app/libs/financial_widget.py | 10 +-- app/libs/markets_widget.py | 27 ++++--- app/libs/welcome_widget.py | 33 ++++----- app/resources/style/style.qss | 6 ++ app/ui/main_window.py | 58 ++++++++++++--- app/ui/main_window.ui | 134 ++++++++++++++++++++++------------ app/view.py | 3 + 7 files changed, 175 insertions(+), 96 deletions(-) diff --git a/app/libs/financial_widget.py b/app/libs/financial_widget.py index 5c046ec..fbbe374 100644 --- a/app/libs/financial_widget.py +++ b/app/libs/financial_widget.py @@ -19,11 +19,11 @@ def on_set_financials_table(self, ticker): """ analyses = AnalyseFondamental(ticker) self.data = analyses.datas - + print('test') self.clear() self.header = self.data['YEAR'] + self.header[-1] = "Bilan" self.header.insert(0, 'Valorisation') - self.header.insert(len(self.header), 'Bilan') score = self.data["Score"] del self.data["YEAR"] @@ -47,10 +47,6 @@ def on_set_financials_table(self, ticker): cell.setTextAlignment(QtCore.Qt.AlignCenter) self.setItem(row, column + 1, cell) - analyse_cell = QtWidgets.QTableWidgetItem() - analyse_cell.setData(QtCore.Qt.DisplayRole, self.data[title]) - self.setItem(row, 7, analyse_cell) - # Add Score to the last Row last_row = len(self.data) self.insertRow(last_row) @@ -76,6 +72,6 @@ def cellHover(self, row, column): """ self.clearSelection() self.current_hover = [0, 0] - for i in range(len(self.header)-1): + for i in range(len(self.header)): item = self.item(row, i) item.setSelected(True) diff --git a/app/libs/markets_widget.py b/app/libs/markets_widget.py index 3c24642..7962b6a 100644 --- a/app/libs/markets_widget.py +++ b/app/libs/markets_widget.py @@ -2,36 +2,35 @@ from ui import markets_widget from PySide2 import QtWidgets from libs.yahoo_fin import stock_info - +from libs.widgets.stackedwidget import StackedWidget TICKERS = { "NASDAQ": "%5EIXIC", - "S&P 500": "5EGSPC", + "S&P 500": "%5EGSPC", "Dow Jones": "%5EDJI", "Oil": "CL%3DF", "BTC": "BTC-USD", + "ETH": "ETH-USD", + "EUR/USD": "EURUSD%3DX", + "GBP/USD": "GBPUSD%3DX", "Gold": "GC%3DF", - "CAC40": "%5EFCHI", } -class MarketsWidget(QtWidgets.QStackedWidget): +class MarketsWidget(StackedWidget): def __init__(self, parent=None): super(MarketsWidget, self).__init__(parent) - # self.pub_go_market_next.clicked.connect(self.stw_main.slide_in_next) - - self.page = QtWidgets.QWidget() - layout = QtWidgets.QHBoxLayout(self.page) + page = QtWidgets.QWidget() + layout = QtWidgets.QHBoxLayout(page) for count, (name, tick) in enumerate(TICKERS.items()): - # if count % 5 == 0: - # self.page = QtWidgets.QWidget() - # layout = QtWidgets.QHBoxLayout(self.page) - + if count % 5 == 0: + page = QtWidgets.QWidget() + layout = QtWidgets.QHBoxLayout(page) item = MarketsWidgetItem(self, ticker=tick, compagny=name) layout.addWidget(item) - self.addWidget(self.page) + self.addWidget(page) class MarketsWidgetItem(QtWidgets.QWidget, markets_widget.Ui_markets): @@ -51,7 +50,7 @@ def __init__(self, parent=None, ticker=None, compagny=None): variation = round(variation, 2) self.title.setText(compagny) - self.price.setText(str(round(day, 2))) + self.price.setText("{} €".format(str(round(day, 2)))) self.pourcentage.setText("{}%".format(str(variation))) if variation < 0: diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 613828e..383b538 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -14,23 +14,22 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - articles = [] - for tick in self.rdm_tickers(): - artic = self._get_articles_dict(ticker=tick).articles - articles.extend(artic) - - for index, i in enumerate(articles): - article = ArticlesWidgetItem(parent=self) - article.set_title(i["title"], i["link"]) - article.set_compagny(i["compagny"]) - article.set_date(i["published"]) - article.set_description(i["summary"]) - article.set_thumbnail(i["img"]) - item = QtWidgets.QListWidgetItem() - item.setSizeHint(article.sizeHint()) - self.addItem(item) - self.setItemWidget(item, article) - + # articles = [] + # for tick in self.rdm_tickers(): + # artic = self._get_articles_dict(ticker=tick).articles + # articles.extend(artic) + # + # for index, i in enumerate(articles): + # article = ArticlesWidgetItem(parent=self) + # article.set_title(i["title"], i["link"]) + # article.set_compagny(i["compagny"]) + # article.set_date(i["published"]) + # article.set_description(i["summary"]) + # article.set_thumbnail(i["img"]) + # item = QtWidgets.QListWidgetItem() + # item.setSizeHint(article.sizeHint()) + # self.addItem(item) + # self.setItemWidget(item, article) def _get_articles_dict(self, ticker): return ArticlesYahoo(ticker=ticker, translate=False, single=True) diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index 41774ad..1fdc5d5 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -182,3 +182,9 @@ QTableWidget#wid_table_financ { border-style: none; } +/* TableWidget */ + +QListWidget#wdg_article_welcome { + background:transparent; + border-style: none; +} diff --git a/app/ui/main_window.py b/app/ui/main_window.py index 8bb37c7..5bb1f12 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -109,12 +109,6 @@ def setupUi(self, MainWindow): self.wgt_markets_2 = MarketsWidget(self.wgt_welcome) self.wgt_markets_2.setObjectName(u"wgt_markets_2") self.wgt_markets_2.setMaximumSize(QSize(16777215, 80)) - self.page_3 = QWidget() - self.page_3.setObjectName(u"page_3") - self.wgt_markets_2.addWidget(self.page_3) - self.page_4 = QWidget() - self.page_4.setObjectName(u"page_4") - self.wgt_markets_2.addWidget(self.page_4) self.horizontalLayout_3.addWidget(self.wgt_markets_2) @@ -132,22 +126,57 @@ def setupUi(self, MainWindow): self.verticalLayout_3.addLayout(self.horizontalLayout_3) - self.listWidget = WelcomeWidget(self.wgt_welcome) - self.listWidget.setObjectName(u"listWidget") + self.line = QFrame(self.wgt_welcome) + self.line.setObjectName(u"line") + self.line.setFrameShape(QFrame.HLine) + self.line.setFrameShadow(QFrame.Sunken) - self.verticalLayout_3.addWidget(self.listWidget) + self.verticalLayout_3.addWidget(self.line) + + self.wdg_article_welcome = WelcomeWidget(self.wgt_welcome) + self.wdg_article_welcome.setObjectName(u"wdg_article_welcome") + + self.verticalLayout_3.addWidget(self.wdg_article_welcome) self.stw_main.addWidget(self.wgt_welcome) - self.wgt_articles = ArticlesWidget() + self.wgt_article = QWidget() + self.wgt_article.setObjectName(u"wgt_article") + self.verticalLayout_2 = QVBoxLayout(self.wgt_article) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.label_2 = LabelTitle(self.wgt_article) + self.label_2.setObjectName(u"label_2") + self.label_2.setAlignment(Qt.AlignCenter) + + self.verticalLayout_2.addWidget(self.label_2) + + self.line_2 = QFrame(self.wgt_article) + self.line_2.setObjectName(u"line_2") + self.line_2.setFrameShape(QFrame.HLine) + self.line_2.setFrameShadow(QFrame.Sunken) + + self.verticalLayout_2.addWidget(self.line_2) + + self.wgt_articles = ArticlesWidget(self.wgt_article) self.wgt_articles.setObjectName(u"wgt_articles") - self.stw_main.addWidget(self.wgt_articles) + + self.verticalLayout_2.addWidget(self.wgt_articles) + + self.stw_main.addWidget(self.wgt_article) self.wgt_graph = GraphWidget() self.wgt_graph.setObjectName(u"wgt_graph") self.wgt_graph.setCursor(QCursor(Qt.CrossCursor)) self.stw_main.addWidget(self.wgt_graph) self.wgt_financ = QWidget() self.wgt_financ.setObjectName(u"wgt_financ") - self.horizontalLayout_2 = QHBoxLayout(self.wgt_financ) + self.verticalLayout_4 = QVBoxLayout(self.wgt_financ) + self.verticalLayout_4.setObjectName(u"verticalLayout_4") + self.financial_label = LabelTitle(self.wgt_financ) + self.financial_label.setObjectName(u"financial_label") + self.financial_label.setAlignment(Qt.AlignCenter) + + self.verticalLayout_4.addWidget(self.financial_label) + + self.horizontalLayout_2 = QHBoxLayout() self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.horizontalSpacer = QSpacerItem(240, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) @@ -164,6 +193,9 @@ def setupUi(self, MainWindow): self.horizontalLayout_2.addItem(self.horizontalSpacer_2) + + self.verticalLayout_4.addLayout(self.horizontalLayout_2) + self.stw_main.addWidget(self.wgt_financ) self.verticalLayout.addWidget(self.stw_main) @@ -230,6 +262,8 @@ def retranslateUi(self, MainWindow): self.label.setText(QCoreApplication.translate("MainWindow", u"Trading Visualisation", None)) self.pub_go_market_prev.setText("") self.pub_go_market_next.setText("") + self.label_2.setText(QCoreApplication.translate("MainWindow", u"Related News", None)) + self.financial_label.setText(QCoreApplication.translate("MainWindow", u"Financials", None)) self.menuOptions.setTitle(QCoreApplication.translate("MainWindow", u"Options", None)) self.dock_wgt_company.setWindowTitle(QCoreApplication.translate("MainWindow", u"Company", None)) self.dock_wgt_indicators.setWindowTitle(QCoreApplication.translate("MainWindow", u"Indicators", None)) diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index e3bcdc5..46f21b8 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -183,8 +183,6 @@ 80 - - @@ -225,65 +223,109 @@ - - - - - - - - CrossCursor - - - - - - + Qt::Horizontal - - QSizePolicy::Expanding - - - - 240 - 20 - - - + - - - - 850 - 0 - + + + + + + + + + + Related News - - - 850 - 16777215 - + + Qt::AlignCenter - + Qt::Horizontal - - QSizePolicy::Expanding + + + + + + + + + + CrossCursor + + + + + + + + Financials - - - 240 - 20 - + + Qt::AlignCenter - + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 240 + 20 + + + + + + + + + 850 + 0 + + + + + 850 + 16777215 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 240 + 20 + + + + + diff --git a/app/view.py b/app/view.py index 65a49b0..f76241d 100644 --- a/app/view.py +++ b/app/view.py @@ -103,10 +103,13 @@ def __init__(self, parent=None, data=None): self.pub_go_welcome.clicked.connect(self.stw_main.slide_in_prev) self.pub_go_graph.clicked.connect(self.stw_main.slide_in_next) + self.pub_go_market_prev.clicked.connect(self.wgt_markets_2.slide_in_prev) + self.pub_go_market_next.clicked.connect(self.wgt_markets_2.slide_in_next) # Action which needs to be loaded after all signals self.favorites_manager.load_favorite() + def _init_app_home(self): """Init the APP_HOME of the application""" base_path = os.path.expanduser("~") From 6e6c74a078a33e2cb32e849176c1fe7adccccff8 Mon Sep 17 00:00:00 2001 From: vince Date: Sat, 27 Mar 2021 12:31:53 +0100 Subject: [PATCH 09/28] Modif css Indicator Setting for Windows --- app/libs/financial_widget.py | 2 +- app/libs/welcome_widget.py | 32 +++++++-------- app/libs/widgets/article_itemwidget.py | 2 +- app/resources/style/style.qss | 55 ++++++++++++++++++++++++-- app/ui/__convert.py | 2 +- app/ui/indicator_settings_dialog.py | 52 ++++++------------------ app/ui/indicator_settings_dialog.ui | 4 +- 7 files changed, 85 insertions(+), 64 deletions(-) diff --git a/app/libs/financial_widget.py b/app/libs/financial_widget.py index fbbe374..a7f13be 100644 --- a/app/libs/financial_widget.py +++ b/app/libs/financial_widget.py @@ -19,7 +19,7 @@ def on_set_financials_table(self, ticker): """ analyses = AnalyseFondamental(ticker) self.data = analyses.datas - print('test') + self.clear() self.header = self.data['YEAR'] self.header[-1] = "Bilan" diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 383b538..647ea8d 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -14,22 +14,22 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - # articles = [] - # for tick in self.rdm_tickers(): - # artic = self._get_articles_dict(ticker=tick).articles - # articles.extend(artic) - # - # for index, i in enumerate(articles): - # article = ArticlesWidgetItem(parent=self) - # article.set_title(i["title"], i["link"]) - # article.set_compagny(i["compagny"]) - # article.set_date(i["published"]) - # article.set_description(i["summary"]) - # article.set_thumbnail(i["img"]) - # item = QtWidgets.QListWidgetItem() - # item.setSizeHint(article.sizeHint()) - # self.addItem(item) - # self.setItemWidget(item, article) + articles = [] + for tick in self.rdm_tickers(): + artic = self._get_articles_dict(ticker=tick).articles + articles.extend(artic) + + for index, i in enumerate(articles): + article = ArticlesWidgetItem(parent=self) + article.set_title(i["title"], i["link"]) + article.set_compagny(i["compagny"]) + article.set_date(i["published"]) + article.set_description(i["summary"]) + article.set_thumbnail(i["img"]) + item = QtWidgets.QListWidgetItem() + item.setSizeHint(article.sizeHint()) + self.addItem(item) + self.setItemWidget(item, article) def _get_articles_dict(self, ticker): return ArticlesYahoo(ticker=ticker, translate=False, single=True) diff --git a/app/libs/widgets/article_itemwidget.py b/app/libs/widgets/article_itemwidget.py index 9a03e11..72cc37c 100644 --- a/app/libs/widgets/article_itemwidget.py +++ b/app/libs/widgets/article_itemwidget.py @@ -26,7 +26,7 @@ def set_title(self, text, link): """ self.lb_title.setText(text) self.lb_title.set_link(link) - self.lb_title.set_font_size(size=15) + self.lb_title.set_font_size(size=14) def set_date(self, text): """ diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index 1fdc5d5..c2b44f0 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -44,6 +44,20 @@ QTabBar::tab:selected:disabled { border-bottom: 2px solid palette(light); } + +/* + * QTabWidget + */ + +QTabWidget#tab_settings { + background: transparent; + border: none; +} + +QWidget#wgt_settings_input,#wgt_settings_styles { + background: palette(base); +} + /* * QScrollBar */ @@ -177,14 +191,49 @@ QDockWidget { } /* TableWidget */ -QTableWidget#wid_table_financ { +QTableWidget#wid_table_financ,#tab_settings { background:transparent; border-style: none; } -/* TableWidget */ +/* QListWidget */ -QListWidget#wdg_article_welcome { +QListWidget#wdg_article_welcome,#wgt_articles,#lst_inputs { background:transparent; border-style: none; } + +/* QPushButton */ +QPushButton#pub_cancel,#pub_ok,#pub_reset{ + background: palette(midlight); + height:20px; + border-radius:3px; +} + +/* QComboBox */ +QComboBox#cob_value_list,#cob_line_style{ + background: palette(midlight); + border-radius:3px; + width: 50px; + height:20px; +} + +/* QDoubleSpinBox */ +QDoubleSpinBox{ + background: palette(midlight); + border-radius:3px; + width: 40px; + height:20px; +} + +/* QSpinBox */ +QSpinBox{ + background: palette(midlight); + border-radius:3px; + width: 40px; + height:20px; +} + +SetSysColors{ + border: 1px solid black; +} \ No newline at end of file diff --git a/app/ui/__convert.py b/app/ui/__convert.py index de12e8c..a40ac0f 100644 --- a/app/ui/__convert.py +++ b/app/ui/__convert.py @@ -1,6 +1,6 @@ import subprocess -cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" +cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe indicator_settings_dialog.ui > indicator_settings_dialog.py" # cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" # main_window markets_widget subprocess.run(cmd, shell=True) diff --git a/app/ui/indicator_settings_dialog.py b/app/ui/indicator_settings_dialog.py index 167e7cc..0a003c9 100644 --- a/app/ui/indicator_settings_dialog.py +++ b/app/ui/indicator_settings_dialog.py @@ -16,10 +16,8 @@ class Ui_IndicatorSettingsDialogWindow(object): def setupUi(self, IndicatorSettingsDialogWindow): if not IndicatorSettingsDialogWindow.objectName(): - IndicatorSettingsDialogWindow.setObjectName( - u"IndicatorSettingsDialogWindow" - ) - IndicatorSettingsDialogWindow.resize(400, 300) + IndicatorSettingsDialogWindow.setObjectName(u"IndicatorSettingsDialogWindow") + IndicatorSettingsDialogWindow.resize(400, 301) self.verticalLayout = QVBoxLayout(IndicatorSettingsDialogWindow) self.verticalLayout.setObjectName(u"verticalLayout") self.tab_settings = QTabWidget(IndicatorSettingsDialogWindow) @@ -71,51 +69,25 @@ def setupUi(self, IndicatorSettingsDialogWindow): self.horizontalLayout.addWidget(self.pub_ok) + self.verticalLayout.addLayout(self.horizontalLayout) + self.retranslateUi(IndicatorSettingsDialogWindow) self.tab_settings.setCurrentIndex(0) self.pub_ok.setDefault(True) - QMetaObject.connectSlotsByName(IndicatorSettingsDialogWindow) + QMetaObject.connectSlotsByName(IndicatorSettingsDialogWindow) # setupUi def retranslateUi(self, IndicatorSettingsDialogWindow): - IndicatorSettingsDialogWindow.setWindowTitle( - QCoreApplication.translate( - "IndicatorSettingsDialogWindow", - u"IndicatorSettingsDialogWindow", - None, - ) - ) - self.tab_settings.setTabText( - self.tab_settings.indexOf(self.wgt_settings_input), - QCoreApplication.translate( - "IndicatorSettingsDialogWindow", u"Input", None - ), - ) - self.tab_settings.setTabText( - self.tab_settings.indexOf(self.wgt_settings_styles), - QCoreApplication.translate( - "IndicatorSettingsDialogWindow", u"Style", None - ), - ) - self.pub_reset.setText( - QCoreApplication.translate( - "IndicatorSettingsDialogWindow", u"Reset values", None - ) - ) - self.pub_cancel.setText( - QCoreApplication.translate( - "IndicatorSettingsDialogWindow", u"Cancel", None - ) - ) - self.pub_ok.setText( - QCoreApplication.translate( - "IndicatorSettingsDialogWindow", u"Ok", None - ) - ) - + IndicatorSettingsDialogWindow.setWindowTitle(QCoreApplication.translate("IndicatorSettingsDialogWindow", u"Settings Indicators", None)) + self.tab_settings.setTabText(self.tab_settings.indexOf(self.wgt_settings_input), QCoreApplication.translate("IndicatorSettingsDialogWindow", u"Input", None)) + self.tab_settings.setTabText(self.tab_settings.indexOf(self.wgt_settings_styles), QCoreApplication.translate("IndicatorSettingsDialogWindow", u"Style", None)) + self.pub_reset.setText(QCoreApplication.translate("IndicatorSettingsDialogWindow", u"Reset values", None)) + self.pub_cancel.setText(QCoreApplication.translate("IndicatorSettingsDialogWindow", u"Cancel", None)) + self.pub_ok.setText(QCoreApplication.translate("IndicatorSettingsDialogWindow", u"Ok", None)) # retranslateUi + diff --git a/app/ui/indicator_settings_dialog.ui b/app/ui/indicator_settings_dialog.ui index 4aca884..aae48b8 100644 --- a/app/ui/indicator_settings_dialog.ui +++ b/app/ui/indicator_settings_dialog.ui @@ -7,11 +7,11 @@ 0 0 400 - 300 + 301 - IndicatorSettingsDialogWindow + Settings Indicators From cf5011b601eb74e13578218b86047393d1d29f5b Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 28 Mar 2021 14:21:20 +0200 Subject: [PATCH 10/28] Add Close Price Line and Legend in Y Axis --- app/libs/graph/graphwidget.py | 22 ++++++++++++++++++++++ app/libs/welcome_widget.py | 32 ++++++++++++++++---------------- 2 files changed, 38 insertions(+), 16 deletions(-) diff --git a/app/libs/graph/graphwidget.py b/app/libs/graph/graphwidget.py index 7e58082..5e831dc 100644 --- a/app/libs/graph/graphwidget.py +++ b/app/libs/graph/graphwidget.py @@ -51,7 +51,25 @@ def plot_quotation(self, data, clear=True): item = CandlestickItem(ls_data) self.g_quotation.addItem(item) self.g_quotation.enableAutoRange() + + color_line = (38, 166, 154) + if data['Close'].iloc[-1] < data['Open'].iloc[-1]: + color_line = (239, 83, 80) + + self.h_price = pg.InfiniteLine( + pos=data['Close'].iloc[-1], + angle=0, + movable=False, + pen=pg.mkPen( + color=color_line, + width=1, + style=QtCore.Qt.DotLine, + ), + ) + self.g_quotation.addItem(self.h_price, ignoreBounds=True) + self.set_time_x_axis(widget=self.g_quotation) + self._set_y_axis_(widget=self.g_quotation, data_close=data['Close']) self.set_cross_hair() def set_cross_hair(self): @@ -91,6 +109,10 @@ def _on_mouse_moved(self, event): self.v_line.setPos(mousePoint.x()) self.h_line.setPos(mousePoint.y()) + def _set_y_axis_(self, widget, data_close): + widget.showAxis('right') + axis = widget.getAxis('right') + axis.setTicks([[(data_close[-1], str(round(data_close[-1], 2)))]]) class GraphWidget(QtWidgets.QWidget): """Widget wrapper for the graph""" diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 647ea8d..383b538 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -14,22 +14,22 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - articles = [] - for tick in self.rdm_tickers(): - artic = self._get_articles_dict(ticker=tick).articles - articles.extend(artic) - - for index, i in enumerate(articles): - article = ArticlesWidgetItem(parent=self) - article.set_title(i["title"], i["link"]) - article.set_compagny(i["compagny"]) - article.set_date(i["published"]) - article.set_description(i["summary"]) - article.set_thumbnail(i["img"]) - item = QtWidgets.QListWidgetItem() - item.setSizeHint(article.sizeHint()) - self.addItem(item) - self.setItemWidget(item, article) + # articles = [] + # for tick in self.rdm_tickers(): + # artic = self._get_articles_dict(ticker=tick).articles + # articles.extend(artic) + # + # for index, i in enumerate(articles): + # article = ArticlesWidgetItem(parent=self) + # article.set_title(i["title"], i["link"]) + # article.set_compagny(i["compagny"]) + # article.set_date(i["published"]) + # article.set_description(i["summary"]) + # article.set_thumbnail(i["img"]) + # item = QtWidgets.QListWidgetItem() + # item.setSizeHint(article.sizeHint()) + # self.addItem(item) + # self.setItemWidget(item, article) def _get_articles_dict(self, ticker): return ArticlesYahoo(ticker=ticker, translate=False, single=True) From ca65705c6e7115fd8baca16eb5be24c23b601642 Mon Sep 17 00:00:00 2001 From: AlexLaur Date: Sun, 28 Mar 2021 15:07:47 +0200 Subject: [PATCH 11/28] add args for toolbars actions --- app/libs/widgets/toolbar.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/libs/widgets/toolbar.py b/app/libs/widgets/toolbar.py index bdb1b34..97b4638 100644 --- a/app/libs/widgets/toolbar.py +++ b/app/libs/widgets/toolbar.py @@ -28,7 +28,7 @@ def __init__(self, parent=None): def _trigger_action(self): """Called on action triggered""" sender = self.sender() - self.signals.sig_action_triggered.emit(sender.action) + self.signals.sig_action_triggered.emit(sender.action, sender.args) def init_toolbar(self): """This method inits the toolbar of the app""" @@ -136,6 +136,7 @@ def __init__(self, parent=None, text=None, action=None, **kwargs): # Properties self.action = action + self.args = kwargs.get("args", {}) icon = kwargs.get("icon", None) if icon: From ae5a8e392c961a1ca99ebe874b604b752ec2e774 Mon Sep 17 00:00:00 2001 From: AlexLaur Date: Sun, 28 Mar 2021 15:11:18 +0200 Subject: [PATCH 12/28] args for draw line --- app/resources/toolbar/toolbar.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/resources/toolbar/toolbar.json b/app/resources/toolbar/toolbar.json index f3f4d7b..b083503 100644 --- a/app/resources/toolbar/toolbar.json +++ b/app/resources/toolbar/toolbar.json @@ -16,7 +16,10 @@ "type": "resources", "value": ":/svg/trend-line.svg" }, - "action": "method_to_call", + "action": "roi_manager.set_tool", + "args": { + "tool": "line_drawer" + }, "tooltip": "Trend Line", "text": "Trend Line", "shortcut": "Alt+T", From 274712d415629b8c15d5cfe3a20821b38c554f9e Mon Sep 17 00:00:00 2001 From: AlexLaur Date: Sun, 28 Mar 2021 15:14:58 +0200 Subject: [PATCH 13/28] edit events for action trigerred --- app/libs/events_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/libs/events_handler.py b/app/libs/events_handler.py index 2021684..5c23967 100644 --- a/app/libs/events_handler.py +++ b/app/libs/events_handler.py @@ -22,7 +22,7 @@ class EventHandler(QtCore.QObject): sig_indicator_settings_canceled = QtCore.Signal(object) sig_indicator_settings_reseted = QtCore.Signal(object) - sig_action_triggered = QtCore.Signal(str) + sig_action_triggered = QtCore.Signal(str, dict) sig_favorite_created = QtCore.Signal(str) sig_favorite_loaded = QtCore.Signal(list) From 57e7a7f6b0ad14b89186d340a5dc81636bc0e2e2 Mon Sep 17 00:00:00 2001 From: AlexLaur Date: Sun, 28 Mar 2021 15:15:56 +0200 Subject: [PATCH 14/28] edit signal action triggered --- app/view.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/view.py b/app/view.py index ee274fe..d3aa622 100644 --- a/app/view.py +++ b/app/view.py @@ -13,6 +13,7 @@ from libs.thread_pool import ThreadPool from libs.graph.candlestick import CandlestickItem from libs.io.favorite_settings import FavoritesManager +from libs.roi_manager import ROIManager from ui import main_window @@ -67,7 +68,6 @@ def __init__(self, parent=None, data=None): self.signals.sig_ticker_infos_fetched.connect( self.wgt_company._on_ticker_infos ) - ## self.signals.sig_ticker_articles_fetched.connect( self.wgt_articles.get_articles ) @@ -157,16 +157,18 @@ def _on_indicator_switched(self, indicator: object, state: bool): else: indicator.remove_indicator(graph_view=self.wgt_graph.graph) - @QtCore.Slot(str) - def _on_action_triggered(self, action: str): + @QtCore.Slot(str, dict) + def _on_action_triggered(self, action: str, args:dict): """Callback on action triggered from the toolbar :param action: The action to find and call :type action: str + :param args: Args for the action + :type args: dict """ action_obj = utils.find_method(module=action, obj=self) if action_obj: - action_obj() + action_obj(**args) def resizeEvent(self, event): if self.tickers_dialog: From 274d84a0da7ea1eeb57de74ab088673a31aca34e Mon Sep 17 00:00:00 2001 From: AlexLaur Date: Sun, 28 Mar 2021 15:52:45 +0200 Subject: [PATCH 15/28] Base for drawing ROI --- app/libs/events_handler.py | 2 + app/libs/graph/graphwidget.py | 25 ++++++++++ app/libs/roi_manager.py | 75 ++++++++++++++++++++++++++++++ app/resources/toolbar/toolbar.json | 2 +- app/view.py | 5 +- 5 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 app/libs/roi_manager.py diff --git a/app/libs/events_handler.py b/app/libs/events_handler.py index 5c23967..40d2097 100644 --- a/app/libs/events_handler.py +++ b/app/libs/events_handler.py @@ -31,4 +31,6 @@ class EventHandler(QtCore.QObject): sig_favorite_removed = QtCore.Signal(dict) sig_favorite_clicked = QtCore.Signal(str) + sig_graph_clicked = QtCore.Signal(list, object) + sig_articles = QtCore.Signal(dict) diff --git a/app/libs/graph/graphwidget.py b/app/libs/graph/graphwidget.py index 7e58082..ddd4688 100644 --- a/app/libs/graph/graphwidget.py +++ b/app/libs/graph/graphwidget.py @@ -2,6 +2,7 @@ from PySide2 import QtCore, QtGui, QtWidgets from libs.graph.candlestick import CandlestickItem +from libs.events_handler import EventHandler from utils import utils # TODO import from palette or Qss @@ -19,11 +20,16 @@ def __init__(self, parent=None): self.v_line = None self.h_line = None + self.signals = EventHandler() + self.g_quotation = self.addPlot(row=0, col=0, name="Quotation") self.g_quotation.showGrid(x=True, y=True, alpha=0.3) self.g_vb = self.g_quotation.vb self.set_cross_hair() + self.g_quotation.scene().sigMouseClicked.connect( + self._on_mouse_clicked + ) def plot_quotation(self, data, clear=True): """Plot the quotation @@ -79,6 +85,7 @@ def set_cross_hair(self): def set_time_x_axis(self, widget): widget.setAxisItems({"bottom": pg.DateAxisItem(orientation="bottom")}) + @QtCore.Slot(object) def _on_mouse_moved(self, event): """Signal on mouse moved @@ -91,6 +98,17 @@ def _on_mouse_moved(self, event): self.v_line.setPos(mousePoint.x()) self.h_line.setPos(mousePoint.y()) + @QtCore.Slot(object) + def _on_mouse_clicked(self, event): + """Called on mouse clicked + + :param event: Mouse clicked + :type event: event + """ + items = self.g_quotation.scene().items(event.scenePos()) + plot_items = [x for x in items if isinstance(x, pg.PlotItem)] + self.signals.sig_graph_clicked.emit(plot_items, event) + class GraphWidget(QtWidgets.QWidget): """Widget wrapper for the graph""" @@ -103,6 +121,13 @@ def __init__(self, parent=None): layout.addWidget(self._graph) self.setLayout(layout) + self.signals = EventHandler() + + # Signals + self._graph.signals.sig_graph_clicked.connect( + self.signals.sig_graph_clicked.emit + ) # Relay signal + @property def graph(self): """Return the graph diff --git a/app/libs/roi_manager.py b/app/libs/roi_manager.py new file mode 100644 index 0000000..b58f1e6 --- /dev/null +++ b/app/libs/roi_manager.py @@ -0,0 +1,75 @@ +import pyqtgraph as pg +from PySide2 import QtCore, QtWidgets + + +class ROIManager(QtCore.QObject): + def __init__(self, parent=None): + super(ROIManager, self).__init__(parent) + + # Constants + self.current_tool = None + self._graph = self.parent().wgt_graph.graph + + # Signals + self.parent().wgt_graph.signals.sig_graph_clicked.connect( + self._on_roi_add_requested + ) + + def drawer(self, graph, event): + """Drawer over the graph""" + # Test + vb = graph.vb + mousePoint = vb.mapSceneToView(event.pos()) + print(mousePoint) + # End test + + if self.current_tool: + self.current_tool(graph=graph) # Exec the current tool + self.unset_tool() + + def bounded_line_drawer(self, graph, **kwargs): + """Draw a bounded line + + :param graph: The graph on whch to draw + :type graph: pg.PlotItem + """ + roi = pg.LineSegmentROI(([50, 50], [150, 50]), removable=True) + graph.addItem(roi) + roi.sigRemoveRequested.connect(self._on_roi_remove_requested) + + def set_tool(self, **kwargs): + """Set the current tool. kwargs may have a tool which corresponds to + the method to call inside this module. + + :return: The current tool + :rtype: method if found, None instead + """ + self.current_tool = getattr(self, kwargs.get("tool", None), None) + return self.current_tool + + def unset_tool(self): + """Unset the current tool""" + self.current_tool = None + + def remove_roi(self, roi): + """Remove the given roi + + :param roi: The roi to remove + :type roi: pg.ROI + """ + print(roi.parent()) + + @QtCore.Slot(list, object) + def _on_roi_add_requested(self, objects, event): + """Called on a draw requested""" + if objects: + self.drawer(graph=objects[0], event=event) + + @QtCore.Slot(object) + def _on_roi_remove_requested(self, roi): + """Called on a request for ROI deletion + + :param roi: The roi to remove + :type roi: pg.ROI + """ + self.remove_roi(roi=roi) diff --git a/app/resources/toolbar/toolbar.json b/app/resources/toolbar/toolbar.json index b083503..dd5c0bd 100644 --- a/app/resources/toolbar/toolbar.json +++ b/app/resources/toolbar/toolbar.json @@ -18,7 +18,7 @@ }, "action": "roi_manager.set_tool", "args": { - "tool": "line_drawer" + "tool": "bounded_line_drawer" }, "tooltip": "Trend Line", "text": "Trend Line", diff --git a/app/view.py b/app/view.py index d3aa622..50902e5 100644 --- a/app/view.py +++ b/app/view.py @@ -28,7 +28,7 @@ def __init__(self, parent=None, data=None): super(MainWindow, self).__init__(parent=parent) self.setupUi(self) - self.setWindowState(QtCore.Qt.WindowMaximized) + # self.setWindowState(QtCore.Qt.WindowMaximized) # Constants self.tickers_dialog = None @@ -41,6 +41,7 @@ def __init__(self, parent=None, data=None): self.thread_pool = ThreadPool() self.signals = EventHandler() self.favorites_manager = FavoritesManager(parent=self) + self.roi_manager = ROIManager(parent=self) # Signals self.lie_ticker.mousePressEvent = self.tickers_dialog.show @@ -158,7 +159,7 @@ def _on_indicator_switched(self, indicator: object, state: bool): indicator.remove_indicator(graph_view=self.wgt_graph.graph) @QtCore.Slot(str, dict) - def _on_action_triggered(self, action: str, args:dict): + def _on_action_triggered(self, action: str, args: dict): """Callback on action triggered from the toolbar :param action: The action to find and call From 4f99c7003f8d72d83c6eb4512ac4b33bf85ff377 Mon Sep 17 00:00:00 2001 From: AlexLaur Date: Mon, 29 Mar 2021 09:33:25 +0200 Subject: [PATCH 16/28] continue tests arround rois --- app/libs/events_handler.py | 7 ++-- app/libs/graph/graphwidget.py | 25 +++++++++++++-- app/libs/roi_manager.py | 60 +++++++++++++++++++++++++---------- 3 files changed, 71 insertions(+), 21 deletions(-) diff --git a/app/libs/events_handler.py b/app/libs/events_handler.py index 40d2097..167c240 100644 --- a/app/libs/events_handler.py +++ b/app/libs/events_handler.py @@ -31,6 +31,9 @@ class EventHandler(QtCore.QObject): sig_favorite_removed = QtCore.Signal(dict) sig_favorite_clicked = QtCore.Signal(str) - sig_graph_clicked = QtCore.Signal(list, object) - sig_articles = QtCore.Signal(dict) + + sig_graph_clicked = QtCore.Signal(list, object) + sig_graph_mouse_moved = QtCore.Signal(object) + sig_graph_mouse_pressed = QtCore.Signal(object) + sig_graph_mouse_released = QtCore.Signal(object) diff --git a/app/libs/graph/graphwidget.py b/app/libs/graph/graphwidget.py index ddd4688..857be52 100644 --- a/app/libs/graph/graphwidget.py +++ b/app/libs/graph/graphwidget.py @@ -109,6 +109,18 @@ def _on_mouse_clicked(self, event): plot_items = [x for x in items if isinstance(x, pg.PlotItem)] self.signals.sig_graph_clicked.emit(plot_items, event) + def mousePressEvent(self, event): + self.signals.sig_graph_mouse_pressed.emit(event) + super(GraphView, self).mousePressEvent(event) + + def mouseReleaseEvent(self, event): + self.signals.sig_graph_mouse_released.emit(event) + super(GraphView, self).mouseReleaseEvent(event) + + def mouseMoveEvent(self, event): + self.signals.sig_graph_mouse_moved.emit(event) + super(GraphView, self).mouseMoveEvent(event) + class GraphWidget(QtWidgets.QWidget): """Widget wrapper for the graph""" @@ -123,10 +135,19 @@ def __init__(self, parent=None): self.signals = EventHandler() - # Signals + # Relay Signals self._graph.signals.sig_graph_clicked.connect( self.signals.sig_graph_clicked.emit - ) # Relay signal + ) + self._graph.signals.sig_graph_mouse_pressed.connect( + self.signals.sig_graph_mouse_pressed.emit + ) + self._graph.signals.sig_graph_mouse_released.connect( + self.signals.sig_graph_mouse_released.emit + ) + self._graph.signals.sig_graph_mouse_moved.connect( + self.signals.sig_graph_mouse_moved.emit + ) @property def graph(self): diff --git a/app/libs/roi_manager.py b/app/libs/roi_manager.py index b58f1e6..5d28070 100644 --- a/app/libs/roi_manager.py +++ b/app/libs/roi_manager.py @@ -1,3 +1,4 @@ +import time import pyqtgraph as pg from PySide2 import QtCore, QtWidgets @@ -8,33 +9,38 @@ def __init__(self, parent=None): # Constants self.current_tool = None + self.current_handle = None + self.current_graph = None self._graph = self.parent().wgt_graph.graph # Signals self.parent().wgt_graph.signals.sig_graph_clicked.connect( self._on_roi_add_requested ) + self.parent().wgt_graph.signals.sig_graph_mouse_moved.connect(self._on_mouse_moved) + # self.parent().wgt_graph.signals.sig_graph_mouse_pressed.connect(self._on_mouse_pressed) + # self.parent().wgt_graph.signals.sig_graph_mouse_released.connect(self._on_mouse_released) def drawer(self, graph, event): - """Drawer over the graph""" - # Test - vb = graph.vb - mousePoint = vb.mapSceneToView(event.pos()) - print(mousePoint) - # End test + """Drawer over the graph + :param graph: The graph on whch to draw + :type graph: pg.PlotItem + :param event: The event + :type event: object + """ + self.current_graph = graph + vb = graph.vb + mouse_point = vb.mapSceneToView(event.pos()) if self.current_tool: - self.current_tool(graph=graph) # Exec the current tool - self.unset_tool() + self.current_tool(initial_pos=mouse_point) # Exec the current tool - def bounded_line_drawer(self, graph, **kwargs): + def bounded_line_drawer(self, initial_pos, **kwargs): """Draw a bounded line - - :param graph: The graph on whch to draw - :type graph: pg.PlotItem """ - roi = pg.LineSegmentROI(([50, 50], [150, 50]), removable=True) - graph.addItem(roi) + roi = pg.LineSegmentROI((initial_pos, initial_pos), removable=True) + self.current_handle = roi.getHandles()[-1] + self.current_graph.addItem(roi) roi.sigRemoveRequested.connect(self._on_roi_remove_requested) def set_tool(self, **kwargs): @@ -50,6 +56,8 @@ def set_tool(self, **kwargs): def unset_tool(self): """Unset the current tool""" self.current_tool = None + self.current_handle = None + self.current_graph = None def remove_roi(self, roi): """Remove the given roi @@ -57,13 +65,31 @@ def remove_roi(self, roi): :param roi: The roi to remove :type roi: pg.ROI """ - print(roi.parent()) + print(roi) + + @QtCore.Slot(object) + def _on_mouse_moved(self, event): + if self.current_handle: + vb = self.current_graph.vb + mousePoint = vb.mapSceneToView(event.pos()) + self.current_handle.setPos(mousePoint) + + @QtCore.Slot(object) + def _on_mouse_released(self, event): + print("Released", event) + + @QtCore.Slot(object) + def _on_mouse_pressed(self, event): + print("Pressed", event) @QtCore.Slot(list, object) def _on_roi_add_requested(self, objects, event): """Called on a draw requested""" - if objects: - self.drawer(graph=objects[0], event=event) + if not self.current_handle: + if objects: + self.drawer(graph=objects[0], event=event) + else: + self.unset_tool() @QtCore.Slot(object) def _on_roi_remove_requested(self, roi): From fe45250119a54aeb666a3a24635434bd23d2afa7 Mon Sep 17 00:00:00 2001 From: vince Date: Fri, 2 Apr 2021 20:01:41 +0200 Subject: [PATCH 17/28] Fibonnaci fonctionnel but need a refacto --- app/add_ons/indicators/fibonnaci.py | 177 ++++++++++++++++++++++++++ app/libs/graph/graphwidget.py | 12 ++ app/libs/predictions/predictions.py | 0 app/libs/predictions/predictions_2.py | 0 4 files changed, 189 insertions(+) create mode 100644 app/add_ons/indicators/fibonnaci.py create mode 100644 app/libs/predictions/predictions.py create mode 100644 app/libs/predictions/predictions_2.py diff --git a/app/add_ons/indicators/fibonnaci.py b/app/add_ons/indicators/fibonnaci.py new file mode 100644 index 0000000..9b95950 --- /dev/null +++ b/app/add_ons/indicators/fibonnaci.py @@ -0,0 +1,177 @@ +import numpy as np +import pyqtgraph as pg + +from utils.indicators_utils import Indicator, InputField, ChoiceField + +RATIO = [78.6, 61.8, 50.0, 38.2, 23.6] +COLORS = { + 78.6: (255, 56, 56), + 61.8: (218, 255, 56), + 50.0: (56, 255, 82), + 38.2: (148, 56, 255), + 23.6: (56, 95, 255), + } + +class Fibonnaci(Indicator): + def __init__(self): + super(Fibonnaci, self).__init__() + + self.name = "Fibonnaci" + self.description = "Fibonnaci" + + # Define and register all customisable settings + # field_input = ChoiceField( + # "Input", choices=["Open", "Close", "High", "Low"], default="Close" + # ) + # self.register_field(field_input) + # line1 = InputField( + # "Fibonnaci", color=(51, 153, 255), value=3, width=2 + # ) + # self.register_fields(line1) + + def create_indicator(self, graph_view, *args, **kwargs): + super(Fibonnaci, self).create_indicator(self, graph_view) + + # Get values + values = graph_view.values + self.quotation_plot = graph_view.g_quotation + + self.roi = pg.RectROI([347, 113], [50, 60], + invertible=True, + pen=pg.mkPen(color=(255, 255, 255), + width=1,), + hoverPen=None, + ) + + self.roi.addTranslateHandle((0,0)) + self.quotation_plot.addItem(self.roi) + + self.set_fibonnaci_levels() + self.roi.sigRegionChanged.connect(self.move_items) + + def move_items(self): + """This method is call everytime the ROI is move. + """ + self.set_fibonnaci_levels() + + def set_fibonnaci_levels(self): + try: + self.quotation_plot.removeItem(self.line_78) + self.quotation_plot.removeItem(self.label_78) + self.quotation_plot.removeItem(self.line_61) + self.quotation_plot.removeItem(self.label_61) + self.quotation_plot.removeItem(self.line_50) + self.quotation_plot.removeItem(self.label_50) + self.quotation_plot.removeItem(self.line_38) + self.quotation_plot.removeItem(self.label_38) + self.quotation_plot.removeItem(self.line_23) + self.quotation_plot.removeItem(self.label_23) + self.quotation_plot.removeItem(self.label_1) + self.quotation_plot.removeItem(self.label_100) + except: + pass + + self.line_78 = self._set_fibonnaci_level(prc=78.6) + self.label_78 = self._set_label_level(prc=78.6) + + self.line_61 = self._set_fibonnaci_level(prc=61.8) + self.label_61 = self._set_label_level(prc=61.8) + + self.line_50 = self._set_fibonnaci_level(prc=50.0) + self.label_50 = self._set_label_level(prc=50.0) + + self.line_38 = self._set_fibonnaci_level(prc=38.2) + self.label_38 = self._set_label_level(prc=38.2) + + self.line_23 = self._set_fibonnaci_level(prc=23.6) + self.label_23 = self._set_label_level(prc=23.6) + + self.label_100 = self._set_label_level(prc=100) + self.label_1 = self._set_label_level(prc=1) + + self.quotation_plot.addItem(self.line_78) + self.quotation_plot.addItem(self.label_78) + self.quotation_plot.addItem(self.line_61) + self.quotation_plot.addItem(self.label_61) + self.quotation_plot.addItem(self.line_50) + self.quotation_plot.addItem(self.label_50) + self.quotation_plot.addItem(self.line_38) + self.quotation_plot.addItem(self.label_38) + self.quotation_plot.addItem(self.line_23) + self.quotation_plot.addItem(self.label_23) + self.quotation_plot.addItem(self.label_100) + self.quotation_plot.addItem(self.label_1) + + def _set_fibonnaci_level(self, prc=50.0): + """This method plot line for each retracement + :param widget: ROIWidget + :type widget: PQQt.GraphWidget + """ + color = COLORS[prc] + xpos, ypos = self.position_line(prc) + + line = pg.LineSegmentROI(positions=(xpos, ypos), + pen=pg.mkPen(color, width=2), + movable=False, + rotatable=False, + resizable=False, + ) + line.setSelected(False) + return line + + + def _set_label_level(self, prc=50.0): + """This method plot label for each retracement + :param widget: TextItem + :type widget: PQQt.GraphWidget + """ + xpos, ypos = self.position_line(prc) + + percentg_lb = "0.{}".format(int(prc)) + label = pg.TextItem(text=' {} ({})'.format(percentg_lb, round(ypos[1], 2)), + anchor=(0, 0.5), + ) + + # Lock Label to the Right of ROI + if xpos[0] < ypos[0]: + position = ypos[0] + else: + position = xpos[0] + + label.setPos(position, ypos[1]) + return label + + def position_line(self, prc=50.0): + """This method return the graph position for the levels + """ + rtc = self._get_fibonnaci_level(prc)[0] + x_pos = [self.roi.pos()[0], rtc] + y_pos = [self.roi.pos()[0] + self.roi.size()[0], rtc] + return x_pos, y_pos + + + def _get_fibonnaci_level(self, prc): + """This method calcul the retracement level calculating the difference + between the min/max of the ROI. + :param prc: Percentage to calculate + :type float: + """ + # position is lower-left ROI + # use x_min and y_min with width and height to find the position + # on the graph. + pos = self.roi.getState()['pos'] + size = self.roi.getState()['size'] + + y_min = pos[1] + y_max = pos[1] + size[1] + variation = y_max - y_min + + retracement = [] + retrc = variation * (prc / 100) + value = y_min + retrc + retracement.append(value) + + return retracement + + def remove_indicator(self, graph_view, *args, **kwargs): + super(Fibonnaci, self).remove_indicator(graph_view) diff --git a/app/libs/graph/graphwidget.py b/app/libs/graph/graphwidget.py index 5e831dc..b9fb181 100644 --- a/app/libs/graph/graphwidget.py +++ b/app/libs/graph/graphwidget.py @@ -110,10 +110,22 @@ def _on_mouse_moved(self, event): self.h_line.setPos(mousePoint.y()) def _set_y_axis_(self, widget, data_close): + """Set Y Axis in Left and add Price. + + :param widget: GraphWidget + :type widget: PQQt.GraphWidget + :param data_close: Data Price 'Close' + :type data_close: DataFrame + """ widget.showAxis('right') axis = widget.getAxis('right') axis.setTicks([[(data_close[-1], str(round(data_close[-1], 2)))]]) + # def mouseMoveEvent(self, event): + # print(event.pos()) + + + class GraphWidget(QtWidgets.QWidget): """Widget wrapper for the graph""" diff --git a/app/libs/predictions/predictions.py b/app/libs/predictions/predictions.py new file mode 100644 index 0000000..e69de29 diff --git a/app/libs/predictions/predictions_2.py b/app/libs/predictions/predictions_2.py new file mode 100644 index 0000000..e69de29 From e2c70bd8c7af6ff34701d15781135fc9feba66ef Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 4 Apr 2021 18:10:34 +0200 Subject: [PATCH 18/28] Add sentimentals in Welcome Page + In TableFinancial --- README.md | 7 +- app/libs/financial_widget.py | 1 - app/libs/tradingview_ta/__init__.py | 2 + app/libs/tradingview_ta/technicals.py | 239 ++++++++++++++++++++++++ app/libs/widgets/sentimentals_widget.py | 84 +++++++++ app/resources/resources.qrc | 6 +- app/resources/style/style.qss | 5 + app/ui/__convert.py | 4 +- app/ui/sentimentals.py | 90 +++++++++ app/ui/sentimentals.ui | 115 ++++++++++++ app/utils/utils.py | 58 +++++- app/view.py | 21 ++- preview_home.png | Bin 0 -> 356382 bytes 13 files changed, 615 insertions(+), 17 deletions(-) create mode 100644 app/libs/tradingview_ta/__init__.py create mode 100644 app/libs/tradingview_ta/technicals.py create mode 100644 app/libs/widgets/sentimentals_widget.py create mode 100644 app/ui/sentimentals.py create mode 100644 app/ui/sentimentals.ui create mode 100644 preview_home.png diff --git a/README.md b/README.md index 591e43f..b522b96 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ This aplication is a exercice working with Qt, PyQt arround the finance. It is largely inspired by `TradingView` which is a wonderfull tool for finance analysis. +![Preview](./preview_home.png) + ![Preview](./preview.jpg) ## Installation @@ -45,4 +47,7 @@ It is largely inspired by `TradingView` which is a wonderfull tool for finance a - [ ] Embeded Python Console ? - [ ] Draw over the graph - [ ] Use Machine learning to determine patterns -- [ ] Draw Fibonnaci on Chart \ No newline at end of file +- [ ] Draw Fibonnaci on Chart => 50% done +- [ ] Make Virtual Portefolio +- [ ] Avaible Trading +- [ ] SplashScreen Loading \ No newline at end of file diff --git a/app/libs/financial_widget.py b/app/libs/financial_widget.py index a7f13be..3053a99 100644 --- a/app/libs/financial_widget.py +++ b/app/libs/financial_widget.py @@ -1,7 +1,6 @@ from PySide2 import QtWidgets, QtCore, QtGui from libs.analysies.analyse_financials import AnalyseFondamental - class QTableWidgetFinance(QtWidgets.QTableWidget): def __init__(self, parent=None): super(QTableWidgetFinance, self).__init__(parent=parent) diff --git a/app/libs/tradingview_ta/__init__.py b/app/libs/tradingview_ta/__init__.py new file mode 100644 index 0000000..f90cfeb --- /dev/null +++ b/app/libs/tradingview_ta/__init__.py @@ -0,0 +1,2 @@ +from .main import TA_Handler, TradingView, Analysis, Interval, Exchange, __version__ +from .technicals import Recommendation, Compute diff --git a/app/libs/tradingview_ta/technicals.py b/app/libs/tradingview_ta/technicals.py new file mode 100644 index 0000000..e43bb42 --- /dev/null +++ b/app/libs/tradingview_ta/technicals.py @@ -0,0 +1,239 @@ +# Tradingview Technical Analysis (tradingview-ta) +# Author: deathlyface (https://github.com/deathlyface) +# Rewritten from https://www.tradingview.com/static/bundles/technicals.f2e6e6a51aebb6cd46f8.js +# License: MIT + +class Recommendation: + buy = "BUY" + strong_buy = "STRONG_BUY" + sell = "SELL" + strong_sell = "STRONG_SELL" + neutral = "NEUTRAL" + error = "ERROR" + +class Compute: + def MA(ma, close): + """Compute Moving Average + + Args: + ma (float): MA value + close (float): Close value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (ma < close): + return Recommendation.buy + elif (ma > close): + return Recommendation.sell + else: + return Recommendation.neutral + + def RSI(rsi, rsi1): + """Compute Relative Strength Index + + Args: + rsi (float): RSI value + rsi1 (float): RSI[1] value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (rsi < 30 and rsi1 > rsi): + return Recommendation.buy + elif (rsi > 70 and rsi1 < rsi): + return Recommendation.sell + else: + return Recommendation.neutral + + def Stoch(k, d, k1, d1): + """Compute Stochastic + + Args: + k (float): Stoch.K value + d (float): Stoch.D value + k1 (float): Stoch.K[1] value + d1 (float): Stoch.D[1] value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (k < 20 and d < 20 and k > d and k1 < d1): + return Recommendation.buy + elif (k > 80 and d > 80 and k < d and k1 > d1): + return Recommendation.sell + else: + return Recommendation.neutral + + def CCI20(cci20, cci201): + """Compute Commodity Channel Index 20 + + Args: + cci20 (float): CCI20 value + cci201 ([type]): CCI20[1] value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (cci20 < -100 and cci20 > cci201): + return Recommendation.buy + elif (cci20 > 100 and cci20 < cci201): + return Recommendation.sell + else: + return Recommendation.neutral + + def ADX(adx, adxpdi, adxndi, adxpdi1, adxndi1): + """Compute Average Directional Index + + Args: + adx (float): ADX value + adxpdi (float): ADX+DI value + adxndi (float): ADX-DI value + adxpdi1 (float): ADX+DI[1] value + adxndi1 (float): ADX-DI[1] value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (adx > 20 and adxpdi1 < adxndi1 and adxpdi > adxndi): + return Recommendation.buy + elif (adx > 20 and adxpdi1 > adxndi1 and adxpdi < adxndi): + return Recommendation.sell + else: + return Recommendation.neutral + + def AO(ao, ao1): + """Compute Awesome Oscillator + + Args: + ao (float): AO value + ao1 (float): AO[1] value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (ao > 0 and ao1 < 0 or ao > 0 and ao1 > 0 and ao > ao1): + return Recommendation.buy + elif (ao < 0 and ao1 > 0 or ao < 0 and ao1 < 0 and ao < ao1): + return Recommendation.sell + else: + return Recommendation.neutral + + def Mom(mom, mom1): + """Compute Momentum + + Args: + mom (float): Mom value + mom1 (float): Mom[1] value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (mom < mom1): + return Recommendation.sell + elif (mom > mom1): + return Recommendation.buy + else: + return Recommendation.neutral + + def MACD(macd, signal): + """Compute Moving Average Convergence/Divergence + + Args: + macd (float): MACD.macd value + signal (float): MACD.signal value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (macd > signal): + return Recommendation.buy + elif (macd < signal): + return Recommendation.sell + else: + return Recommendation.neutral + + def BBBuy(close, bblower): + """Compute Bull Bear Buy + + Args: + close (float): close value + bblower (float): BB.lower value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (close < bblower): + return Recommendation.buy + else: + return Recommendation.neutral + + def BBSell(close, bbupper): + """Compute Bull Bear Sell + + Args: + close (float): close value + bbupper (float): BB.upper value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (close > bbupper): + return Recommendation.sell + else: + return Recommendation.neutral + + def PSAR(psar, open): + """Compute Parabolic Stop-And-Reverse + + Args: + psar (float): P.SAR value + open (float): open value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (psar < open): + return Recommendation.buy + elif (psar > open): + return Recommendation.sell + else: + return Recommendation.neutral + + def Recommend(value): + """Compute Recommend + + Args: + value (float): recommend value + + Returns: + string: "STRONG_BUY", "BUY", "NEUTRAL", "SELL", "STRONG_SELL", or "ERROR" + """ + if (value >= -1 and value < -.5): + return Recommendation.strong_sell + elif (value >= -.5 and value < 0): + return Recommendation.sell + elif (value == 0): + return Recommendation.neutral + elif (value > 0 and value <= .5): + return Recommendation.buy + elif (value > .5 and value <= 1): + return Recommendation.strong_buy + else: + return Recommendation.error + + def Simple(value): + """Compute Simple + + Args: + value (float): Rec.X value + + Returns: + string: "BUY", "SELL", or "NEUTRAL" + """ + if (value == -1): + return Recommendation.sell + elif (value == 1): + return Recommendation.buy + else: + return Recommendation.neutral diff --git a/app/libs/widgets/sentimentals_widget.py b/app/libs/widgets/sentimentals_widget.py new file mode 100644 index 0000000..0c8c6d7 --- /dev/null +++ b/app/libs/widgets/sentimentals_widget.py @@ -0,0 +1,84 @@ +from utils import utils +from ui.sentimentals import Ui_Sentiment_Form +from PySide2 import QtCore, QtGui, QtWidgets +from libs.tradingview_ta import TA_Handler, Interval, Exchange + +TICKERS = ['TSLA', 'AAPL', 'MSFT', 'GLE.PA', 'FP.PA'] + +LVLS = { + "STRONG_SELL": 10, + "SELL": 25, + "NEUTRAL": 50, + "BUY": 75, + "STRONG_BUY": 90, +} + + +class Sentimental_Widget(QtWidgets.QWidget): + def __init__(self, parent=None, ticker=None): + super(Sentimental_Widget, self).__init__(parent=parent) + + layout = QtWidgets.QVBoxLayout(self) + + for ticker in TICKERS: + item = self.get_widget_items(ticker) + layout.addWidget(item) + + def get_widget_items(self, tick): + widget = Sentimental_Widget_Item() + widget.set_sentimental_ui(ticker=tick) + return widget + + +class Sentimental_Widget_Item(QtWidgets.QWidget, Ui_Sentiment_Form): + def __init__(self, parent=None): + super(Sentimental_Widget_Item, self).__init__(parent=parent) + self.setupUi(self) + + def set_sentimental_ui(self, ticker): + sentiment = self.get_sentiments(ticker) + prc = LVLS[sentiment['RECOMMENDATION']] + compagny_name = utils.get_compagny_name_from_tick(ticker) + + self.horizontalSlider.setValue(prc) + self.horizontalSlider.setEnabled(False) + self.label.setText(compagny_name) + self.label.setFont(QtGui.QFont("Times", 12)) + + def get_sentiments(self, tick): + """This method get the Sentiment from the Sentimentals Class + """ + sentiment = Sentimentals(tick) + sentiment = sentiment.get_senti() + return sentiment + + +class Sentimentals(object): + """ + This is returning the sentiment for a compagny. + Going on TradingView, look for indicator if it s a buying, selling or neutral. + + :return: {'RECOMMENDATION': 'BUY', 'BUY: 15, 'SELL': 6, 'NEUTRAL': 4} + """ + + def __init__(self, ticker): + self.handler = TA_Handler() + + # IF + ticker = utils.check_french_ticker(ticker) + + country, screener = self.handler.get_screener_from_symabol(ticker) + + self.handler.set_symbol_as(ticker) + self.handler.set_screener_as_stock(country) + self.handler.set_exchange_as_crypto_or_stock(screener) + self.handler.set_interval_as(Interval.INTERVAL_1_DAY) + + def get_senti(self): + return self.handler.get_analysis().summary + + +if __name__ == '__main__': + ticker = "FP.PA" + x = Sentimentals(ticker=ticker) + print(x.get_senti()) diff --git a/app/resources/resources.qrc b/app/resources/resources.qrc index d05714d..70cd689 100644 --- a/app/resources/resources.qrc +++ b/app/resources/resources.qrc @@ -1,5 +1,7 @@ + img/sentimentals.png + svg/aig.svg svg/candle-sticks.svg svg/info-line.svg svg/trend-angle.svg @@ -27,8 +29,10 @@ svg/line.svg svg/dot-line.svg svg/dash-line.svg - + svg/sentimentals.svg + svg/sentimental.svg style/style.qss toolbar/toolbar.json + img/no_file.png diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index c2b44f0..bb9ac22 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -157,6 +157,11 @@ QSlider::sub-page:horizontal:disabled { background-color: palette(light); } +QSlider::sub-page#horizontalSlider:horizontal:disabled{ + border-radius: 5px; + background-color: rgb(42, 130, 218); +} + QTableView { background-color: palette(link-visited); alternate-background-color: palette(midlight); diff --git a/app/ui/__convert.py b/app/ui/__convert.py index a40ac0f..d7e690c 100644 --- a/app/ui/__convert.py +++ b/app/ui/__convert.py @@ -1,6 +1,6 @@ import subprocess -cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe indicator_settings_dialog.ui > indicator_settings_dialog.py" +cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" # cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" -# main_window markets_widget +# main_window markets_widget article indicator_settings_dialog sentimentals subprocess.run(cmd, shell=True) diff --git a/app/ui/sentimentals.py b/app/ui/sentimentals.py new file mode 100644 index 0000000..9f46817 --- /dev/null +++ b/app/ui/sentimentals.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'sentimentals.ui' +## +## Created by: Qt User Interface Compiler version 5.15.2 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide2.QtCore import * +from PySide2.QtGui import * +from PySide2.QtWidgets import * + +import resources_rc + +class Ui_Sentiment_Form(object): + def setupUi(self, Sentiment_Form): + if not Sentiment_Form.objectName(): + Sentiment_Form.setObjectName(u"Sentiment_Form") + Sentiment_Form.resize(300, 90) + Sentiment_Form.setMaximumSize(QSize(300, 90)) + self.verticalLayout = QVBoxLayout(Sentiment_Form) + self.verticalLayout.setObjectName(u"verticalLayout") + self.label = QLabel(Sentiment_Form) + self.label.setObjectName(u"label") + self.label.setMinimumSize(QSize(0, 15)) + self.label.setMaximumSize(QSize(16777215, 80)) + self.label.setAlignment(Qt.AlignCenter) + + self.verticalLayout.addWidget(self.label) + + self.horizontalLayout_2 = QHBoxLayout() + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.label_6 = QLabel(Sentiment_Form) + self.label_6.setObjectName(u"label_6") + self.label_6.setAlignment(Qt.AlignCenter) + + self.horizontalLayout_2.addWidget(self.label_6) + + self.label_7 = QLabel(Sentiment_Form) + self.label_7.setObjectName(u"label_7") + self.label_7.setAlignment(Qt.AlignCenter) + + self.horizontalLayout_2.addWidget(self.label_7) + + self.label_8 = QLabel(Sentiment_Form) + self.label_8.setObjectName(u"label_8") + self.label_8.setAlignment(Qt.AlignCenter) + + self.horizontalLayout_2.addWidget(self.label_8) + + self.label_9 = QLabel(Sentiment_Form) + self.label_9.setObjectName(u"label_9") + self.label_9.setAlignment(Qt.AlignCenter) + + self.horizontalLayout_2.addWidget(self.label_9) + + self.label_10 = QLabel(Sentiment_Form) + self.label_10.setObjectName(u"label_10") + self.label_10.setAlignment(Qt.AlignCenter) + + self.horizontalLayout_2.addWidget(self.label_10) + + + self.verticalLayout.addLayout(self.horizontalLayout_2) + + self.horizontalSlider = QSlider(Sentiment_Form) + self.horizontalSlider.setObjectName(u"horizontalSlider") + self.horizontalSlider.setTracking(True) + self.horizontalSlider.setOrientation(Qt.Horizontal) + + self.verticalLayout.addWidget(self.horizontalSlider) + + + self.retranslateUi(Sentiment_Form) + + QMetaObject.connectSlotsByName(Sentiment_Form) + # setupUi + + def retranslateUi(self, Sentiment_Form): + Sentiment_Form.setWindowTitle(QCoreApplication.translate("Sentiment_Form", u"Form", None)) + self.label.setText(QCoreApplication.translate("Sentiment_Form", u"Compagny", None)) + self.label_6.setText(QCoreApplication.translate("Sentiment_Form", u"Strong Sell", None)) + self.label_7.setText(QCoreApplication.translate("Sentiment_Form", u"Sell", None)) + self.label_8.setText(QCoreApplication.translate("Sentiment_Form", u"Neutral", None)) + self.label_9.setText(QCoreApplication.translate("Sentiment_Form", u"Buy", None)) + self.label_10.setText(QCoreApplication.translate("Sentiment_Form", u"Strong Buy", None)) + # retranslateUi + diff --git a/app/ui/sentimentals.ui b/app/ui/sentimentals.ui new file mode 100644 index 0000000..e48bbb4 --- /dev/null +++ b/app/ui/sentimentals.ui @@ -0,0 +1,115 @@ + + + Sentiment_Form + + + + 0 + 0 + 300 + 90 + + + + + 300 + 90 + + + + Form + + + + + + + 0 + 15 + + + + + 16777215 + 80 + + + + Compagny + + + Qt::AlignCenter + + + + + + + + + Strong Sell + + + Qt::AlignCenter + + + + + + + Sell + + + Qt::AlignCenter + + + + + + + Neutral + + + Qt::AlignCenter + + + + + + + Buy + + + Qt::AlignCenter + + + + + + + Strong Buy + + + Qt::AlignCenter + + + + + + + + + true + + + Qt::Horizontal + + + + + + + + + + diff --git a/app/utils/utils.py b/app/utils/utils.py index c8ccaf5..3d91841 100644 --- a/app/utils/utils.py +++ b/app/utils/utils.py @@ -1,3 +1,6 @@ +import os +import json +import random import datetime import urllib.request from statistics import mean @@ -248,16 +251,22 @@ def get_all_tickers(): """ This method return a dict of all the compagny for each markets. """ - dow = sf.tickers_dow() - cac = sf.tickers_cac() - sp500 = sf.tickers_sp500() - nasdaq = sf.tickers_nasdaq() + try: + dow = sf.tickers_dow() + cac = sf.tickers_cac() + sp500 = sf.tickers_sp500() + nasdaq = sf.tickers_nasdaq() - data = {} - for i in [cac, dow, nasdaq, sp500]: - data.update(i) + data = {} + for i in [cac, dow, nasdaq, sp500]: + data.update(i) - return dow + except: + SCRIPT_PATH = os.path.dirname(os.path.dirname(__file__)) + with open(os.path.join(SCRIPT_PATH, "data", "dataset.json"), "r") as f: + data = json.load(f) + + return data def get_compagny_name_from_tick(ticker): @@ -268,7 +277,7 @@ def get_compagny_name_from_tick(ticker): data = get_all_tickers() for tick, company in data.items(): - if tick == ticker: + if ticker.startswith(tick): return company def get_last_value(data): @@ -291,4 +300,33 @@ def format_data(data): for i in remove_nan(data): i = f"{int(i):,}" data_format.append(i) - return data_format \ No newline at end of file + return data_format + + +def get_rdm_tickers(qty=5): + """ + This method get a quantity of randoms tickers. + return: list + """ + all_tickers = get_all_tickers().keys() + tickers = random.sample(all_tickers, qty) + return tickers + +def check_french_ticker(ticker): + """This method split the ticker if endswith '.PA' + :return: str + """ + try: + ticker = ticker.split('.')[0] + except: + pass + + return ticker + +def clear_layout(layout): + """ + This method remove all widgets inside a layout. + :param: QtLayout + """ + for i in reversed(range(layout.count())): + layout.itemAt(i).widget().setParent(None) \ No newline at end of file diff --git a/app/view.py b/app/view.py index f76241d..a1ca7ee 100644 --- a/app/view.py +++ b/app/view.py @@ -10,9 +10,11 @@ from libs.events_handler import EventHandler from libs.tickers_dialog import TickersDialogWindow from libs.widgets.busywidget import BusyIndicator +from libs.widgets.sentimentals_widget import Sentimental_Widget from libs.thread_pool import ThreadPool from libs.graph.candlestick import CandlestickItem from libs.io.favorite_settings import FavoritesManager +from libs.widgets.sentimentals_widget import Sentimental_Widget_Item from ui import main_window @@ -21,7 +23,6 @@ SCRIPT_PATH = os.path.dirname(__file__) - class MainWindow(QtWidgets.QMainWindow, main_window.Ui_MainWindow): def __init__(self, parent=None, data=None): super(MainWindow, self).__init__(parent=parent) @@ -32,6 +33,7 @@ def __init__(self, parent=None, data=None): # Constants self.tickers_dialog = None self.tool_bar.init_toolbar() + self._set_style() # Load all components self._init_app_home() @@ -76,9 +78,15 @@ def __init__(self, parent=None, data=None): self.tickers_dialog.signal.sig_ticker_choosen.connect( self.wid_table_financ.on_set_financials_table ) + self.tickers_dialog.signal.sig_ticker_choosen.connect( + self.set_sentiment_compagny + ) self.wgt_favorites.signals.sig_favorite_clicked.connect( self.wid_table_financ.on_set_financials_table ) + self.wgt_favorites.signals.sig_favorite_clicked.connect( + self.set_sentiment_compagny + ) self.thread_pool.signals.sig_thread_pre.connect( self.busy_indicator.show ) @@ -109,7 +117,6 @@ def __init__(self, parent=None, data=None): # Action which needs to be loaded after all signals self.favorites_manager.load_favorite() - def _init_app_home(self): """Init the APP_HOME of the application""" base_path = os.path.expanduser("~") @@ -179,6 +186,16 @@ def _on_action_triggered(self, action: str): if action_obj: action_obj() + @QtCore.Slot(str) + def set_sentiment_compagny(self, ticker): + """This method set the sentimental widget for + the select tick. + """ + utils.clear_layout(self.financials_layout) + widget = Sentimental_Widget_Item() + widget.set_sentimental_ui(ticker=ticker) + self.financials_layout.addWidget(widget) + def resizeEvent(self, event): if self.tickers_dialog: self.tickers_dialog.move_to() diff --git a/preview_home.png b/preview_home.png new file mode 100644 index 0000000000000000000000000000000000000000..248c6384670e3c6fa602d1711c24e2bee865c8c2 GIT binary patch literal 356382 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 l4iK4Gh6#L2*?+`O+wU6Ao}IY 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 literal 0 HcmV?d00001 From 6ce106f6cce1e630bbbe755eceba01a3f7df51f6 Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 4 Apr 2021 18:10:43 +0200 Subject: [PATCH 19/28] Add sentimentals in Welcome Page + In TableFinancial --- app/libs/tradingview_ta/main.py | 338 ++++++++++++++++++++++++++++++++ 1 file changed, 338 insertions(+) create mode 100644 app/libs/tradingview_ta/main.py diff --git a/app/libs/tradingview_ta/main.py b/app/libs/tradingview_ta/main.py new file mode 100644 index 0000000..fec22dd --- /dev/null +++ b/app/libs/tradingview_ta/main.py @@ -0,0 +1,338 @@ +# Tradingview Technical Analysis (tradingview-ta) +# Author: deathlyface (https://github.com/deathlyface) +# License: MIT + +import re +import requests, json, datetime, warnings +from pprint import pprint +from .technicals import Compute + +__version__ = "3.2.3" + + +class Analysis(object): + exchange = "" + symbol = "" + screener = "" + time = "" + interval = "" + summary = {} + oscillators = {} + moving_averages = {} + indicators = {} + + +class Interval: + INTERVAL_1_MINUTE = "1m" + INTERVAL_5_MINUTES = "5m" + INTERVAL_15_MINUTES = "15m" + INTERVAL_1_HOUR = "1h" + INTERVAL_4_HOURS = "4h" + INTERVAL_1_DAY = "1d" + INTERVAL_1_WEEK = "1W" + INTERVAL_1_MONTH = "1M" + + +class Exchange: + FOREX = "FX_IDC" + CFD = "TVC" + + +class TradingView: + scan_url = "https://scanner.tradingview.com/" + indicators = ["Recommend.Other{}", "Recommend.All{}", "Recommend.MA{}", "RSI{}", "RSI[1]{}", "Stoch.K{}", + "Stoch.D{}", "Stoch.K[1]{}", "Stoch.D[1]{}", "CCI20{}", "CCI20[1]{}", "ADX{}", "ADX+DI{}", "ADX-DI{}", + "ADX+DI[1]{}", "ADX-DI[1]{}", "AO{}", "AO[1]{}", "Mom{}", "Mom[1]{}", "MACD.macd{}", "MACD.signal{}", + "Rec.Stoch.RSI{}", "Stoch.RSI.K{}", "Rec.WR{}", "W.R{}", "Rec.BBPower{}", "BBPower{}", "Rec.UO{}", + "UO{}", "close{}", "EMA5{}", "SMA5{}", "EMA10{}", "SMA10{}", "EMA20{}", "SMA20{}", "EMA30{}", + "SMA30{}", "EMA50{}", "SMA50{}", "EMA100{}", "SMA100{}", "EMA200{}", "SMA200{}", "Rec.Ichimoku{}", + "Ichimoku.BLine{}", "Rec.VWMA{}", "VWMA{}", "Rec.HullMA9{}", "HullMA9{}", "Pivot.M.Classic.S3{}", + "Pivot.M.Classic.S2{}", "Pivot.M.Classic.S1{}", "Pivot.M.Classic.Middle{}", "Pivot.M.Classic.R1{}", + "Pivot.M.Classic.R2{}", "Pivot.M.Classic.R3{}", "Pivot.M.Fibonacci.S3{}", "Pivot.M.Fibonacci.S2{}", + "Pivot.M.Fibonacci.S1{}", "Pivot.M.Fibonacci.Middle{}", "Pivot.M.Fibonacci.R1{}", + "Pivot.M.Fibonacci.R2{}", "Pivot.M.Fibonacci.R3{}", "Pivot.M.Camarilla.S3{}", + "Pivot.M.Camarilla.S2{}", "Pivot.M.Camarilla.S1{}", "Pivot.M.Camarilla.Middle{}", + "Pivot.M.Camarilla.R1{}", "Pivot.M.Camarilla.R2{}", "Pivot.M.Camarilla.R3{}", "Pivot.M.Woodie.S3{}", + "Pivot.M.Woodie.S2{}", "Pivot.M.Woodie.S1{}", "Pivot.M.Woodie.Middle{}", "Pivot.M.Woodie.R1{}", + "Pivot.M.Woodie.R2{}", "Pivot.M.Woodie.R3{}", "Pivot.M.Demark.S1{}", "Pivot.M.Demark.Middle{}", + "Pivot.M.Demark.R1{}", "open{}", "P.SAR{}", "BB.lower{}", "BB.upper{}"] + + def data(symbol, interval): + """Format TradingView's Scanner Post Data + + Args: + symbol (string): EXCHANGE:SYMBOL (ex: NASDAQ:AAPL or BINANCE:BTCUSDT) + interval (string): Time Interval (ex: 1m, 5m, 15m, 1h, 4h, 1d, 1W, 1M) + + Returns: + string: JSON object as a string. + """ + if interval == "1m": + # 1 Minute + data_interval = "|1" + elif interval == "5m": + # 5 Minutes + data_interval = "|5" + elif interval == "15m": + # 15 Minutes + data_interval = "|15" + elif interval == "1h": + # 1 Hour + data_interval = "|60" + elif interval == "4h": + # 4 Hour + data_interval = "|240" + elif interval == "1W": + # 1 Week + data_interval = "|1W" + elif interval == "1M": + # 1 Month + data_interval = "|1M" + else: + if interval != '1d': + warnings.warn("Interval is empty or not valid, defaulting to 1 day.") + # Default, 1 Day + data_interval = "" + + data_json = {"symbols": {"tickers": [symbol.upper()], "query": {"types": []}}, + "columns": [x.format(data_interval) for x in TradingView.indicators]} + + return data_json + + +class TA_Handler(object): + screener = "" + exchange = "" + symbol = "" + interval = "" + timeout = None + + def __init__(self, screener="", exchange="", symbol="", interval="", timeout=None): + """Create an instance of TA_Handler class + + Args: + screener (str, required): Screener (see documentation and tradingview's site). + exchange (str, required): Exchange (see documentation and tradingview's site). + symbol (str, required): Abbreviation of a stock or currency (see documentation and tradingview's site). + interval (str, optional): See the interval class and the documentation. Defaults to 1 day. + timeout (float, optional): Timeout for requests (in seconds). Defaults to None. + """ + self.screener = screener + self.exchange = exchange + self.symbol = symbol + self.interval = interval + self.timeout = timeout + + def get_screener_from_symabol(self, symbol): + countries = ['france', 'america'] + for country in countries: + try: + scan_url = TradingView.scan_url + country.lower() + "/scan" + headers = {"User-Agent": "tradingview_ta/{}".format(__version__)} + response = requests.post(scan_url, headers=headers) + result = json.loads(response.text)["data"] + for ticks in result: + ticker = ticks['s'] + + if ticker.split(':')[1].startswith(symbol): + if ticker.split(':')[1].endswith(symbol): + return country, ticker.split(':')[0] + except: + raise Exception("Exchange not found for this symbol.") + + # Set functions + def set_screener_as_stock(self, country): + """Set the screener as a country (for stocks). + + Args: + country (string): Stock's country (ex: If NFLX or AAPL, then "america" is the screener) + """ + self.screener = country + + def set_screener_as_crypto(self): + """Set the screener as crypto (for cryptocurrencies). + """ + self.screener = "crypto" + + def set_screener_as_cfd(self): + """Set the screener as cfd (contract for differences). + """ + self.screener = "cfd" + + def set_screener_as_forex(self): + """Set the screener as forex. + """ + self.screener = "forex" + + def set_exchange_as_crypto_or_stock(self, exchange): + """Set the exchange + + Args: + exchange (string): Stock/Crypto's exchange (NASDAQ, NYSE, BINANCE, BITTREX, etc). + """ + self.exchange = exchange + + def set_exchange_as_forex(self): + """Set the exchange as FX_IDC for forex. + """ + self.exchange = "FX_IDC" + + def set_exchange_as_cfd(self): + """Set the exchange as TVC for cfd. + """ + self.exchange = "TVC" + + def set_interval_as(self, intvl): + """Set the interval. + + Refer to: https://python-tradingview-ta.readthedocs.io/en/latest/usage.html#setting-the-interval + + Args: + intvl (string): interval. You can use values from the Interval class. + + """ + self.interval = intvl + + def set_symbol_as(self, symbol): + """Set the symbol. + + Refer to: https://python-tradingview-ta.readthedocs.io/en/latest/usage.html#setting-the-symbol + + Args: + symbol (string): abbreviation of a stock or currency (ex: NFLX, AAPL, BTCUSD). + """ + self.symbol = symbol + + # Get analysis + def get_analysis(self): + """Get analysis from TradingView and compute it. + + Returns: + Analysis: Contains information about the analysis. + """ + if self.screener == "" or type(self.screener) != str: + raise Exception("Screener is empty or not valid.") + elif self.exchange == "" or type(self.exchange) != str: + raise Exception("Exchange is empty or not valid.") + elif self.symbol == "" or type(self.symbol) != str: + raise Exception("Symbol is empty or not valid.") + + exch_smbl = self.exchange.upper() + ":" + self.symbol.upper() + data = TradingView.data(exch_smbl, self.interval) + scan_url = TradingView.scan_url + self.screener.lower() + "/scan" + headers = {"User-Agent": "tradingview_ta/{}".format(__version__)} + # https://scanner.tradingview.com/france/scan + response = requests.post(scan_url, json=data, headers=headers, timeout=self.timeout) + + # Return False if can't get data + if response.status_code != 200: + raise Exception("Can't access TradingView's API. HTTP status code: {}.".format(response.status_code)) + + result = json.loads(response.text)["data"] + if result != []: + indicator_values = result[0]["d"] + else: + raise Exception("Exchange or symbol not found.") + + oscillators_counter, ma_counter = {"BUY": 0, "SELL": 0, "NEUTRAL": 0}, {"BUY": 0, "SELL": 0, "NEUTRAL": 0} + computed_oscillators, computed_ma = {}, {} + + # RECOMMENDATIONS + recommend_oscillators = Compute.Recommend(indicator_values[0]) + recommend_summary = Compute.Recommend(indicator_values[1]) + recommend_moving_averages = Compute.Recommend(indicator_values[2]) + + # OSCILLATORS + # RSI (14) + if None not in indicator_values[3:5]: + computed_oscillators["RSI"] = Compute.RSI(indicator_values[3], indicator_values[4]) + oscillators_counter[computed_oscillators["RSI"]] += 1 + # Stoch %K + if None not in indicator_values[5:9]: + computed_oscillators["STOCH.K"] = Compute.Stoch(indicator_values[5], indicator_values[6], + indicator_values[7], indicator_values[8]) + oscillators_counter[computed_oscillators["STOCH.K"]] += 1 + # CCI (20) + if None not in indicator_values[9:11]: + computed_oscillators["CCI"] = Compute.CCI20(indicator_values[9], indicator_values[10]) + oscillators_counter[computed_oscillators["CCI"]] += 1 + # ADX (14) + if None not in indicator_values[11:16]: + computed_oscillators["ADX"] = Compute.ADX(indicator_values[11], indicator_values[12], indicator_values[13], + indicator_values[14], indicator_values[15]) + oscillators_counter[computed_oscillators["ADX"]] += 1 + # AO + if None not in indicator_values[16:18]: + computed_oscillators["AO"] = Compute.AO(indicator_values[16], indicator_values[17]) + oscillators_counter[computed_oscillators["AO"]] += 1 + # Mom (10) + if None not in indicator_values[18:20]: + computed_oscillators["Mom"] = Compute.Mom(indicator_values[18], indicator_values[19]) + oscillators_counter[computed_oscillators["Mom"]] += 1 + # MACD + if None not in indicator_values[20:22]: + computed_oscillators["MACD"] = Compute.MACD(indicator_values[20], indicator_values[21]) + oscillators_counter[computed_oscillators["MACD"]] += 1 + # Stoch RSI + if indicator_values[22] != None: + computed_oscillators["Stoch.RSI"] = Compute.Simple(indicator_values[22]) + oscillators_counter[computed_oscillators["Stoch.RSI"]] += 1 + # W%R + if indicator_values[24] != None: + computed_oscillators["W%R"] = Compute.Simple(indicator_values[24]) + oscillators_counter[computed_oscillators["W%R"]] += 1 + # BBP + if indicator_values[26] != None: + computed_oscillators["BBP"] = Compute.Simple(indicator_values[26]) + oscillators_counter[computed_oscillators["BBP"]] += 1 + # UO + if indicator_values[28] != None: + computed_oscillators["UO"] = Compute.Simple(indicator_values[28]) + oscillators_counter[computed_oscillators["UO"]] += 1 + + # MOVING AVERAGES + ma_list = ["EMA10", "SMA10", "EMA20", "SMA20", "EMA30", "SMA30", "EMA50", "SMA50", "EMA100", "SMA100", "EMA200", + "SMA200"] + close = indicator_values[30] + ma_list_counter = 0 + for index in range(33, 45): + if indicator_values[index] != None: + computed_ma[ma_list[ma_list_counter]] = Compute.MA(indicator_values[index], close) + ma_counter[computed_ma[ma_list[ma_list_counter]]] += 1 + ma_list_counter += 1 + + # MOVING AVERAGES, pt 2 + # ICHIMOKU + if indicator_values[45] != None: + computed_ma["Ichimoku"] = Compute.Simple(indicator_values[45]) + ma_counter[computed_ma["Ichimoku"]] += 1 + # VWMA + if indicator_values[47] != None: + computed_ma["VWMA"] = Compute.Simple(indicator_values[47]) + ma_counter[computed_ma["VWMA"]] += 1 + # HullMA (9) + if indicator_values[49] != None: + computed_ma["HullMA"] = Compute.Simple(indicator_values[49]) + ma_counter[computed_ma["HullMA"]] += 1 + + analysis = Analysis() + analysis.screener = self.screener + analysis.exchange = self.exchange + analysis.symbol = self.symbol + analysis.interval = self.interval + analysis.time = datetime.datetime.now() + + for x in range(len(indicator_values)): + analysis.indicators[TradingView.indicators[x].format("")] = indicator_values[x] + + analysis.oscillators = {"RECOMMENDATION": recommend_oscillators, "BUY": oscillators_counter["BUY"], + "SELL": oscillators_counter["SELL"], "NEUTRAL": oscillators_counter["NEUTRAL"], + "COMPUTE": computed_oscillators} + analysis.moving_averages = {"RECOMMENDATION": recommend_moving_averages, "BUY": ma_counter["BUY"], + "SELL": ma_counter["SELL"], "NEUTRAL": ma_counter["NEUTRAL"], + "COMPUTE": computed_ma} + analysis.summary = {"RECOMMENDATION": recommend_summary, "BUY": oscillators_counter["BUY"] + ma_counter["BUY"], + "SELL": oscillators_counter["SELL"] + ma_counter["SELL"], + "NEUTRAL": oscillators_counter["NEUTRAL"] + ma_counter["NEUTRAL"]} + + return analysis From 25d2ad3674abc07edf0d5f3bbb9a5507d2f3de83 Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 4 Apr 2021 18:11:16 +0200 Subject: [PATCH 20/28] Refine Articles --- app/libs/articles/yahoo_articles.py | 35 +++++++++++++----- app/libs/articles_widget.py | 8 +++-- app/libs/welcome_widget.py | 49 +++++++++++--------------- app/libs/widgets/article_itemwidget.py | 5 +++ app/libs/yahoo_fin/news.py | 8 +++++ app/ui/article.py | 25 ++++++++----- app/ui/article.ui | 40 +++++++++++++++++---- app/ui/main_window.py | 28 ++++++++++++--- app/ui/main_window.ui | 38 +++++++++++++++++--- 9 files changed, 172 insertions(+), 64 deletions(-) diff --git a/app/libs/articles/yahoo_articles.py b/app/libs/articles/yahoo_articles.py index 7d137cc..b9e5bdd 100644 --- a/app/libs/articles/yahoo_articles.py +++ b/app/libs/articles/yahoo_articles.py @@ -6,31 +6,45 @@ from bs4 import BeautifulSoup from utils import utils from pprint import pprint -from libs.yahoo_fin import stock_info from libs.yahoo_fin import news -from deep_translator import GoogleTranslator class ArticlesYahoo(object): - def __init__(self, ticker=None, translate=None, single=False): + def __init__(self): super(ArticlesYahoo, self).__init__() - self.translator = GoogleTranslator(source='auto', target='fr') + self.articles = None + + def get_articles_from_compagny(self, ticker): self.articles = news.get_yf_rss(ticker) compagny = utils.get_compagny_name_from_tick(ticker=ticker) if not self.articles: return - if single: - self.articles = [self.articles[0]] - for article in self.articles: article['compagny'] = compagny self.get_thumbnail_link(article) article['summary'] = self.cup_long_text(article['summary']) + return self.articles + + def get_home_articles(self): + self.articles = news.get_yf_home_rss() + if not self.articles: + return + + for article in self.articles: + article['published'] = article['published'].replace('T', ' ') + article['summary'] = "" + try: + article['img'] = article['media_content'][0]['url'] + except: + article['img'] = "" + + + return self.articles def get_thumbnail_link(self, article): """ @@ -63,7 +77,10 @@ def cup_long_text(self, value): value = "{}...".format(value[0:len_chart]) return value + if __name__ == '__main__': tick = "MSFT" - x = ArticlesYahoo(ticker=tick, translate=False, single=True) - + x = ArticlesYahoo() + # articles = x.get_articles_from_compagny(tick) + articles = x.get_home_articles() + pprint(articles) diff --git a/app/libs/articles_widget.py b/app/libs/articles_widget.py index 602d8b8..2886a55 100644 --- a/app/libs/articles_widget.py +++ b/app/libs/articles_widget.py @@ -2,6 +2,7 @@ # This class set all the articles from a selected compagny. # +from pprint import pprint from PySide2 import QtWidgets, QtCore from libs.articles.yahoo_articles import ArticlesYahoo from libs.widgets.article_itemwidget import ArticlesWidgetItem @@ -10,11 +11,11 @@ class ArticlesWidget(QtWidgets.QListWidget): def __init__(self, parent=None, ticker=None): super(ArticlesWidget, self).__init__(parent) - self._on_get_articles(ticker) + # self._on_get_articles(ticker) @QtCore.Slot(str) def _on_get_articles(self, ticker): - articles = self._get_articles_dict(ticker=ticker).articles + articles = self._get_articles_dict(ticker=ticker) self.clear() for index, i in enumerate(articles): @@ -31,6 +32,7 @@ def _on_get_articles(self, ticker): def _get_articles_dict(self, ticker): - return ArticlesYahoo(ticker=ticker, translate=False) + article = ArticlesYahoo() + return article.get_articles_from_compagny(ticker=ticker) diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 383b538..b3d5f20 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -1,11 +1,10 @@ # # This class set the default Welcome Page. # - +from pprint import pprint import random from utils import utils from PySide2 import QtWidgets -from libs.widgets.stackedwidget import StackedWidget from libs.articles.yahoo_articles import ArticlesYahoo from libs.widgets.article_itemwidget import ArticlesWidgetItem @@ -14,30 +13,22 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - # articles = [] - # for tick in self.rdm_tickers(): - # artic = self._get_articles_dict(ticker=tick).articles - # articles.extend(artic) - # - # for index, i in enumerate(articles): - # article = ArticlesWidgetItem(parent=self) - # article.set_title(i["title"], i["link"]) - # article.set_compagny(i["compagny"]) - # article.set_date(i["published"]) - # article.set_description(i["summary"]) - # article.set_thumbnail(i["img"]) - # item = QtWidgets.QListWidgetItem() - # item.setSizeHint(article.sizeHint()) - # self.addItem(item) - # self.setItemWidget(item, article) - - def _get_articles_dict(self, ticker): - return ArticlesYahoo(ticker=ticker, translate=False, single=True) - - def rdm_tickers(self): - """ - This method select 5 randoms tickers. - """ - all_tickers = utils.get_all_tickers().keys() - tickers = random.sample(all_tickers, 5) - return tickers \ No newline at end of file + articles = self._get_articles_dict()[:5] + + for index, i in enumerate(articles): + article = ArticlesWidgetItem(parent=self) + article.set_title(i["title"], i["link"]) + article.set_date(i["published"]) + article.set_description(i["summary"]) + article.set_thumbnail(i["img"]) + item = QtWidgets.QListWidgetItem() + item.setSizeHint(article.sizeHint()) + self.addItem(item) + self.setItemWidget(item, article) + + def _get_articles_dict(self): + article = ArticlesYahoo() + return article.get_home_articles() + + + diff --git a/app/libs/widgets/article_itemwidget.py b/app/libs/widgets/article_itemwidget.py index 72cc37c..b237179 100644 --- a/app/libs/widgets/article_itemwidget.py +++ b/app/libs/widgets/article_itemwidget.py @@ -62,3 +62,8 @@ def _on_thumbnail_available(self, image): ) ) self.thumbnail.setScaledContents(True) + + # blur = QtWidgets.QGraphicsDropShadowEffect(self) + # blur.setBlurRadius(5) + # blur.setColor(QtGui.QColor(42, 42, 42)) + # self.thumbnail.setGraphicsEffect(blur) diff --git a/app/libs/yahoo_fin/news.py b/app/libs/yahoo_fin/news.py index d886264..0abe32c 100644 --- a/app/libs/yahoo_fin/news.py +++ b/app/libs/yahoo_fin/news.py @@ -1,6 +1,7 @@ import feedparser yf_rss_url = "https://feeds.finance.yahoo.com/rss/2.0/headline?s=%s®ion=FR&lang=fr-FR" +home_page = "https://finance.yahoo.com/news/rssr/2.0/" def get_yf_rss(ticker): @@ -8,3 +9,10 @@ def get_yf_rss(ticker): feeds = feedparser.parse(yf_rss_url % ticker) return feeds.entries + + +def get_yf_home_rss(): + + feeds = feedparser.parse(home_page) + + return feeds.entries \ No newline at end of file diff --git a/app/ui/article.py b/app/ui/article.py index fc632c8..61573c3 100644 --- a/app/ui/article.py +++ b/app/ui/article.py @@ -31,28 +31,35 @@ def setupUi(self, Article): self.horizontalLayout.addWidget(self.thumbnail) + self.horizontalSpacer = QSpacerItem(5, 20, QSizePolicy.Fixed, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + self.verticalLayout = QVBoxLayout() self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setContentsMargins(-1, -1, 0, -1) self.lb_title = LabelTitle(Article) self.lb_title.setObjectName(u"lb_title") self.verticalLayout.addWidget(self.lb_title) self.horizontalLayout_2 = QHBoxLayout() + self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.lb_date = QLabel(Article) + self.lb_date.setObjectName(u"lb_date") + self.lb_date.setMinimumSize(QSize(100, 25)) + self.lb_date.setMaximumSize(QSize(100, 16777215)) + + self.horizontalLayout_2.addWidget(self.lb_date) + self.lb_compagny = QLabel(Article) self.lb_compagny.setObjectName(u"lb_compagny") self.lb_compagny.setMinimumSize(QSize(0, 25)) - self.lb_compagny.setMaximumSize(QSize(100, 16777215)) + self.lb_compagny.setMaximumSize(QSize(16777215, 16777215)) self.horizontalLayout_2.addWidget(self.lb_compagny) - self.lb_date = QLabel(Article) - self.lb_date.setObjectName(u"lb_date") - self.lb_date.setMinimumSize(QSize(0, 25)) - - self.horizontalLayout_2.addWidget(self.lb_date) - self.verticalLayout.addLayout(self.horizontalLayout_2) @@ -85,8 +92,8 @@ def retranslateUi(self, Article): Article.setWindowTitle(QCoreApplication.translate("Article", u"Form", None)) self.thumbnail.setText("") self.lb_title.setText(QCoreApplication.translate("Article", u"Title", None)) - self.lb_compagny.setText("") self.lb_date.setText(QCoreApplication.translate("Article", u"date", None)) - self.desc.setText(QCoreApplication.translate("Article", u"desc", None)) + self.lb_compagny.setText("") + self.desc.setText("") # retranslateUi diff --git a/app/ui/article.ui b/app/ui/article.ui index 23f0cc1..2dc2890 100644 --- a/app/ui/article.ui +++ b/app/ui/article.ui @@ -35,8 +35,27 @@ + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + 0 + @@ -46,11 +65,14 @@ + + 0 + - + - 0 + 100 25 @@ -61,20 +83,26 @@ - + date - + 0 25 + + + 16777215 + 16777215 + + - date + @@ -89,7 +117,7 @@ - desc + diff --git a/app/ui/main_window.py b/app/ui/main_window.py index 5bb1f12..1753679 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -23,6 +23,7 @@ from libs.financial_widget import TableFinance from libs.welcome_widget import WelcomeWidget from libs.markets_widget import MarketsWidget +from libs.widgets.sentimentals_widget import Sentimental_Widget import resources_rc @@ -30,7 +31,7 @@ class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") - MainWindow.resize(997, 754) + MainWindow.resize(998, 754) self.action_reload_indicators = QAction(MainWindow) self.action_reload_indicators.setObjectName(u"action_reload_indicators") self.centralwidget = QWidget(MainWindow) @@ -133,10 +134,24 @@ def setupUi(self, MainWindow): self.verticalLayout_3.addWidget(self.line) + self.horizontalLayout_5 = QHBoxLayout() + self.horizontalLayout_5.setObjectName(u"horizontalLayout_5") self.wdg_article_welcome = WelcomeWidget(self.wgt_welcome) self.wdg_article_welcome.setObjectName(u"wdg_article_welcome") - self.verticalLayout_3.addWidget(self.wdg_article_welcome) + self.horizontalLayout_5.addWidget(self.wdg_article_welcome) + + self.verticalWidget = Sentimental_Widget(self.wgt_welcome) + self.verticalWidget.setObjectName(u"verticalWidget") + self.verticalWidget.setMinimumSize(QSize(0, 0)) + self.verticalWidget.setMaximumSize(QSize(300, 16777215)) + self.verticalLayout_6 = QVBoxLayout(self.verticalWidget) + self.verticalLayout_6.setObjectName(u"verticalLayout_6") + + self.horizontalLayout_5.addWidget(self.verticalWidget) + + + self.verticalLayout_3.addLayout(self.horizontalLayout_5) self.stw_main.addWidget(self.wgt_welcome) self.wgt_article = QWidget() @@ -176,6 +191,11 @@ def setupUi(self, MainWindow): self.verticalLayout_4.addWidget(self.financial_label) + self.financials_layout = QHBoxLayout() + self.financials_layout.setObjectName(u"financials_layout") + + self.verticalLayout_4.addLayout(self.financials_layout) + self.horizontalLayout_2 = QHBoxLayout() self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.horizontalSpacer = QSpacerItem(240, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) @@ -203,7 +223,7 @@ def setupUi(self, MainWindow): MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 997, 21)) + self.menubar.setGeometry(QRect(0, 0, 998, 21)) self.menuOptions = QMenu(self.menubar) self.menuOptions.setObjectName(u"menuOptions") MainWindow.setMenuBar(self.menubar) @@ -248,7 +268,7 @@ def setupUi(self, MainWindow): self.retranslateUi(MainWindow) - self.stw_main.setCurrentIndex(0) + self.stw_main.setCurrentIndex(3) QMetaObject.connectSlotsByName(MainWindow) diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 46f21b8..dadfadf 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -6,7 +6,7 @@ 0 0 - 997 + 998 754 @@ -102,7 +102,7 @@ - 0 + 3 @@ -230,7 +230,28 @@ - + + + + + + + + + 0 + 0 + + + + + 300 + 16777215 + + + + + + @@ -275,6 +296,9 @@ + + + @@ -338,7 +362,7 @@ 0 0 - 997 + 998 21 @@ -482,6 +506,12 @@

libs.markets_widget.h
1 + + Sentimental_Widget + QWidget +
libs.widgets.sentimentals_widget.h
+ 1 +
From 098c9a95256a4e1c26a7e73dd51a47a62cbd7834 Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 4 Apr 2021 19:13:14 +0200 Subject: [PATCH 21/28] delete function in view --- app/view.py | 1 - 1 file changed, 1 deletion(-) diff --git a/app/view.py b/app/view.py index a1ca7ee..43056dd 100644 --- a/app/view.py +++ b/app/view.py @@ -33,7 +33,6 @@ def __init__(self, parent=None, data=None): # Constants self.tickers_dialog = None self.tool_bar.init_toolbar() - self._set_style() # Load all components self._init_app_home() From f9d1d8b9694aecb300f46447ac59e439bf05b866 Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 4 Apr 2021 22:34:39 +0200 Subject: [PATCH 22/28] Refine thumbnail articles --- app/libs/splashcreen.py | 0 app/libs/welcome_widget.py | 2 -- app/libs/widgets/article_itemwidget.py | 24 +++++++++++++----------- app/ui/__convert.py | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 app/libs/splashcreen.py diff --git a/app/libs/splashcreen.py b/app/libs/splashcreen.py new file mode 100644 index 0000000..e69de29 diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index b3d5f20..af1f84b 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -2,8 +2,6 @@ # This class set the default Welcome Page. # from pprint import pprint -import random -from utils import utils from PySide2 import QtWidgets from libs.articles.yahoo_articles import ArticlesYahoo from libs.widgets.article_itemwidget import ArticlesWidgetItem diff --git a/app/libs/widgets/article_itemwidget.py b/app/libs/widgets/article_itemwidget.py index b237179..f706f70 100644 --- a/app/libs/widgets/article_itemwidget.py +++ b/app/libs/widgets/article_itemwidget.py @@ -1,4 +1,5 @@ +import os from utils import utils from ui.article import Ui_Article from libs.thread_pool import ThreadPool @@ -47,7 +48,12 @@ def set_thumbnail(self, link): function=utils.get_image_from_url, url=link ) else: - self._on_thumbnail_available(":/img/no_file.png") + path = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + image = os.path.join(path, 'resources', 'img', "no_file.png") + image = QtGui.QPixmap(image) + # image = QtGui.QPixmap(":/img/no_file.png") + self._on_thumbnail_available(image) + @QtCore.Slot(object) def _on_thumbnail_available(self, image): @@ -56,14 +62,10 @@ def _on_thumbnail_available(self, image): :param image: The thumbnail :type image: QPixmap """ - self.thumbnail.setPixmap(image.scaled(self.size(), - QtCore.Qt.KeepAspectRatio, - QtCore.Qt.SmoothTransformation - ) - ) - self.thumbnail.setScaledContents(True) + image = image.scaled(self.size(), + QtCore.Qt.KeepAspectRatio, + QtCore.Qt.SmoothTransformation + ) + self.thumbnail.setPixmap(image) + - # blur = QtWidgets.QGraphicsDropShadowEffect(self) - # blur.setBlurRadius(5) - # blur.setColor(QtGui.QColor(42, 42, 42)) - # self.thumbnail.setGraphicsEffect(blur) diff --git a/app/ui/__convert.py b/app/ui/__convert.py index d7e690c..78e4af8 100644 --- a/app/ui/__convert.py +++ b/app/ui/__convert.py @@ -1,6 +1,6 @@ import subprocess -cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe main_window.ui > main_window.py" +cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe splashscreen.ui > splashscreen.py" # cmd = "C:\\Users\\vince\\AppData\\Roaming\\Python\\Python39\\Scripts\\pyside2-uic.exe search.ui > search.py" -# main_window markets_widget article indicator_settings_dialog sentimentals +# main_window markets_widget article indicator_settings_dialog sentimentals splashscreen subprocess.run(cmd, shell=True) From ac8f6fb3cdbc7277e949843d5accf85d23550a78 Mon Sep 17 00:00:00 2001 From: vince Date: Sun, 4 Apr 2021 22:35:02 +0200 Subject: [PATCH 23/28] Add Splashscreen --- app/libs/splashcreen.py | 50 +++++++++++++++++++++++++++++ app/resources/img/splashscreen.jpg | Bin 0 -> 79484 bytes app/resources/resources.qrc | 5 +-- app/resources/resources_rc.py | 0 app/ui/main_window.py | 2 +- app/ui/main_window.ui | 2 +- app/ui/splashscreen.py | 44 +++++++++++++++++++++++++ app/ui/splashscreen.ui | 45 ++++++++++++++++++++++++++ app/view.py | 13 +++++++- 9 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 app/resources/img/splashscreen.jpg create mode 100644 app/resources/resources_rc.py create mode 100644 app/ui/splashscreen.py create mode 100644 app/ui/splashscreen.ui diff --git a/app/libs/splashcreen.py b/app/libs/splashcreen.py index e69de29..2e01c15 100644 --- a/app/libs/splashcreen.py +++ b/app/libs/splashcreen.py @@ -0,0 +1,50 @@ +import os + +from PySide2 import QtCore, QtGui, QtWidgets +from ui.splashscreen import Ui_splashscreen + + +class SplashScreen(QtWidgets.QSplashScreen, Ui_splashscreen): + """This class is a subclass of a QtWidgets.QSplashScreen + + :param QtWidgets: QtWidgets.QSplashScreen object + :type QtWidgets: obj + """ + def __init__(self, path, title): + + pixmap = QtGui.QPixmap(path).scaled(900, 600, + QtCore.Qt.KeepAspectRatio) + + super(SplashScreen, self).__init__(pixmap, QtCore.Qt.WindowStaysOnTopHint) + + self.setupUi(self) + + self.lab_app_name.setText(title) + self.splash_color = QtGui.QColor(100, 100, 100) + self.setWindowFlags( + QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.FramelessWindowHint + ) + self.center() + + blur = QtWidgets.QGraphicsDropShadowEffect(self) + blur.setBlurRadius(10) + blur.setColor(QtGui.QColor(0, 0, 0)) + self.setGraphicsEffect(blur) + + def show_message(self, message=None): + """Thi function shows the message in the splashscreen + + :param message: The message to show, defaults to None + :type message: str, optional + """ + self.showMessage( + message, + QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter, + self.splash_color, + ) + + def center(self): + qRect = self.frameGeometry() + centerPoint = QtWidgets.QDesktopWidget().availableGeometry().center() + qRect.moveCenter(centerPoint) + self.move(qRect.topLeft()) \ No newline at end of file diff --git a/app/resources/img/splashscreen.jpg b/app/resources/img/splashscreen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be99274250719481af15481f14f95d6e0ec8774a GIT binary patch literal 79484 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 z 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%0ANEBQF{Z9N=Z0D`9Pqf|)ZAJR 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 literal 0 HcmV?d00001 diff --git a/app/resources/resources.qrc b/app/resources/resources.qrc index 70cd689..f5c1a54 100644 --- a/app/resources/resources.qrc +++ b/app/resources/resources.qrc @@ -1,7 +1,5 @@ - img/sentimentals.png - svg/aig.svg svg/candle-sticks.svg svg/info-line.svg svg/trend-angle.svg @@ -29,10 +27,9 @@ svg/line.svg svg/dot-line.svg svg/dash-line.svg - svg/sentimentals.svg - svg/sentimental.svg style/style.qss toolbar/toolbar.json img/no_file.png + img/splashscreen.jpg diff --git a/app/resources/resources_rc.py b/app/resources/resources_rc.py new file mode 100644 index 0000000..e69de29 diff --git a/app/ui/main_window.py b/app/ui/main_window.py index 1753679..2ab8841 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -268,7 +268,7 @@ def setupUi(self, MainWindow): self.retranslateUi(MainWindow) - self.stw_main.setCurrentIndex(3) + self.stw_main.setCurrentIndex(0) QMetaObject.connectSlotsByName(MainWindow) diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index dadfadf..5df0186 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -102,7 +102,7 @@ - 3 + 0 diff --git a/app/ui/splashscreen.py b/app/ui/splashscreen.py new file mode 100644 index 0000000..df6e56f --- /dev/null +++ b/app/ui/splashscreen.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'splashscreen.ui' +## +## Created by: Qt User Interface Compiler version 5.15.2 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide2.QtCore import * +from PySide2.QtGui import * +from PySide2.QtWidgets import * + + +class Ui_splashscreen(object): + def setupUi(self, splashscreen): + if not splashscreen.objectName(): + splashscreen.setObjectName(u"splashscreen") + splashscreen.resize(900, 500) + self.verticalLayout = QVBoxLayout(splashscreen) + self.verticalLayout.setObjectName(u"verticalLayout") + self.lab_app_name = QLabel(splashscreen) + self.lab_app_name.setObjectName(u"lab_app_name") + self.lab_app_name.setMinimumSize(QSize(0, 230)) + font = QFont() + font.setPointSize(18) + self.lab_app_name.setFont(font) + self.lab_app_name.setStyleSheet(u"color:#FFFFFF; ") + self.lab_app_name.setAlignment(Qt.AlignCenter) + + self.verticalLayout.addWidget(self.lab_app_name) + + + self.retranslateUi(splashscreen) + + QMetaObject.connectSlotsByName(splashscreen) + # setupUi + + def retranslateUi(self, splashscreen): + splashscreen.setWindowTitle(QCoreApplication.translate("splashscreen", u"Form", None)) + self.lab_app_name.setText(QCoreApplication.translate("splashscreen", u"app_name", None)) + # retranslateUi + diff --git a/app/ui/splashscreen.ui b/app/ui/splashscreen.ui new file mode 100644 index 0000000..2a390aa --- /dev/null +++ b/app/ui/splashscreen.ui @@ -0,0 +1,45 @@ + + + splashscreen + + + + 0 + 0 + 900 + 500 + + + + Form + + + + + + + 0 + 230 + + + + + 18 + + + + color:#FFFFFF; + + + app_name + + + Qt::AlignCenter + + + + + + + + diff --git a/app/view.py b/app/view.py index 43056dd..039df3f 100644 --- a/app/view.py +++ b/app/view.py @@ -10,11 +10,11 @@ from libs.events_handler import EventHandler from libs.tickers_dialog import TickersDialogWindow from libs.widgets.busywidget import BusyIndicator -from libs.widgets.sentimentals_widget import Sentimental_Widget from libs.thread_pool import ThreadPool from libs.graph.candlestick import CandlestickItem from libs.io.favorite_settings import FavoritesManager from libs.widgets.sentimentals_widget import Sentimental_Widget_Item +from libs.splashcreen import SplashScreen from ui import main_window @@ -22,11 +22,20 @@ from utils import decorators SCRIPT_PATH = os.path.dirname(__file__) +TITLE = "TRADING VISUALISATION" class MainWindow(QtWidgets.QMainWindow, main_window.Ui_MainWindow): def __init__(self, parent=None, data=None): super(MainWindow, self).__init__(parent=parent) + img = "resources\img\splashscreen.jpg" + path = os.path.join(SCRIPT_PATH, img) + + self.splash = SplashScreen(path, TITLE) + self.splash.show() + self.splash.show_message("Loading UI...\n\n") + QtWidgets.QApplication.processEvents() + self.setupUi(self) self.setWindowState(QtCore.Qt.WindowMaximized) @@ -116,6 +125,8 @@ def __init__(self, parent=None, data=None): # Action which needs to be loaded after all signals self.favorites_manager.load_favorite() + self.splash.hide() + def _init_app_home(self): """Init the APP_HOME of the application""" base_path = os.path.expanduser("~") From b118e0b895658a21ae7164d5b9c38238b7b6ca1e Mon Sep 17 00:00:00 2001 From: vince Date: Mon, 5 Apr 2021 14:44:52 +0200 Subject: [PATCH 24/28] Change market widget, was nan during weekend --- app/libs/markets_widget.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/libs/markets_widget.py b/app/libs/markets_widget.py index 7962b6a..04a5c54 100644 --- a/app/libs/markets_widget.py +++ b/app/libs/markets_widget.py @@ -1,4 +1,5 @@ +import numpy as np from ui import markets_widget from PySide2 import QtWidgets from libs.yahoo_fin import stock_info @@ -17,6 +18,10 @@ } class MarketsWidget(StackedWidget): + """ + Markets are the informations in the Welcome Page showing price and + variation from day before. + """ def __init__(self, parent=None): super(MarketsWidget, self).__init__(parent) @@ -46,6 +51,12 @@ def __init__(self, parent=None, ticker=None, compagny=None): day = float(x['adjclose'][-1]) prev_day = float(x['adjclose'][-2]) + if np.isnan(prev_day): + if not np.isnan(x['adjclose'][-3]): + prev_day = float(x['adjclose'][-3]) + else: + prev_day = float(x['adjclose'][-4]) + variation = ((day - prev_day) / prev_day) * 100 variation = round(variation, 2) @@ -53,7 +64,7 @@ def __init__(self, parent=None, ticker=None, compagny=None): self.price.setText("{} €".format(str(round(day, 2)))) self.pourcentage.setText("{}%".format(str(variation))) - if variation < 0: + if variation <= 0: self.pourcentage.setStyleSheet("color:rgb(239, 83, 80);") else: self.pourcentage.setStyleSheet("color:rgb(38, 166, 154);") From 12f35d5d5c959f3af037655fb17f3ff4fce0161b Mon Sep 17 00:00:00 2001 From: vince Date: Mon, 5 Apr 2021 15:59:52 +0200 Subject: [PATCH 25/28] change css slide bar SentimentalWidget --- app/resources/style/style.qss | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/resources/style/style.qss b/app/resources/style/style.qss index bb9ac22..34535a0 100644 --- a/app/resources/style/style.qss +++ b/app/resources/style/style.qss @@ -146,7 +146,7 @@ QSlider::handle:horizontal { } QSlider::add-page:horizontal { - background: palette(base); + background: palette(base); } QSlider::sub-page:horizontal { @@ -159,9 +159,23 @@ QSlider::sub-page:horizontal:disabled { QSlider::sub-page#horizontalSlider:horizontal:disabled{ border-radius: 5px; - background-color: rgb(42, 130, 218); + background:transparent; +} + +QSlider::sub-page#horizontalSlider:horizontal:disabled{ + background-color: rgb(42, 218, 130); + background-color: qlineargradient(spread:pad, + x1:0, y1:0, x2:1, y2:0, + stop:0 rgb(61, 217, 245), + stop:1 rgb(42, 130, 218)); } +QSlider::handle#horizontalSlider:horizontal:disabled{ + +} + +/* QTableView */ + QTableView { background-color: palette(link-visited); alternate-background-color: palette(midlight); @@ -231,6 +245,7 @@ QDoubleSpinBox{ height:20px; } + /* QSpinBox */ QSpinBox{ background: palette(midlight); From cca89bd767e2b1837fdace15dabfa4d66f800581 Mon Sep 17 00:00:00 2001 From: vince Date: Mon, 5 Apr 2021 17:40:53 +0200 Subject: [PATCH 26/28] Change Financials Score in table + SplashScreen Image + 2 predictions test --- app/libs/financial_widget.py | 14 ++++++++++---- app/libs/welcome_widget.py | 4 ++++ app/resources/img/splashscreen.jpg | Bin 79484 -> 136763 bytes app/resources/img/splashscreen_2.jpg | Bin 0 -> 79484 bytes app/view.py | 3 ++- 5 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 app/resources/img/splashscreen_2.jpg diff --git a/app/libs/financial_widget.py b/app/libs/financial_widget.py index 3053a99..2f43d7a 100644 --- a/app/libs/financial_widget.py +++ b/app/libs/financial_widget.py @@ -1,3 +1,4 @@ +from pprint import pprint from PySide2 import QtWidgets, QtCore, QtGui from libs.analysies.analyse_financials import AnalyseFondamental @@ -19,7 +20,11 @@ def on_set_financials_table(self, ticker): analyses = AnalyseFondamental(ticker) self.data = analyses.datas + # Remove all Cells and Items self.clear() + self.setRowCount(0) + self.setColumnCount(0) + self.header = self.data['YEAR'] self.header[-1] = "Bilan" self.header.insert(0, 'Valorisation') @@ -52,10 +57,11 @@ def on_set_financials_table(self, ticker): cell_score_title = QtWidgets.QTableWidgetItem() cell_score_title.setData(QtCore.Qt.DisplayRole, "Score") self.setItem(last_row, 0, cell_score_title) - cell_score = QtWidgets.QTableWidgetItem() - cell_score.setData(QtCore.Qt.DisplayRole, str(score[0])) - cell_score.setTextAlignment(QtCore.Qt.AlignCenter) - self.setItem(last_row, len(self.header) - 1, cell_score) + for column, data in enumerate(score): + cell_score = QtWidgets.QTableWidgetItem() + cell_score.setData(QtCore.Qt.DisplayRole, str(data)) + cell_score.setTextAlignment(QtCore.Qt.AlignCenter) + self.setItem(last_row, column + 1, cell_score) for i in range(self.rowCount()): self.setRowHeight(i, 50) diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index af1f84b..9c7141a 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -8,6 +8,10 @@ class WelcomeWidget(QtWidgets.QListWidget): + """ + This is loading all articles from the main Yahoo Page. + https://finance.yahoo.com/ + """ def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) diff --git a/app/resources/img/splashscreen.jpg b/app/resources/img/splashscreen.jpg index be99274250719481af15481f14f95d6e0ec8774a..ed53ac83c8249ccae889b39e4cf34fd05d43a47f 100644 GIT binary patch literal 136763 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
C3lhm3^!lf190vB&t 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 R0D?U$9MBMunvK2*{tuIGwS@ox literal 79484 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 z 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%0ANEBQF{Z9N=Z0D`9Pqf|)ZAJR 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 diff --git a/app/resources/img/splashscreen_2.jpg b/app/resources/img/splashscreen_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be99274250719481af15481f14f95d6e0ec8774a GIT binary patch literal 79484 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 z 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%0ANEBQF{Z9N=Z0D`9Pqf|)ZAJR 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 literal 0 HcmV?d00001 diff --git a/app/view.py b/app/view.py index 039df3f..8478e45 100644 --- a/app/view.py +++ b/app/view.py @@ -123,6 +123,7 @@ def __init__(self, parent=None, data=None): self.pub_go_market_next.clicked.connect(self.wgt_markets_2.slide_in_next) # Action which needs to be loaded after all signals + self.splash.show_message("Loading Favorites...\n\n") self.favorites_manager.load_favorite() self.splash.hide() @@ -212,7 +213,7 @@ def resizeEvent(self, event): def moveEvent(self, event): if self.tickers_dialog: - ... + pass def closeEvent(self, event): self.favorites_manager.save_favorites() From cdfb7e05ba6870178e0b2691bd2d889827cdba69 Mon Sep 17 00:00:00 2001 From: vince Date: Mon, 5 Apr 2021 17:40:59 +0200 Subject: [PATCH 27/28] Change Financials Score in table + SplashScreen Image + 2 predictions test --- app/libs/predictions/predictions.py | 0 app/libs/predictions/predictions_1.py | 84 +++++++++++++++++++++++++ app/libs/predictions/predictions_2.py | 90 +++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) delete mode 100644 app/libs/predictions/predictions.py create mode 100644 app/libs/predictions/predictions_1.py diff --git a/app/libs/predictions/predictions.py b/app/libs/predictions/predictions.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/libs/predictions/predictions_1.py b/app/libs/predictions/predictions_1.py new file mode 100644 index 0000000..99663cd --- /dev/null +++ b/app/libs/predictions/predictions_1.py @@ -0,0 +1,84 @@ +import pandas as pd +import numpy as np +import yfinance as yf +from pprint import pprint +import matplotlib.pyplot as plt +from sklearn.preprocessing import MinMaxScaler +from tensorflow.keras.models import Sequential +from tensorflow.keras.layers import Dense, Dropout, LSTM + +# https://www.youtube.com/watch?v=PuZY9q-aKLw&ab_channel=NeuralNine +class MakePrediction(object): + def __init__(self, data): + + # pprint(data) # 4105 days + + prediction_days = 60 + _end = 3009 + + # Prepare Data + test_data = data['Close'].iloc[:_end].values + scaler = MinMaxScaler(feature_range=(0, 1)) + scaled_data = scaler.fit_transform(test_data.reshape(-1, 1)) + + x_train = [] + y_train = [] + + for x in range(prediction_days, len(scaled_data)): + x_train.append(scaled_data[x - prediction_days:x, 0]) + y_train.append(scaled_data[x, 0]) + + x_train, y_train = np.array(x_train), np.array(y_train) + x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1], 1)) + + # Build the Model + model = Sequential() + + model.add(LSTM(units=50, return_sequences=True, input_shape=(x_train.shape[1], 1))) + model.add(Dropout(0.2)) + model.add(LSTM(units=50, return_sequences=True)) + model.add(Dropout(0.2)) + model.add(LSTM(units=50)) + model.add(Dropout(0.2)) + model.add(Dense(units=1)) # Prediction of the next price Closing + + model.compile(optimizer="adam", loss='mean_squared_error') + model.fit(x_train, y_train, epochs=25, batch_size=32) + + """ Test Model Accurency on Existing Data """ + + # Load Test Data + test_data = data['Close'].iloc[_end:] + + total_dataset = pd.concat((test_data, test_data), axis=0) + + model_inputs = total_dataset[len(total_dataset) - len(test_data) - prediction_days:].values + model_inputs = model_inputs.reshape(-1, 1) + model_inputs = scaler.transform(model_inputs) + + # Make Predictions on Test Data + + x_test = [] + + for x in range(prediction_days, len(model_inputs)): + x_test.append(model_inputs[x-prediction_days:x, 0]) + + x_test = np.array(x_test) + x_test = np.reshape(x_test, (x_test.shape[0], x_test.shape[1], 1)) + + predicted_prices = model.predict(x_test) + predicted_prices = scaler.inverse_transform(predicted_prices) + + # Plot Predictions + plt.plot(data['Close'].values, color='black', label='Price') + plt.plot(predicted_prices, color='green', label="Predict") + plt.xlabel('Time') + plt.ylabel('Price') + plt.legend() + plt.show() + +if __name__ == '__main__': + tick = "GLE.PA" + ticker = yf.Ticker(tick) + data = ticker.history(period="1y", interval="1d", start="2008-01-01") + pre = MakePrediction(data=data) diff --git a/app/libs/predictions/predictions_2.py b/app/libs/predictions/predictions_2.py index e69de29..605f233 100644 --- a/app/libs/predictions/predictions_2.py +++ b/app/libs/predictions/predictions_2.py @@ -0,0 +1,90 @@ +import pandas as pd +import numpy as np +import yfinance as yf +from pprint import pprint +import matplotlib.pyplot as plt +from sklearn.preprocessing import MinMaxScaler +from tensorflow.keras.models import Sequential +from tensorflow.keras.layers import Dense, Dropout, LSTM +from keras.callbacks import ModelCheckpoint + +# https://www.youtube.com/watch?v=PuZy9q-aKLw&ab_channel=NeuralNine +class MakePrediction(object): + def __init__(self, data): + + # pprint(data) # 4105 days + prices = data['Close'].values + + print(data.shape) + + prediction_days = 60 + + # Prepare Data + + scaler = MinMaxScaler(feature_range=(0, 1)) + scaled_data = scaler.fit_transform(prices.reshape(-1, 1)) + + # Split 80-20 + train_size = int(len(scaled_data) * 0.80) + test_size = int(len(scaled_data) - train_size) + train = prices[0:train_size] + test = scaled_data[train_size:len(scaled_data)] + + # Method for create features from the time series data + def create_features(data, window_size): + x, y = [], [] + for i in range(len(data) - window_size - 1): + window = data[i:(i + window_size), 0] + x.append(window) + y.append(data[i + window_size, 0]) + return np.array(x), np.array(y) + + # Roughly one month of trading assuming 5 trading days per week + window_size = 20 + x_train, y_train = create_features(train, window_size) + + x_test, y_test = create_features(test, window_size) + + # Reshape to the format of [samples, time steps, features] + x_train = np.reshape(x_train, (x_train.shape[0], 1, x_train.shape[1])) + + x_test = np.reshape(x_test, (x_test.shape[0], 1, x_test.shape[1])) + + scaled_data_shape = scaled_data.shape + train_shape = train.shape + test_shape = test.shape + + # Make sure that the number of rows in the dataset = train rows + test rows + def is_leak(T_shape, train_shape, test_shape): + return not (T_shape[0] == (train_shape[0] + test_shape[0])) + + print(is_leak(scaled_data_shape, train_shape, test_shape)) + + # Building model + model = Sequential() + + model.add(LSTM(units=50, activation='relu', # return_sequences = True, + input_shape=(x_train.shape[1], window_size))) + model.add(Dropout(0.2)) + + # Output layer + model.add(Dense(1)) + model.compile(loss='mean_squared_error', optimizer='adam') + model.fit(x_train, y_train, epochs=25, batch_size=32) + + predicted_prices = model.predict(x_test) + predicted_prices = scaler.inverse_transform(predicted_prices) + + # Plot Predictions + plt.plot(data['Close'].values, color='black', label='Price') + plt.plot(predicted_prices, color='green', label="Predict") + plt.xlabel('Time') + plt.ylabel('Price') + plt.legend() + plt.show() + +if __name__ == '__main__': + tick = "GLE.PA" + ticker = yf.Ticker(tick) + data = ticker.history(period="1y", interval="1d", start="2008-01-01") + pre = MakePrediction(data=data) From 7eec5cbbce054d756073fc411f6ccd32ab2a4dcf Mon Sep 17 00:00:00 2001 From: vince Date: Mon, 5 Apr 2021 18:59:30 +0200 Subject: [PATCH 28/28] Git Merge Branch ROI_Dev --- README.md | 3 ++- app/libs/graph/graphwidget.py | 1 + app/libs/roi_manager.py | 1 + app/libs/welcome_widget.py | 24 ++++++++++++------------ app/view.py | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b522b96..2175ffe 100644 --- a/README.md +++ b/README.md @@ -50,4 +50,5 @@ It is largely inspired by `TradingView` which is a wonderfull tool for finance a - [ ] Draw Fibonnaci on Chart => 50% done - [ ] Make Virtual Portefolio - [ ] Avaible Trading -- [ ] SplashScreen Loading \ No newline at end of file +- [ ] SplashScreen Loading +- [ ] Find Compagnies with differents stratgies (Buffet, Peter Lynch, Carl Icahn) \ No newline at end of file diff --git a/app/libs/graph/graphwidget.py b/app/libs/graph/graphwidget.py index 6f005ed..b1692d6 100644 --- a/app/libs/graph/graphwidget.py +++ b/app/libs/graph/graphwidget.py @@ -142,6 +142,7 @@ def _on_mouse_clicked(self, event): def mousePressEvent(self, event): self.signals.sig_graph_mouse_pressed.emit(event) super(GraphView, self).mousePressEvent(event) + print(event.pos()) def mouseReleaseEvent(self, event): self.signals.sig_graph_mouse_released.emit(event) diff --git a/app/libs/roi_manager.py b/app/libs/roi_manager.py index 5d28070..f4456ad 100644 --- a/app/libs/roi_manager.py +++ b/app/libs/roi_manager.py @@ -38,6 +38,7 @@ def drawer(self, graph, event): def bounded_line_drawer(self, initial_pos, **kwargs): """Draw a bounded line """ + print('la') roi = pg.LineSegmentROI((initial_pos, initial_pos), removable=True) self.current_handle = roi.getHandles()[-1] self.current_graph.addItem(roi) diff --git a/app/libs/welcome_widget.py b/app/libs/welcome_widget.py index 9c7141a..18bfb9f 100644 --- a/app/libs/welcome_widget.py +++ b/app/libs/welcome_widget.py @@ -15,18 +15,18 @@ class WelcomeWidget(QtWidgets.QListWidget): def __init__(self, parent=None): super(WelcomeWidget, self).__init__(parent) - articles = self._get_articles_dict()[:5] - - for index, i in enumerate(articles): - article = ArticlesWidgetItem(parent=self) - article.set_title(i["title"], i["link"]) - article.set_date(i["published"]) - article.set_description(i["summary"]) - article.set_thumbnail(i["img"]) - item = QtWidgets.QListWidgetItem() - item.setSizeHint(article.sizeHint()) - self.addItem(item) - self.setItemWidget(item, article) + # articles = self._get_articles_dict()[:5] + # + # for index, i in enumerate(articles): + # article = ArticlesWidgetItem(parent=self) + # article.set_title(i["title"], i["link"]) + # article.set_date(i["published"]) + # article.set_description(i["summary"]) + # article.set_thumbnail(i["img"]) + # item = QtWidgets.QListWidgetItem() + # item.setSizeHint(article.sizeHint()) + # self.addItem(item) + # self.setItemWidget(item, article) def _get_articles_dict(self): article = ArticlesYahoo() diff --git a/app/view.py b/app/view.py index b71932e..04b7724 100644 --- a/app/view.py +++ b/app/view.py @@ -33,7 +33,7 @@ def __init__(self, parent=None, data=None): path = os.path.join(SCRIPT_PATH, img) self.splash = SplashScreen(path, TITLE) - self.splash.show() + # self.splash.show() self.splash.show_message("Loading UI...\n\n") QtWidgets.QApplication.processEvents()