add new assets list and add competitions

master
joseph 2 years ago
parent 42542d5626
commit 603abc0f09
  1. 17
      .gitignore
  2. 4
      Dockerfile
  3. 2
      assets_us.json
  4. 2
      data_init/assets_us.json
  5. 2
      data_init/data_clear&update_tw_v0.py
  6. 2
      data_init/data_clear&update_us_v0.py
  7. 2
      data_init/data_init_tw_v0.py
  8. 2
      data_init/data_init_us_v0.py
  9. 15
      data_init/path.py
  10. 2
      templates/competitions.html
  11. 26
      update_assets_us.py

17
.gitignore vendored

@ -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

@ -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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -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:

@ -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:

@ -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:

@ -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:

@ -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)

@ -1,4 +1,6 @@
<option value="none" selected="selected"></option>
<option value="NTHU_2023_Fall">Fintech (NTHU QF_CS_EE, Fall, 2023)</option>
<option value="Fin_2023_AI">金融科技能力建構_AI (September, 2023)</option>
<option value="fintech_ai_411">411 AI日</option>
<option value="com_fin_2023">計算金融 (Spring, 2023)</option>
<option value="MEPM_2022">總體經濟分析與投資組合管理(Dec. 2022)</option>

@ -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)
Loading…
Cancel
Save