get S&P 500 companies from WikiPediA, https://en.wikipedia.org/wiki/List_of_S%26P_500_companies
from U.S. Sucurities and Exchange Commission https://www.sec.gov/
data source: https://finance.yahoo.com/
using yfinance https://github.com/ranaroussi/yfinance
stock_lexicon source: https://sraf.nd.edu/textual-analysis/resources/#LM%20Sentiment%20Word%20Lists
vaderSentiment: https://github.com/cjhutto/vaderSentiment
cleaning the stock dataset
paint correlation heat-map
generate the portfolio
using Sharpe Ratio to evaluate portfolio