Every upstream data provider feeding into QuantDB — what we get, how fresh it is, where it lands, and how to consume it.
FactSet Fundamentals
Institutional-grade financial fundamentals — balance sheet, income statement, cash flow, ratios
| Metric ID | Name | Category |
|---|---|---|
FF_SALES | Revenue | Income Statement |
FF_NET_INC | Net Income | Income Statement |
FF_EPS_DIL | Diluted EPS | Income Statement |
FF_GROSS_INC | Gross Income | Income Statement |
FF_OPER_INC | Operating Income | Income Statement |
FF_PE | P/E Ratio | Valuation |
FF_ROE | Return on Equity | Profitability |
FF_ROA | Return on Assets | Profitability |
FF_NET_MGN | Net Margin | Profitability |
FF_OPER_MGN | Operating Margin | Profitability |
FF_ASSETS | Total Assets | Balance Sheet |
FF_SHLDRS_EQ | Shareholders' Equity | Balance Sheet |
FF_DEBT_LT | Long-term Debt | Balance Sheet |
FF_DEBT_EQ | Debt/Equity | Balance Sheet |
FF_CASH_ST | Cash & ST Investments | Balance Sheet |
FF_BPS | Book Value / Share | Balance Sheet |
FF_CURR_RATIO | Current Ratio | Liquidity |
FF_OPER_CF | Operating Cash Flow | Cash Flow |
FF_FREE_CF | Free Cash Flow | Cash Flow |
FF_CAPEX | Capital Expenditures | Cash Flow |
FF_DIV_YLD | Dividend Yield | Market Data |
FF_ENTRPR_VAL | Enterprise Value | Market Data |
FF_MKT_VAL | Market Cap | Market Data |
| Table | Schema | Rows | Description |
|---|---|---|---|
factset_fundamentals_annual | data | 1.56M | Annual EAV fundamentals (raw) |
factset_fundamentals_quarterly | data | 3.64M | Quarterly EAV fundamentals (raw) |
factset_metrics_catalog | data | 1,387 | Metric definitions and descriptions |
factset_fundamentals_wide | data | ~200K | Pivoted wide view (materialized, daily refresh) |
data.factset_fundamentals_annual/quarterly (EAV) → Materialized view data.factset_fundamentals_wide (pivoted) → quantdb-api /v2/factset/* → Apps (SignalCentre, AgentX)
Yahoo Finance
Price history (OHLCV), derived indicators, and market data — the backbone of our price feed
| Table | Schema | Rows | Description |
|---|---|---|---|
price_history | data | 39.8M | OHLCV bars (TimescaleDB hypertable, compressed) |
derived_indicators | data | — | RSI, MACD, SMA, Bollinger, ADX computed from bars |
instruments | signals | 9,827 | Master instrument registry (stocks, ETFs, crypto, FX, indices, commodities) |
data_quality_flags | signals | 1,568 | Flagged bad bars (scale breaks, outliers) |
| Issue | Affected | Status |
|---|---|---|
| GBP/GBX scale mixing (.L instruments) | 6 instruments | FIXED Outlier filter active |
| Duplicate instrument_ids (CHINA50, BTC, etc) | 9 symbols | FIXED Duplicates deactivated |
| Penny stock data corruption | ~50 instruments | FIXED Flagged + signals expired |
SEC EDGAR / XBRL
Point-in-time fundamentals from SEC filings, earnings surprises, EPS revisions, consensus estimates
| Table | Schema | Rows | Description |
|---|---|---|---|
fundamentals_pit | data | 259K | Point-in-time financials from SEC filings |
pit_multiples | data | 101K | Daily valuation multiples (PE, PB, EV/EBITDA) |
factor_scores | data | 129K | Quantitative factor scores (value, momentum, quality) |
earnings_surprises | data | 79K | Actual vs estimate, surprise % |
eps_revisions | data | 128K | Analyst estimate revision tracking |
consensus_estimates | data | 1,524 | Forward consensus EPS/revenue estimates |
eToro Public API
Instrument registry, live prices, portfolio data, and trade execution
| Data Type | Endpoint | Usage |
|---|---|---|
| Instrument Registry | /sapi/instruments | Numeric instrument_id resolution |
| Live Prices | /sapi/candles | Real-time OHLCV for signal tracking |
| Portfolio Data | /sapi/portfolio | AgentX position tracking |
| Trade Execution | /sapi/orders | Portfolio Rebalancer order execution |
Approved staging registry for no-key external APIs. These are BRONZE, not production-validated, and distributed through quantDB API only after validation/promotion.
| Source | Dataset | Status | Auth |
|---|---|---|---|
| FiscalData / U.S. Treasury | US Treasury debt, rates, auctions, fiscal flows | BRONZE dry-run ready | No key |
| Frankfurter FX | ECB reference FX rates and history | BRONZE dry-run ready | No key |
| Econdb | Global macroeconomic time series | BRONZE dry-run ready | No key |
| CoinGecko | Crypto reference prices, market cap, metadata | BRONZE dry-run ready | No key |
| World Bank | Global development and country macro indicators | BRONZE dry-run ready | No key |
Registry: /bronze-sources.json. SDD draft: docs/BRONZE_NO_KEY_SDD.md. Dry-run samples write to local staging artifacts only, no DB writes.
When multiple sources cover the same data, QuantDB resolves conflicts using this priority chain:
Prices: Yahoo Finance (daily pipeline) → eToro API (live/real-time)
Instrument Master: signals.instruments (unified) ← eToro instrument_id required for trading
Quality Control: Outlier filter on ingest + daily data quality job + signals.data_quality_flags audit trail