{
 "cite": {
  "publisher": "ETFIQ",
  "page": "https://etfiq.com/data/",
  "methodology": "https://etfiq.com/methodology/",
  "as_of": "2026-10-20",
  "class": "ETFIQ-computed",
  "license": "https://etfiq.com/license/",
  "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
  "cite_as": "ETFIQ, ETFIQ open data, data as of 2026-10-20, https://etfiq.com/data/"
 },
 "name": "ETFIQ open data",
 "url": "https://etfiq.com/data/",
 "documentation": "https://etfiq.com/data/",
 "license": "https://etfiq.com/license/",
 "licenseText": "Figures ETFIQ computes are free to use with attribution: ETFIQ (etfiq.com). Issuer data stays under its owner's terms.",
 "attribution": "ETFIQ (etfiq.com)",
 "attributionRequired": true,
 "isAccessibleForFree": true,
 "contact": "data@etfiq.com",
 "asOf": "2026-10-20",
 "generated": "2026-10-21",
 "refresh": "every trading night",
 "cadence": "The addresses below do not move. Cache rather than poll: they change once a night.",
 "methodology": "https://etfiq.com/methodology/",
 "datasets": [
  {
   "id": "funds",
   "name": "Buffer ETFs",
   "description": "Every defined outcome ETF with its published terms and current figures: reference index, buffer, cap, outcome period, index and fund return, remaining cap and downside before the buffer as the issuer publishes them, plus the ETFIQ fields (protection left in index points, buffer used, state).",
   "file": "funds.json",
   "url": "https://etfiq.com/data/funds.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/buffer",
   "bytes": 999167,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "structure",
    "startBuffer",
    "bufferUsed",
    "unprotectedLoss",
    "lossBelowFloor",
    "remainingCap",
    "netPosition",
    "windows",
    "daysRemaining"
   ],
   "issuer_fields": [
    "family",
    "refAsset",
    "refName",
    "periodStart",
    "periodEnd",
    "daysRemainingStated",
    "daysElapsed",
    "startCap",
    "startCapNet",
    "participation",
    "bufferStart",
    "bufferEnd",
    "refReturn",
    "fundReturn",
    "remainingCapRefPub",
    "remainingCapFund",
    "remainingCapFundGross",
    "remainingBuffer",
    "downsideBeforeBuffer",
    "remainingInverseCap",
    "refLevels",
    "refPrice",
    "startNav",
    "nav",
    "navAsOf",
    "expenseRatio",
    "netAssets",
    "netAssetsAsOf"
   ],
   "fields_note": "Where returnsComputed is set, fundReturn and refReturn are ETFIQ's arithmetic on the issuer's own figures, as that field says.",
   "asOf": "2026-10-20",
   "records": 431,
   "fields": [
    {
     "name": "asOf",
     "present": 431,
     "of": 431
    },
    {
     "name": "bufferEnd",
     "present": 431,
     "of": 431
    },
    {
     "name": "bufferStart",
     "present": 431,
     "of": 431
    },
    {
     "name": "bufferUsed",
     "present": 431,
     "of": 431
    },
    {
     "name": "cik",
     "present": 413,
     "of": 431
    },
    {
     "name": "daysElapsed",
     "present": 431,
     "of": 431
    },
    {
     "name": "daysRemaining",
     "present": 431,
     "of": 431
    },
    {
     "name": "daysRemainingStated",
     "present": 18,
     "of": 431
    },
    {
     "name": "downsideBeforeBuffer",
     "present": 431,
     "of": 431
    },
    {
     "name": "expenseRatio",
     "present": 431,
     "of": 431
    },
    {
     "name": "family",
     "present": 431,
     "of": 431
    },
    {
     "name": "feeSource",
     "present": 431,
     "of": 431
    },
    {
     "name": "filedName",
     "present": 35,
     "of": 431
    },
    {
     "name": "fundReturn",
     "present": 423,
     "of": 431
    },
    {
     "name": "issuer",
     "present": 431,
     "of": 431
    },
    {
     "name": "lossBelowFloor",
     "present": 431,
     "of": 431
    },
    {
     "name": "marketPrice",
     "present": 76,
     "of": 431
    },
    {
     "name": "name",
     "present": 431,
     "of": 431
    },
    {
     "name": "nav",
     "present": 431,
     "of": 431
    },
    {
     "name": "navAsOf",
     "present": 431,
     "of": 431
    },
    {
     "name": "netAssets",
     "present": 431,
     "of": 431
    },
    {
     "name": "netAssetsAsOf",
     "present": 431,
     "of": 431
    },
    {
     "name": "netAssetsSource",
     "present": 8,
     "of": 431
    },
    {
     "name": "netPosition",
     "present": 401,
     "of": 431
    },
    {
     "name": "participation",
     "present": 1,
     "of": 431
    },
    {
     "name": "participationHigh",
     "present": 12,
     "of": 431
    },
    {
     "name": "participationLow",
     "present": 12,
     "of": 431
    },
    {
     "name": "periodEnd",
     "present": 431,
     "of": 431
    },
    {
     "name": "periodStart",
     "present": 431,
     "of": 431
    },
    {
     "name": "refAsset",
     "present": 431,
     "of": 431
    },
    {
     "name": "refLevels",
     "present": 104,
     "of": 431
    },
    {
     "name": "refName",
     "present": 431,
     "of": 431
    },
    {
     "name": "refPrice",
     "present": 56,
     "of": 431
    },
    {
     "name": "refReturn",
     "present": 431,
     "of": 431
    },
    {
     "name": "remainingBuffer",
     "present": 381,
     "of": 431
    },
    {
     "name": "remainingCap",
     "present": 401,
     "of": 431
    },
    {
     "name": "remainingCapFund",
     "present": 333,
     "of": 431
    },
    {
     "name": "remainingCapFundGross",
     "present": 220,
     "of": 431
    },
    {
     "name": "remainingCapRefPub",
     "present": 325,
     "of": 431
    },
    {
     "name": "remainingInverseCap",
     "present": 26,
     "of": 431
    },
    {
     "name": "renamedFrom",
     "present": 3,
     "of": 431
    },
    {
     "name": "returnsComputed",
     "present": 44,
     "of": 431
    },
    {
     "name": "secName",
     "present": 314,
     "of": 431
    },
    {
     "name": "seriesId",
     "present": 413,
     "of": 431
    },
    {
     "name": "source",
     "present": 431,
     "of": 431
    },
    {
     "name": "startBuffer",
     "present": 431,
     "of": 431
    },
    {
     "name": "startCap",
     "present": 401,
     "of": 431
    },
    {
     "name": "startCapNet",
     "present": 244,
     "of": 431
    },
    {
     "name": "startNav",
     "present": 48,
     "of": 431
    },
    {
     "name": "structure",
     "present": 431,
     "of": 431
    },
    {
     "name": "ticker",
     "present": 431,
     "of": 431
    },
    {
     "name": "unprotectedLoss",
     "present": 431,
     "of": 431
    },
    {
     "name": "windows",
     "present": 431,
     "of": 431
    }
   ]
  },
  {
   "id": "buffer-periods",
   "name": "Buffer ETFs by outcome period",
   "description": "Every buffer ETF in one of four groups by the length of its outcome period: annual, quarterly, monthly and laddered. Each laddered fund carries its sleeves at the weights its own Form N-PORT gives, each sleeve's issuer figures, and ETFIQ's weighted cap left, fall before the buffers, protection left and days to the next reset; each monthly fund carries the terms its own prospectus states and the filing they were read from. Rebuilt every trading night.",
   "file": "buffer-periods.json",
   "url": "https://etfiq.com/data/buffer-periods.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/buffer",
   "bytes": 424747,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "groups",
    "placedByNearest",
    "periodDays",
    "ladderShare",
    "onDesk",
    "fundShare",
    "windows"
   ],
   "issuer_fields": [
    "terms",
    "evidence",
    "filing",
    "nport"
   ],
   "vendor_fields": [
    "prices"
   ],
   "fields_note": "Each sleeve's cap, buffer, period and days are its issuer's own figures and each weight is the ladder's Form N-PORT; every weighted figure in lookThrough (remainingCap, downsideBeforeBuffer, remainingBuffer, daysToNextReset) is ETFIQ's arithmetic on them. A monthly fund's terms are its own prospectus's words.",
   "asOf": "2026-10-20",
   "records": 11
  },
  {
   "id": "income",
   "name": "Income ETFs",
   "description": "Every option-income ETF with price, cash distributions and total return over 3 months, 6 months, 1 year, 3 years and since launch, each against its benchmark, with payout frequency, annualized payout rate, trailing twelve month cash and the prospectus expense ratio.",
   "file": "income.json",
   "url": "https://etfiq.com/data/income.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/income",
   "bytes": 1198684,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "strategy",
    "benchmark",
    "benchmarkName",
    "benchmarkKind",
    "benchmarkBasis",
    "include",
    "why",
    "assetClass",
    "assetClassWhy",
    "assetClassState",
    "payoutFrequency",
    "distributionRate",
    "trailing12mCash",
    "trailing12m",
    "benchAsOf",
    "windows",
    "quoted",
    "flatDays",
    "tradingDays",
    "flatRecent",
    "recentDays",
    "daysSinceInception",
    "priceSinceInception"
   ],
   "issuer_fields": [
    "expenseRatio",
    "benchmarkWeights",
    "benchmarkBooks"
   ],
   "vendor_fields": [
    "price",
    "inception",
    "lastDistribution",
    "distributions"
   ],
   "asOf": "2026-10-20",
   "records": 376,
   "fields": [
    {
     "name": "asOf",
     "present": 376,
     "of": 376
    },
    {
     "name": "assetClass",
     "present": 333,
     "of": 376
    },
    {
     "name": "assetClassState",
     "present": 43,
     "of": 376
    },
    {
     "name": "assetClassWhy",
     "present": 64,
     "of": 376
    },
    {
     "name": "benchAsOf",
     "present": 340,
     "of": 376
    },
    {
     "name": "benchmark",
     "present": 340,
     "of": 376
    },
    {
     "name": "benchmarkBasis",
     "present": 376,
     "of": 376
    },
    {
     "name": "benchmarkBooks",
     "present": 20,
     "of": 376
    },
    {
     "name": "benchmarkInverse",
     "present": 5,
     "of": 376
    },
    {
     "name": "benchmarkKind",
     "present": 376,
     "of": 376
    },
    {
     "name": "benchmarkName",
     "present": 340,
     "of": 376
    },
    {
     "name": "benchmarkTicker",
     "present": 5,
     "of": 376
    },
    {
     "name": "benchmarkWeights",
     "present": 24,
     "of": 376
    },
    {
     "name": "cik",
     "present": 376,
     "of": 376
    },
    {
     "name": "cikFrom",
     "present": 1,
     "of": 376
    },
    {
     "name": "daysSinceInception",
     "present": 376,
     "of": 376
    },
    {
     "name": "distributionRate",
     "present": 368,
     "of": 376
    },
    {
     "name": "distributions",
     "present": 368,
     "of": 376
    },
    {
     "name": "entity",
     "present": 376,
     "of": 376
    },
    {
     "name": "expenseRatio",
     "present": 376,
     "of": 376
    },
    {
     "name": "feeSource",
     "present": 376,
     "of": 376
    },
    {
     "name": "flatDays",
     "present": 376,
     "of": 376
    },
    {
     "name": "flatRecent",
     "present": 376,
     "of": 376
    },
    {
     "name": "inception",
     "present": 376,
     "of": 376
    },
    {
     "name": "include",
     "present": 376,
     "of": 376
    },
    {
     "name": "issuer",
     "present": 376,
     "of": 376
    },
    {
     "name": "lastDistribution",
     "present": 368,
     "of": 376
    },
    {
     "name": "name",
     "present": 376,
     "of": 376
    },
    {
     "name": "payoutFrequency",
     "present": 347,
     "of": 376
    },
    {
     "name": "price",
     "present": 376,
     "of": 376
    },
    {
     "name": "priceSinceInception",
     "present": 376,
     "of": 376
    },
    {
     "name": "quoted",
     "present": 376,
     "of": 376
    },
    {
     "name": "recentDays",
     "present": 376,
     "of": 376
    },
    {
     "name": "registrantCik",
     "present": 1,
     "of": 376
    },
    {
     "name": "renamedFrom",
     "present": 13,
     "of": 376
    },
    {
     "name": "secName",
     "present": 373,
     "of": 376
    },
    {
     "name": "seriesId",
     "present": 376,
     "of": 376
    },
    {
     "name": "strategy",
     "present": 376,
     "of": 376
    },
    {
     "name": "strategyRead",
     "present": 17,
     "of": 376
    },
    {
     "name": "ticker",
     "present": 376,
     "of": 376
    },
    {
     "name": "tradingDays",
     "present": 376,
     "of": 376
    },
    {
     "name": "trailing12m",
     "present": 376,
     "of": 376
    },
    {
     "name": "trailing12mCash",
     "present": 376,
     "of": 376
    },
    {
     "name": "why",
     "present": 376,
     "of": 376
    },
    {
     "name": "windows",
     "present": 376,
     "of": 376
    }
   ]
  },
  {
   "id": "thematic",
   "name": "Thematic ETFs",
   "description": "Every thematic ETF with its holdings summary, weight already in the S&P 500 and the Nasdaq-100, active share, top ten weight, returns against both indexes, drawdown, fee and active expense ratio, plus a fund-to-fund overlap matrix.",
   "file": "thematic.json",
   "url": "https://etfiq.com/data/thematic.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/themes",
   "bytes": 1584217,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "theme",
    "themeName",
    "include",
    "why",
    "top10Weight",
    "vsSPY",
    "vsQQQ",
    "peers",
    "activeFee",
    "filedTop10Weight",
    "filedVsSPY",
    "grossBook",
    "swapBased",
    "holdingsWords",
    "matrix",
    "payoutFrequency",
    "windows",
    "drawdown",
    "highDate",
    "quoted",
    "flatDays",
    "tradingDays",
    "flatRecent",
    "recentDays",
    "daysSinceInception"
   ],
   "issuer_fields": [
    "holdingsAsOf",
    "holdingsCount",
    "top",
    "assets",
    "assetsAsOf",
    "expenseRatio",
    "filedAsOf",
    "filedCount",
    "holdingsFiled",
    "holdingsDaily"
   ],
   "vendor_fields": [
    "price",
    "inception",
    "lastDistribution"
   ],
   "asOf": "2026-10-20",
   "records": 415,
   "fields": [
    {
     "name": "activeFee",
     "present": 388,
     "of": 415
    },
    {
     "name": "asOf",
     "present": 415,
     "of": 415
    },
    {
     "name": "assets",
     "present": 383,
     "of": 415
    },
    {
     "name": "assetsAsOf",
     "present": 383,
     "of": 415
    },
    {
     "name": "assetsFrom",
     "present": 383,
     "of": 415
    },
    {
     "name": "cik",
     "present": 415,
     "of": 415
    },
    {
     "name": "daysSinceInception",
     "present": 415,
     "of": 415
    },
    {
     "name": "drawdown",
     "present": 415,
     "of": 415
    },
    {
     "name": "entity",
     "present": 415,
     "of": 415
    },
    {
     "name": "expenseRatio",
     "present": 415,
     "of": 415
    },
    {
     "name": "feeSource",
     "present": 415,
     "of": 415
    },
    {
     "name": "filedAsOf",
     "present": 174,
     "of": 415
    },
    {
     "name": "filedCount",
     "present": 174,
     "of": 415
    },
    {
     "name": "filedSource",
     "present": 174,
     "of": 415
    },
    {
     "name": "filedTop10Weight",
     "present": 174,
     "of": 415
    },
    {
     "name": "filedVsSPY",
     "present": 174,
     "of": 415
    },
    {
     "name": "flatDays",
     "present": 415,
     "of": 415
    },
    {
     "name": "flatRecent",
     "present": 415,
     "of": 415
    },
    {
     "name": "grossBook",
     "present": 3,
     "of": 415
    },
    {
     "name": "highDate",
     "present": 415,
     "of": 415
    },
    {
     "name": "holdingsAsOf",
     "present": 391,
     "of": 415
    },
    {
     "name": "holdingsCount",
     "present": 391,
     "of": 415
    },
    {
     "name": "holdingsDaily",
     "present": 391,
     "of": 415
    },
    {
     "name": "holdingsFiled",
     "present": 391,
     "of": 415
    },
    {
     "name": "holdingsPrintedDate",
     "present": 36,
     "of": 415
    },
    {
     "name": "holdingsSource",
     "present": 391,
     "of": 415
    },
    {
     "name": "holdingsWithheld",
     "present": 20,
     "of": 415
    },
    {
     "name": "holdingsWords",
     "present": 391,
     "of": 415
    },
    {
     "name": "inception",
     "present": 415,
     "of": 415
    },
    {
     "name": "include",
     "present": 415,
     "of": 415
    },
    {
     "name": "issuer",
     "present": 415,
     "of": 415
    },
    {
     "name": "lastDistribution",
     "present": 320,
     "of": 415
    },
    {
     "name": "name",
     "present": 415,
     "of": 415
    },
    {
     "name": "payoutFrequency",
     "present": 247,
     "of": 415
    },
    {
     "name": "peers",
     "present": 382,
     "of": 415
    },
    {
     "name": "positionsPct",
     "present": 258,
     "of": 415
    },
    {
     "name": "price",
     "present": 415,
     "of": 415
    },
    {
     "name": "quoted",
     "present": 415,
     "of": 415
    },
    {
     "name": "recentDays",
     "present": 415,
     "of": 415
    },
    {
     "name": "renamedFrom",
     "present": 16,
     "of": 415
    },
    {
     "name": "secName",
     "present": 411,
     "of": 415
    },
    {
     "name": "seriesId",
     "present": 415,
     "of": 415
    },
    {
     "name": "swapBased",
     "present": 4,
     "of": 415
    },
    {
     "name": "theme",
     "present": 415,
     "of": 415
    },
    {
     "name": "themeName",
     "present": 415,
     "of": 415
    },
    {
     "name": "ticker",
     "present": 415,
     "of": 415
    },
    {
     "name": "top",
     "present": 391,
     "of": 415
    },
    {
     "name": "top10Weight",
     "present": 388,
     "of": 415
    },
    {
     "name": "tradingDays",
     "present": 415,
     "of": 415
    },
    {
     "name": "vsQQQ",
     "present": 385,
     "of": 415
    },
    {
     "name": "vsSPY",
     "present": 388,
     "of": 415
    },
    {
     "name": "why",
     "present": 415,
     "of": 415
    },
    {
     "name": "windows",
     "present": 415,
     "of": 415
    }
   ]
  },
  {
   "id": "payouts",
   "name": "Payout calendar",
   "description": "Declared, scheduled and estimated distributions per fund, with ex and pay dates, the cadence and the ex-to-pay lag.",
   "file": "payouts.json",
   "url": "https://etfiq.com/data/payouts.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/income",
   "bytes": 338272,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "frequency",
    "cadenceDays",
    "lagDays"
   ],
   "vendor_fields": [
    "last",
    "history"
   ],
   "fields_note": "next carries the dates source names: the exchange dividend record (nasdaq) or the issuer's own schedule (issuer schedule), or ETFIQ's projection (projection).",
   "asOf": "2026-10-20",
   "records": 376,
   "fields": [
    {
     "name": "cadenceDays",
     "present": 347,
     "of": 376
    },
    {
     "name": "frequency",
     "present": 347,
     "of": 376
    },
    {
     "name": "history",
     "present": 368,
     "of": 376
    },
    {
     "name": "lagDays",
     "present": 376,
     "of": 376
    },
    {
     "name": "last",
     "present": 368,
     "of": 376
    },
    {
     "name": "next",
     "present": 331,
     "of": 376
    },
    {
     "name": "source",
     "present": 376,
     "of": 376
    },
    {
     "name": "ticker",
     "present": 376,
     "of": 376
    }
   ]
  },
  {
   "id": "leverage",
   "name": "Leveraged ETFs",
   "description": "Every leveraged and inverse ETF with its stated multiple, the underlying it is levered on, what it returned over each window, what its stated multiple would have produced over the same days, the difference between the two, and the underlying's volatility. Funds in a group sold by more than one issuer also carry the group's shared window.",
   "file": "leverage.json",
   "url": "https://etfiq.com/data/leverage.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/leverage",
   "bytes": 1719265,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "kind",
    "subkind",
    "group",
    "comparable",
    "wrapper",
    "peer",
    "payoutFrequency",
    "windows",
    "quoted",
    "flatDays",
    "tradingDays",
    "flatRecent",
    "recentDays"
   ],
   "issuer_fields": [
    "factor",
    "direction",
    "under",
    "underName",
    "expenseRatio"
   ],
   "vendor_fields": [
    "price",
    "inception",
    "lastDistribution"
   ],
   "asOf": "2026-10-20",
   "records": 739,
   "fields": [
    {
     "name": "asOf",
     "present": 739,
     "of": 739
    },
    {
     "name": "cik",
     "present": 712,
     "of": 739
    },
    {
     "name": "cikFrom",
     "present": 13,
     "of": 739
    },
    {
     "name": "comparable",
     "present": 739,
     "of": 739
    },
    {
     "name": "direction",
     "present": 739,
     "of": 739
    },
    {
     "name": "expenseRatio",
     "present": 734,
     "of": 739
    },
    {
     "name": "factor",
     "present": 739,
     "of": 739
    },
    {
     "name": "feeAbsent",
     "present": 4,
     "of": 739
    },
    {
     "name": "feeSource",
     "present": 734,
     "of": 739
    },
    {
     "name": "flatDays",
     "present": 739,
     "of": 739
    },
    {
     "name": "flatRecent",
     "present": 739,
     "of": 739
    },
    {
     "name": "group",
     "present": 700,
     "of": 739
    },
    {
     "name": "inception",
     "present": 739,
     "of": 739
    },
    {
     "name": "issuer",
     "present": 739,
     "of": 739
    },
    {
     "name": "kind",
     "present": 739,
     "of": 739
    },
    {
     "name": "lastDistribution",
     "present": 326,
     "of": 739
    },
    {
     "name": "name",
     "present": 739,
     "of": 739
    },
    {
     "name": "payoutFrequency",
     "present": 230,
     "of": 739
    },
    {
     "name": "peer",
     "present": 374,
     "of": 739
    },
    {
     "name": "price",
     "present": 739,
     "of": 739
    },
    {
     "name": "quoted",
     "present": 739,
     "of": 739
    },
    {
     "name": "recentDays",
     "present": 739,
     "of": 739
    },
    {
     "name": "registrantCik",
     "present": 13,
     "of": 739
    },
    {
     "name": "renamedFrom",
     "present": 5,
     "of": 739
    },
    {
     "name": "secName",
     "present": 712,
     "of": 739
    },
    {
     "name": "seriesId",
     "present": 712,
     "of": 739
    },
    {
     "name": "source",
     "present": 739,
     "of": 739
    },
    {
     "name": "subkind",
     "present": 739,
     "of": 739
    },
    {
     "name": "ticker",
     "present": 739,
     "of": 739
    },
    {
     "name": "tradingDays",
     "present": 739,
     "of": 739
    },
    {
     "name": "under",
     "present": 700,
     "of": 739
    },
    {
     "name": "underName",
     "present": 739,
     "of": 739
    },
    {
     "name": "underNote",
     "present": 12,
     "of": 739
    },
    {
     "name": "windows",
     "present": 739,
     "of": 739
    },
    {
     "name": "wrapper",
     "present": 739,
     "of": 739
    }
   ]
  },
  {
   "id": "sources",
   "name": "Return of capital",
   "description": "Issuers' own Rule 19a-1 estimates of what each distribution was made of, with the notice it came from.",
   "file": "sources.json",
   "url": "https://etfiq.com/data/sources.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/income",
   "bytes": 48710,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "t12"
   ],
   "issuer_fields": [
    "latest",
    "ytd"
   ],
   "fields_note": "latest and ytd are the issuer's own Rule 19a-1 estimates, from the notice at url; t12 is ETFIQ's amount-weighted share over twelve months.",
   "asOf": "2026-10-20",
   "records": 156,
   "fields": [
    {
     "name": "asOf",
     "present": 155,
     "of": 156
    },
    {
     "name": "carried",
     "present": 15,
     "of": 156
    },
    {
     "name": "issuer",
     "present": 156,
     "of": 156
    },
    {
     "name": "latest",
     "present": 156,
     "of": 156
    },
    {
     "name": "method",
     "present": 156,
     "of": 156
    },
    {
     "name": "t12",
     "present": 61,
     "of": 156
    },
    {
     "name": "url",
     "present": 156,
     "of": 156
    },
    {
     "name": "ytd",
     "present": 50,
     "of": 156
    }
   ]
  },
  {
   "id": "insights",
   "name": "What changed",
   "description": "The computed lines published each trading night, one per finding, with the fund's category and a link.",
   "file": "insights.json",
   "url": "https://etfiq.com/data/insights.json",
   "encodingFormat": "application/json",
   "bytes": 7247,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "asOf": "2026-10-20",
   "records": 4
  },
  {
   "id": "crypto",
   "name": "Crypto ETFs",
   "description": "Every US listed spot crypto ETP with the coin it holds, what the fund returned and what the coin did over exactly the same two trading dates, the difference in percentage points, the compounded gap that is right where the subtraction is not, and how many days the fund closed unchanged.",
   "file": "crypto.json",
   "url": "https://etfiq.com/data/crypto.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/crypto",
   "bytes": 123786,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "coin",
    "coinSeries",
    "coins",
    "thin",
    "windows",
    "quoted",
    "flatDays",
    "tradingDays",
    "flatRecent",
    "recentDays",
    "daysListed"
   ],
   "issuer_fields": [
    "expenseRatio",
    "netAssets",
    "netAssetsAsOf",
    "feeWaiver"
   ],
   "vendor_fields": [
    "price",
    "inception"
   ],
   "asOf": "2026-10-20",
   "records": 69,
   "fields": [
    {
     "name": "asOf",
     "present": 69,
     "of": 69
    },
    {
     "name": "cik",
     "present": 69,
     "of": 69
    },
    {
     "name": "coin",
     "present": 69,
     "of": 69
    },
    {
     "name": "coinSeries",
     "present": 69,
     "of": 69
    },
    {
     "name": "daysListed",
     "present": 66,
     "of": 69
    },
    {
     "name": "expenseRatio",
     "present": 69,
     "of": 69
    },
    {
     "name": "feeSource",
     "present": 69,
     "of": 69
    },
    {
     "name": "feeWaiver",
     "present": 26,
     "of": 69
    },
    {
     "name": "firstTradedWithheld",
     "present": 3,
     "of": 69
    },
    {
     "name": "flatDays",
     "present": 69,
     "of": 69
    },
    {
     "name": "flatRecent",
     "present": 69,
     "of": 69
    },
    {
     "name": "holds",
     "present": 13,
     "of": 69
    },
    {
     "name": "inception",
     "present": 66,
     "of": 69
    },
    {
     "name": "kind",
     "present": 69,
     "of": 69
    },
    {
     "name": "name",
     "present": 69,
     "of": 69
    },
    {
     "name": "netAssets",
     "present": 33,
     "of": 69
    },
    {
     "name": "netAssetsAsOf",
     "present": 33,
     "of": 69
    },
    {
     "name": "netAssetsSource",
     "present": 33,
     "of": 69
    },
    {
     "name": "nport",
     "present": 15,
     "of": 69
    },
    {
     "name": "placedBy",
     "present": 16,
     "of": 69
    },
    {
     "name": "price",
     "present": 69,
     "of": 69
    },
    {
     "name": "quoted",
     "present": 69,
     "of": 69
    },
    {
     "name": "recentDays",
     "present": 69,
     "of": 69
    },
    {
     "name": "registered",
     "present": 69,
     "of": 69
    },
    {
     "name": "seriesId",
     "present": 16,
     "of": 69
    },
    {
     "name": "sponsor",
     "present": 69,
     "of": 69
    },
    {
     "name": "ticker",
     "present": 69,
     "of": 69
    },
    {
     "name": "tradingDays",
     "present": 69,
     "of": 69
    },
    {
     "name": "windows",
     "present": 69,
     "of": 69
    }
   ]
  },
  {
   "id": "crypto-terms",
   "name": "Crypto ETF terms",
   "description": "The sponsor's fee, the fee waiver and when it ends, whether the trust stakes, and net assets as of its last balance sheet, for every US listed spot crypto ETP, each with the 10-K, S-1 or 424B3 it was read from. These trusts file no prospectus XBRL, so none of this exists in a structured field anywhere: it is read from the sentence in each filing that states it, and a figure that cannot be checked against the fund's own share count and share price is published as unread rather than estimated.",
   "file": "crypto-terms.json",
   "url": "https://etfiq.com/data/crypto-terms.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/crypto",
   "bytes": 106839,
   "class": "issuer-published",
   "source": "Each record names its own source.",
   "license_text": "Data an issuer published, credited in source and not computed by ETFIQ. Its owner's terms apply; ETFIQ's licence does not cover it.",
   "fields_note": "Read from each trust's own filings, named in filingsRead; coin and chain are ETFIQ's labels.",
   "asOf": "2026-10-21",
   "records": 70,
   "fields": [
    {
     "name": "chain",
     "present": 70,
     "of": 70
    },
    {
     "name": "cik",
     "present": 70,
     "of": 70
    },
    {
     "name": "coin",
     "present": 70,
     "of": 70
    },
    {
     "name": "fee",
     "present": 54,
     "of": 70
    },
    {
     "name": "feeSource",
     "present": 54,
     "of": 70
    },
    {
     "name": "filingsRead",
     "present": 54,
     "of": 70
    },
    {
     "name": "netAssets",
     "present": 34,
     "of": 70
    },
    {
     "name": "stakeSource",
     "present": 35,
     "of": 70
    },
    {
     "name": "stakes",
     "present": 66,
     "of": 70
    },
    {
     "name": "ticker",
     "present": 70,
     "of": 70
    },
    {
     "name": "waiver",
     "present": 27,
     "of": 70
    }
   ]
  },
  {
   "id": "alternatives",
   "name": "Alternatives ETFs",
   "description": "Every alternatives ETF with the strategy read from its own prospectus and the filing it was read from, 52 weeks of correlation and beta against the S&P 500 (through SPY), the fund's and SPY's average return in the weeks SPY fell and the down-week capture that is their ratio, the fund's total return against BIL over the same weeks, returns against SPY over each window, and the prospectus expense ratio.",
   "file": "alternatives.json",
   "url": "https://etfiq.com/data/alternatives.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/alternatives",
   "bytes": 223705,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "category",
    "label",
    "evidence",
    "div",
    "bills",
    "meta",
    "vol",
    "payoutFrequency",
    "worstMonth",
    "corrSpy",
    "windows",
    "quoted",
    "flatDays",
    "tradingDays",
    "flatRecent",
    "recentDays"
   ],
   "issuer_fields": [
    "quote",
    "strategyFiled",
    "expenseRatio",
    "managementFee",
    "shortSaleCosts",
    "totalExpenseRatio"
   ],
   "vendor_fields": [
    "lastDistribution"
   ],
   "fields_note": "quote is the strategy sentence from the fund's own prospectus, filed on strategyFiled.",
   "asOf": "2026-10-20",
   "records": 86,
   "fields": [
    {
     "name": "asOf",
     "present": 86,
     "of": 86
    },
    {
     "name": "bills",
     "present": 67,
     "of": 86
    },
    {
     "name": "category",
     "present": 86,
     "of": 86
    },
    {
     "name": "cik",
     "present": 86,
     "of": 86
    },
    {
     "name": "corrSpy",
     "present": 86,
     "of": 86
    },
    {
     "name": "daysTraded",
     "present": 84,
     "of": 86
    },
    {
     "name": "div",
     "present": 67,
     "of": 86
    },
    {
     "name": "entity",
     "present": 86,
     "of": 86
    },
    {
     "name": "evidence",
     "present": 86,
     "of": 86
    },
    {
     "name": "expenseRatio",
     "present": 82,
     "of": 86
    },
    {
     "name": "feeSource",
     "present": 83,
     "of": 86
    },
    {
     "name": "firstTradedWithheld",
     "present": 2,
     "of": 86
    },
    {
     "name": "flatDays",
     "present": 86,
     "of": 86
    },
    {
     "name": "flatRecent",
     "present": 86,
     "of": 86
    },
    {
     "name": "inception",
     "present": 84,
     "of": 86
    },
    {
     "name": "issuer",
     "present": 86,
     "of": 86
    },
    {
     "name": "label",
     "present": 86,
     "of": 86
    },
    {
     "name": "lastDistribution",
     "present": 66,
     "of": 86
    },
    {
     "name": "managementFee",
     "present": 1,
     "of": 86
    },
    {
     "name": "name",
     "present": 86,
     "of": 86
    },
    {
     "name": "payoutFrequency",
     "present": 39,
     "of": 86
    },
    {
     "name": "quote",
     "present": 85,
     "of": 86
    },
    {
     "name": "quoted",
     "present": 86,
     "of": 86
    },
    {
     "name": "recentDays",
     "present": 86,
     "of": 86
    },
    {
     "name": "secName",
     "present": 76,
     "of": 86
    },
    {
     "name": "seriesId",
     "present": 79,
     "of": 86
    },
    {
     "name": "shortSaleCosts",
     "present": 1,
     "of": 86
    },
    {
     "name": "strategyFiled",
     "present": 77,
     "of": 86
    },
    {
     "name": "strategySource",
     "present": 86,
     "of": 86
    },
    {
     "name": "ticker",
     "present": 86,
     "of": 86
    },
    {
     "name": "totalExpenseRatio",
     "present": 1,
     "of": 86
    },
    {
     "name": "tradingDays",
     "present": 86,
     "of": 86
    },
    {
     "name": "vol",
     "present": 9,
     "of": 86
    },
    {
     "name": "windows",
     "present": 84,
     "of": 86
    },
    {
     "name": "worstMonth",
     "present": 86,
     "of": 86
    }
   ]
  },
  {
   "id": "scores",
   "name": "Category scores",
   "description": "One score per fund for its own category, each a percentile of a single published figure inside a stated set, with the components, the weights where a score blends two, the raw figure behind each component and the size of the set. No composite across categories.",
   "file": "scores.json",
   "url": "https://etfiq.com/data/scores.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/scores",
   "bytes": 843751,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "score",
    "of",
    "set",
    "vsBills",
    "meta"
   ],
   "fields_note": "parts lists each component as name, percentile, weight, raw figure and unit: the percentile is ETFIQ's, and the raw figure is the category file's own, an issuer's where that file says so.",
   "records": 1633,
   "fields": [
    {
     "name": "band",
     "present": 242,
     "of": 1633
    },
    {
     "name": "benchmark",
     "present": 231,
     "of": 1633
    },
    {
     "name": "cashPaid",
     "present": 231,
     "of": 1633
    },
    {
     "name": "coin",
     "present": 51,
     "of": 1633
    },
    {
     "name": "cushion",
     "present": 242,
     "of": 1633
    },
    {
     "name": "duration",
     "present": 242,
     "of": 1633
    },
    {
     "name": "ends",
     "present": 242,
     "of": 1633
    },
    {
     "name": "factor",
     "present": 667,
     "of": 1633
    },
    {
     "name": "family",
     "present": 242,
     "of": 1633
    },
    {
     "name": "gap",
     "present": 231,
     "of": 1633
    },
    {
     "name": "holdings",
     "present": 112,
     "of": 1633
    },
    {
     "name": "ideal",
     "present": 667,
     "of": 1633
    },
    {
     "name": "inIndex",
     "present": 112,
     "of": 1633
    },
    {
     "name": "leveraged",
     "present": 10,
     "of": 1633
    },
    {
     "name": "of",
     "present": 1633,
     "of": 1633
    },
    {
     "name": "overlap",
     "present": 112,
     "of": 1633
    },
    {
     "name": "parts",
     "present": 1633,
     "of": 1633
    },
    {
     "name": "priceChange",
     "present": 231,
     "of": 1633
    },
    {
     "name": "score",
     "present": 1633,
     "of": 1633
    },
    {
     "name": "set",
     "present": 1633,
     "of": 1633
    },
    {
     "name": "sharedNames",
     "present": 112,
     "of": 1633
    },
    {
     "name": "strategy",
     "present": 38,
     "of": 1633
    },
    {
     "name": "structure",
     "present": 51,
     "of": 1633
    },
    {
     "name": "totalReturn",
     "present": 231,
     "of": 1633
    },
    {
     "name": "under",
     "present": 667,
     "of": 1633
    },
    {
     "name": "underlying",
     "present": 292,
     "of": 1633
    },
    {
     "name": "upsideLeft",
     "present": 228,
     "of": 1633
    },
    {
     "name": "upsideLeftPct",
     "present": 228,
     "of": 1633
    },
    {
     "name": "vsBills",
     "present": 38,
     "of": 1633
    },
    {
     "name": "yield",
     "present": 242,
     "of": 1633
    }
   ]
  },
  {
   "id": "screener",
   "name": "ETF screener",
   "description": "One row per covered ETF: fee, net assets, total return over 1 month, 3 months, 1 year and since launch, the 12-month yield, the IQ score where the fund has one, holdings count and top ten weight, money in or out over a day, a week and a month, and the measures its own category adds (protection left and cap left for a buffer ETF, payout coverage for an income ETF, share in the S&P 500 for a theme ETF, gap to the daily multiple for a leveraged ETF, coin capture for a crypto ETF, rate cushion for a bond ETF). Every figure has its own date beside it; a value a fund does not have is null, never zero. Also as CSV at /data/screener.csv.",
   "file": "screener.json",
   "url": "https://etfiq.com/data/screener.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/scores",
   "bytes": 6796941,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "iq_name",
    "iq_measure",
    "iq_score",
    "iq_set",
    "iq_set_size",
    "tracks_key",
    "segment",
    "category",
    "presets",
    "streak_side",
    "streak_days",
    "holdings_top10"
   ],
   "issuer_fields": [
    "fee",
    "net_assets"
   ],
   "vendor_fields": [
    "ret_1m",
    "ret_3m",
    "ret_1y",
    "ret_since",
    "yield_12m",
    "flow_1d",
    "flow_1w",
    "flow_1m"
   ],
   "fields_note": "Each row copies the figures the desk files and aum.json publish and adds ETFIQ's own: the IQ score, the category's measures, the streak and the index key. Every figure has its date in the field beside it; the returns and the yield are ETFIQ's arithmetic on vendor end-of-day prices and distributions.",
   "asOf": "2026-10-20",
   "records": 4807,
   "fields": [
    {
     "name": "bench_gap_1y",
     "present": 1443,
     "of": 4807
    },
    {
     "name": "bench_gap_1y_abs",
     "present": 1443,
     "of": 4807
    },
    {
     "name": "bench_gap_1y_asof",
     "present": 1443,
     "of": 4807
    },
    {
     "name": "bench_gap_1y_ref",
     "present": 1443,
     "of": 4807
    },
    {
     "name": "benchmark",
     "present": 645,
     "of": 4807
    },
    {
     "name": "benchmark_key",
     "present": 645,
     "of": 4807
    },
    {
     "name": "bonds_asof",
     "present": 301,
     "of": 4807
    },
    {
     "name": "bonds_duration_band",
     "present": 301,
     "of": 4807
    },
    {
     "name": "bonds_duration_years",
     "present": 301,
     "of": 4807
    },
    {
     "name": "bonds_rate_cushion",
     "present": 301,
     "of": 4807
    },
    {
     "name": "buffer_asof",
     "present": 431,
     "of": 4807
    },
    {
     "name": "buffer_cap_left",
     "present": 333,
     "of": 4807
    },
    {
     "name": "buffer_days_left",
     "present": 431,
     "of": 4807
    },
    {
     "name": "buffer_period_end",
     "present": 431,
     "of": 4807
    },
    {
     "name": "buffer_protection_left",
     "present": 342,
     "of": 4807
    },
    {
     "name": "buffer_ref",
     "present": 431,
     "of": 4807
    },
    {
     "name": "buffer_structure",
     "present": 431,
     "of": 4807
    },
    {
     "name": "category",
     "present": 4804,
     "of": 4807
    },
    {
     "name": "category_key",
     "present": 4804,
     "of": 4807
    },
    {
     "name": "crypto_asof",
     "present": 69,
     "of": 4807
    },
    {
     "name": "crypto_capture",
     "present": 69,
     "of": 4807
    },
    {
     "name": "crypto_capture_window",
     "present": 69,
     "of": 4807
    },
    {
     "name": "crypto_coin",
     "present": 69,
     "of": 4807
    },
    {
     "name": "desk",
     "present": 4807,
     "of": 4807
    },
    {
     "name": "fee",
     "present": 4797,
     "of": 4807
    },
    {
     "name": "fee_asof",
     "present": 4797,
     "of": 4807
    },
    {
     "name": "flow_1d",
     "present": 1926,
     "of": 4807
    },
    {
     "name": "flow_1d_pct",
     "present": 1921,
     "of": 4807
    },
    {
     "name": "flow_1m",
     "present": 746,
     "of": 4807
    },
    {
     "name": "flow_1m_from",
     "present": 746,
     "of": 4807
    },
    {
     "name": "flow_1m_pct",
     "present": 746,
     "of": 4807
    },
    {
     "name": "flow_1m_start_assets",
     "present": 746,
     "of": 4807
    },
    {
     "name": "flow_1w",
     "present": 2255,
     "of": 4807
    },
    {
     "name": "flow_1w_pct",
     "present": 2237,
     "of": 4807
    },
    {
     "name": "flow_asof",
     "present": 4607,
     "of": 4807
    },
    {
     "name": "holdings_asof",
     "present": 3393,
     "of": 4807
    },
    {
     "name": "holdings_count",
     "present": 3393,
     "of": 4807
    },
    {
     "name": "holdings_top10",
     "present": 3164,
     "of": 4807
    },
    {
     "name": "income_asof",
     "present": 249,
     "of": 4807
    },
    {
     "name": "income_benchmark",
     "present": 340,
     "of": 4807
    },
    {
     "name": "income_coverage",
     "present": 249,
     "of": 4807
    },
    {
     "name": "income_distribution_rate",
     "present": 368,
     "of": 4807
    },
    {
     "name": "income_strategy",
     "present": 376,
     "of": 4807
    },
    {
     "name": "iq_asof",
     "present": 1633,
     "of": 4807
    },
    {
     "name": "iq_measure",
     "present": 1633,
     "of": 4807
    },
    {
     "name": "iq_name",
     "present": 1633,
     "of": 4807
    },
    {
     "name": "iq_score",
     "present": 1633,
     "of": 4807
    },
    {
     "name": "iq_set",
     "present": 1633,
     "of": 4807
    },
    {
     "name": "iq_set_size",
     "present": 1633,
     "of": 4807
    },
    {
     "name": "issuer",
     "present": 4807,
     "of": 4807
    },
    {
     "name": "launched",
     "present": 4794,
     "of": 4807
    },
    {
     "name": "leverage_asof",
     "present": 669,
     "of": 4807
    },
    {
     "name": "leverage_multiple",
     "present": 739,
     "of": 4807
    },
    {
     "name": "leverage_tracking_gap_3m",
     "present": 669,
     "of": 4807
    },
    {
     "name": "leverage_underlying",
     "present": 700,
     "of": 4807
    },
    {
     "name": "name",
     "present": 4807,
     "of": 4807
    },
    {
     "name": "net_assets",
     "present": 4770,
     "of": 4807
    },
    {
     "name": "net_assets_asof",
     "present": 4770,
     "of": 4807
    },
    {
     "name": "quoted",
     "present": 4376,
     "of": 4807
    },
    {
     "name": "ret_1m",
     "present": 4795,
     "of": 4807
    },
    {
     "name": "ret_1m_asof",
     "present": 4795,
     "of": 4807
    },
    {
     "name": "ret_1m_from",
     "present": 4795,
     "of": 4807
    },
    {
     "name": "ret_1y",
     "present": 3802,
     "of": 4807
    },
    {
     "name": "ret_1y_asof",
     "present": 3802,
     "of": 4807
    },
    {
     "name": "ret_1y_from",
     "present": 3802,
     "of": 4807
    },
    {
     "name": "ret_3m",
     "present": 4699,
     "of": 4807
    },
    {
     "name": "ret_3m_asof",
     "present": 4699,
     "of": 4807
    },
    {
     "name": "ret_3m_from",
     "present": 4699,
     "of": 4807
    },
    {
     "name": "ret_since",
     "present": 4679,
     "of": 4807
    },
    {
     "name": "ret_since_asof",
     "present": 4679,
     "of": 4807
    },
    {
     "name": "ret_since_from",
     "present": 4679,
     "of": 4807
    },
    {
     "name": "segment",
     "present": 4794,
     "of": 4807
    },
    {
     "name": "streak_asof",
     "present": 556,
     "of": 4807
    },
    {
     "name": "streak_days",
     "present": 556,
     "of": 4807
    },
    {
     "name": "streak_flow",
     "present": 556,
     "of": 4807
    },
    {
     "name": "streak_in_days",
     "present": 356,
     "of": 4807
    },
    {
     "name": "streak_side",
     "present": 556,
     "of": 4807
    },
    {
     "name": "themes_active_share",
     "present": 388,
     "of": 4807
    },
    {
     "name": "themes_asof",
     "present": 388,
     "of": 4807
    },
    {
     "name": "themes_in_sp500",
     "present": 388,
     "of": 4807
    },
    {
     "name": "themes_theme",
     "present": 415,
     "of": 4807
    },
    {
     "name": "ticker",
     "present": 4807,
     "of": 4807
    },
    {
     "name": "tracks",
     "present": 1202,
     "of": 4807
    },
    {
     "name": "tracks_key",
     "present": 1202,
     "of": 4807
    },
    {
     "name": "url",
     "present": 4807,
     "of": 4807
    },
    {
     "name": "yield_12m",
     "present": 3766,
     "of": 4807
    },
    {
     "name": "yield_12m_asof",
     "present": 3766,
     "of": 4807
    }
   ]
  },
  {
   "id": "books-index",
   "name": "Look-through books",
   "description": "An index of the filed holdings book held for each fund, with its as-of date and whether the fund is synthetic. Each fund's book sits at /data/books/ under its ticker in lower case: /data/books/spy.json for SPY.",
   "file": "books/index.json",
   "url": "https://etfiq.com/data/books/index.json",
   "encodingFormat": "application/json",
   "bytes": 441459,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "kind",
    "note",
    "n",
    "from"
   ],
   "issuer_fields": [
    "fee"
   ],
   "fields_note": "Each book's asOf is the date its issuer or its filing states.",
   "asOf": "2026-10-21",
   "records": 3439,
   "fields": [
    {
     "name": "asOf",
     "present": 3407,
     "of": 3439
    },
    {
     "name": "exposure",
     "present": 186,
     "of": 3439
    },
    {
     "name": "fee",
     "present": 3424,
     "of": 3439
    },
    {
     "name": "from",
     "present": 1,
     "of": 3439
    },
    {
     "name": "kind",
     "present": 3439,
     "of": 3439
    },
    {
     "name": "n",
     "present": 3407,
     "of": 3439
    },
    {
     "name": "name",
     "present": 3439,
     "of": 3439
    },
    {
     "name": "note",
     "present": 194,
     "of": 3439
    },
    {
     "name": "printedDate",
     "present": 146,
     "of": 3439
    },
    {
     "name": "withheld",
     "present": 32,
     "of": 3439
    }
   ]
  },
  {
   "id": "categories",
   "name": "Categories",
   "description": "Where each fund outside the specialist categories sits: Stocks, Bonds, Commodities or Allocation, then its group and segment, or the specialist category that claims it. Per fund: category, group, segment, status, the rule that placed it, the reason in one sentence, the evidence with the filing each fact was read from, and what is still missing. Every placement is ETFIQ's own, computed from the fund's filings. Rebuilt when it goes stale, at most once a week.",
   "file": "categories.json",
   "url": "https://etfiq.com/data/categories.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/categories",
   "bytes": 5541398,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Every placement is ETFIQ's; evidence quotes the filings each source names.",
   "asOf": "2026-10-21",
   "records": 2702,
   "fields": [
    {
     "name": "candidates",
     "present": 9,
     "of": 2702
    },
    {
     "name": "category",
     "present": 2699,
     "of": 2702
    },
    {
     "name": "commodity",
     "present": 69,
     "of": 2702
    },
    {
     "name": "computed",
     "present": 11,
     "of": 2702
    },
    {
     "name": "durationBand",
     "present": 785,
     "of": 2702
    },
    {
     "name": "evidence",
     "present": 2702,
     "of": 2702
    },
    {
     "name": "family",
     "present": 9,
     "of": 2702
    },
    {
     "name": "gaps",
     "present": 17,
     "of": 2702
    },
    {
     "name": "group",
     "present": 2687,
     "of": 2702
    },
    {
     "name": "labels",
     "present": 109,
     "of": 2702
    },
    {
     "name": "placedBy",
     "present": 1712,
     "of": 2702
    },
    {
     "name": "rule",
     "present": 2702,
     "of": 2702
    },
    {
     "name": "segment",
     "present": 2678,
     "of": 2702
    },
    {
     "name": "sources",
     "present": 2701,
     "of": 2702
    },
    {
     "name": "status",
     "present": 2702,
     "of": 2702
    },
    {
     "name": "why",
     "present": 2702,
     "of": 2702
    }
   ]
  },
  {
   "id": "bonds",
   "name": "Bond funds",
   "description": "What each bond and cash fund holds, read from its latest Form N-PORT: duration in years and how it was measured, maturity buckets, the mix of Treasury, agency, corporate, securitized, municipal, foreign government and cash, how much of its credit-spread risk is high yield, the defaulted and in-arrears shares, net assets, and the filing with its report date. Rebuilt every trading night.",
   "file": "bonds.json",
   "url": "https://etfiq.com/data/bonds.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/categories",
   "bytes": 1041152,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "duration",
    "maturity",
    "mix",
    "creditSpread",
    "defaultedPct",
    "arrearsPct",
    "check"
   ],
   "issuer_fields": [
    "netAssets",
    "reportDate",
    "filed",
    "form"
   ],
   "fields_note": "Every measured field is computed by ETFIQ from the holdings in the fund's Form N-PORT, named in filing.",
   "records": 789,
   "fields": [
    {
     "name": "accession",
     "present": 789,
     "of": 789
    },
    {
     "name": "arrearsPct",
     "present": 789,
     "of": 789
    },
    {
     "name": "asOf",
     "present": 789,
     "of": 789
    },
    {
     "name": "check",
     "present": 789,
     "of": 789
    },
    {
     "name": "creditSpread",
     "present": 789,
     "of": 789
    },
    {
     "name": "defaultedPct",
     "present": 789,
     "of": 789
    },
    {
     "name": "duration",
     "present": 789,
     "of": 789
    },
    {
     "name": "filed",
     "present": 789,
     "of": 789
    },
    {
     "name": "filing",
     "present": 789,
     "of": 789
    },
    {
     "name": "form",
     "present": 789,
     "of": 789
    },
    {
     "name": "maturity",
     "present": 789,
     "of": 789
    },
    {
     "name": "mix",
     "present": 789,
     "of": 789
    },
    {
     "name": "netAssets",
     "present": 789,
     "of": 789
    },
    {
     "name": "netAssetsAsOf",
     "present": 789,
     "of": 789
    },
    {
     "name": "reportDate",
     "present": 789,
     "of": 789
    },
    {
     "name": "seriesId",
     "present": 789,
     "of": 789
    }
   ]
  },
  {
   "id": "issuers-league",
   "name": "ETF issuers ranked by assets",
   "description": "Every ETF issuer ETFIQ covers, ranked by the net assets of its ETFs: the sum of each ETF's latest net assets figure with the first and last day those figures are dated, its share of the covered total, its ETF count, the change in net assets over one month, net flows over one week, one month and the year to date where ETFs have daily figures, the year of monthly flows from SEC Form N-PORT, and the average fee weighted by net assets. The same rows are at /data/issuers-league.csv.",
   "file": "issuers-league.json",
   "url": "https://etfiq.com/data/issuers-league.json",
   "encodingFormat": "application/json",
   "bytes": 188046,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each issuer's net assets is ETFIQ's sum of its ETFs' latest net assets figures in aum.json, each total dated from datedFrom to datedTo; flows are the sums on the flows hub; the fee is weighted by net assets.",
   "asOf": "2026-10-20",
   "records": 348,
   "fields": [
    {
     "name": "averageFee",
     "present": 341,
     "of": 348
    },
    {
     "name": "datedFrom",
     "present": 342,
     "of": 348
    },
    {
     "name": "datedTo",
     "present": 342,
     "of": 348
    },
    {
     "name": "etfs",
     "present": 348,
     "of": 348
    },
    {
     "name": "etfsWithNetAssets",
     "present": 348,
     "of": 348
    },
    {
     "name": "flow12MNport",
     "present": 293,
     "of": 348
    },
    {
     "name": "flows",
     "present": 348,
     "of": 348
    },
    {
     "name": "issuer",
     "present": 348,
     "of": 348
    },
    {
     "name": "netAssets",
     "present": 342,
     "of": 348
    },
    {
     "name": "netAssetsChange1M",
     "present": 3,
     "of": 348
    },
    {
     "name": "rank",
     "present": 342,
     "of": 348
    },
    {
     "name": "share",
     "present": 342,
     "of": 348
    },
    {
     "name": "url",
     "present": 348,
     "of": 348
    }
   ]
  },
  {
   "id": "flows-index",
   "name": "Fund flows: coverage",
   "description": "Which funds have flows and how they are counted: daily from each issuer's own figures, or monthly from SEC Form N-PORT, with each fund's first and last dated figure, the coverage by category and issuer as a share of assets, the sources with the days they reach, and each window's first and last day. Each fund's daily and monthly flows, its window totals, weeks and months are one file at /data/flows/funds/ticker.json, the ticker in lower case. Computed by ETFIQ from each fund's change in shares outstanding times the previous day's NAV; the issuers' share counts and NAVs themselves stay private.",
   "file": "flows/index.json",
   "url": "https://etfiq.com/data/flows/index.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/flows",
   "bytes": 708840,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Coverage counts: how many funds have daily flows, monthly flows only, or none, by category, specialist category, issuer and theme, each count ETFIQ's.",
   "asOf": "2026-10-20",
   "records": 4618,
   "fields": [
    {
     "name": "coverage",
     "present": 4618,
     "of": 4618
    },
    {
     "name": "dailyFrom",
     "present": 2469,
     "of": 4618
    },
    {
     "name": "lastDaily",
     "present": 2383,
     "of": 4618
    },
    {
     "name": "monthlyFrom",
     "present": 4607,
     "of": 4618
    },
    {
     "name": "nportFrom",
     "present": 4484,
     "of": 4618
    }
   ]
  },
  {
   "id": "flows-aggregates",
   "name": "Fund flows: by category and issuer",
   "description": "Net flows over 1 day, 1 week, 1 month, 3 months, year to date and 1 year for every category, segment and issuer: each total with the part that is round trips, the funds it counts, how many have every day of the window and their share of assets, the 25 largest inflows and outflows of each window, and the groups with a flows page of their own. Rebuilt every trading night.",
   "file": "flows/aggregates.json",
   "url": "https://etfiq.com/data/flows/aggregates.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/flows",
   "bytes": 3428234,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each total is the sum of the member funds' flows over the window, ETFIQ's arithmetic on issuers' daily shares outstanding and NAV, and on filed N-PORT months.",
   "asOf": "2026-10-20",
   "records": 15
  },
  {
   "id": "stock-pairs",
   "name": "Income ETFs against a listed stock",
   "description": "Each income ETF ETFIQ compares with a listed stock readers weigh it against, and the stock's price change, dividends and total return over exactly the days of each of the fund's own windows, with the fund's weight in the stock by its own holdings. The stock is not the fund's benchmark. Computed by ETFIQ from Tiingo daily prices.",
   "file": "stock-pairs.json",
   "url": "https://etfiq.com/data/stock-pairs.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/income",
   "bytes": 3800,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "windows",
    "withheld",
    "checks"
   ],
   "vendor_fields": [
    "stockClose"
   ],
   "fields_note": "windows are ETFIQ's figures for the stock over each of the fund's own windows, from Tiingo daily prices; fundWeight is the fund's weight in the stock as its own daily book publishes it; stockClose is Tiingo's close.",
   "asOf": "2026-10-20",
   "records": 7
  },
  {
   "id": "screener-table",
   "name": "ETF screener table",
   "description": "Every row of the ETF screener's pages, in their order (largest net assets first), with the page each fund is on and each cell exactly as the pages print it, the sort value of each figure, and the values the screener's filters read, copied from screener.json, where each figure has its date.",
   "file": "screener-table.json",
   "url": "https://etfiq.com/data/screener-table.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/scores",
   "bytes": 1941454,
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "fields_note": "Every figure is copied from screener.json and printed as the screener pages print it; screener.json's citation names whose each figure is and gives its date.",
   "asOf": "2026-10-20",
   "records": 8
  },
  {
   "id": "page-index",
   "name": "Page index",
   "description": "Every page ETFIQ publishes other than the comparisons of two funds: its address, type, title, h1, description and dated lead sentence as published, the entities it is about, and the plain phrasings a reader types for it, written by rule per page type. Read by Ask IQ's find_page tool and the homepage box.",
   "file": "page-index.json",
   "url": "https://etfiq.com/data/page-index.json",
   "encodingFormat": "application/json",
   "bytes": 13473639,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Read by ETFIQ off its own published pages: each row is a page's address, title, h1, description and lead sentence as published, with entities and phrasings written by rule.",
   "records": 17488,
   "fields": [
    {
     "name": "aliases",
     "present": 16895,
     "of": 17488
    },
    {
     "name": "as_of",
     "present": 17448,
     "of": 17488
    },
    {
     "name": "description",
     "present": 17488,
     "of": 17488
    },
    {
     "name": "e",
     "present": 16996,
     "of": 17488
    },
    {
     "name": "en",
     "present": 22,
     "of": 17488
    },
    {
     "name": "h1",
     "present": 17488,
     "of": 17488
    },
    {
     "name": "image",
     "present": 4794,
     "of": 17488
    },
    {
     "name": "lang",
     "present": 31,
     "of": 17488
    },
    {
     "name": "lead",
     "present": 17488,
     "of": 17488
    },
    {
     "name": "lead_from",
     "present": 17488,
     "of": 17488
    },
    {
     "name": "net_assets",
     "present": 4583,
     "of": 17488
    },
    {
     "name": "title",
     "present": 17488,
     "of": 17488
    },
    {
     "name": "type",
     "present": 17488,
     "of": 17488
    },
    {
     "name": "url",
     "present": 17488,
     "of": 17488
    }
   ]
  },
  {
   "id": "page-index-pairs",
   "name": "Page index, comparisons",
   "description": "Every published comparison of two ETFs: its category, the two tickers and whether it is listed for search.",
   "file": "page-index-pairs.json",
   "url": "https://etfiq.com/data/page-index-pairs.json",
   "encodingFormat": "application/json",
   "bytes": 1175440,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Every comparison page ETFIQ publishes, read off the pages themselves.",
   "records": 8
  },
  {
   "id": "benchmarks",
   "name": "Benchmarks for model portfolios",
   "description": "The ETFIQ benchmarks for model portfolios: each one's weights, rule and freeze date, and its returns, volatility, drawdown, Sharpe ratio, turnover, factor loadings and weighted expense ratio over each window, each figure with its dates and its basis (hypothetical before the freeze, tracked from it). Each allocation ETF's comparison with the benchmark for its band sits at /data/modelhub/compare/<ticker>.json, listed under comparisons. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "benchmarks.json",
   "url": "https://etfiq.com/data/benchmarks.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 956990,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each statistic is computed by ETFIQ from Tiingo daily prices; attribution and credits say so in the file.",
   "asOf": "2026-10-20",
   "records": 18
  },
  {
   "id": "modelhub-compare-index",
   "name": "Allocation ETFs against their benchmarks",
   "description": "Every allocation ETF ETFIQ compares with the ETFIQ benchmark for its band, with the address of each comparison. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/index.json",
   "url": "https://etfiq.com/data/modelhub/compare/index.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 15133,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 7
  },
  {
   "id": "modelhub-compare-aaaa",
   "name": "AAAA against its benchmark",
   "description": "The allocation ETF AAAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/aaaa.json",
   "url": "https://etfiq.com/data/modelhub/compare/aaaa.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 20105,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-alty",
   "name": "ALTY against its benchmark",
   "description": "The allocation ETF ALTY beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/alty.json",
   "url": "https://etfiq.com/data/modelhub/compare/alty.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 36324,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-aoa",
   "name": "AOA against its benchmark",
   "description": "The allocation ETF AOA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/aoa.json",
   "url": "https://etfiq.com/data/modelhub/compare/aoa.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 28690,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-aok",
   "name": "AOK against its benchmark",
   "description": "The allocation ETF AOK beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/aok.json",
   "url": "https://etfiq.com/data/modelhub/compare/aok.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 27756,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-aom",
   "name": "AOM against its benchmark",
   "description": "The allocation ETF AOM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/aom.json",
   "url": "https://etfiq.com/data/modelhub/compare/aom.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 27758,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-aor",
   "name": "AOR against its benchmark",
   "description": "The allocation ETF AOR beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/aor.json",
   "url": "https://etfiq.com/data/modelhub/compare/aor.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 40738,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-avma",
   "name": "AVMA against its benchmark",
   "description": "The allocation ETF AVMA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/avma.json",
   "url": "https://etfiq.com/data/modelhub/compare/avma.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 31959,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-cgbl",
   "name": "CGBL against its benchmark",
   "description": "The allocation ETF CGBL beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/cgbl.json",
   "url": "https://etfiq.com/data/modelhub/compare/cgbl.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 28240,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-dpre",
   "name": "DPRE against its benchmark",
   "description": "The allocation ETF DPRE beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/dpre.json",
   "url": "https://etfiq.com/data/modelhub/compare/dpre.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 14908,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-elm",
   "name": "ELM against its benchmark",
   "description": "The allocation ETF ELM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/elm.json",
   "url": "https://etfiq.com/data/modelhub/compare/elm.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 23566,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-farx",
   "name": "FARX against its benchmark",
   "description": "The allocation ETF FARX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/farx.json",
   "url": "https://etfiq.com/data/modelhub/compare/farx.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 18454,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-fpaa",
   "name": "FPAA against its benchmark",
   "description": "The allocation ETF FPAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/fpaa.json",
   "url": "https://etfiq.com/data/modelhub/compare/fpaa.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 15245,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-frei",
   "name": "FREI against its benchmark",
   "description": "The allocation ETF FREI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/frei.json",
   "url": "https://etfiq.com/data/modelhub/compare/frei.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 14885,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-ftbi",
   "name": "FTBI against its benchmark",
   "description": "The allocation ETF FTBI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/ftbi.json",
   "url": "https://etfiq.com/data/modelhub/compare/ftbi.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 23274,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-gaa",
   "name": "GAA against its benchmark",
   "description": "The allocation ETF GAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/gaa.json",
   "url": "https://etfiq.com/data/modelhub/compare/gaa.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 41765,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-gal",
   "name": "GAL against its benchmark",
   "description": "The allocation ETF GAL beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/gal.json",
   "url": "https://etfiq.com/data/modelhub/compare/gal.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 41481,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-gmod",
   "name": "GMOD against its benchmark",
   "description": "The allocation ETF GMOD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/gmod.json",
   "url": "https://etfiq.com/data/modelhub/compare/gmod.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 18660,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-gyld",
   "name": "GYLD against its benchmark",
   "description": "The allocation ETF GYLD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/gyld.json",
   "url": "https://etfiq.com/data/modelhub/compare/gyld.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 37801,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-heft",
   "name": "HEFT against its benchmark",
   "description": "The allocation ETF HEFT beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/heft.json",
   "url": "https://etfiq.com/data/modelhub/compare/heft.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 19790,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-incm",
   "name": "INCM against its benchmark",
   "description": "The allocation ETF INCM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/incm.json",
   "url": "https://etfiq.com/data/modelhub/compare/incm.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 18328,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-inkm",
   "name": "INKM against its benchmark",
   "description": "The allocation ETF INKM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/inkm.json",
   "url": "https://etfiq.com/data/modelhub/compare/inkm.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 28727,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-irtr",
   "name": "IRTR against its benchmark",
   "description": "The allocation ETF IRTR beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/irtr.json",
   "url": "https://etfiq.com/data/modelhub/compare/irtr.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 20288,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-itdb",
   "name": "ITDB against its benchmark",
   "description": "The allocation ETF ITDB beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/itdb.json",
   "url": "https://etfiq.com/data/modelhub/compare/itdb.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 26395,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-itdc",
   "name": "ITDC against its benchmark",
   "description": "The allocation ETF ITDC beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/itdc.json",
   "url": "https://etfiq.com/data/modelhub/compare/itdc.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 26184,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-itdd",
   "name": "ITDD against its benchmark",
   "description": "The allocation ETF ITDD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/itdd.json",
   "url": "https://etfiq.com/data/modelhub/compare/itdd.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 20409,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-itde",
   "name": "ITDE against its benchmark",
   "description": "The allocation ETF ITDE beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/itde.json",
   "url": "https://etfiq.com/data/modelhub/compare/itde.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 19937,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-iyld",
   "name": "IYLD against its benchmark",
   "description": "The allocation ETF IYLD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/iyld.json",
   "url": "https://etfiq.com/data/modelhub/compare/iyld.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 27624,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-jfli",
   "name": "JFLI against its benchmark",
   "description": "The allocation ETF JFLI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/jfli.json",
   "url": "https://etfiq.com/data/modelhub/compare/jfli.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 21898,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-keat",
   "name": "KEAT against its benchmark",
   "description": "The allocation ETF KEAT beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/keat.json",
   "url": "https://etfiq.com/data/modelhub/compare/keat.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 21747,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-lcr",
   "name": "LCR against its benchmark",
   "description": "The allocation ETF LCR beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/lcr.json",
   "url": "https://etfiq.com/data/modelhub/compare/lcr.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 35385,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-mdiv",
   "name": "MDIV against its benchmark",
   "description": "The allocation ETF MDIV beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/mdiv.json",
   "url": "https://etfiq.com/data/modelhub/compare/mdiv.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 37978,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-mful",
   "name": "MFUL against its benchmark",
   "description": "The allocation ETF MFUL beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/mful.json",
   "url": "https://etfiq.com/data/modelhub/compare/mful.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 20200,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-mhig",
   "name": "MHIG against its benchmark",
   "description": "The allocation ETF MHIG beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/mhig.json",
   "url": "https://etfiq.com/data/modelhub/compare/mhig.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 15497,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-mhip",
   "name": "MHIP against its benchmark",
   "description": "The allocation ETF MHIP beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/mhip.json",
   "url": "https://etfiq.com/data/modelhub/compare/mhip.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 15462,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-ndow",
   "name": "NDOW against its benchmark",
   "description": "The allocation ETF NDOW beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/ndow.json",
   "url": "https://etfiq.com/data/modelhub/compare/ndow.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 22828,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-ocio",
   "name": "OCIO against its benchmark",
   "description": "The allocation ETF OCIO beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/ocio.json",
   "url": "https://etfiq.com/data/modelhub/compare/ocio.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 29207,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-pvex",
   "name": "PVEX against its benchmark",
   "description": "The allocation ETF PVEX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/pvex.json",
   "url": "https://etfiq.com/data/modelhub/compare/pvex.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 16753,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-raa",
   "name": "RAA against its benchmark",
   "description": "The allocation ETF RAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/raa.json",
   "url": "https://etfiq.com/data/modelhub/compare/raa.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 22720,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-risn",
   "name": "RISN against its benchmark",
   "description": "The allocation ETF RISN beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/risn.json",
   "url": "https://etfiq.com/data/modelhub/compare/risn.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 20741,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-rjvi",
   "name": "RJVI against its benchmark",
   "description": "The allocation ETF RJVI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/rjvi.json",
   "url": "https://etfiq.com/data/modelhub/compare/rjvi.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 15093,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-rsmv",
   "name": "RSMV against its benchmark",
   "description": "The allocation ETF RSMV beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/rsmv.json",
   "url": "https://etfiq.com/data/modelhub/compare/rsmv.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 20170,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-tbfc",
   "name": "TBFC against its benchmark",
   "description": "The allocation ETF TBFC beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/tbfc.json",
   "url": "https://etfiq.com/data/modelhub/compare/tbfc.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 21950,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-tbfg",
   "name": "TBFG against its benchmark",
   "description": "The allocation ETF TBFG beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/tbfg.json",
   "url": "https://etfiq.com/data/modelhub/compare/tbfg.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 22060,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-trnd",
   "name": "TRND against its benchmark",
   "description": "The allocation ETF TRND beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/trnd.json",
   "url": "https://etfiq.com/data/modelhub/compare/trnd.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 22313,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-trty",
   "name": "TRTY against its benchmark",
   "description": "The allocation ETF TRTY beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/trty.json",
   "url": "https://etfiq.com/data/modelhub/compare/trty.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 38181,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-wbig",
   "name": "WBIG against its benchmark",
   "description": "The allocation ETF WBIG beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/wbig.json",
   "url": "https://etfiq.com/data/modelhub/compare/wbig.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 26634,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-xflx",
   "name": "XFLX against its benchmark",
   "description": "The allocation ETF XFLX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/xflx.json",
   "url": "https://etfiq.com/data/modelhub/compare/xflx.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 19937,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-xrlx",
   "name": "XRLX against its benchmark",
   "description": "The allocation ETF XRLX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/xrlx.json",
   "url": "https://etfiq.com/data/modelhub/compare/xrlx.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 27450,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  },
  {
   "id": "modelhub-compare-yldw",
   "name": "YLDW against its benchmark",
   "description": "The allocation ETF YLDW beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo).",
   "file": "modelhub/compare/yldw.json",
   "url": "https://etfiq.com/data/modelhub/compare/yldw.json",
   "encodingFormat": "application/json",
   "definitions": "https://etfiq.com/methodology/benchmarks",
   "bytes": 15087,
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com).",
   "fields_note": "Each return is computed by ETFIQ from Tiingo daily prices; attribution and credit say so in the file.",
   "asOf": "2026-10-20",
   "records": 27
  }
 ],
 "filesWithoutCitation": {
  "core.json": {
   "url": "https://etfiq.com/data/core.json",
   "class": "mixed",
   "license": "https://etfiq.com/license/",
   "license_text": "Only the figures in etfiq_fields are ETFIQ's, free to use with attribution: ETFIQ (etfiq.com). Every other figure stays under its owner's terms: issuer_fields as the issuer published them, vendor_fields from an end-of-day data vendor.",
   "etfiq_fields": [
    "kind",
    "kindLabel",
    "structure",
    "indexFund",
    "holds",
    "note",
    "trailing12mCash",
    "payFrequency",
    "top10Weight",
    "vsSPY",
    "vsQQQ",
    "structureFrom",
    "grossBook",
    "feeAbsent",
    "feeAbsentHeld",
    "heldFunds",
    "windows",
    "drawdown",
    "highDate",
    "quoted",
    "flatDays",
    "tradingDays",
    "flatRecent",
    "recentDays",
    "daysSinceInception"
   ],
   "issuer_fields": [
    "expenseRatio",
    "holdingsAsOf",
    "holdingsCount",
    "top",
    "shareClasses",
    "feeAbsentOwn"
   ],
   "vendor_fields": [
    "price",
    "inception",
    "lastDistribution"
   ]
  },
  "filing-desks.json": {
   "url": "https://etfiq.com/data/filing-desks.json",
   "class": "issuer-published",
   "source": "Each record names its own source.",
   "license_text": "Data an issuer published, credited in source and not computed by ETFIQ. Its owner's terms apply; ETFIQ's licence does not cover it.",
   "fields_note": "Each fund as its own SEC filings state it."
  },
  "home-viz.design.json": {
   "url": "https://etfiq.com/data/home-viz.design.json",
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com)."
  },
  "home-viz.json": {
   "url": "https://etfiq.com/data/home-viz.json",
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com)."
  },
  "income-universe.json": {
   "url": "https://etfiq.com/data/income-universe.json",
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com)."
  },
  "tickers.json": {
   "url": "https://etfiq.com/data/tickers.json",
   "class": "ETFIQ-computed",
   "license": "https://etfiq.com/license/",
   "license_text": "Computed by ETFIQ. Free to use with attribution: ETFIQ (etfiq.com)."
  }
 }
}