@@ -101,42 +101,42 @@ The `CryptoCompareClient` (`src/api/cryptocompare.py`) implements:
101101## Data Flow Architecture
102102
103103```
104- ┌───────────────────────────────────────────────────────────────── ┐
105- │ Halvix Pipeline │
106- ├───────────────────────────────────────────────────────────────── ┤
107- │ │
104+ ┌────────────────────────────────────────────────────────────────┐
105+ │ Halvix Pipeline │
106+ ├────────────────────────────────────────────────────────────────┤
107+ │ │
108108│ Step 1: Discover Coins (CryptoCompare) │
109109│ ┌──────────────────────────────────────────────────────────┐ │
110110│ │ GET /data/top/mktcapfull?limit=100&page=0..2 │ │
111111│ │ Returns: symbol, name, market_cap, price, volume │ │
112- │ │ Output: data/processed/accepted_coins .json │ │
112+ │ │ Output: data/processed/coins_to_download .json │ │
113113│ └──────────────────────────────────────────────────────────┘ │
114- │ │ │
115- │ ▼ │
116- │ Step 2: Filter Tokens (Local) │
114+ │ │ │
115+ │ ▼ │
116+ │ Step 2: Filter Coins (Local) │
117117│ ┌──────────────────────────────────────────────────────────┐ │
118118│ │ Remove: wrapped, staked, bridged, stablecoins, BTC │ │
119- │ │ Output: data/processed/rejected_coins .csv │ │
119+ │ │ Output: data/processed/download_skipped .csv │ │
120120│ └──────────────────────────────────────────────────────────┘ │
121- │ │ │
122- │ ▼ │
121+ │ │ │
122+ │ ▼ │
123123│ Step 3: Fetch Historical Prices (CryptoCompare) │
124124│ ┌──────────────────────────────────────────────────────────┐ │
125- │ │ GET /data/v2/histoday?fsym=ETH&tsym=BTC&limit=2000 │ │
126- │ │ Pagination: Multiple requests for 4000+ days │ │
127- │ │ Returns: date, open, high, low, close, volume │ │
128- │ │ Output: data/raw/prices/{symbol}.parquet │ │
125+ │ │ GET /data/v2/histoday?fsym=ETH&tsym=BTC&limit=2000 │ │
126+ │ │ Pagination: Multiple requests for 4000+ days │ │
127+ │ │ Returns: date, open, high, low, close, volume │ │
128+ │ │ Output: data/raw/prices/{symbol}.parquet │ │
129129│ └──────────────────────────────────────────────────────────┘ │
130- │ │ │
131- │ ▼ │
130+ │ │ │
131+ │ ▼ │
132132│ Step 4: Calculate Volume-Weighted TOTAL2 (Local) │
133133│ ┌──────────────────────────────────────────────────────────┐ │
134134│ │ Daily selection of top 30 altcoins by volume │ │
135135│ │ Volume-weighted average price │ │
136- │ │ Output: data/processed/total2_index.parquet │ │
136+ │ │ Output: data/processed/total2_index.parquet │ │
137137│ └──────────────────────────────────────────────────────────┘ │
138- │ │
139- └───────────────────────────────────────────────────────────────── ┘
138+ │ │
139+ └────────────────────────────────────────────────────────────────┘
140140```
141141
142142---
0 commit comments