Tables
Tables for sigstar. Collect market, on-chain, news and macro data, and explain, forecast and alert on crypto price moves from every angle.
Schema sigstar in the warehouse. All times are UTC; a "day" is a UTC calendar day.
| Mart | Grain | What is in it |
|---|---|---|
fct_prices |
asset, venue, interval (1d/1h), ts (candle open) |
OHLCV of closed candles; volume in the coin, volume_quote in USD or USDT (venue-reported, or volume x close flagged by volume_quote_is_estimate), log_return. Venue onchain: chainstar's price (close = the bucket's median swap price, high/low = highest/lowest observation, no open), one chain per bucket (highest confidence, then most observations), with price_chain, price_method, price_confidence, price_observations |
fct_onchain_prices |
asset, chain, interval, ts (bucket start) | chainstar's high and medium confidence USD prices for the configured tokens: usd_price, observed_price, price_low/price_high, price_method, confidence, observations, rejected_observations, volume_usd, sources, price_id |
fct_onchain_dex_daily |
asset, day, chain | swaps in the asset's DEX tokens: swap_count, valued_swaps, volume_usd, coverage_seconds of the chain's loaded blocks that day |
fct_derivatives |
asset, venue, day | funding_rate_sum (the day's settlements, a fraction), funding_events, open interest snapshots at this and the next midnight, oi_change_pct in contracts |
fct_news |
one headline (URL) | title, link, source, time, provider (gdelt/rss), feed snippet (max 280 chars), tags |
bridge_news_tags |
headline, tag | which asset or topic a headline matched, and the keyword that matched |
news_rules |
keyword | the whole-word keyword rules behind the tags |
agg_news_daily |
tag, day | GDELT article count, share of all monitored articles, article-weighted tone, headlines held; gdelt_gap marks GDELT outage days (blanked) |
fct_sentiment |
indicator, day | Fear & Greed value, classification, daily change |
fct_macro |
series, observation day | value, change since the previous observation, its z-score |
fct_onchain_daily |
day, chain, metric, token_address | transactions, fees, fee payers, native and stablecoin transfers (by contract address), coverage |
features_daily |
asset, day (gap-free) | everything below, one row per asset and day |
Feature columns in features_daily (each *_z compares the value with the previous 30
days, the day itself excluded, and is empty until 10 earlier days exist):
| Column | Meaning |
|---|---|
close, ref_venue |
Close on the first venue in coinbase, kraken, binance, onchain that has the day (always onchain in commercial mode) |
ret_1d, ret_1d_z, ret_7d |
Log return, its z-score ("size of the move"), 7-day log return |
rv_7d, rv_30d |
Realised volatility from daily returns, annualised (x √365) |
range_pct, range_z |
(high - low) / close |
rv_intraday, rv_intraday_z |
Volatility within the day from the 24 hourly returns, annualised (hourly history starts at 7 days and grows) |
volume_quote, volume_z |
Volume across exchange venues in USD/USDT (z on its log) |
spread_bps, spread_z |
Gap between the highest and lowest close among USD exchange venues, in basis points |
funding_rate, funding_z |
Day's funding, averaged across venues |
oi_usd, oi_change_pct, oi_change_z |
Open interest at the end of the day; change in contracts during the day |
news_volume, news_volume_share, news_volume_z |
GDELT articles matching the asset's query (z on log(1 + n)) |
news_tone, news_tone_z, news_headlines |
GDELT tone; headlines held for the asset |
news_<topic>_volume(_z), news_<topic>_tone(_z) |
The same for each topic (market-wide) |
fear_greed, fear_greed_change, fear_greed_change_z |
Fear & Greed Index and its daily change |
macro_<series>, macro_<series>_change(_z) |
Latest FRED value; change on observation days |
onchain_tx_count(_z), onchain_active_wallets(_z), onchain_fees_native, onchain_coverage_seconds |
chainstar activity on the asset's chains |
stablecoin_transfer_amount, stablecoin_transfer_z |
Stablecoin transfers on all chains (market-wide) |
onchain_price, onchain_price_chain, onchain_price_method, onchain_price_confidence, onchain_price_observations |
chainstar's daily on-chain price (median of the day's swaps) and where it came from |
onchain_dex_volume_usd, onchain_dex_volume_z |
USD volume of swaps in the asset's DEX tokens (z on its log) |
onchain_swap_count, onchain_swap_count_z, onchain_dex_coverage_seconds |
Those swaps' count (z on log(1 + n)); seconds of the day the chains' loaded blocks span |
onchain_price_gap_bps, onchain_price_gap_z, onchain_price_gap_hours |
Median over the day's hours of (on-chain price - exchanges' typical price (H+L+C)/3 on USD venues) / exchanges', in basis points; personal mode only |
<on-chain z column>_note |
Why that on-chain z-score is empty when chain coverage was not comparable with enough earlier days (also range_z_note on days priced on-chain) |
On-chain z-scores (onchain_*_z, stablecoin_transfer_z, and range_z on days priced
on-chain) use only earlier days of comparable chain coverage; see
On-chain prices and DEX activity.
Query them directly, for example with the DuckDB CLI:
duckdb warehouse.duckdb "select asset, day, ret_1d, funding_z, news_volume_z
from sigstar.features_daily where abs(ret_1d_z) > 2 order by day desc"