Add news data support

- Refactor everything in the process, oops

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-01-25 10:46:42 +00:00
parent 178a062c25
commit 002f70e299
53 changed files with 1683 additions and 677 deletions

View File

@@ -1,5 +1,6 @@
CREATE TABLE IF NOT EXISTS qrust.assets (
symbol String,
symbol LowCardinality(String),
abbreviation LowCardinality(String),
class Enum('us_equity' = 1, 'crypto' = 2),
exchange Enum(
'AMEX' = 1,
@@ -11,13 +12,14 @@ CREATE TABLE IF NOT EXISTS qrust.assets (
'OTC' = 7,
'CRYPTO' = 8
),
time_added DateTime DEFAULT now()
time_added DateTime DEFAULT now(),
CONSTRAINT abbreviation ASSUME replace(symbol, '/', '') = abbreviation
)
ENGINE = ReplacingMergeTree()
PRIMARY KEY symbol;
CREATE TABLE IF NOT EXISTS qrust.bars (
symbol String,
symbol LowCardinality(String),
time DateTime,
open Float64,
high Float64,
@@ -31,8 +33,30 @@ ENGINE = ReplacingMergeTree()
PRIMARY KEY (symbol, time)
PARTITION BY toYYYYMM(time);
CREATE TABLE IF NOT EXISTS qrust.backfills (
symbol String,
CREATE TABLE IF NOT EXISTS qrust.backfills_bars (
symbol LowCardinality(String),
time DateTime
)
ENGINE = ReplacingMergeTree()
PRIMARY KEY symbol;
CREATE TABLE IF NOT EXISTS qrust.news (
id Int64,
time_created DateTime,
time_updated DateTime,
symbols Array(LowCardinality(String)),
headline String,
author String,
source Nullable(String),
summary Nullable(String),
url Nullable(String),
)
ENGINE = ReplacingMergeTree()
PARTITION BY toYYYYMM(time_created)
PRIMARY KEY id;
CREATE TABLE IF NOT EXISTS qrust.backfills_news (
symbol LowCardinality(String),
time DateTime
)
ENGINE = ReplacingMergeTree()