Schema
61+ queryable fields and 56 pre-thresholded boolean flags per ticker, recomputed every minute. The same identifier is the field name on a ticker response, the column name in a SQL WHERE clause, the signal name on a history pull, the order/fields argument on a scan, and the column scoped by a saved rule. One vocabulary, every endpoint.
Signal, field, or flag?
One column, three names depending on context.
A signal is anything we compute about a ticker. Looked at as a current value, it's a field on the /v2/tickers/{ticker} response. Looked at across time, it's the {t, v} bars on /v2/signals/{signal}/{ticker}/history/{interval}. When the signal is boolean we call it a flag: same column, just emphasizing the true/false shape.
Every history bar carries a timestamp t and a value v. For numerics, v is a number; for booleans, v is true or false.
How to read this page
Two kinds of columns: numeric/string fields, and boolean flags.
- Fields are numerics, strings, dates. They have a current value, refresh on a particular cadence, and (where it makes sense) can be returned as time-series bars at multiple sample frequencies via the signals endpoint.
- Flags are pre-thresholded booleans. They’re true or false at any given moment; their signal-history shape depends on whether they’re continuous (returned as on/off windows) or edge-triggered (returned as trigger timestamps).
Both are queryable from a SQL WHERE clause by the bare name shown below. Counts: 61 fields across 11 sections, 56 flags across 12 categories.
Identification
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
ticker | string | Ticker symbol. Equities use the exchange symbol (e.g. AAPL). Crypto uses the bare symbol (e.g. BTC, ETH). | Daily, post-close | native only |
name | string | Company or asset display name. | Daily, post-close | native only |
asset_type | enum | Asset class. One of `equity`, `etf`, or `crypto`. | Daily, post-close | native only |
active | boolean | Whether this ticker is actively tracked. False for delisted or auto-halted symbols. | Daily, post-close | native only |
Price & change
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
price | numberUSD | Most recent trade price. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
previous_close | numberUSD | Official prior-session close. | Daily, post-close | bars at 1d1w |
session_opennullable | numberUSD | Today’s opening print. | Every 1 min, 4 AM–8 PM ET weekdays | native only |
session_highnullable | numberUSD | Highest trade so far today. | Every 1 min, 4 AM–8 PM ET weekdays | native only |
session_lownullable | numberUSD | Lowest trade so far today. | Every 1 min, 4 AM–8 PM ET weekdays | native only |
day_change | numberUSD | Absolute change vs `previous_close`. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
day_change_pct | number% | Percent change vs `previous_close`. Expressed as a percent (5.2 = 5.2%), not a fraction. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
gap_pctnullable | number% | Percent change of `session_open` vs `previous_close`. One value per session. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1d1w |
premarket_pricenullable | numberUSD | Last premarket price, if available. | Every 1 min, 4 AM–8 PM ET weekdays | native only |
afterhours_pricenullable | numberUSD | Last after-hours price, if available. | Every 1 min, 4 AM–8 PM ET weekdays | native only |
Volume
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
volume_today | integer | Shares traded so far today. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
avg_volume_10d | integer | 10-day trailing average daily volume. | Daily, post-close | bars at 1d1w |
avg_volume_30d | integer | 30-day trailing average daily volume. | Daily, post-close | bars at 1d1w |
relative_volume | number | Ratio of today’s pace-adjusted volume to the 10-day average. 2.0 means 2× normal. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
day_dollar_volume | numberUSD | Today’s cumulative dollar volume traded. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
day_vwap | numberUSD | Today’s session volume-weighted average price. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
52-week & period extremes
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
high_52w | numberUSD | Highest trade in the trailing 52 weeks (live, includes today). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
low_52w | numberUSD | Lowest trade in the trailing 52 weeks (live, includes today). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
high_20d | numberUSD | Highest trade in the trailing 20 trading days. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
low_20d | numberUSD | Lowest trade in the trailing 20 trading days. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
days_since_52w_high | integer | Trading days since the most recent 52-week high. | Daily, post-close | bars at 1d1w |
days_since_52w_low | integer | Trading days since the most recent 52-week low. | Daily, post-close | bars at 1d1w |
Relative position
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
pct_from_52w_high | number% | Percent below the 52-week high. Always >= 0 (use the `at_52w_high` flag to test highs). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
pct_from_52w_low | number% | Percent above the 52-week low. Always >= 0. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
position_in_52w_range | number | Where the live price sits in the 52-week range, 0–100. 0 = at low, 100 = at high. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
pct_from_sma_50 | number% | Percent distance from the 50-day SMA. Negative when price is below the average. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
pct_from_sma_200 | number% | Percent distance from the 200-day SMA. Negative when price is below the average. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
pct_from_vwap | number% | Percent distance from today’s VWAP. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
Volatility
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
atr_14 | numberUSD | 14-day Average True Range. | Daily, post-close | bars at 1d1w |
atr_percent | number% | ATR(14) as a percent of price. Useful as a volatility filter. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
bollinger_pct_b | number | Position within Bollinger bands. 0 = at lower band, 1 = at upper band, >1 = outside. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
Technical indicators
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
sma_10 | numberUSD | 10-day simple moving average. | Daily, post-close | bars at 1d1w |
sma_20 | numberUSD | 20-day simple moving average. | Daily, post-close | bars at 1d1w |
sma_50 | numberUSD | 50-day simple moving average. | Daily, post-close | bars at 1d1w |
sma_200 | numberUSD | 200-day simple moving average. | Daily, post-close | bars at 1d1w |
rsi_14 | number | Relative Strength Index, 14-period. Range 0–100. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
macd_line | number | MACD line (12-EMA minus 26-EMA). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
macd_signal | number | MACD signal line (9-EMA of MACD line). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
macd_histogram | number | MACD line minus signal. Positive when bullish, negative when bearish. | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
bollinger_upper | numberUSD | Upper Bollinger band (20-period, 2σ). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
bollinger_lower | numberUSD | Lower Bollinger band (20-period, 2σ). | Every 1 min, 4 AM–8 PM ET weekdays | bars at 1m1h1d1w |
Fundamentals
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
market_cap | numberUSD | Market capitalization. Updated daily; intraday change derived from `price` × `shares_outstanding`. | Daily, post-close | bars at 1d1w |
pe_rationullable | number | Price-to-earnings ratio (trailing twelve months). Null for unprofitable issuers. | Quarterly, after issuer files | native only |
epsnullable | numberUSD | Earnings per share (trailing twelve months). | Quarterly, after issuer files | native only |
dividend_yieldnullable | number | Forward dividend yield as a fraction (0.025 = 2.5%). Null for non-payers. | Daily, post-close | native only |
betanullable | number | Trailing beta vs SPY. Null for issuers with insufficient price history. | Daily, post-close | native only |
float_sharesnullable | integer | Public float (shares available to trade). | Daily, post-close | native only |
shares_outstandingnullable | integer | Total shares outstanding. | Daily, post-close | native only |
Classification
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
sectornullable | enum | GICS sector. One of: Technology, Healthcare, Financials, Consumer Discretionary, Consumer Staples, Energy, Industrials, Materials, Utilities, Real Estate, Communication Services. | Daily, post-close | native only |
industrynullable | string | GICS industry within the sector. | Daily, post-close | native only |
exchange | enum | Listing exchange. One of `NYSE`, `NASDAQ`, `AMEX`, `OTC`, `CRYPTO`. | Daily, post-close | native only |
countrynullable | string | ISO country code of the issuer. | Daily, post-close | native only |
Event dates
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
earnings_datenullable | date | Next scheduled earnings announcement date. Null if not scheduled. | On corporate event | native only |
days_to_earningsnullable | integer | Calendar days until next earnings announcement. Negative after report. | Daily, post-close | native only |
ex_dividend_datenullable | date | Next ex-dividend date. | On corporate event | native only |
News
| Field | Type | Description | Cadence | Signal history |
|---|---|---|---|---|
news_volumenullable | number | Count of news articles published in the last 24 hours mentioning this ticker with AlphaVantage relevance score ≥ 0.6. Refreshed every 15 minutes. Null when no qualifying articles in the window. | Every 15 min | native only |
news_volume_weighted_sentimentnullable | number | Range -1.0 to +1.0. The relevance-weighted average sentiment of articles in the last 24 hours, attenuated by `tanh(news_volume / 15)` so quiet tickers (1-2 articles) read near zero regardless of sentiment sign. Strong negative = loud bad news; strong positive = loud good news; values near 0 = quiet or mixed. Null when no qualifying articles. | Every 15 min | native only |
Flags
56 pre-thresholded booleans, organized by category. Reference these by their bare name in a WHERE clause; the underlying database column has a `precomputed_flag_` prefix that you do not write.
Each flag carries a firing flavor. Continuous flags are true while the underlying condition holds and flip back when it doesn’t. Sticky-for-session flags fire once on the event and stay true until the next trading session resets. Useful when you care about “did this happen today” rather than “is this happening right now.”
Flags · Moving averages
above_sma_10ContinuousPrice is above the 10-day simple moving average.
above_sma_20ContinuousPrice is above the 20-day simple moving average.
above_sma_50ContinuousPrice is above the 50-day simple moving average.
above_sma_200ContinuousPrice is above the 200-day simple moving average.
above_sma_200 AND above_sma_50above_vwapContinuousPrice is above today’s volume-weighted average price.
golden_cross_todaySticky for session50-day SMA crossed above 200-day SMA today.
death_cross_todaySticky for session50-day SMA crossed below 200-day SMA today.
macd_above_signalContinuousMACD line is above its signal line.
Flags · Trend
in_uptrendContinuousStacked uptrend across short, medium, and long horizons.
in_uptrend AND above_sma_200 AND market_cap > 1e10in_downtrendContinuousStacked downtrend across short, medium, and long horizons.
trend_reversal_bullish_todaySticky for sessionTrend flipped from down to up today.
trend_reversal_bearish_todaySticky for sessionTrend flipped from up to down today.
Flags · 52-week & 20-day extremes
at_52w_highContinuousPrice is within 0.5% of the 52-week high.
at_52w_lowContinuousPrice is within 0.5% of the 52-week low.
at_20d_highContinuousPrice is at or above the 20-day high.
at_20d_lowContinuousPrice is at or below the 20-day low.
approaching_52w_highContinuousPrice is within 5% of the 52-week high.
approaching_52w_lowContinuousPrice is within 5% of the 52-week low.
Flags · Gaps
gap_up_3pctSticky for sessionToday opened 3%+ above prior close.
gap_down_3pctSticky for sessionToday opened 3%+ below prior close.
gap_up_10pctSticky for sessionToday opened 10%+ above prior close.
gap_down_10pctSticky for sessionToday opened 10%+ below prior close.
Flags · Bollinger bands
at_bollinger_upperContinuousPrice has reached the upper Bollinger band.
at_bollinger_lowerContinuousPrice has reached the lower Bollinger band.
Flags · Volume
volume_spikeContinuousToday’s volume run-rate is meaningfully above average.
volume_unusual_2xContinuousToday’s volume run-rate is at least 2× average.
volume_dry_upContinuousToday’s volume is unusually low.
Flags · Momentum
rsi_overboughtContinuousRSI(14) is in overbought territory.
rsi_oversoldContinuousRSI(14) is in oversold territory.
momentum_strong_upContinuousStrong upward momentum across multiple measures.
momentum_strong_downContinuousStrong downward momentum across multiple measures.
momentum_exhaustion_upContinuousUpward momentum showing signs of exhaustion.
momentum_exhaustion_downContinuousDownward momentum showing signs of exhaustion.
Flags · Support & resistance
at_supportContinuousPrice is testing recent support.
at_support AND volume_spikeat_resistanceContinuousPrice is testing recent resistance.
breaking_above_20d_highSticky for sessionPrice just broke above the prior 20-day high.
breaking_below_20d_lowSticky for sessionPrice just broke below the prior 20-day low.
Flags · Patterns
consolidation_breakoutSticky for sessionBreakout from a tight consolidation range.
bounce_off_supportSticky for sessionReversal off a recent support level.
pullbackContinuousPullback within an established uptrend.
Flags · Edge-triggered alerts
breakoutSticky for sessionNew 52-week high posted today.
breakdownSticky for sessionNew 52-week low posted today.
price_up_3pctSticky for sessionIntraday move of 3%+ vs prior close.
price_down_3pctSticky for sessionIntraday move of -3% or worse vs prior close.
Flags · Fundamentals
small_capContinuousMarket cap between $300M and $2B.
mid_capContinuousMarket cap between $2B and $10B.
large_capContinuousMarket cap between $10B and $200B.
mega_capContinuousMarket cap above $200B.
value_stockContinuousTrades at a value-style P/E.
growth_stockContinuousTrades at a growth-style P/E.
high_dividend_yieldContinuousDividend yield above 4%.
high_betaContinuousBeta above 1.5: moves more than the market.
low_floatContinuousPublic float under 50 million shares.
Flags · Corporate events
earnings_this_weekContinuousEarnings announcement scheduled in the next 7 days.
earnings_todayContinuousEarnings announcement scheduled for today.
recently_reported_earningsContinuousReported earnings within the last 3 trading days.