diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2f21bbc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,17 @@
+# Byte-compiled / optimized / DLL files
+.ipynb_checkpoints/
+__pycache__/
+.DS_Store
+.vscode/
+
+tpm/
+
+# Distribution / packaging
+main.old.py
+postgres_runner.py
+*.ipynb
+*.csv
+backup.sql
+tickers_sorted_tw.py
+tickers_sorted.py
+main_old.py
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 134a72b..a2ea46c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,8 @@
FROM python:3.9.6
WORKDIR /flask
ADD . /flask
-RUN apt update
-RUN apt install nano
+#RUN apt update
+#RUN apt install nano
RUN pip install --upgrade pip
RUN pip3 install -r requirements.txt
EXPOSE 8000
diff --git a/assets_us.json b/assets_us.json
index 582bc7b..9778462 100644
--- a/assets_us.json
+++ b/assets_us.json
@@ -1 +1 @@
-{"ABC": "AmerisourceBergen Corporation", "VFC": "V.F. Corporation", "UNM": "Unum Group", "SBUX": "Starbucks Corporation", "RSG": "Republic Services, Inc.", "IVZ": "Invesco Ltd.", "KR": "The Kroger Co.", "TDG": "TransDigm Group Incorporated", "MAA": "Mid-America Apartment Communities, Inc.", "VWO": "Vanguard FTSE Emerging Markets Index Fund ETF Shares", "UDR": "UDR, Inc.", "EXPD": "Expeditors International of Washington, Inc.", "AIG": "American International Group, Inc.", "REG": "Regency Centers Corporation", "CMA": "Comerica Incorporated", "IQV": "IQVIA Holdings Inc.", "OKE": "ONEOK, Inc.", "IPG": "The Interpublic Group of Companies, Inc.", "BSX": "Boston Scientific Corporation", "RJF": "Raymond James Financial, Inc.", "O": "Realty Income Corporation", "LNC": "Lincoln National Corporation", "ANSS": "ANSYS, Inc.", "IFF": "International Flavors & Fragrances Inc.", "BR": "Broadridge Financial Solutions, Inc.", "V": "Visa Inc.", "FITB": "Fifth Third Bancorp", "NWL": "Newell Brands Inc.", "ITW": "Illinois Tool Works Inc.", "CCI": "Crown Castle International Corp. (REIT)", "TRV": "The Travelers Companies, Inc.", "HPE": "Hewlett Packard Enterprise Company", "HP": "Helmerich & Payne, Inc.", "WY": "Weyerhaeuser Company", "AVGO": "Broadcom Inc.", "PFE": "Pfizer Inc.", "EW": "Edwards Lifesciences Corporation", "STZ": "Constellation Brands, Inc.", "PFG": "Principal Financial Group, Inc.", "EFX": "Equifax Inc.", "BF-B": "Brown-Forman Corporation", "ANET": "Arista Networks, Inc.", "LVS": "Las Vegas Sands Corp.", "CSCO": "Cisco Systems, Inc.", "ALLE": "Allegion plc", "ROP": "Roper Technologies, Inc.", "KMB": "Kimberly-Clark Corporation", "EIX": "Edison International", "VRTX": "Vertex Pharmaceuticals Incorporated", "AMP": "Ameriprise Financial, Inc.", "PWR": "Quanta Services, Inc.", "HSY": "The Hershey Company", "AMZN": "Amazon.com, Inc.", "ADSK": "Autodesk, Inc.", "VRSN": "VeriSign, Inc.", "VB": "Vanguard Small-Cap Index Fund ETF Shares", "TT": "Trane Technologies plc", "HD": "The Home Depot, Inc.", "AAP": "Advance Auto Parts, Inc.", "NDAQ": "Nasdaq, Inc.", "BAC": "Bank of America Corporation", "MCHP": "Microchip Technology Incorporated", "DTE": "DTE Energy Company", "NUE": "Nucor Corporation", "LEG": "Leggett & Platt, Incorporated", "EA": "Electronic Arts Inc.", "CE": "Celanese Corporation", "MU": "Micron Technology, Inc.", "MSI": "Motorola Solutions, Inc.", "RCL": "Royal Caribbean Cruises Ltd.", "CAG": "Conagra Brands, Inc.", "JWN": "Nordstrom, Inc.", "HRB": "H&R Block, Inc.", "ADBE": "Adobe Inc.", "QCOM": "QUALCOMM Incorporated", "OMC": "Omnicom Group Inc.", "SYF": "Synchrony Financial", "PCAR": "PACCAR Inc", "BBY": "Best Buy Co., Inc.", "MHK": "Mohawk Industries, Inc.", "SHW": "The Sherwin-Williams Company", "SNPS": "Synopsys, Inc.", "UAL": "United Airlines Holdings, Inc.", "COTY": "Coty Inc.", "AON": "Aon Plc", "CAT": "Caterpillar Inc.", "TXN": "Texas Instruments Incorporated", "DXC": "DXC Technology Company", "DVN": "Devon Energy Corporation", "ZION": "Zions Bancorporation, National Association", "KSS": "Kohl's Corporation", "FCX": "Freeport-McMoRan Inc.", "ES": "Eversource Energy", "STE": "STERIS plc", "NVDA": "NVIDIA Corporation", "BA": "The Boeing Company", "PSX": "Phillips 66", "WM": "Waste Management, Inc.", "BRK-B": "Berkshire Hathaway Inc.", "HAL": "Halliburton Company", "FTI": "TechnipFMC plc", "GS": "The Goldman Sachs Group, Inc.", "MUB": "iShares National Muni Bond ETF", "PHM": "PulteGroup, Inc.", "IP": "International Paper Company", "MPC": "Marathon Petroleum Corporation", "L": "Loews Corporation", "PRU": "Prudential Financial, Inc.", "MKTX": "MarketAxess Holdings Inc.", "UNH": "UnitedHealth Group Incorporated", "MMM": "3M Company", "FOXA": "Fox Corporation", "AIV": "Apartment Investment and Management Company", "SNA": "Snap-on Incorporated", "CB": "Chubb Limited", "FE": "FirstEnergy Corp.", "DD": "DuPont de Nemours, Inc.", "ARNC": "Arconic Corporation", "AKAM": "Akamai Technologies, Inc.", "WELL": "Welltower Inc.", "DG": "Dollar General Corporation", "TFX": "Teleflex Incorporated", "RHI": "Robert Half International Inc.", "PEG": "Public Service Enterprise Group Incorporated", "JKHY": "Jack Henry & Associates, Inc.", "NVR": "NVR, Inc.", "CRM": "salesforce.com, inc.", "BIV": "Vanguard Intermediate-Term Bond Index Fund ETF Shares", "FAST": "Fastenal Company", "DAL": "Delta Air Lines, Inc.", "ZBH": "Zimmer Biomet Holdings, Inc.", "CHRW": "C.H. Robinson Worldwide, Inc.", "PKG": "Packaging Corporation of America", "HOLX": "Hologic, Inc.", "CVS": "CVS Health Corporation", "CPRI": "Capri Holdings Limited", "APD": "Air Products and Chemicals, Inc.", "PRGO": "Perrigo Company plc", "AES": "The AES Corporation", "M": "Macy's, Inc.", "ALGN": "Align Technology, Inc.", "VEA": "Vanguard FTSE Developed Markets Index Fund ETF Shares", "PNR": "Pentair plc", "PLD": "Prologis, Inc.", "GRMN": "Garmin Ltd.", "DUK": "Duke Energy Corporation", "CTSH": "Cognizant Technology Solutions Corporation", "UPS": "United Parcel Service, Inc.", "VRSK": "Verisk Analytics, Inc.", "PAYC": "Paycom Software, Inc.", "MMC": "Marsh & McLennan Companies, Inc.", "BKR": "Baker Hughes Company", "ALB": "Albemarle Corporation", "SWKS": "Skyworks Solutions, Inc.", "D": "Dominion Energy, Inc.", "IDXX": "IDEXX Laboratories, Inc.", "ABMD": "Abiomed, Inc.", "OXY": "Occidental Petroleum Corporation", "CAH": "Cardinal Health, Inc.", "CDW": "CDW Corporation", "RMD": "ResMed Inc.", "FTV": "Fortive Corporation", "ETR": "Entergy Corporation", "TJX": "The TJX Companies, Inc.", "TXT": "Textron Inc.", "ZTS": "Zoetis Inc.", "AAPL": "Apple Inc.", "ARE": "Alexandria Real Estate Equities, Inc.", "LHX": "L3Harris Technologies, Inc.", "BMY": "Bristol-Myers Squibb Company", "HUM": "Humana Inc.", "LDOS": "Leidos Holdings, Inc.", "AMAT": "Applied Materials, Inc.", "TROW": "T. Rowe Price Group, Inc.", "LIN": "Linde plc", "SRE": "Sempra Energy", "AOS": "A. O. Smith Corporation", "HON": "Honeywell International Inc.", "EMN": "Eastman Chemical Company", "PVH": "PVH Corp.", "ADP": "Automatic Data Processing, Inc.", "NEE": "NextEra Energy, Inc.", "HIG": "The Hartford Financial Services Group, Inc.", "ABT": "Abbott Laboratories", "EOG": "EOG Resources, Inc.", "PG": "The Procter & Gamble Company", "ALL": "The Allstate Corporation", "AEE": "Ameren Corporation", "DHI": "D.R. Horton, Inc.", "SLG": "SL Green Realty Corp.", "JCI": "Johnson Controls International plc", "SO": "The Southern Company", "MO": "Altria Group, Inc.", "FOX": "Fox Corporation", "TMO": "Thermo Fisher Scientific Inc.", "QRVO": "Qorvo, Inc.", "JBHT": "J.B. Hunt Transport Services, Inc.", "CLX": "The Clorox Company", "EXPE": "Expedia Group, Inc.", "AMGN": "Amgen Inc.", "USB": "U.S. Bancorp", "WRK": "WestRock Company", "LKQ": "LKQ Corporation", "STT": "State Street Corporation", "PKI": "PerkinElmer, Inc.", "FLS": "Flowserve Corporation", "MLM": "Martin Marietta Materials, Inc.", "SBAC": "SBA Communications Corporation (REIT)", "TSLA": "Tesla Inc.", "IT": "Gartner, Inc.", "HCA": "HCA Healthcare, Inc.", "AFL": "Aflac Incorporated", "GLW": "Corning Incorporated", "EQIX": "Equinix, Inc. (REIT)", "GOOGL": "Alphabet Inc.", "NEM": "Newmont Corporation", "KLAC": "KLA Corporation", "MNST": "Monster Beverage Corporation", "WEC": "WEC Energy Group, Inc.", "DLR": "Digital Realty Trust, Inc.", "FLT": "FLEETCOR Technologies, Inc.", "NWSA": "News Corporation", "MCD": "McDonald's Corporation", "TGT": "Target Corporation", "CNP": "CenterPoint Energy, Inc.", "ED": "Consolidated Edison, Inc.", "SCHW": "The Charles Schwab Corporation", "UAA": "Under Armour, Inc.", "FRC": "First Republic Bank", "TAP": "Molson Coors Beverage Company", "AJG": "Arthur J. Gallagher & Co.", "PYPL": "PayPal Holdings, Inc.", "MRK": "Merck & Co., Inc.", "PPL": "PPL Corporation", "LRCX": "Lam Research Corporation", "TSN": "Tyson Foods, Inc.", "NFLX": "Netflix, Inc.", "MOS": "The Mosaic Company", "EVRG": "Evergy, Inc.", "HII": "Huntington Ingalls Industries, Inc.", "WFC": "Wells Fargo & Company", "ORLY": "O'Reilly Automotive, Inc.", "BLK": "BlackRock, Inc.", "CTAS": "Cintas Corporation", "KO": "The Coca-Cola Company", "XRX": "Xerox Holdings Corporation", "HST": "Host Hotels & Resorts, Inc.", "GIS": "General Mills, Inc.", "CL": "Colgate-Palmolive Company", "WYNN": "Wynn Resorts, Limited", "TMUS": "T-Mobile US, Inc.", "CMS": "CMS Energy Corporation", "GE": "General Electric Company", "CI": "Cigna Corporation", "NTAP": "NetApp, Inc.", "NI": "NiSource Inc.", "MGM": "MGM Resorts International", "CPB": "Campbell Soup Company", "PPG": "PPG Industries, Inc.", "LYV": "Live Nation Entertainment, Inc.", "ROK": "Rockwell Automation, Inc.", "FFIV": "F5 Networks, Inc.", "ADI": "Analog Devices, Inc.", "LMT": "Lockheed Martin Corporation", "CHD": "Church & Dwight Co., Inc.", "BXP": "Boston Properties, Inc.", "WMT": "Walmart Inc.", "STX": "Seagate Technology plc", "KHC": "The Kraft Heinz Company", "AXP": "American Express Company", "PXD": "Pioneer Natural Resources Company", "BK": "The Bank of New York Mellon Corporation", "EL": "The Estee Lauder Companies Inc.", "RF": "Regions Financial Corporation", "JNPR": "Juniper Networks, Inc.", "ATVI": "Activision Blizzard, Inc.", "ABBV": "AbbVie Inc.", "KEYS": "Keysight Technologies, Inc.", "LYB": "LyondellBasell Industries N.V.", "WRB": "W. R. Berkley Corporation", "PAYX": "Paychex, Inc.", "DGX": "Quest Diagnostics Incorporated", "PGR": "The Progressive Corporation", "MSFT": "Microsoft Corporation", "TEL": "TE Connectivity Ltd.", "AEP": "American Electric Power Company, Inc.", "RL": "Ralph Lauren Corporation", "MAS": "Masco Corporation", "AMT": "American Tower Corporation (REIT)", "CSX": "CSX Corporation", "GOOG": "Alphabet Inc.", "VNO": "Vornado Realty Trust", "KIM": "Kimco Realty Corporation", "IRM": "Iron Mountain Incorporated", "WMB": "The Williams Companies, Inc.", "XRAY": "DENTSPLY SIRONA Inc.", "WAB": "Wabtec Corporation", "ACN": "Accenture plc", "TTWO": "Take-Two Interactive Software, Inc.", "RTX": "Raytheon Technologies Corporation", "ODFL": "Old Dominion Freight Line, Inc.", "HLT": "Hilton Worldwide Holdings Inc.", "VNQ": "Vanguard Real Estate Index Fund ETF Shares", "VTR": "Ventas, Inc.", "DLTR": "Dollar Tree, Inc.", "CMCSA": "Comcast Corporation", "FDX": "FedEx Corporation", "TLT": "iShares 20+ Year Treasury Bond ETF", "CHTR": "Charter Communications, Inc.", "C": "Citigroup Inc.", "GILD": "Gilead Sciences, Inc.", "SEE": "Sealed Air Corporation", "NWS": "News Corporation", "MDLZ": "Mondelez International, Inc.", "DHR": "Danaher Corporation", "CVX": "Chevron Corporation", "COP": "ConocoPhillips", "NOC": "Northrop Grumman Corporation", "XOM": "Exxon Mobil Corporation", "KMX": "CarMax, Inc.", "SYY": "Sysco Corporation", "UA": "Under Armour, Inc.", "PEP": "PepsiCo, Inc.", "ATO": "Atmos Energy Corporation", "FRT": "Federal Realty Investment Trust", "EXR": "Extra Space Storage Inc.", "INTU": "Intuit Inc.", "SLB": "Schlumberger Limited", "T": "AT&T Inc.", "TFC": "Truist Financial Corporation", "NSC": "Norfolk Southern Corporation", "HPQ": "HP Inc.", "BIIB": "Biogen Inc.", "ILMN": "Illumina, Inc.", "KEY": "KeyCorp", "CBRE": "CBRE Group, Inc.", "CBOE": "Cboe Global Markets, Inc.", "MSCI": "MSCI Inc.", "MA": "Mastercard Incorporated", "GPN": "Global Payments Inc.", "EQR": "Equity Residential", "AME": "AMETEK, Inc.", "UNP": "Union Pacific Corporation", "TSCO": "Tractor Supply Company", "EMR": "Emerson Electric Co.", "WDC": "Western Digital Corporation", "LNT": "Alliant Energy Corporation", "JPM": "JPMorgan Chase & Co.", "HBI": "Hanesbrands Inc.", "SPY": "SPDR S&P 500 ETF Trust", "AZO": "AutoZone, Inc.", "DOV": "Dover Corporation", "GPS": "The Gap, Inc.", "FANG": "Diamondback Energy, Inc.", "PM": "Philip Morris International Inc.", "IBM": "International Business Machines Corporation", "MTD": "Mettler-Toledo International Inc.", "ICE": "Intercontinental Exchange, Inc.", "GL": "Globe Life Inc.", "CMI": "Cummins Inc.", "CCL": "Carnival Corporation & Plc", "J": "Jacobs Engineering Group Inc.", "ETN": "Eaton Corporation plc", "NCLH": "Norwegian Cruise Line Holdings Ltd.", "VLO": "Valero Energy Corporation", "ORCL": "Oracle Corporation", "SYK": "Stryker Corporation", "LUV": "Southwest Airlines Co.", "BKNG": "Booking Holdings Inc.", "CNC": "Centene Corporation", "IR": "Ingersoll Rand Inc.", "SWK": "Stanley Black & Decker, Inc.", "CF": "CF Industries Holdings, Inc.", "ULTA": "Ulta Beauty, Inc.", "EXC": "Exelon Corporation", "GM": "General Motors Company", "ALK": "Alaska Air Group, Inc.", "LQD": "iShares iBoxx $ Investment Grade Corporate Bond ETF", "APTV": "Aptiv PLC", "COF": "Capital One Financial Corporation", "ZBRA": "Zebra Technologies Corporation", "WHR": "Whirlpool Corporation", "MRO": "Marathon Oil Corporation", "COST": "Costco Wholesale Corporation", "AWK": "American Water Works Company, Inc.", "AIZ": "Assurant, Inc.", "ROL": "Rollins, Inc.", "YUM": "Yum! Brands, Inc.", "VOO": "Vanguard S&P 500 ETF", "ESS": "Essex Property Trust, Inc.", "LLY": "Eli Lilly and Company", "CINF": "Cincinnati Financial Corporation", "AMCR": "Amcor plc", "INCY": "Incyte Corporation", "ECL": "Ecolab Inc.", "BDX": "Becton, Dickinson and Company", "JNJ": "Johnson & Johnson", "FTNT": "Fortinet, Inc.", "WU": "The Western Union Company", "BAX": "Baxter International Inc.", "CME": "CME Group Inc.", "FIS": "Fidelity National Information Services, Inc.", "CMG": "Chipotle Mexican Grill, Inc.", "SJM": "The J. M. Smucker Company", "SIVB": "SVB Financial Group", "HOG": "Harley-Davidson, Inc.", "AVB": "AvalonBay Communities, Inc.", "GPC": "Genuine Parts Company", "MET": "MetLife, Inc.", "CFG": "Citizens Financial Group, Inc.", "CDNS": "Cadence Design Systems, Inc.", "CTVA": "Corteva, Inc.", "URI": "United Rentals, Inc.", "XYL": "Xylem Inc.", "REGN": "Regeneron Pharmaceuticals, Inc.", "MAR": "Marriott International, Inc.", "UHS": "Universal Health Services, Inc.", "SPGI": "S&P Global Inc.", "VZ": "Verizon Communications Inc.", "DFS": "Discover Financial Services", "PEAK": "Healthpeak Properties, Inc.", "MS": "Morgan Stanley", "AMD": "Advanced Micro Devices, Inc.", "AAL": "American Airlines Group Inc.", "NKE": "NIKE, Inc.", "LOW": "Lowe's Companies, Inc.", "WAT": "Waters Corporation", "PH": "Parker-Hannifin Corporation", "NOV": "National Oilwell Varco, Inc.", "NRG": "NRG Energy, Inc.", "IPGP": "IPG Photonics Corporation", "F": "Ford Motor Company", "WBA": "Walgreens Boots Alliance, Inc.", "XEL": "Xcel Energy Inc.", "MTB": "M&T Bank Corporation", "HBAN": "Huntington Bancshares Incorporated", "IEX": "IDEX Corporation", "VMC": "Vulcan Materials Company", "K": "Kellogg Company", "KMI": "Kinder Morgan, Inc.", "BEN": "Franklin Resources, Inc.", "MDT": "Medtronic plc", "INTC": "Intel Corporation", "TWTR": "Twitter, Inc.", "ROST": "Ross Stores, Inc.", "APH": "Amphenol Corporation", "GD": "General Dynamics Corporation", "DISH": "DISH Network Corporation", "A": "Agilent Technologies, Inc.", "HAS": "Hasbro, Inc.", "FMC": "FMC Corporation", "NTRS": "Northern Trust Corporation", "DIS": "The Walt Disney Company", "PNC": "The PNC Financial Services Group, Inc.", "ISRG": "Intuitive Surgical, Inc.", "BTC-USD": "Bitcoin USD", "ETH-USD": "Ethereum USD", "BNB-USD": "BNB USD"}
\ No newline at end of file
+{"MMM": "3M", "AOS": "A. O. Smith", "ABT": "Abbott", "ABBV": "AbbVie", "ACN": "Accenture", "ATVI": "Activision Blizzard", "ADM": "ADM", "ADBE": "Adobe Inc.", "ADP": "ADP", "AES": "AES Corporation", "AFL": "Aflac", "A": "Agilent Technologies", "ABNB": "Airbnb", "APD": "Air Products and Chemicals", "AKAM": "Akamai", "ALK": "Alaska Air Group", "ALB": "Albemarle Corporation", "ARE": "Alexandria Real Estate Equities", "ALGN": "Align Technology", "ALLE": "Allegion", "LNT": "Alliant Energy", "ALL": "Allstate", "GOOGL": "Alphabet Inc. (Class A)", "GOOG": "Alphabet Inc. (Class C)", "MO": "Altria", "AMZN": "Amazon", "AMCR": "Amcor", "AMD": "Advanced Micro Devices Inc.", "AEE": "Ameren", "AAL": "American Airlines Group", "AEP": "American Electric Power", "AXP": "American Express", "AIG": "American International Group", "AMT": "American Tower", "AWK": "American Water Works", "AMP": "Ameriprise Financial", "AME": "Ametek", "AMGN": "Amgen", "APH": "Amphenol", "ADI": "Analog Devices", "ANSS": "Ansys", "AON": "Aon", "APA": "APA Corporation", "AAPL": "Apple Inc.", "AMAT": "Applied Materials", "APTV": "Aptiv", "ACGL": "Arch Capital Group", "ANET": "Arista Networks", "AJG": "Arthur J. Gallagher & Co.", "AIZ": "Assurant", "T": "AT&T", "ATO": "Atmos Energy", "ADSK": "Autodesk", "AZO": "AutoZone", "AVB": "AvalonBay Communities", "AVY": "Avery Dennison", "AXON": "Axon Enterprise", "BKR": "Baker Hughes", "BALL": "Ball Corporation", "BAC": "Bank of America", "BBWI": "Bath & Body Works, Inc.", "BAX": "Baxter International", "BDX": "Becton Dickinson", "WRB": "Berkley", "BRK-B": "Berkshire Hathaway", "BBY": "Best Buy", "BIO": "Bio-Rad", "TECH": "Bio-Techne", "BIIB": "Biogen", "BLK": "BlackRock", "BX": "Blackstone", "BK": "BNY Mellon", "BA": "Boeing", "BKNG": "Booking Holdings", "BWA": "BorgWarner", "BXP": "Boston Properties", "BSX": "Boston Scientific", "BMY": "Bristol Myers Squibb", "AVGO": "Broadcom Inc.", "BR": "Broadridge Financial Solutions", "BRO": "Brown & Brown", "BF-B": "Brown\u2013Forman", "BG": "Bunge Limited", "CHRW": "C.H. Robinson", "CDNS": "Cadence Design Systems", "CZR": "Caesars Entertainment", "CPT": "Camden Property Trust", "CPB": "Campbell Soup Company", "COF": "Capital One", "CAH": "Cardinal Health", "KMX": "CarMax", "CCL": "Carnival", "CARR": "Carrier Global", "CTLT": "Catalent", "CAT": "Caterpillar Inc.", "CBOE": "Cboe Global Markets", "CBRE": "CBRE Group", "CDW": "CDW", "CE": "Celanese", "COR": "Cencora", "CNC": "Centene Corporation", "CNP": "CenterPoint Energy", "CDAY": "Ceridian", "CF": "CF Industries", "CRL": "Charles River Laboratories", "SCHW": "Charles Schwab Corporation", "CHTR": "Charter Communications", "CVX": "Chevron Corporation", "CMG": "Chipotle Mexican Grill", "CB": "Chubb Limited", "CHD": "Church & Dwight", "CI": "Cigna", "CINF": "Cincinnati Financial", "CTAS": "Cintas", "CSCO": "Cisco", "C": "Citigroup", "CFG": "Citizens Financial Group", "CLX": "Clorox", "CME": "CME Group", "CMS": "CMS Energy", "KO": "Coca-Cola Company (The)", "CTSH": "Cognizant", "CL": "Colgate-Palmolive", "CMCSA": "Comcast", "CMA": "Comerica", "CAG": "Conagra Brands", "COP": "ConocoPhillips", "ED": "Consolidated Edison", "STZ": "Constellation Brands", "CEG": "Constellation Energy", "COO": "CooperCompanies", "CPRT": "Copart", "GLW": "Corning Inc.", "CTVA": "Corteva", "CSGP": "CoStar Group", "COST": "Costco", "CTRA": "Coterra", "CCI": "Crown Castle", "CSX": "CSX Corporation", "CMI": "Cummins", "CVS": "CVS Health", "DHI": "D.R. Horton", "DHR": "Danaher Corporation", "DRI": "Darden Restaurants", "DVA": "DaVita Inc.", "DE": "John Deere", "DAL": "Delta Air Lines", "XRAY": "Dentsply Sirona", "DVN": "Devon Energy", "DXCM": "DexCom", "FANG": "Diamondback Energy", "DLR": "Digital Realty", "DFS": "Discover Financial", "DIS": "Disney", "DG": "Dollar General", "DLTR": "Dollar Tree", "D": "Dominion Energy", "DPZ": "Domino's", "DOV": "Dover Corporation", "DOW": "Dow Inc.", "DTE": "DTE Energy", "DUK": "Duke Energy", "DD": "DuPont", "DXC": "DXC Technology", "EMN": "Eastman Chemical Company", "ETN": "Eaton Corporation", "EBAY": "eBay", "ECL": "Ecolab", "EIX": "Edison International", "EW": "Edwards Lifesciences", "EA": "Electronic Arts", "ELV": "Elevance Health", "LLY": "Eli Lilly and Company", "EMR": "Emerson Electric", "ENPH": "Enphase Energy", "ETR": "Entergy", "EOG": "EOG Resources", "EPAM": "EPAM Systems", "EQT": "EQT", "EFX": "Equifax", "EQIX": "Equinix", "EQR": "Equity Residential", "ESS": "Essex Property Trust", "EL": "Est\u00e9e Lauder Companies (The)", "ETSY": "Etsy", "EG": "Everest Re", "EVRG": "Evergy", "ES": "Eversource", "EXC": "Exelon", "EXPE": "Expedia Group", "EXPD": "Expeditors International", "EXR": "Extra Space Storage", "XOM": "ExxonMobil", "FFIV": "F5, Inc.", "FDS": "FactSet", "FICO": "Fair Isaac", "FAST": "Fastenal", "FRT": "Federal Realty", "FDX": "FedEx", "FITB": "Fifth Third Bank", "FSLR": "First Solar", "FE": "FirstEnergy", "FIS": "FIS", "FI": "Fiserv", "FLT": "Fleetcor", "FMC": "FMC Corporation", "F": "Ford Motor Company", "FTNT": "Fortinet", "FTV": "Fortive", "FOXA": "Fox Corporation (Class A)", "FOX": "Fox Corporation (Class B)", "BEN": "Franklin Templeton", "FCX": "Freeport-McMoRan", "GRMN": "Garmin", "IT": "Gartner", "GEHC": "GE HealthCare", "GEN": "Gen Digital", "GNRC": "Generac", "GD": "General Dynamics", "GE": "General Electric", "GIS": "General Mills", "GM": "General Motors", "GPC": "Genuine Parts Company", "GILD": "Gilead Sciences", "GL": "Globe Life", "GPN": "Global Payments", "GS": "Goldman Sachs", "HAL": "Halliburton", "HIG": "Hartford (The)", "HAS": "Hasbro", "HCA": "HCA Healthcare", "PEAK": "Healthpeak", "HSIC": "Henry Schein", "HSY": "Hershey's", "HES": "Hess Corporation", "HPE": "Hewlett Packard Enterprise", "HLT": "Hilton Worldwide", "HOLX": "Hologic", "HD": "Home Depot (The)", "HON": "Honeywell", "HRL": "Hormel Foods", "HST": "Host Hotels & Resorts", "HWM": "Howmet Aerospace", "HPQ": "HP Inc.", "HUM": "Humana", "HBAN": "Huntington Bancshares", "HII": "Huntington Ingalls Industries", "IBM": "IBM", "IEX": "IDEX Corporation", "IDXX": "Idexx Laboratories", "ITW": "Illinois Tool Works", "ILMN": "Illumina, Inc.", "INCY": "Incyte", "IR": "Ingersoll Rand", "PODD": "Insulet", "INTC": "Intel", "ICE": "Intercontinental Exchange", "IFF": "International Flavors & Fragrances", "IP": "International Paper", "IPG": "Interpublic Group of Companies (The)", "INTU": "Intuit", "ISRG": "Intuitive Surgical", "IVZ": "Invesco", "INVH": "Invitation Homes", "IQV": "IQVIA", "IRM": "Iron Mountain", "JBHT": "J.B. Hunt", "JKHY": "Jack Henry & Associates", "J": "Jacobs Solutions", "JNJ": "Johnson & Johnson", "JCI": "Johnson Controls", "JPM": "JPMorgan Chase", "JNPR": "Juniper Networks", "K": "Kellogg's", "KVUE": "Kenvue", "KDP": "Keurig Dr Pepper", "KEY": "KeyCorp", "KEYS": "Keysight", "KMB": "Kimberly-Clark", "KIM": "Kimco Realty", "KMI": "Kinder Morgan", "KLAC": "KLA Corporation", "KHC": "Kraft Heinz", "KR": "Kroger", "LHX": "L3Harris", "LH": "LabCorp", "LRCX": "Lam Research", "LW": "Lamb Weston", "LVS": "Las Vegas Sands", "LDOS": "Leidos", "LEN": "Lennar", "LIN": "Linde plc", "LYV": "Live Nation Entertainment", "LKQ": "LKQ Corporation", "LMT": "Lockheed Martin", "L": "Loews Corporation", "LOW": "Lowe's", "LYB": "LyondellBasell", "MTB": "M&T Bank", "MRO": "Marathon Oil", "MPC": "Marathon Petroleum", "MKTX": "MarketAxess", "MAR": "Marriott International", "MMC": "Marsh McLennan", "MLM": "Martin Marietta Materials", "MAS": "Masco", "MA": "Mastercard", "MTCH": "Match Group", "MKC": "McCormick & Company", "MCD": "McDonald's", "MCK": "McKesson", "MDT": "Medtronic", "MRK": "Merck & Co.", "META": "Meta Platforms", "MET": "MetLife", "MTD": "Mettler Toledo", "MGM": "MGM Resorts", "MCHP": "Microchip Technology", "MU": "Micron Technology", "MSFT": "Microsoft", "MAA": "Mid-America Apartment Communities", "MRNA": "Moderna", "MHK": "Mohawk Industries", "MOH": "Molina Healthcare", "TAP": "Molson Coors Beverage Company", "MDLZ": "Mondel\u0113z International", "MPWR": "Monolithic Power Systems", "MNST": "Monster Beverage", "MCO": "Moody's Corporation", "MS": "Morgan Stanley", "MOS": "Mosaic Company (The)", "MSI": "Motorola Solutions", "MSCI": "MSCI", "NDAQ": "Nasdaq, Inc.", "NTAP": "NetApp", "NFLX": "Netflix", "NEM": "Newmont", "NWSA": "News Corp (Class A)", "NWS": "News Corp (Class B)", "NEE": "NextEra Energy", "NKE": "Nike, Inc.", "NI": "NiSource", "NDSN": "Nordson Corporation", "NSC": "Norfolk Southern Railway", "NTRS": "Northern Trust", "NOC": "Northrop Grumman", "NCLH": "Norwegian Cruise Line Holdings", "NRG": "NRG Energy", "NUE": "Nucor", "NVDA": "Nvidia", "NVR": "NVR, Inc.", "NXPI": "NXP", "ORLY": "O'Reilly Automotive", "OXY": "Occidental Petroleum", "ODFL": "Old Dominion Freight Line", "OMC": "Omnicom Group", "ON": "Onsemi", "OKE": "ONEOK", "ORCL": "Oracle Corporation", "OGN": "Organon & Co.", "OTIS": "Otis Worldwide", "PCAR": "Paccar", "PKG": "Packaging Corporation of America", "PANW": "Palo Alto Networks", "PARA": "Paramount Global", "PH": "Parker Hannifin", "PAYX": "Paychex", "PAYC": "Paycom", "PYPL": "PayPal", "PNR": "Pentair", "PEP": "PepsiCo", "PFE": "Pfizer", "PCG": "PG&E Corporation", "PM": "Philip Morris International", "PSX": "Phillips 66", "PNW": "Pinnacle West", "PXD": "Pioneer Natural Resources", "PNC": "PNC Financial Services", "POOL": "Pool Corporation", "PPG": "PPG Industries", "PPL": "PPL Corporation", "PFG": "Principal Financial Group", "PG": "Procter & Gamble", "PGR": "Progressive Corporation", "PLD": "Prologis", "PRU": "Prudential Financial", "PEG": "Public Service Enterprise Group", "PTC": "PTC", "PSA": "Public Storage", "PHM": "PulteGroup", "QRVO": "Qorvo", "PWR": "Quanta Services", "QCOM": "Qualcomm", "DGX": "Quest Diagnostics", "RL": "Ralph Lauren Corporation", "RJF": "Raymond James", "RTX": "RTX Corporation", "O": "Realty Income", "REG": "Regency Centers", "REGN": "Regeneron", "RF": "Regions Financial Corporation", "RSG": "Republic Services", "RMD": "ResMed", "RVTY": "Revvity", "RHI": "Robert Half", "ROK": "Rockwell Automation", "ROL": "Rollins, Inc.", "ROP": "Roper Technologies", "ROST": "Ross Stores", "RCL": "Royal Caribbean Group", "SPGI": "S&P Global", "CRM": "Salesforce", "SBAC": "SBA Communications", "SLB": "Schlumberger", "STX": "Seagate Technology", "SEE": "Sealed Air", "SRE": "Sempra Energy", "NOW": "ServiceNow", "SHW": "Sherwin-Williams", "SPG": "Simon Property Group", "SWKS": "Skyworks Solutions", "SJM": "J.M. Smucker Company (The)", "SNA": "Snap-on", "SEDG": "SolarEdge", "SO": "Southern Company", "LUV": "Southwest Airlines", "SWK": "Stanley Black & Decker", "SBUX": "Starbucks", "STT": "State Street Corporation", "STLD": "Steel Dynamics", "STE": "Steris", "SYK": "Stryker Corporation", "SYF": "Synchrony Financial", "SNPS": "Synopsys", "SYY": "Sysco", "TMUS": "T-Mobile US", "TROW": "T. Rowe Price", "TTWO": "Take-Two Interactive", "TPR": "Tapestry, Inc.", "TRGP": "Targa Resources", "TGT": "Target Corporation", "TEL": "TE Connectivity", "TDY": "Teledyne Technologies", "TFX": "Teleflex", "TER": "Teradyne", "TSLA": "Tesla, Inc.", "TXN": "Texas Instruments", "TXT": "Textron", "TMO": "Thermo Fisher Scientific", "TJX": "TJX Companies", "TSCO": "Tractor Supply", "TT": "Trane Technologies", "TDG": "TransDigm Group", "TRV": "Travelers Companies (The)", "TRMB": "Trimble Inc.", "TFC": "Truist", "TYL": "Tyler Technologies", "TSN": "Tyson Foods", "USB": "U.S. Bank", "UDR": "UDR, Inc.", "ULTA": "Ulta Beauty", "UNP": "Union Pacific Corporation", "UAL": "United Airlines Holdings", "UPS": "United Parcel Service", "URI": "United Rentals", "UNH": "UnitedHealth Group", "UHS": "Universal Health Services", "VLO": "Valero Energy", "VTR": "Ventas", "VRSN": "Verisign", "VRSK": "Verisk", "VZ": "Verizon", "VRTX": "Vertex Pharmaceuticals", "VFC": "VF Corporation", "VTRS": "Viatris", "VICI": "Vici Properties", "V": "Visa Inc.", "VMC": "Vulcan Materials Company", "WAB": "Wabtec", "WBA": "Walgreens Boots Alliance", "WMT": "Walmart", "WBD": "Warner Bros. Discovery", "WM": "Waste Management", "WAT": "Waters Corporation", "WEC": "WEC Energy Group", "WFC": "Wells Fargo", "WELL": "Welltower", "WST": "West Pharmaceutical Services", "WDC": "Western Digital", "WRK": "WestRock", "WY": "Weyerhaeuser", "WHR": "Whirlpool Corporation", "WMB": "Williams Companies", "WTW": "Willis Towers Watson", "GWW": "W. W. Grainger", "WYNN": "Wynn Resorts", "XEL": "Xcel Energy", "XYL": "Xylem Inc.", "YUM": "Yum! Brands", "ZBRA": "Zebra Technologies", "ZBH": "Zimmer Biomet", "ZION": "Zions Bancorporation", "ZTS": "Zoetis", "ASML": "ASML Holding", "AZN": "AstraZeneca", "TEAM": "Atlassian", "CRWD": "CrowdStrike", "DDOG": "Datadog", "GFS": "GlobalFoundries", "JD": "JD.com", "LCID": "Lucid Motors", "LULU": "Lululemon", "MRVL": "Marvell Technology", "MELI": "MercadoLibre", "PDD": "PDD Holdings", "SGEN": "Seagen", "SIRI": "Sirius XM", "TTD": "The Trade Desk", "WDAY": "Workday, Inc.", "ZM": "Zoom Video Communications", "ZS": "Zscaler", "BTC-USD": "BTC-USD | Bitcoin USD", "ETH-USD": "ETH-USD | Ethereum USD", "SPY": "SPDR S&P 500 ETF Trust", "IEF": "iShares 7-10 Year Treasury Bond ETF", "IAU": "iShares Gold Trust", "XME": "SPDR S&P Metals & Mining ETF", "XLI": " Industrial Select Sector SPDR Fund", "XLRE": "Real Estate Select Sector SPDR Fund", "XLF": "Financial Select Sector SPDR Fund", "XLE": "Energy Select Sector SPDR Fund", "XLK": "Technology Select Sector SPDR Fund", "XTL": "SPDR S&P Telecom ETF", "XLP": "Consumer Staples Select Sector SPDR Fund", "XLY": "Consumer Discretionary Select Sector SPDR Fund", "XLU": "Utilities Select Sector SPDR Fund", "XLV": "Health Care Select Sector SPDR Fund"}
\ No newline at end of file
diff --git a/data_init/assets_us.json b/data_init/assets_us.json
index 582bc7b..9778462 100644
--- a/data_init/assets_us.json
+++ b/data_init/assets_us.json
@@ -1 +1 @@
-{"ABC": "AmerisourceBergen Corporation", "VFC": "V.F. Corporation", "UNM": "Unum Group", "SBUX": "Starbucks Corporation", "RSG": "Republic Services, Inc.", "IVZ": "Invesco Ltd.", "KR": "The Kroger Co.", "TDG": "TransDigm Group Incorporated", "MAA": "Mid-America Apartment Communities, Inc.", "VWO": "Vanguard FTSE Emerging Markets Index Fund ETF Shares", "UDR": "UDR, Inc.", "EXPD": "Expeditors International of Washington, Inc.", "AIG": "American International Group, Inc.", "REG": "Regency Centers Corporation", "CMA": "Comerica Incorporated", "IQV": "IQVIA Holdings Inc.", "OKE": "ONEOK, Inc.", "IPG": "The Interpublic Group of Companies, Inc.", "BSX": "Boston Scientific Corporation", "RJF": "Raymond James Financial, Inc.", "O": "Realty Income Corporation", "LNC": "Lincoln National Corporation", "ANSS": "ANSYS, Inc.", "IFF": "International Flavors & Fragrances Inc.", "BR": "Broadridge Financial Solutions, Inc.", "V": "Visa Inc.", "FITB": "Fifth Third Bancorp", "NWL": "Newell Brands Inc.", "ITW": "Illinois Tool Works Inc.", "CCI": "Crown Castle International Corp. (REIT)", "TRV": "The Travelers Companies, Inc.", "HPE": "Hewlett Packard Enterprise Company", "HP": "Helmerich & Payne, Inc.", "WY": "Weyerhaeuser Company", "AVGO": "Broadcom Inc.", "PFE": "Pfizer Inc.", "EW": "Edwards Lifesciences Corporation", "STZ": "Constellation Brands, Inc.", "PFG": "Principal Financial Group, Inc.", "EFX": "Equifax Inc.", "BF-B": "Brown-Forman Corporation", "ANET": "Arista Networks, Inc.", "LVS": "Las Vegas Sands Corp.", "CSCO": "Cisco Systems, Inc.", "ALLE": "Allegion plc", "ROP": "Roper Technologies, Inc.", "KMB": "Kimberly-Clark Corporation", "EIX": "Edison International", "VRTX": "Vertex Pharmaceuticals Incorporated", "AMP": "Ameriprise Financial, Inc.", "PWR": "Quanta Services, Inc.", "HSY": "The Hershey Company", "AMZN": "Amazon.com, Inc.", "ADSK": "Autodesk, Inc.", "VRSN": "VeriSign, Inc.", "VB": "Vanguard Small-Cap Index Fund ETF Shares", "TT": "Trane Technologies plc", "HD": "The Home Depot, Inc.", "AAP": "Advance Auto Parts, Inc.", "NDAQ": "Nasdaq, Inc.", "BAC": "Bank of America Corporation", "MCHP": "Microchip Technology Incorporated", "DTE": "DTE Energy Company", "NUE": "Nucor Corporation", "LEG": "Leggett & Platt, Incorporated", "EA": "Electronic Arts Inc.", "CE": "Celanese Corporation", "MU": "Micron Technology, Inc.", "MSI": "Motorola Solutions, Inc.", "RCL": "Royal Caribbean Cruises Ltd.", "CAG": "Conagra Brands, Inc.", "JWN": "Nordstrom, Inc.", "HRB": "H&R Block, Inc.", "ADBE": "Adobe Inc.", "QCOM": "QUALCOMM Incorporated", "OMC": "Omnicom Group Inc.", "SYF": "Synchrony Financial", "PCAR": "PACCAR Inc", "BBY": "Best Buy Co., Inc.", "MHK": "Mohawk Industries, Inc.", "SHW": "The Sherwin-Williams Company", "SNPS": "Synopsys, Inc.", "UAL": "United Airlines Holdings, Inc.", "COTY": "Coty Inc.", "AON": "Aon Plc", "CAT": "Caterpillar Inc.", "TXN": "Texas Instruments Incorporated", "DXC": "DXC Technology Company", "DVN": "Devon Energy Corporation", "ZION": "Zions Bancorporation, National Association", "KSS": "Kohl's Corporation", "FCX": "Freeport-McMoRan Inc.", "ES": "Eversource Energy", "STE": "STERIS plc", "NVDA": "NVIDIA Corporation", "BA": "The Boeing Company", "PSX": "Phillips 66", "WM": "Waste Management, Inc.", "BRK-B": "Berkshire Hathaway Inc.", "HAL": "Halliburton Company", "FTI": "TechnipFMC plc", "GS": "The Goldman Sachs Group, Inc.", "MUB": "iShares National Muni Bond ETF", "PHM": "PulteGroup, Inc.", "IP": "International Paper Company", "MPC": "Marathon Petroleum Corporation", "L": "Loews Corporation", "PRU": "Prudential Financial, Inc.", "MKTX": "MarketAxess Holdings Inc.", "UNH": "UnitedHealth Group Incorporated", "MMM": "3M Company", "FOXA": "Fox Corporation", "AIV": "Apartment Investment and Management Company", "SNA": "Snap-on Incorporated", "CB": "Chubb Limited", "FE": "FirstEnergy Corp.", "DD": "DuPont de Nemours, Inc.", "ARNC": "Arconic Corporation", "AKAM": "Akamai Technologies, Inc.", "WELL": "Welltower Inc.", "DG": "Dollar General Corporation", "TFX": "Teleflex Incorporated", "RHI": "Robert Half International Inc.", "PEG": "Public Service Enterprise Group Incorporated", "JKHY": "Jack Henry & Associates, Inc.", "NVR": "NVR, Inc.", "CRM": "salesforce.com, inc.", "BIV": "Vanguard Intermediate-Term Bond Index Fund ETF Shares", "FAST": "Fastenal Company", "DAL": "Delta Air Lines, Inc.", "ZBH": "Zimmer Biomet Holdings, Inc.", "CHRW": "C.H. Robinson Worldwide, Inc.", "PKG": "Packaging Corporation of America", "HOLX": "Hologic, Inc.", "CVS": "CVS Health Corporation", "CPRI": "Capri Holdings Limited", "APD": "Air Products and Chemicals, Inc.", "PRGO": "Perrigo Company plc", "AES": "The AES Corporation", "M": "Macy's, Inc.", "ALGN": "Align Technology, Inc.", "VEA": "Vanguard FTSE Developed Markets Index Fund ETF Shares", "PNR": "Pentair plc", "PLD": "Prologis, Inc.", "GRMN": "Garmin Ltd.", "DUK": "Duke Energy Corporation", "CTSH": "Cognizant Technology Solutions Corporation", "UPS": "United Parcel Service, Inc.", "VRSK": "Verisk Analytics, Inc.", "PAYC": "Paycom Software, Inc.", "MMC": "Marsh & McLennan Companies, Inc.", "BKR": "Baker Hughes Company", "ALB": "Albemarle Corporation", "SWKS": "Skyworks Solutions, Inc.", "D": "Dominion Energy, Inc.", "IDXX": "IDEXX Laboratories, Inc.", "ABMD": "Abiomed, Inc.", "OXY": "Occidental Petroleum Corporation", "CAH": "Cardinal Health, Inc.", "CDW": "CDW Corporation", "RMD": "ResMed Inc.", "FTV": "Fortive Corporation", "ETR": "Entergy Corporation", "TJX": "The TJX Companies, Inc.", "TXT": "Textron Inc.", "ZTS": "Zoetis Inc.", "AAPL": "Apple Inc.", "ARE": "Alexandria Real Estate Equities, Inc.", "LHX": "L3Harris Technologies, Inc.", "BMY": "Bristol-Myers Squibb Company", "HUM": "Humana Inc.", "LDOS": "Leidos Holdings, Inc.", "AMAT": "Applied Materials, Inc.", "TROW": "T. Rowe Price Group, Inc.", "LIN": "Linde plc", "SRE": "Sempra Energy", "AOS": "A. O. Smith Corporation", "HON": "Honeywell International Inc.", "EMN": "Eastman Chemical Company", "PVH": "PVH Corp.", "ADP": "Automatic Data Processing, Inc.", "NEE": "NextEra Energy, Inc.", "HIG": "The Hartford Financial Services Group, Inc.", "ABT": "Abbott Laboratories", "EOG": "EOG Resources, Inc.", "PG": "The Procter & Gamble Company", "ALL": "The Allstate Corporation", "AEE": "Ameren Corporation", "DHI": "D.R. Horton, Inc.", "SLG": "SL Green Realty Corp.", "JCI": "Johnson Controls International plc", "SO": "The Southern Company", "MO": "Altria Group, Inc.", "FOX": "Fox Corporation", "TMO": "Thermo Fisher Scientific Inc.", "QRVO": "Qorvo, Inc.", "JBHT": "J.B. Hunt Transport Services, Inc.", "CLX": "The Clorox Company", "EXPE": "Expedia Group, Inc.", "AMGN": "Amgen Inc.", "USB": "U.S. Bancorp", "WRK": "WestRock Company", "LKQ": "LKQ Corporation", "STT": "State Street Corporation", "PKI": "PerkinElmer, Inc.", "FLS": "Flowserve Corporation", "MLM": "Martin Marietta Materials, Inc.", "SBAC": "SBA Communications Corporation (REIT)", "TSLA": "Tesla Inc.", "IT": "Gartner, Inc.", "HCA": "HCA Healthcare, Inc.", "AFL": "Aflac Incorporated", "GLW": "Corning Incorporated", "EQIX": "Equinix, Inc. (REIT)", "GOOGL": "Alphabet Inc.", "NEM": "Newmont Corporation", "KLAC": "KLA Corporation", "MNST": "Monster Beverage Corporation", "WEC": "WEC Energy Group, Inc.", "DLR": "Digital Realty Trust, Inc.", "FLT": "FLEETCOR Technologies, Inc.", "NWSA": "News Corporation", "MCD": "McDonald's Corporation", "TGT": "Target Corporation", "CNP": "CenterPoint Energy, Inc.", "ED": "Consolidated Edison, Inc.", "SCHW": "The Charles Schwab Corporation", "UAA": "Under Armour, Inc.", "FRC": "First Republic Bank", "TAP": "Molson Coors Beverage Company", "AJG": "Arthur J. Gallagher & Co.", "PYPL": "PayPal Holdings, Inc.", "MRK": "Merck & Co., Inc.", "PPL": "PPL Corporation", "LRCX": "Lam Research Corporation", "TSN": "Tyson Foods, Inc.", "NFLX": "Netflix, Inc.", "MOS": "The Mosaic Company", "EVRG": "Evergy, Inc.", "HII": "Huntington Ingalls Industries, Inc.", "WFC": "Wells Fargo & Company", "ORLY": "O'Reilly Automotive, Inc.", "BLK": "BlackRock, Inc.", "CTAS": "Cintas Corporation", "KO": "The Coca-Cola Company", "XRX": "Xerox Holdings Corporation", "HST": "Host Hotels & Resorts, Inc.", "GIS": "General Mills, Inc.", "CL": "Colgate-Palmolive Company", "WYNN": "Wynn Resorts, Limited", "TMUS": "T-Mobile US, Inc.", "CMS": "CMS Energy Corporation", "GE": "General Electric Company", "CI": "Cigna Corporation", "NTAP": "NetApp, Inc.", "NI": "NiSource Inc.", "MGM": "MGM Resorts International", "CPB": "Campbell Soup Company", "PPG": "PPG Industries, Inc.", "LYV": "Live Nation Entertainment, Inc.", "ROK": "Rockwell Automation, Inc.", "FFIV": "F5 Networks, Inc.", "ADI": "Analog Devices, Inc.", "LMT": "Lockheed Martin Corporation", "CHD": "Church & Dwight Co., Inc.", "BXP": "Boston Properties, Inc.", "WMT": "Walmart Inc.", "STX": "Seagate Technology plc", "KHC": "The Kraft Heinz Company", "AXP": "American Express Company", "PXD": "Pioneer Natural Resources Company", "BK": "The Bank of New York Mellon Corporation", "EL": "The Estee Lauder Companies Inc.", "RF": "Regions Financial Corporation", "JNPR": "Juniper Networks, Inc.", "ATVI": "Activision Blizzard, Inc.", "ABBV": "AbbVie Inc.", "KEYS": "Keysight Technologies, Inc.", "LYB": "LyondellBasell Industries N.V.", "WRB": "W. R. Berkley Corporation", "PAYX": "Paychex, Inc.", "DGX": "Quest Diagnostics Incorporated", "PGR": "The Progressive Corporation", "MSFT": "Microsoft Corporation", "TEL": "TE Connectivity Ltd.", "AEP": "American Electric Power Company, Inc.", "RL": "Ralph Lauren Corporation", "MAS": "Masco Corporation", "AMT": "American Tower Corporation (REIT)", "CSX": "CSX Corporation", "GOOG": "Alphabet Inc.", "VNO": "Vornado Realty Trust", "KIM": "Kimco Realty Corporation", "IRM": "Iron Mountain Incorporated", "WMB": "The Williams Companies, Inc.", "XRAY": "DENTSPLY SIRONA Inc.", "WAB": "Wabtec Corporation", "ACN": "Accenture plc", "TTWO": "Take-Two Interactive Software, Inc.", "RTX": "Raytheon Technologies Corporation", "ODFL": "Old Dominion Freight Line, Inc.", "HLT": "Hilton Worldwide Holdings Inc.", "VNQ": "Vanguard Real Estate Index Fund ETF Shares", "VTR": "Ventas, Inc.", "DLTR": "Dollar Tree, Inc.", "CMCSA": "Comcast Corporation", "FDX": "FedEx Corporation", "TLT": "iShares 20+ Year Treasury Bond ETF", "CHTR": "Charter Communications, Inc.", "C": "Citigroup Inc.", "GILD": "Gilead Sciences, Inc.", "SEE": "Sealed Air Corporation", "NWS": "News Corporation", "MDLZ": "Mondelez International, Inc.", "DHR": "Danaher Corporation", "CVX": "Chevron Corporation", "COP": "ConocoPhillips", "NOC": "Northrop Grumman Corporation", "XOM": "Exxon Mobil Corporation", "KMX": "CarMax, Inc.", "SYY": "Sysco Corporation", "UA": "Under Armour, Inc.", "PEP": "PepsiCo, Inc.", "ATO": "Atmos Energy Corporation", "FRT": "Federal Realty Investment Trust", "EXR": "Extra Space Storage Inc.", "INTU": "Intuit Inc.", "SLB": "Schlumberger Limited", "T": "AT&T Inc.", "TFC": "Truist Financial Corporation", "NSC": "Norfolk Southern Corporation", "HPQ": "HP Inc.", "BIIB": "Biogen Inc.", "ILMN": "Illumina, Inc.", "KEY": "KeyCorp", "CBRE": "CBRE Group, Inc.", "CBOE": "Cboe Global Markets, Inc.", "MSCI": "MSCI Inc.", "MA": "Mastercard Incorporated", "GPN": "Global Payments Inc.", "EQR": "Equity Residential", "AME": "AMETEK, Inc.", "UNP": "Union Pacific Corporation", "TSCO": "Tractor Supply Company", "EMR": "Emerson Electric Co.", "WDC": "Western Digital Corporation", "LNT": "Alliant Energy Corporation", "JPM": "JPMorgan Chase & Co.", "HBI": "Hanesbrands Inc.", "SPY": "SPDR S&P 500 ETF Trust", "AZO": "AutoZone, Inc.", "DOV": "Dover Corporation", "GPS": "The Gap, Inc.", "FANG": "Diamondback Energy, Inc.", "PM": "Philip Morris International Inc.", "IBM": "International Business Machines Corporation", "MTD": "Mettler-Toledo International Inc.", "ICE": "Intercontinental Exchange, Inc.", "GL": "Globe Life Inc.", "CMI": "Cummins Inc.", "CCL": "Carnival Corporation & Plc", "J": "Jacobs Engineering Group Inc.", "ETN": "Eaton Corporation plc", "NCLH": "Norwegian Cruise Line Holdings Ltd.", "VLO": "Valero Energy Corporation", "ORCL": "Oracle Corporation", "SYK": "Stryker Corporation", "LUV": "Southwest Airlines Co.", "BKNG": "Booking Holdings Inc.", "CNC": "Centene Corporation", "IR": "Ingersoll Rand Inc.", "SWK": "Stanley Black & Decker, Inc.", "CF": "CF Industries Holdings, Inc.", "ULTA": "Ulta Beauty, Inc.", "EXC": "Exelon Corporation", "GM": "General Motors Company", "ALK": "Alaska Air Group, Inc.", "LQD": "iShares iBoxx $ Investment Grade Corporate Bond ETF", "APTV": "Aptiv PLC", "COF": "Capital One Financial Corporation", "ZBRA": "Zebra Technologies Corporation", "WHR": "Whirlpool Corporation", "MRO": "Marathon Oil Corporation", "COST": "Costco Wholesale Corporation", "AWK": "American Water Works Company, Inc.", "AIZ": "Assurant, Inc.", "ROL": "Rollins, Inc.", "YUM": "Yum! Brands, Inc.", "VOO": "Vanguard S&P 500 ETF", "ESS": "Essex Property Trust, Inc.", "LLY": "Eli Lilly and Company", "CINF": "Cincinnati Financial Corporation", "AMCR": "Amcor plc", "INCY": "Incyte Corporation", "ECL": "Ecolab Inc.", "BDX": "Becton, Dickinson and Company", "JNJ": "Johnson & Johnson", "FTNT": "Fortinet, Inc.", "WU": "The Western Union Company", "BAX": "Baxter International Inc.", "CME": "CME Group Inc.", "FIS": "Fidelity National Information Services, Inc.", "CMG": "Chipotle Mexican Grill, Inc.", "SJM": "The J. M. Smucker Company", "SIVB": "SVB Financial Group", "HOG": "Harley-Davidson, Inc.", "AVB": "AvalonBay Communities, Inc.", "GPC": "Genuine Parts Company", "MET": "MetLife, Inc.", "CFG": "Citizens Financial Group, Inc.", "CDNS": "Cadence Design Systems, Inc.", "CTVA": "Corteva, Inc.", "URI": "United Rentals, Inc.", "XYL": "Xylem Inc.", "REGN": "Regeneron Pharmaceuticals, Inc.", "MAR": "Marriott International, Inc.", "UHS": "Universal Health Services, Inc.", "SPGI": "S&P Global Inc.", "VZ": "Verizon Communications Inc.", "DFS": "Discover Financial Services", "PEAK": "Healthpeak Properties, Inc.", "MS": "Morgan Stanley", "AMD": "Advanced Micro Devices, Inc.", "AAL": "American Airlines Group Inc.", "NKE": "NIKE, Inc.", "LOW": "Lowe's Companies, Inc.", "WAT": "Waters Corporation", "PH": "Parker-Hannifin Corporation", "NOV": "National Oilwell Varco, Inc.", "NRG": "NRG Energy, Inc.", "IPGP": "IPG Photonics Corporation", "F": "Ford Motor Company", "WBA": "Walgreens Boots Alliance, Inc.", "XEL": "Xcel Energy Inc.", "MTB": "M&T Bank Corporation", "HBAN": "Huntington Bancshares Incorporated", "IEX": "IDEX Corporation", "VMC": "Vulcan Materials Company", "K": "Kellogg Company", "KMI": "Kinder Morgan, Inc.", "BEN": "Franklin Resources, Inc.", "MDT": "Medtronic plc", "INTC": "Intel Corporation", "TWTR": "Twitter, Inc.", "ROST": "Ross Stores, Inc.", "APH": "Amphenol Corporation", "GD": "General Dynamics Corporation", "DISH": "DISH Network Corporation", "A": "Agilent Technologies, Inc.", "HAS": "Hasbro, Inc.", "FMC": "FMC Corporation", "NTRS": "Northern Trust Corporation", "DIS": "The Walt Disney Company", "PNC": "The PNC Financial Services Group, Inc.", "ISRG": "Intuitive Surgical, Inc.", "BTC-USD": "Bitcoin USD", "ETH-USD": "Ethereum USD", "BNB-USD": "BNB USD"}
\ No newline at end of file
+{"MMM": "3M", "AOS": "A. O. Smith", "ABT": "Abbott", "ABBV": "AbbVie", "ACN": "Accenture", "ATVI": "Activision Blizzard", "ADM": "ADM", "ADBE": "Adobe Inc.", "ADP": "ADP", "AES": "AES Corporation", "AFL": "Aflac", "A": "Agilent Technologies", "ABNB": "Airbnb", "APD": "Air Products and Chemicals", "AKAM": "Akamai", "ALK": "Alaska Air Group", "ALB": "Albemarle Corporation", "ARE": "Alexandria Real Estate Equities", "ALGN": "Align Technology", "ALLE": "Allegion", "LNT": "Alliant Energy", "ALL": "Allstate", "GOOGL": "Alphabet Inc. (Class A)", "GOOG": "Alphabet Inc. (Class C)", "MO": "Altria", "AMZN": "Amazon", "AMCR": "Amcor", "AMD": "Advanced Micro Devices Inc.", "AEE": "Ameren", "AAL": "American Airlines Group", "AEP": "American Electric Power", "AXP": "American Express", "AIG": "American International Group", "AMT": "American Tower", "AWK": "American Water Works", "AMP": "Ameriprise Financial", "AME": "Ametek", "AMGN": "Amgen", "APH": "Amphenol", "ADI": "Analog Devices", "ANSS": "Ansys", "AON": "Aon", "APA": "APA Corporation", "AAPL": "Apple Inc.", "AMAT": "Applied Materials", "APTV": "Aptiv", "ACGL": "Arch Capital Group", "ANET": "Arista Networks", "AJG": "Arthur J. Gallagher & Co.", "AIZ": "Assurant", "T": "AT&T", "ATO": "Atmos Energy", "ADSK": "Autodesk", "AZO": "AutoZone", "AVB": "AvalonBay Communities", "AVY": "Avery Dennison", "AXON": "Axon Enterprise", "BKR": "Baker Hughes", "BALL": "Ball Corporation", "BAC": "Bank of America", "BBWI": "Bath & Body Works, Inc.", "BAX": "Baxter International", "BDX": "Becton Dickinson", "WRB": "Berkley", "BRK-B": "Berkshire Hathaway", "BBY": "Best Buy", "BIO": "Bio-Rad", "TECH": "Bio-Techne", "BIIB": "Biogen", "BLK": "BlackRock", "BX": "Blackstone", "BK": "BNY Mellon", "BA": "Boeing", "BKNG": "Booking Holdings", "BWA": "BorgWarner", "BXP": "Boston Properties", "BSX": "Boston Scientific", "BMY": "Bristol Myers Squibb", "AVGO": "Broadcom Inc.", "BR": "Broadridge Financial Solutions", "BRO": "Brown & Brown", "BF-B": "Brown\u2013Forman", "BG": "Bunge Limited", "CHRW": "C.H. Robinson", "CDNS": "Cadence Design Systems", "CZR": "Caesars Entertainment", "CPT": "Camden Property Trust", "CPB": "Campbell Soup Company", "COF": "Capital One", "CAH": "Cardinal Health", "KMX": "CarMax", "CCL": "Carnival", "CARR": "Carrier Global", "CTLT": "Catalent", "CAT": "Caterpillar Inc.", "CBOE": "Cboe Global Markets", "CBRE": "CBRE Group", "CDW": "CDW", "CE": "Celanese", "COR": "Cencora", "CNC": "Centene Corporation", "CNP": "CenterPoint Energy", "CDAY": "Ceridian", "CF": "CF Industries", "CRL": "Charles River Laboratories", "SCHW": "Charles Schwab Corporation", "CHTR": "Charter Communications", "CVX": "Chevron Corporation", "CMG": "Chipotle Mexican Grill", "CB": "Chubb Limited", "CHD": "Church & Dwight", "CI": "Cigna", "CINF": "Cincinnati Financial", "CTAS": "Cintas", "CSCO": "Cisco", "C": "Citigroup", "CFG": "Citizens Financial Group", "CLX": "Clorox", "CME": "CME Group", "CMS": "CMS Energy", "KO": "Coca-Cola Company (The)", "CTSH": "Cognizant", "CL": "Colgate-Palmolive", "CMCSA": "Comcast", "CMA": "Comerica", "CAG": "Conagra Brands", "COP": "ConocoPhillips", "ED": "Consolidated Edison", "STZ": "Constellation Brands", "CEG": "Constellation Energy", "COO": "CooperCompanies", "CPRT": "Copart", "GLW": "Corning Inc.", "CTVA": "Corteva", "CSGP": "CoStar Group", "COST": "Costco", "CTRA": "Coterra", "CCI": "Crown Castle", "CSX": "CSX Corporation", "CMI": "Cummins", "CVS": "CVS Health", "DHI": "D.R. Horton", "DHR": "Danaher Corporation", "DRI": "Darden Restaurants", "DVA": "DaVita Inc.", "DE": "John Deere", "DAL": "Delta Air Lines", "XRAY": "Dentsply Sirona", "DVN": "Devon Energy", "DXCM": "DexCom", "FANG": "Diamondback Energy", "DLR": "Digital Realty", "DFS": "Discover Financial", "DIS": "Disney", "DG": "Dollar General", "DLTR": "Dollar Tree", "D": "Dominion Energy", "DPZ": "Domino's", "DOV": "Dover Corporation", "DOW": "Dow Inc.", "DTE": "DTE Energy", "DUK": "Duke Energy", "DD": "DuPont", "DXC": "DXC Technology", "EMN": "Eastman Chemical Company", "ETN": "Eaton Corporation", "EBAY": "eBay", "ECL": "Ecolab", "EIX": "Edison International", "EW": "Edwards Lifesciences", "EA": "Electronic Arts", "ELV": "Elevance Health", "LLY": "Eli Lilly and Company", "EMR": "Emerson Electric", "ENPH": "Enphase Energy", "ETR": "Entergy", "EOG": "EOG Resources", "EPAM": "EPAM Systems", "EQT": "EQT", "EFX": "Equifax", "EQIX": "Equinix", "EQR": "Equity Residential", "ESS": "Essex Property Trust", "EL": "Est\u00e9e Lauder Companies (The)", "ETSY": "Etsy", "EG": "Everest Re", "EVRG": "Evergy", "ES": "Eversource", "EXC": "Exelon", "EXPE": "Expedia Group", "EXPD": "Expeditors International", "EXR": "Extra Space Storage", "XOM": "ExxonMobil", "FFIV": "F5, Inc.", "FDS": "FactSet", "FICO": "Fair Isaac", "FAST": "Fastenal", "FRT": "Federal Realty", "FDX": "FedEx", "FITB": "Fifth Third Bank", "FSLR": "First Solar", "FE": "FirstEnergy", "FIS": "FIS", "FI": "Fiserv", "FLT": "Fleetcor", "FMC": "FMC Corporation", "F": "Ford Motor Company", "FTNT": "Fortinet", "FTV": "Fortive", "FOXA": "Fox Corporation (Class A)", "FOX": "Fox Corporation (Class B)", "BEN": "Franklin Templeton", "FCX": "Freeport-McMoRan", "GRMN": "Garmin", "IT": "Gartner", "GEHC": "GE HealthCare", "GEN": "Gen Digital", "GNRC": "Generac", "GD": "General Dynamics", "GE": "General Electric", "GIS": "General Mills", "GM": "General Motors", "GPC": "Genuine Parts Company", "GILD": "Gilead Sciences", "GL": "Globe Life", "GPN": "Global Payments", "GS": "Goldman Sachs", "HAL": "Halliburton", "HIG": "Hartford (The)", "HAS": "Hasbro", "HCA": "HCA Healthcare", "PEAK": "Healthpeak", "HSIC": "Henry Schein", "HSY": "Hershey's", "HES": "Hess Corporation", "HPE": "Hewlett Packard Enterprise", "HLT": "Hilton Worldwide", "HOLX": "Hologic", "HD": "Home Depot (The)", "HON": "Honeywell", "HRL": "Hormel Foods", "HST": "Host Hotels & Resorts", "HWM": "Howmet Aerospace", "HPQ": "HP Inc.", "HUM": "Humana", "HBAN": "Huntington Bancshares", "HII": "Huntington Ingalls Industries", "IBM": "IBM", "IEX": "IDEX Corporation", "IDXX": "Idexx Laboratories", "ITW": "Illinois Tool Works", "ILMN": "Illumina, Inc.", "INCY": "Incyte", "IR": "Ingersoll Rand", "PODD": "Insulet", "INTC": "Intel", "ICE": "Intercontinental Exchange", "IFF": "International Flavors & Fragrances", "IP": "International Paper", "IPG": "Interpublic Group of Companies (The)", "INTU": "Intuit", "ISRG": "Intuitive Surgical", "IVZ": "Invesco", "INVH": "Invitation Homes", "IQV": "IQVIA", "IRM": "Iron Mountain", "JBHT": "J.B. Hunt", "JKHY": "Jack Henry & Associates", "J": "Jacobs Solutions", "JNJ": "Johnson & Johnson", "JCI": "Johnson Controls", "JPM": "JPMorgan Chase", "JNPR": "Juniper Networks", "K": "Kellogg's", "KVUE": "Kenvue", "KDP": "Keurig Dr Pepper", "KEY": "KeyCorp", "KEYS": "Keysight", "KMB": "Kimberly-Clark", "KIM": "Kimco Realty", "KMI": "Kinder Morgan", "KLAC": "KLA Corporation", "KHC": "Kraft Heinz", "KR": "Kroger", "LHX": "L3Harris", "LH": "LabCorp", "LRCX": "Lam Research", "LW": "Lamb Weston", "LVS": "Las Vegas Sands", "LDOS": "Leidos", "LEN": "Lennar", "LIN": "Linde plc", "LYV": "Live Nation Entertainment", "LKQ": "LKQ Corporation", "LMT": "Lockheed Martin", "L": "Loews Corporation", "LOW": "Lowe's", "LYB": "LyondellBasell", "MTB": "M&T Bank", "MRO": "Marathon Oil", "MPC": "Marathon Petroleum", "MKTX": "MarketAxess", "MAR": "Marriott International", "MMC": "Marsh McLennan", "MLM": "Martin Marietta Materials", "MAS": "Masco", "MA": "Mastercard", "MTCH": "Match Group", "MKC": "McCormick & Company", "MCD": "McDonald's", "MCK": "McKesson", "MDT": "Medtronic", "MRK": "Merck & Co.", "META": "Meta Platforms", "MET": "MetLife", "MTD": "Mettler Toledo", "MGM": "MGM Resorts", "MCHP": "Microchip Technology", "MU": "Micron Technology", "MSFT": "Microsoft", "MAA": "Mid-America Apartment Communities", "MRNA": "Moderna", "MHK": "Mohawk Industries", "MOH": "Molina Healthcare", "TAP": "Molson Coors Beverage Company", "MDLZ": "Mondel\u0113z International", "MPWR": "Monolithic Power Systems", "MNST": "Monster Beverage", "MCO": "Moody's Corporation", "MS": "Morgan Stanley", "MOS": "Mosaic Company (The)", "MSI": "Motorola Solutions", "MSCI": "MSCI", "NDAQ": "Nasdaq, Inc.", "NTAP": "NetApp", "NFLX": "Netflix", "NEM": "Newmont", "NWSA": "News Corp (Class A)", "NWS": "News Corp (Class B)", "NEE": "NextEra Energy", "NKE": "Nike, Inc.", "NI": "NiSource", "NDSN": "Nordson Corporation", "NSC": "Norfolk Southern Railway", "NTRS": "Northern Trust", "NOC": "Northrop Grumman", "NCLH": "Norwegian Cruise Line Holdings", "NRG": "NRG Energy", "NUE": "Nucor", "NVDA": "Nvidia", "NVR": "NVR, Inc.", "NXPI": "NXP", "ORLY": "O'Reilly Automotive", "OXY": "Occidental Petroleum", "ODFL": "Old Dominion Freight Line", "OMC": "Omnicom Group", "ON": "Onsemi", "OKE": "ONEOK", "ORCL": "Oracle Corporation", "OGN": "Organon & Co.", "OTIS": "Otis Worldwide", "PCAR": "Paccar", "PKG": "Packaging Corporation of America", "PANW": "Palo Alto Networks", "PARA": "Paramount Global", "PH": "Parker Hannifin", "PAYX": "Paychex", "PAYC": "Paycom", "PYPL": "PayPal", "PNR": "Pentair", "PEP": "PepsiCo", "PFE": "Pfizer", "PCG": "PG&E Corporation", "PM": "Philip Morris International", "PSX": "Phillips 66", "PNW": "Pinnacle West", "PXD": "Pioneer Natural Resources", "PNC": "PNC Financial Services", "POOL": "Pool Corporation", "PPG": "PPG Industries", "PPL": "PPL Corporation", "PFG": "Principal Financial Group", "PG": "Procter & Gamble", "PGR": "Progressive Corporation", "PLD": "Prologis", "PRU": "Prudential Financial", "PEG": "Public Service Enterprise Group", "PTC": "PTC", "PSA": "Public Storage", "PHM": "PulteGroup", "QRVO": "Qorvo", "PWR": "Quanta Services", "QCOM": "Qualcomm", "DGX": "Quest Diagnostics", "RL": "Ralph Lauren Corporation", "RJF": "Raymond James", "RTX": "RTX Corporation", "O": "Realty Income", "REG": "Regency Centers", "REGN": "Regeneron", "RF": "Regions Financial Corporation", "RSG": "Republic Services", "RMD": "ResMed", "RVTY": "Revvity", "RHI": "Robert Half", "ROK": "Rockwell Automation", "ROL": "Rollins, Inc.", "ROP": "Roper Technologies", "ROST": "Ross Stores", "RCL": "Royal Caribbean Group", "SPGI": "S&P Global", "CRM": "Salesforce", "SBAC": "SBA Communications", "SLB": "Schlumberger", "STX": "Seagate Technology", "SEE": "Sealed Air", "SRE": "Sempra Energy", "NOW": "ServiceNow", "SHW": "Sherwin-Williams", "SPG": "Simon Property Group", "SWKS": "Skyworks Solutions", "SJM": "J.M. Smucker Company (The)", "SNA": "Snap-on", "SEDG": "SolarEdge", "SO": "Southern Company", "LUV": "Southwest Airlines", "SWK": "Stanley Black & Decker", "SBUX": "Starbucks", "STT": "State Street Corporation", "STLD": "Steel Dynamics", "STE": "Steris", "SYK": "Stryker Corporation", "SYF": "Synchrony Financial", "SNPS": "Synopsys", "SYY": "Sysco", "TMUS": "T-Mobile US", "TROW": "T. Rowe Price", "TTWO": "Take-Two Interactive", "TPR": "Tapestry, Inc.", "TRGP": "Targa Resources", "TGT": "Target Corporation", "TEL": "TE Connectivity", "TDY": "Teledyne Technologies", "TFX": "Teleflex", "TER": "Teradyne", "TSLA": "Tesla, Inc.", "TXN": "Texas Instruments", "TXT": "Textron", "TMO": "Thermo Fisher Scientific", "TJX": "TJX Companies", "TSCO": "Tractor Supply", "TT": "Trane Technologies", "TDG": "TransDigm Group", "TRV": "Travelers Companies (The)", "TRMB": "Trimble Inc.", "TFC": "Truist", "TYL": "Tyler Technologies", "TSN": "Tyson Foods", "USB": "U.S. Bank", "UDR": "UDR, Inc.", "ULTA": "Ulta Beauty", "UNP": "Union Pacific Corporation", "UAL": "United Airlines Holdings", "UPS": "United Parcel Service", "URI": "United Rentals", "UNH": "UnitedHealth Group", "UHS": "Universal Health Services", "VLO": "Valero Energy", "VTR": "Ventas", "VRSN": "Verisign", "VRSK": "Verisk", "VZ": "Verizon", "VRTX": "Vertex Pharmaceuticals", "VFC": "VF Corporation", "VTRS": "Viatris", "VICI": "Vici Properties", "V": "Visa Inc.", "VMC": "Vulcan Materials Company", "WAB": "Wabtec", "WBA": "Walgreens Boots Alliance", "WMT": "Walmart", "WBD": "Warner Bros. Discovery", "WM": "Waste Management", "WAT": "Waters Corporation", "WEC": "WEC Energy Group", "WFC": "Wells Fargo", "WELL": "Welltower", "WST": "West Pharmaceutical Services", "WDC": "Western Digital", "WRK": "WestRock", "WY": "Weyerhaeuser", "WHR": "Whirlpool Corporation", "WMB": "Williams Companies", "WTW": "Willis Towers Watson", "GWW": "W. W. Grainger", "WYNN": "Wynn Resorts", "XEL": "Xcel Energy", "XYL": "Xylem Inc.", "YUM": "Yum! Brands", "ZBRA": "Zebra Technologies", "ZBH": "Zimmer Biomet", "ZION": "Zions Bancorporation", "ZTS": "Zoetis", "ASML": "ASML Holding", "AZN": "AstraZeneca", "TEAM": "Atlassian", "CRWD": "CrowdStrike", "DDOG": "Datadog", "GFS": "GlobalFoundries", "JD": "JD.com", "LCID": "Lucid Motors", "LULU": "Lululemon", "MRVL": "Marvell Technology", "MELI": "MercadoLibre", "PDD": "PDD Holdings", "SGEN": "Seagen", "SIRI": "Sirius XM", "TTD": "The Trade Desk", "WDAY": "Workday, Inc.", "ZM": "Zoom Video Communications", "ZS": "Zscaler", "BTC-USD": "BTC-USD | Bitcoin USD", "ETH-USD": "ETH-USD | Ethereum USD", "SPY": "SPDR S&P 500 ETF Trust", "IEF": "iShares 7-10 Year Treasury Bond ETF", "IAU": "iShares Gold Trust", "XME": "SPDR S&P Metals & Mining ETF", "XLI": " Industrial Select Sector SPDR Fund", "XLRE": "Real Estate Select Sector SPDR Fund", "XLF": "Financial Select Sector SPDR Fund", "XLE": "Energy Select Sector SPDR Fund", "XLK": "Technology Select Sector SPDR Fund", "XTL": "SPDR S&P Telecom ETF", "XLP": "Consumer Staples Select Sector SPDR Fund", "XLY": "Consumer Discretionary Select Sector SPDR Fund", "XLU": "Utilities Select Sector SPDR Fund", "XLV": "Health Care Select Sector SPDR Fund"}
\ No newline at end of file
diff --git a/data_init/data_clear&update_tw_v0.py b/data_init/data_clear&update_tw_v0.py
index 276e175..9719ae1 100644
--- a/data_init/data_clear&update_tw_v0.py
+++ b/data_init/data_clear&update_tw_v0.py
@@ -16,7 +16,7 @@ cursor = conn.cursor()
cursor.execute("TRUNCATE TABLE stock_price_tw")
print("TW stock price cleared")
for ticker in tqdm(data_tw):
- df = yf.download(ticker, start="2020-1-1", progress=False)
+ df = yf.download(ticker, start="2007-1-1", progress=False)
value =[(ticker, df.index[i], df['Close'][i]) for i in range(len(df))]
with conn:
with conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as curs:
diff --git a/data_init/data_clear&update_us_v0.py b/data_init/data_clear&update_us_v0.py
index 34684cb..5d26861 100644
--- a/data_init/data_clear&update_us_v0.py
+++ b/data_init/data_clear&update_us_v0.py
@@ -16,7 +16,7 @@ cursor = conn.cursor()
cursor.execute("TRUNCATE TABLE stock_price")
print("US stock price cleared")
for ticker in tqdm(data_tw):
- df = yf.download(ticker, start="2020-1-1", progress=False)
+ df = yf.download(ticker, start="2007-1-1", progress=False)
value =[(ticker, df.index[i], df['Close'][i]) for i in range(len(df))]
with conn:
with conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as curs:
diff --git a/data_init/data_init_tw_v0.py b/data_init/data_init_tw_v0.py
index 744b804..36e5d76 100644
--- a/data_init/data_init_tw_v0.py
+++ b/data_init/data_init_tw_v0.py
@@ -19,7 +19,7 @@ cursor.execute("SELECT COUNT(*) FROM stock_price_tw;")
row_count = cursor.fetchone()[0]
if row_count <= 0 :
for ticker in tqdm(data_tw):
- df = yf.download(ticker, start="2013-1-1", progress=False)
+ df = yf.download(ticker, start="2007-1-1", progress=False)
value =[(ticker, df.index[i], df['Close'][i]) for i in range(len(df))]
with conn:
with conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as curs:
diff --git a/data_init/data_init_us_v0.py b/data_init/data_init_us_v0.py
index a550bb2..958c661 100644
--- a/data_init/data_init_us_v0.py
+++ b/data_init/data_init_us_v0.py
@@ -18,7 +18,7 @@ cursor.execute("SELECT COUNT(*) FROM stock_price;")
row_count = cursor.fetchone()[0]
if row_count <= 0 :
for ticker in tqdm(data_tw):
- df = yf.download(ticker, start="2013-1-1", progress=False)
+ df = yf.download(ticker, start="2007-1-1", progress=False)
value =[(ticker, df.index[i], df['Close'][i]) for i in range(len(df))]
with conn:
with conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as curs:
diff --git a/data_init/path.py b/data_init/path.py
deleted file mode 100644
index 234f991..0000000
--- a/data_init/path.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import os
-import json
-dir_path = os.path.dirname(os.path.realpath(__file__))
-dir_abspath = os.path.abspath(dir_path)
-print("Abs Path : ",dir_abspath)
-dir_list = os.listdir(dir_path)
-
-print("Files and directories in '", dir_path, "' :")
-
-# prints all files
-print(dir_list)
-with open('/flask/data_init/assets_us.json') as f:
- data_tw = json.load(f)
- print(data_tw)
-
diff --git a/templates/competitions.html b/templates/competitions.html
index 0b43f51..44b9295 100644
--- a/templates/competitions.html
+++ b/templates/competitions.html
@@ -1,4 +1,6 @@
+
+
diff --git a/update_assets_us.py b/update_assets_us.py
new file mode 100644
index 0000000..05a399e
--- /dev/null
+++ b/update_assets_us.py
@@ -0,0 +1,26 @@
+import pandas as pd
+import yfinance as yf
+import json
+#download sp500 list
+sp500url = 'https://en.wikipedia.org/wiki/List_of_S%26P_500_companies'
+sp500 = pd.read_html(sp500url, header=0)[0]
+sp500 = sp500[['Symbol', 'Security']]
+sp500.columns = ['ticker', 'name']
+sp500 = sp500.set_index('ticker')['name'].to_dict()
+#download NASDQ list
+nasdaqurl = 'https://en.wikipedia.org/wiki/NASDAQ-100'
+nasdaq = pd.read_html(nasdaqurl, header=0)[4]
+nasdaq = nasdaq[['Ticker', 'Company']]
+nasdaq.columns = ['ticker', 'name']
+nasdaq = nasdaq.set_index('ticker')['name'].to_dict()
+#Add nasdaq after sp500
+sp500.update(nasdaq)
+#Add Special stocks after sp500
+stocks = {"BTC-USD":"BTC-USD | Bitcoin USD", "ETH-USD" : "ETH-USD | Ethereum USD", "SPY" : "SPDR S&P 500 ETF Trust","IEF" : "iShares 7-10 Year Treasury Bond ETF",
+ "IAU": "iShares Gold Trust","XME":"SPDR S&P Metals & Mining ETF" ,"XLI":" Industrial Select Sector SPDR Fund","XLRE":"Real Estate Select Sector SPDR Fund",
+ "XLF":"Financial Select Sector SPDR Fund","XLE":"Energy Select Sector SPDR Fund","XLK":"Technology Select Sector SPDR Fund","XTL":"SPDR S&P Telecom ETF","XLP":"Consumer Staples Select Sector SPDR Fund","XLY":"Consumer Discretionary Select Sector SPDR Fund"
+ ,"XLU":"Utilities Select Sector SPDR Fund","XLV":"Health Care Select Sector SPDR Fund"}
+sp500.update(stocks)
+#save as json
+with open('assets_us.json', 'w') as f:
+ json.dump(sp500, f)