You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.7 KiB
63 lines
1.7 KiB
DROP TABLE IF EXISTS users; |
|
CREATE TABLE users ( |
|
user_id SERIAL PRIMARY KEY, |
|
username VARCHAR(64) UNIQUE NOT NULL, |
|
password VARCHAR(128) NOT NULL, |
|
vip BOOLEAN DEFAULT FALSE |
|
); |
|
INSERT INTO users (username, password) |
|
VALUES ('s@s', 'pbkdf2:sha256:260000$Z5bK5pp0D8HEDAps$abb43b1b1c543ff334de8fb3aeba9c0460c37de5b5363e5210e68b00739d5e2c'), |
|
('R10246002@ntu.edu.tw', 'pbkdf2:sha256:260000$Z5bK5pp0D8HEDAps$abb43b1b1c543ff334de8fb3aeba9c0460c37de5b5363e5210e68b00739d5e2c'); |
|
|
|
DROP TABLE IF EXISTS stock_price; |
|
DROP TABLE IF EXISTS stock_price_tw; |
|
|
|
|
|
CREATE TABLE stock_price ( |
|
id SERIAL PRIMARY KEY, |
|
ticker VARCHAR(64) NOT NULL, |
|
date DATE NOT NULL, |
|
price REAL NOT NULL, |
|
return REAL NOT NULL |
|
); |
|
-- you need to add () |
|
CREATE INDEX idx_ticker ON stock_price (ticker); |
|
|
|
CREATE TABLE stock_price_tw ( |
|
id SERIAL PRIMARY KEY, |
|
ticker VARCHAR(64) NOT NULL, |
|
date DATE NOT NULL, |
|
price REAL NOT NULL, |
|
return REAL NOT NULL |
|
); |
|
-- you need to add () |
|
CREATE INDEX idx_ticker_tw ON stock_price_tw (ticker); |
|
|
|
DROP TABLE IF EXISTS strategy; |
|
CREATE TABLE strategy ( |
|
id SERIAL PRIMARY KEY, |
|
date DATE NOT NULL, |
|
name VARCHAR(64) NOT NULL, |
|
username VARCHAR(64) NOT NULL, |
|
competition VARCHAR(64) NOT NULL, |
|
role VARCHAR(20) NOT NULL, |
|
ratio REAL NOT NULL, |
|
annual_ret REAL NOT NULL, |
|
vol REAL NOT NULL, |
|
mdd REAL NOT NULL, |
|
annual_sr REAL NOT NULL, |
|
beta REAL NOT NULL, |
|
alpha REAL NOT NULL, |
|
var10 REAL NOT NULL, |
|
R2 REAL NOT NULL, |
|
tw BOOLEAN DEFAULT TRUE, |
|
comment VARCHAR(255), |
|
assets TEXT[] NOT NULL, |
|
assets_position REAL[] NOT NULL, |
|
notes TEXT[][] |
|
); |
|
CREATE INDEX idx_user ON strategy (username); |
|
|
|
|
|
|
|
|
|
|