Data API

CapitalBench Data API

AI model portfolios, active positioning, cumulative allocation behavior, benchmark scores, and proof metadata as structured data.

Production endpoint https://www.capitalbench.org/api
GET /v1/positioning/active?track=all&group_by=asset

{
  "as_of": "2026-07-17T00:01:23.217Z",
  "scope": "active",
  "track": "all",
  "group_by": "asset",
  "portfolio_count": 147,
  "data": [
    {
      "key": "SEMICONDUCTORS",
      "label": "Semiconductors",
      "ticker": "SMH",
      "category": "ai_and_technology",
      "allocation_pct": 14.421768707482988,
      "model_count": 8,
      "round_count": 16,
      "tracks": [
        "monthly",
        "weekly"
      ],
      "models": [
        {
          "model_id": "openai-gpt-5-5",
          "label": "GPT-5.5",
          "allocation_pct": 3.5034013605442174
        },
        {
          "model_id": "google-gemini-3-1-pro",
          "label": "Gemini 3.1 Pro",
          "allocation_pct": 2.891156462585034
        }
      ]
    }
  ]
}
01 Live Positioning

Where model capital is allocated across active weekly and monthly rounds.

02 Model Behavior

Cumulative allocation patterns, risk appetite, and model-level holdings.

03 Scores

Resolved returns, S&P 500 comparisons, max-possible context, and leaderboard history.

04 Audit Data

Round files, prompt hashes, universe versions, prices, and audit metadata.

Interactive widget demo

See CapitalBench inside a market data platform

This is a real-data panel a financial website, brokerage dashboard, or data terminal could place beside an asset page. It focuses on which named AI models hold the asset, which models avoid it, and where allocation sizing disagrees.

View broader use cases
Market Data Platform SMH - Semiconductors
8/8 models hold
CapitalBench data panel SMH active model holdings
Average active allocation 14.4%
Model holders 8/8
Grok 4.3 42.0%
GPT-5.6 Sol 33.0%
Gemini 3.1 Pro 32.7%
GPT-5.5 32.2%

Source endpoint: /v1/positioning/by-asset/SEMICONDUCTORS?scope=active&track=all

Agreement Unanimous ownership
Most bullish model Grok 4.3 (xAI) 42.0%
Sizing spread 16.4 pp
Powered by CapitalBench API SMH AI model holdings
OpenAPI
SMH
Semiconductors AI And Technology - Equity
Avg active allocation 14.4%

Across official active portfolios

Model agreement Unanimous ownership

8/8 named models hold SMH

What this tells an investor Crowded AI-model position

All 8 named models hold SMH; the largest holders include Grok 4.3, GPT-5.6 Sol, and Gemini 3.1 Pro. Grok 4.3 has the largest active allocation at 42.0%, while Claude Opus 4.8 is at 25.6%, a 16.4 percentage-point sizing spread.

Named model holders 8 models hold SMH
  • Grok 4.3 xAI - Heavy holder 42.0%
  • GPT-5.6 Sol OpenAI - Heavy holder 33.0%
  • Gemini 3.1 Pro Google - Heavy holder 32.7%
  • GPT-5.5 OpenAI - Heavy holder 32.2%
Agreement and disagreement
Most bullish Grok 4.3 (xAI) 42.0%
Smallest holder Claude Opus 4.8 (Anthropic) 25.6%
Sizing spread 16.4 pp - Consensus ownership, wide sizing
Non-holders Every active model holds SMH
Updated from generated read model: 147 active portfolios - 8 active models - research data, not investment advice
Use cases

Built For Model Positioning Data

Active Exposure

Track where current model portfolios are allocated before the round is scored.

Consensus Signals

See which assets, sectors, and themes multiple models are choosing at the same time.

Model Comparison

Compare model records, current holdings, historical behavior, and risk appetite.

Research Pipelines

Pull round data, proof metadata, and scored returns into internal dashboards or notebooks.

Core concepts

How The Data Is Organized

Active

Only unresolved rounds. Use this for live model positioning.

Cumulative

All saved allocations or all available result history. Use this for model behavior and context.

Comparison Set

A fixed model roster scored only on rounds every model in that roster completed.

Current Benchmark

The newest qualified comparison set for a track. Weekly qualifies at 6 shared rounds; monthly qualifies at 3.

Track

Weekly and monthly rounds stay separate because they measure different horizons.

Positioning

Portfolio weights aggregated by asset, category, model, or track.

Audit

Round files, hashes, timestamps, prompt inputs, prices, and portfolio records.

Portfolio Minus S&P 500

Model portfolio return minus the S&P 500 return, in percentage points.

CapitalBench Score

Model return relative to the hindsight oracle; cumulative rows divide total model return by total oracle return.

AI Risk Appetite

A 0-100 allocation signal calculated from the newest live weekly and monthly AI model portfolios. It does not use prices or returns.

Model Behavior

A deterministic model-level profile describing allocation style, concentration, turnover, peer similarity, pattern-report summaries, and resolved performance context.

Insight

A deterministic or LLM-assisted finding with source evidence, calculations, confidence, and audience tags.

Shared Rounds

Resolved rounds included in a comparison set because every set model has an official result.

Authentication

Authentication And Versioning

Bearer API Keys

API requests use bearer tokens. Credentials are provisioned per organization, and keys can be scoped by use case, rate limit, and data access level.

curl "https://www.capitalbench.org/api/v1/positioning/active?track=all&group_by=asset" \
  -H "Authorization: Bearer $CAPITALBENCH_API_KEY"
Versioned paths

All endpoints use /v1 so downstream pipelines can pin behavior.

Stable identifiers

Use model_id, round_id, and option_id instead of display names.

Pagination

List endpoints return next_cursor when more records are available.

Endpoint map

Available Resources

Metadata And Evidence

Generated-data coverage, benchmark evidence, and audit records.

GET /v1/metadata

Generated read-model timestamp, source, dataset counts, and endpoint discovery.

GET /v1/benchmark-evidence

Benchmark qualification thresholds, maturity, baselines, and score-scale caveats.

GET /v1/proof

Official proof records across rounds, with hashes and public audit URLs.

Positioning

Where model capital is allocated now and how that has accumulated over time.

GET /v1/positioning/active

Live exposure across unresolved weekly and monthly rounds.

GET /v1/risk-appetite

Current and historical AI Risk Appetite, model agreement, regime mix, and outstanding live-book risk.

GET /v1/live/performance

Live rounds marked to the latest available close; not official final scores.

GET /v1/live/performance/history

Raw interim mark-to-market rows with round, model, published, and pricing filters.

GET /v1/positioning/cumulative

Historical allocation behavior across all available rounds.

GET /v1/positioning/consensus

Assets and categories where model allocations cluster.

GET /v1/positioning/by-model/{model_id}

One model's active or cumulative allocation pattern.

GET /v1/positioning/by-asset/{option_id}

Models allocating to a selected asset.

GET /v1/positioning/by-category

Exposure grouped by sector, region, asset class, or theme.

GET /v1/positioning/changes

Allocation changes between recent rounds.

GET /v1/allocations

Raw official-run allocation rows with track, scope, round, model, and asset filters.

Insights

Readable signals generated from benchmark math, model behavior, positioning, and scored results.

GET /v1/insights

Ranked insight feed with Featured, category, tier, confidence, track, and maturity filters.

GET /v1/insights/{insight_id}

One insight with its supporting calculations and source evidence.

GET /v1/market-environments

Weekly and monthly performance grouped by resolved S&P 500 environment.

GET /v1/models/{model_id}/market-environments

One model's returns, scores, and sample maturity by market environment.

Rounds And Results

The published round record: timing, inputs, model portfolios, prices, max-possible context, and scores.

GET /v1/rounds

Round index with track, status, dates, universe version, and audit links.

GET /v1/rounds/{round_id}

One round's metadata and input hashes.

GET /v1/rounds/{round_id}/proof

One round's official proof record, hashes, and audit URL.

GET /v1/rounds/{round_id}/portfolios

Saved model allocations for a round.

GET /v1/rounds/{round_id}/concentration

Run-level allocation consensus and concentration summary.

GET /v1/rounds/{round_id}/live-performance

Interim mark-to-market rows for an unresolved round.

GET /v1/rounds/{round_id}/results

Resolved portfolio returns, S&P 500 returns, Portfolio Minus S&P 500, regret, and max-possible context.

GET /v1/results

All official scored model results with track, round, and model filters.

GET /v1/returns

Raw official-run asset return rows, including benchmark and cash rows where available.

GET /v1/leaderboards/latest

Most recent scored weekly or monthly leaderboard.

GET /v1/leaderboards/benchmark-sets

Living equal-run comparison sets, including the current weekly and monthly benchmarks.

GET /v1/leaderboards/benchmark-sets/{set_id}

One comparison set with model roster, included rounds, excluded rounds, and CapitalBench Scores.

GET /v1/leaderboards/cumulative

All available resolved model history by track, with unequal histories marked where applicable.

Models And Assets

The entities behind the benchmark: models, holdings, style metrics, and asset metadata.

GET /v1/models

Model list with provider metadata and active status.

GET /v1/models/{model_id}

Model profile and audit links.

GET /v1/models/{model_id}/holdings

Active and historical holdings for one model.

GET /v1/models/{model_id}/portfolios

Portfolio-level model records with rationales, key risks, proof paths, and allocations.

GET /v1/models/{model_id}/live-performance

One model's live return across live rounds.

GET /v1/models/{model_id}/style

Risk appetite and allocation fingerprint metrics.

GET /v1/models/behavior

Canonical model behavior profiles plus the dynamic pattern report, peer comparisons, turnover, concentration, and archetype labels.

GET /v1/models/patterns

Direct access to the dynamic model behavior pattern report used by the comparison page.

GET /v1/models/{model_id}/behavior

One model's behavior profile with methodology and peer-context fields.

GET /v1/universe/current

Current list of valid model choices.

GET /v1/assets

All generated asset metadata, optionally filtered to current or inactive assets.

GET /v1/assets/{option_id}

Asset metadata and ticker mapping.

GET /v1/assets/{option_id}/model-holders

Models holding a selected asset.

Examples

Common Queries

Active Allocation By Asset
GET /v1/positioning/active?track=all&group_by=asset

{
  "as_of": "2026-07-17T00:01:23.217Z",
  "scope": "active",
  "track": "all",
  "group_by": "asset",
  "portfolio_count": 147,
  "data": [
    {
      "key": "SEMICONDUCTORS",
      "label": "Semiconductors",
      "ticker": "SMH",
      "category": "ai_and_technology",
      "allocation_pct": 14.421768707482988,
      "model_count": 8,
      "round_count": 16,
      "tracks": [
        "monthly",
        "weekly"
      ],
      "models": [
        {
          "model_id": "openai-gpt-5-5",
          "label": "GPT-5.5",
          "allocation_pct": 3.5034013605442174
        },
        {
          "model_id": "google-gemini-3-1-pro",
          "label": "Gemini 3.1 Pro",
          "allocation_pct": 2.891156462585034
        }
      ]
    }
  ]
}
Which Models Hold An Asset
GET /v1/assets/SEMICONDUCTORS/model-holders?scope=active&track=weekly

{
  "as_of": "2026-07-17T00:01:23.217Z",
  "scope": "active",
  "track": "weekly",
  "group_by": "model",
  "portfolio_count": 17,
  "eligible_portfolio_count": 32,
  "holder_portfolio_count": 17,
  "holder_rate_pct": 53.125,
  "average_holder_allocation_pct": 29.705882352941178,
  "consensus_allocation_pct": 15.78125,
  "data": [
    {
      "key": "openai-gpt-5-5",
      "label": "GPT-5.5",
      "ticker": null,
      "category": "OpenAI",
      "allocation_pct": 5.588235294117647,
      "model_count": 1,
      "round_count": 3,
      "tracks": [
        "weekly"
      ],
      "models": [
        {
          "model_id": "openai-gpt-5-5",
          "label": "GPT-5.5",
          "allocation_pct": 5.588235294117647
        }
      ]
    }
  ]
}
Live Mark-To-Market
GET /v1/live/performance?track=all

{
  "status": "live_not_final",
  "latest_price_date": "2026-07-15",
  "round_count": 21,
  "model_count": 8,
  "benchmark": {
    "label": "S&P 500",
    "return_pct": 1.3036462136144922,
    "round_count": 21
  },
  "data": [
    {
      "rank": 1,
      "model_id": "openai-gpt-5-6-sol",
      "label": "GPT-5.6 Sol",
      "portfolio_return_pct": -0.6289009840032208,
      "sp500_return_pct": 0.3768844867629924,
      "alpha_pp": -1.005785470766213,
      "live_round_count": 6,
      "latest_price_date": "2026-07-15"
    }
  ]
}
Current AI Risk Appetite
GET /v1/risk-appetite

{
  "methodology_version": "1.0",
  "current_decision_pulse": {
    "score": 67.3046875,
    "label": "Risk-seeking",
    "regime": "Inflation-sensitive risk taking",
    "weekly": {
      "round_id": "CB-2026-07-15-1W",
      "decision_date": "2026-07-15",
      "decision_deadline_utc": "2026-07-16T07:30:00Z",
      "track": "weekly",
      "score": 69.015625,
      "label": "Risk-seeking",
      "model_count": 8,
      "portfolio_count": 8,
      "models": [
        {
          "model_id": "openai-gpt-5-5",
          "score": 73.625,
          "risk_score_1_5": 4.7
        },
        {
          "model_id": "openai-gpt-5-6-sol",
          "score": 73.25,
          "risk_score_1_5": 4.6
        },
        {
          "model_id": "google-gemini-3-1-pro",
          "score": 71.75,
          "risk_score_1_5": 4.550000000000001
        },
        {
          "model_id": "anthropic-claude-opus-4-8",
          "score": 70.75,
          "risk_score_1_5": 3.95
        },
        {
          "model_id": "anthropic-claude-fable-5",
          "score": 66.875,
          "risk_score_1_5": 4
        },
        {
          "model_id": "xai-grok-4-5",
          "score": 66.5,
          "risk_score_1_5": 4.3
        },
        {
          "model_id": "xai-grok-4-3",
          "score": 66.25,
          "risk_score_1_5": 4.5
        },
        {
          "model_id": "anthropic-claude-opus-4-7",
          "score": 63.125,
          "risk_score_1_5": 3.7
        }
      ],
      "regime_shares": {
        "real_assets_inflation": 63.125,
        "broad_cyclical_equity": 26.875,
        "growth_technology": 8.125,
        "liquidity_defensive": 1.875
      },
      "asset_shares": {
        "ENERGY": 30,
        "OIL": 30,
        "FINANCIALS": 14.375,
        "BROAD_COMMODITIES": 3.125,
        "LARGE_VALUE": 1.875,
        "CYBERSECURITY": 1.875,
        "AEROSPACE_DEFENSE": 3.75,
        "SHORT_TREASURY": 1.875,
        "SP500": 4.375,
        "REGIONAL_BANKS": 2.5,
        "SEMICONDUCTORS": 6.25
      }
    },
    "monthly": {
      "round_id": "CB-2026-07-15-1M",
      "decision_date": "2026-07-15",
      "decision_deadline_utc": "2026-07-16T07:30:00Z",
      "track": "monthly",
      "score": 65.59375,
      "label": "Risk-seeking",
      "model_count": 8,
      "portfolio_count": 8,
      "models": [
        {
          "model_id": "openai-gpt-5-6-sol",
          "score": 70.375,
          "risk_score_1_5": 4.25
        },
        {
          "model_id": "xai-grok-4-5",
          "score": 70.125,
          "risk_score_1_5": 4.25
        },
        {
          "model_id": "xai-grok-4-3",
          "score": 67.75,
          "risk_score_1_5": 4.3
        },
        {
          "model_id": "anthropic-claude-opus-4-8",
          "score": 66.25,
          "risk_score_1_5": 3.5
        },
        {
          "model_id": "openai-gpt-5-5",
          "score": 63.875,
          "risk_score_1_5": 4.4
        },
        {
          "model_id": "google-gemini-3-1-pro",
          "score": 63,
          "risk_score_1_5": 4.15
        },
        {
          "model_id": "anthropic-claude-opus-4-7",
          "score": 62.875,
          "risk_score_1_5": 3.65
        },
        {
          "model_id": "anthropic-claude-fable-5",
          "score": 60.5,
          "risk_score_1_5": 3.5500000000000003
        }
      ],
      "regime_shares": {
        "real_assets_inflation": 56.875,
        "broad_cyclical_equity": 33.125,
        "liquidity_defensive": 3.75,
        "growth_technology": 4.375,
        "defensive_equity": 1.875
      },
      "asset_shares": {
        "ENERGY": 31.875,
        "FINANCIALS": 17.5,
        "BROAD_COMMODITIES": 3.75,
        "LARGE_VALUE": 9.375,
        "SHORT_TREASURY": 3.125,
        "BIOTECH": 3.125,
        "EQUAL_WEIGHT_SP500": 1.875,
        "HEALTHCARE": 1.875,
        "OIL": 19.375,
        "AEROSPACE_DEFENSE": 4.375,
        "GOLD": 1.875,
        "US_DOLLAR": 0.625,
        "CYBERSECURITY": 1.25
      }
    },
    "change_from_previous": -6.59375,
    "agreement": {
      "label": "Tight",
      "standard_deviation": 2.659086261499192,
      "range": {
        "minimum": 63,
        "maximum": 71.8125
      }
    },
    "top_assets": [
      {
        "option_id": "ENERGY",
        "label": "Energy Sector",
        "ticker": "XLE",
        "allocation_pct": 30.9375,
        "risk_on_loading": 0.35,
        "regime_group": "real_assets_inflation"
      },
      {
        "option_id": "OIL",
        "label": "Crude Oil",
        "ticker": "USO",
        "allocation_pct": 24.6875,
        "risk_on_loading": 0.3,
        "regime_group": "real_assets_inflation"
      },
      {
        "option_id": "FINANCIALS",
        "label": "Financials Sector",
        "ticker": "XLF",
        "allocation_pct": 15.9375,
        "risk_on_loading": 0.45,
        "regime_group": "broad_cyclical_equity"
      }
    ]
  },
  "outstanding_live_book": {
    "score": 73.54632675438597,
    "label": "Risk-seeking",
    "weekly": {
      "track": "weekly",
      "score": 72.50390625,
      "label": "Risk-seeking",
      "model_count": 8,
      "portfolio_count": 32,
      "round_count": 4,
      "models": [
        {
          "model_id": "anthropic-claude-fable-5",
          "score": 68.25,
          "portfolio_count": 4
        },
        {
          "model_id": "anthropic-claude-opus-4-7",
          "score": 69.9375,
          "portfolio_count": 4
        },
        {
          "model_id": "anthropic-claude-opus-4-8",
          "score": 69.1875,
          "portfolio_count": 4
        },
        {
          "model_id": "google-gemini-3-1-pro",
          "score": 75.875,
          "portfolio_count": 4
        },
        {
          "model_id": "openai-gpt-5-5",
          "score": 76.03125,
          "portfolio_count": 4
        },
        {
          "model_id": "openai-gpt-5-6-sol",
          "score": 74.53125,
          "portfolio_count": 4
        },
        {
          "model_id": "xai-grok-4-3",
          "score": 71.90625,
          "portfolio_count": 4
        },
        {
          "model_id": "xai-grok-4-5",
          "score": 74.3125,
          "portfolio_count": 4
        }
      ]
    },
    "monthly": {
      "track": "monthly",
      "score": 74.58874725877195,
      "label": "Risk-seeking",
      "model_count": 8,
      "portfolio_count": 115,
      "round_count": 19,
      "models": [
        {
          "model_id": "anthropic-claude-fable-5",
          "score": 71.1875,
          "portfolio_count": 10
        },
        {
          "model_id": "anthropic-claude-opus-4-7",
          "score": 70.4407894736842,
          "portfolio_count": 19
        },
        {
          "model_id": "anthropic-claude-opus-4-8",
          "score": 69.98684210526316,
          "portfolio_count": 19
        },
        {
          "model_id": "google-gemini-3-1-pro",
          "score": 71.21052631578948,
          "portfolio_count": 19
        },
        {
          "model_id": "openai-gpt-5-5",
          "score": 83.6907894736842,
          "portfolio_count": 19
        },
        {
          "model_id": "openai-gpt-5-6-sol",
          "score": 77.03125,
          "portfolio_count": 4
        },
        {
          "model_id": "xai-grok-4-3",
          "score": 75.57894736842105,
          "portfolio_count": 19
        },
        {
          "model_id": "xai-grok-4-5",
          "score": 77.58333333333333,
          "portfolio_count": 6
        }
      ]
    },
    "portfolio_count": 147,
    "round_count": 23
  },
  "history": {
    "decision_pulse": [
      {
        "date": "2026-07-14",
        "combined_score": 73.8984375,
        "label": "Risk-seeking",
        "weekly_score": 73.21875,
        "monthly_score": 74.578125,
        "weekly_round_id": "CB-2026-07-14-1W",
        "monthly_round_id": "CB-2026-07-14-1M",
        "model_count": 8,
        "agreement_label": "Tight",
        "agreement_standard_deviation": 4.408901850500162,
        "agreement_range": {
          "minimum": 68.5625,
          "maximum": 82.75
        },
        "top_regime": {
          "key": "real_assets_inflation",
          "label": "Real assets and inflation",
          "allocation_pct": 41.875
        },
        "top_assets": [
          {
            "option_id": "ENERGY",
            "label": "Energy Sector",
            "ticker": "XLE",
            "allocation_pct": 26.875,
            "risk_on_loading": 0.35,
            "regime_group": "real_assets_inflation"
          },
          {
            "option_id": "FINANCIALS",
            "label": "Financials Sector",
            "ticker": "XLF",
            "allocation_pct": 24.375,
            "risk_on_loading": 0.45,
            "regime_group": "broad_cyclical_equity"
          },
          {
            "option_id": "SEMICONDUCTORS",
            "label": "Semiconductors",
            "ticker": "SMH",
            "allocation_pct": 14.6875,
            "risk_on_loading": 0.95,
            "regime_group": "growth_technology"
          },
          {
            "option_id": "OIL",
            "label": "Crude Oil",
            "ticker": "USO",
            "allocation_pct": 14.0625,
            "risk_on_loading": 0.3,
            "regime_group": "real_assets_inflation"
          },
          {
            "option_id": "CYBERSECURITY",
            "label": "Cybersecurity",
            "ticker": "CIBR",
            "allocation_pct": 6.875,
            "risk_on_loading": 0.75,
            "regime_group": "growth_technology"
          }
        ],
        "regime_exposure": [
          {
            "key": "real_assets_inflation",
            "label": "Real assets and inflation",
            "allocation_pct": 41.875
          },
          {
            "key": "broad_cyclical_equity",
            "label": "Broad and cyclical equity",
            "allocation_pct": 30.625
          },
          {
            "key": "growth_technology",
            "label": "Growth and technology",
            "allocation_pct": 25.3125
          },
          {
            "key": "liquidity_defensive",
            "label": "Cash and defensive FX",
            "allocation_pct": 1.5625
          },
          {
            "key": "defensive_equity",
            "label": "Defensive equity",
            "allocation_pct": 0.625
          }
        ]
      },
      {
        "date": "2026-07-15",
        "combined_score": 67.3046875,
        "label": "Risk-seeking",
        "weekly_score": 69.015625,
        "monthly_score": 65.59375,
        "weekly_round_id": "CB-2026-07-15-1W",
        "monthly_round_id": "CB-2026-07-15-1M",
        "model_count": 8,
        "agreement_label": "Tight",
        "agreement_standard_deviation": 2.659086261499192,
        "agreement_range": {
          "minimum": 63,
          "maximum": 71.8125
        },
        "top_regime": {
          "key": "real_assets_inflation",
          "label": "Real assets and inflation",
          "allocation_pct": 60
        },
        "top_assets": [
          {
            "option_id": "ENERGY",
            "label": "Energy Sector",
            "ticker": "XLE",
            "allocation_pct": 30.9375,
            "risk_on_loading": 0.35,
            "regime_group": "real_assets_inflation"
          },
          {
            "option_id": "OIL",
            "label": "Crude Oil",
            "ticker": "USO",
            "allocation_pct": 24.6875,
            "risk_on_loading": 0.3,
            "regime_group": "real_assets_inflation"
          },
          {
            "option_id": "FINANCIALS",
            "label": "Financials Sector",
            "ticker": "XLF",
            "allocation_pct": 15.9375,
            "risk_on_loading": 0.45,
            "regime_group": "broad_cyclical_equity"
          },
          {
            "option_id": "LARGE_VALUE",
            "label": "US Large-Cap Value",
            "ticker": "IWD",
            "allocation_pct": 5.625,
            "risk_on_loading": 0.3,
            "regime_group": "broad_cyclical_equity"
          },
          {
            "option_id": "AEROSPACE_DEFENSE",
            "label": "Aerospace and Defense",
            "ticker": "ITA",
            "allocation_pct": 4.0625,
            "risk_on_loading": 0.45,
            "regime_group": "broad_cyclical_equity"
          }
        ],
        "regime_exposure": [
          {
            "key": "real_assets_inflation",
            "label": "Real assets and inflation",
            "allocation_pct": 60
          },
          {
            "key": "broad_cyclical_equity",
            "label": "Broad and cyclical equity",
            "allocation_pct": 30
          },
          {
            "key": "growth_technology",
            "label": "Growth and technology",
            "allocation_pct": 6.25
          },
          {
            "key": "liquidity_defensive",
            "label": "Cash and defensive FX",
            "allocation_pct": 2.8125
          },
          {
            "key": "defensive_equity",
            "label": "Defensive equity",
            "allocation_pct": 0.9375
          }
        ]
      }
    ],
    "outstanding_live_book": [
      {
        "date": "2026-07-14",
        "score": 74.65859375,
        "label": "Risk-seeking",
        "weekly_score": 73.10312499999999,
        "monthly_score": 76.2140625,
        "portfolio_count": 161,
        "round_count": 26,
        "weekly_portfolio_count": 44,
        "monthly_portfolio_count": 117,
        "weekly_round_count": 6,
        "monthly_round_count": 20
      },
      {
        "date": "2026-07-15",
        "score": 74.4678199404762,
        "label": "Risk-seeking",
        "weekly_score": 73.66276041666667,
        "monthly_score": 75.27287946428572,
        "portfolio_count": 171,
        "round_count": 27,
        "weekly_portfolio_count": 46,
        "monthly_portfolio_count": 125,
        "weekly_round_count": 6,
        "monthly_round_count": 21
      }
    ]
  }
}
Insight Feed
GET /v1/insights?limit=3

{
  "engine_version": "deterministic_insights_v3",
  "generated_at": "2026-07-17T00:00:27Z",
  "data_as_of": "2026-07-16",
  "insight_count": 29,
  "categories": [
    "benchmark_difficulty",
    "confidence_calibration",
    "consensus_performance",
    "current_positioning",
    "horizon_agreement",
    "live_performance",
    "market_environment",
    "model_behavior",
    "model_similarity",
    "oracle_comparison",
    "performance_attribution",
    "risk_regime"
  ],
  "data": [
    {
      "id": "consensus-performance-CB-2026-07-09-1W",
      "category": "consensus_performance",
      "title": "AI consensus portfolio scored -39.4 versus the oracle",
      "summary": "If the weekly model allocations were averaged into one consensus portfolio, it returned -3.72% versus -0.13% for the S&P 500 and +9.44% for the hindsight best asset.",
      "why_it_matters": "The consensus portfolio tests whether the combined AI view is more useful than any single model's portfolio or the S&P 500 benchmark.",
      "confidence": "high",
      "source_type": "deterministic",
      "importance_score": 92,
      "evidence": [
        {
          "href": "/rounds/CB-2026-07-09-1W",
          "label": "Weekly result",
          "source": "rounds/CB-2026-07-09-1W/runs/official-20260709/results"
        }
      ]
    },
    {
      "id": "consensus-performance-CB-2026-06-16-1M",
      "category": "consensus_performance",
      "title": "AI consensus portfolio scored -58.0 versus the oracle",
      "summary": "If the monthly model allocations were averaged into one consensus portfolio, it returned -7.20% versus +0.31% for the S&P 500 and +12.42% for the hindsight best asset.",
      "why_it_matters": "The consensus portfolio tests whether the combined AI view is more useful than any single model's portfolio or the S&P 500 benchmark.",
      "confidence": "high",
      "source_type": "deterministic",
      "importance_score": 92,
      "evidence": [
        {
          "href": "/rounds/CB-2026-06-16-1M",
          "label": "Monthly result",
          "source": "rounds/CB-2026-06-16-1M/runs/official-20260616-no-fable/results"
        }
      ]
    },
    {
      "id": "benchmark-difficulty-CB-2026-07-09-1W",
      "category": "benchmark_difficulty",
      "title": "Weekly round had +21.02% asset dispersion",
      "summary": "The best scored asset returned +9.44%, the worst returned -11.58%, and +44.29% of the universe was positive. The S&P 500 ranked 38 out of 70 options.",
      "why_it_matters": "Benchmark difficulty matters because model scores should be interpreted against the opportunity set and the market window they faced.",
      "confidence": "high",
      "source_type": "deterministic",
      "importance_score": 90,
      "evidence": [
        {
          "href": "/rounds/CB-2026-07-09-1W",
          "label": "Weekly result",
          "source": "rounds/CB-2026-07-09-1W/runs/official-20260709/results/returns.csv"
        }
      ]
    }
  ]
}
Model Behavior Profiles
GET /v1/models/behavior

{
  "version": "model_behavior_v1",
  "generated_at": "2026-07-17T00:01:23.186Z",
  "data_as_of": "2026-07-15",
  "summary": {
    "model_count": 8,
    "portfolio_count": 375,
    "resolved_result_count": 228,
    "highest_risk_model_id": "openai-gpt-5-5",
    "most_concentrated_model_id": "xai-grok-4-3",
    "most_defensive_model_id": "anthropic-claude-opus-4-7",
    "most_consensus_aligned_model_id": "openai-gpt-5-6-sol",
    "most_distinctive_model_id": "google-gemini-3-1-pro",
    "lowest_turnover_model_id": "openai-gpt-5-5"
  },
  "profiles": [
    {
      "model_id": "anthropic-claude-fable-5",
      "label": "Claude Fable 5",
      "archetype": {
        "label": "Balanced allocator",
        "description": "Shows a mixed profile without one dominant allocation behavior standing out yet.",
        "confidence": "medium"
      },
      "sample": {
        "portfolio_count": 25,
        "weekly_portfolio_count": 13,
        "monthly_portfolio_count": 12,
        "active_portfolio_count": 14,
        "resolved_round_count": 11,
        "first_round_id": "CB-2026-06-09-1M",
        "latest_round_id": "CB-2026-07-15-1W"
      },
      "metrics": {
        "average_risk_pulse": 70.495,
        "average_top_allocation_pct": 28.2,
        "defensive_pct": 9.4
      },
      "peer": {
        "average_peer_similarity": 0.6139022546919229,
        "similarity_observation_count": 145,
        "outlier_round_count": 1,
        "closest_peer": {
          "peer_model_id": "openai-gpt-5-6-sol",
          "average_similarity": 0.7136544976474106,
          "shared_round_count": 8
        }
      },
      "turnover": {
        "average_turnover_pct": 58.26086956521739,
        "weekly_turnover_pct": 60.833333333333336,
        "monthly_turnover_pct": 55.45454545454545,
        "turnover_observation_count": 23
      }
    }
  ],
  "pattern_report": {
    "version": "model_behavior_pattern_report_v1",
    "data_as_of": "2026-07-15",
    "data_fingerprint": "dfc247749d1a4f8038b066329b32e556e0041b21a4993d4fd1c462bd5363480b",
    "llm_provenance": {
      "status": "deterministic_source_of_truth",
      "provider": "nvidia_nim",
      "prompt_version": "capitalbench_model_patterns_prompt_v1",
      "input_contract_version": "capitalbench_model_patterns_llm_input_v1",
      "output_contract_version": "capitalbench_model_patterns_llm_output_v1",
      "rule": "NVIDIA may rewrite summaries only from supplied metrics; deterministic rows remain the source of truth."
    },
    "rows": [
      {
        "model_id": "openai-gpt-5-5",
        "label": "GPT-5.5",
        "behavior_summary": "Most aggressive allocation profile. It averages 84.2 / 100 risk-taking, 92.3% high-risk exposure, and only 1.0% defensive ballast. Results have been fragile, with 18 last-place finishes.",
        "traits": [
          {
            "key": "highest_risk",
            "label": "Highest risk-taking",
            "evidence": "84.2 / 100 average risk-taking score.",
            "metric_keys": [
              "risk_taking_score"
            ]
          },
          {
            "key": "lowest_turnover",
            "label": "Lowest turnover",
            "evidence": "46.1% average turnover.",
            "metric_keys": [
              "average_turnover_pct"
            ]
          },
          {
            "key": "technology_tilt",
            "label": "Technology tilt",
            "evidence": "45.1% average technology-linked allocation.",
            "metric_keys": [
              "tech_pct"
            ]
          }
        ],
        "key_numbers": {
          "risk_taking_score": 84.24,
          "average_holding_count": 4.85,
          "average_top_allocation_pct": 36.72,
          "high_risk_pct": 92.31,
          "defensive_pct": 0.97,
          "tech_pct": 45.07,
          "cash_duration_pct": 1.04,
          "international_pct": 14.25,
          "real_assets_pct": 14.48,
          "peer_similarity": 0.5706,
          "outlier_round_count": 17,
          "average_turnover_pct": 46.08,
          "average_rank": 3.77,
          "first_place_count": 6,
          "last_place_count": 18,
          "beat_sp500_count": 14,
          "beat_sp500_rate_pct": 31.82,
          "average_alpha_pp": -1.7946,
          "average_capitalbench_score": -25.56,
          "resolved_round_count": 44,
          "portfolio_count": 67
        },
        "top_assets": [
          {
            "option_id": "SEMICONDUCTORS",
            "label": "Semiconductors",
            "ticker": "SMH",
            "category": "ai_and_technology",
            "average_allocation_pct": 25.223880597014926,
            "frequency_pct": 77.61194029850746,
            "display": "Semiconductors (SMH)"
          },
          {
            "option_id": "BIOTECH",
            "label": "Biotechnology",
            "ticker": "XBI",
            "category": "healthcare_and_biotech",
            "average_allocation_pct": 9.17910447761194,
            "frequency_pct": 46.26865671641791,
            "display": "Biotechnology (XBI)"
          },
          {
            "option_id": "OIL",
            "label": "Crude Oil",
            "ticker": "USO",
            "category": "commodities",
            "average_allocation_pct": 7.537313432835821,
            "frequency_pct": 26.865671641791046,
            "display": "Crude Oil (USO)"
          }
        ]
      }
    ]
  }
}
Latest Scored Test
GET /v1/leaderboards/latest?track=weekly

{
  "track": "weekly",
  "round_id": "CB-2026-07-09-1W",
  "data": [
    {
      "rank": 1,
      "model_id": "anthropic-claude-opus-4-8",
      "label": "Claude Opus 4.8",
      "portfolio_return_pct": -2.1363034299739168,
      "benchmark_return_pct": -0.13170264380115704,
      "alpha_pp": -2.0046007861727597,
      "max_possible_return_pct": 9.439500963214375,
      "capitalbench_score": -22.63152933930582
    }
  ]
}
Benchmark Comparison Sets
GET /v1/leaderboards/benchmark-sets?track=weekly

{
  "policy": {
    "version": "benchmark_sets_v1",
    "qualification_thresholds": {
      "weekly": 6,
      "monthly": 3
    }
  },
  "current": {
    "weekly": "weekly-set-2026-06-09",
    "monthly": "monthly-set-2026-05-28"
  },
  "sets": [
    {
      "set_id": "weekly-set-2026-07-10",
      "label": "Weekly Set: Jul 10, 2026",
      "track": "weekly",
      "status": "waiting",
      "is_current": false,
      "is_qualified": false,
      "qualification_threshold": 6,
      "comparison": {
        "mode": "comparison_set",
        "completed_round_count": 0,
        "completed_round_ids": [],
        "comparison_round_count": 0,
        "comparison_round_ids": [],
        "comparison_model_count": 8,
        "is_early_cohort": true,
        "excluded_round_count": 0,
        "excluded_round_ids": [],
        "qualification_threshold": 6,
        "is_qualified": false,
        "is_current": false,
        "status": "waiting"
      },
      "leader": null
    }
  ]
}
One Comparison Set
GET /v1/leaderboards/benchmark-sets/weekly-set-2026-07-10

{
  "set_id": "weekly-set-2026-07-10",
  "label": "Weekly Set: Jul 10, 2026",
  "track": "weekly",
  "model_ids": [
    "anthropic-claude-fable-5",
    "anthropic-claude-opus-4-7",
    "anthropic-claude-opus-4-8",
    "google-gemini-3-1-pro",
    "openai-gpt-5-5",
    "openai-gpt-5-6-sol",
    "xai-grok-4-3",
    "xai-grok-4-5"
  ],
  "comparison": {
    "mode": "comparison_set",
    "completed_round_count": 0,
    "completed_round_ids": [],
    "comparison_round_count": 0,
    "comparison_round_ids": [],
    "comparison_model_count": 8,
    "is_early_cohort": true,
    "excluded_round_count": 0,
    "excluded_round_ids": [],
    "qualification_threshold": 6,
    "is_qualified": false,
    "is_current": false,
    "status": "waiting"
  },
  "excluded_rounds": [],
  "data": []
}
Run Concentration
GET /v1/rounds/CB-2026-07-15-1W/concentration

{
  "round_id": "CB-2026-07-15-1W",
  "track": "weekly",
  "model_count": 8,
  "portfolio_count": 8,
  "summary": {
    "top_asset_share_pct": 30,
    "top_three_share_pct": 74.375,
    "effective_asset_count": 4.749536178107606
  },
  "assets": [
    {
      "option_id": "OIL",
      "label": "Crude Oil",
      "ticker": "USO",
      "category": "commodities",
      "allocation_pct": 30,
      "model_count": 7,
      "models": [
        {
          "model_id": "xai-grok-4-3",
          "label": "Grok 4.3",
          "provider": "xai",
          "allocation_pct": 6.25
        },
        {
          "model_id": "openai-gpt-5-5",
          "label": "GPT-5.5",
          "provider": "openai",
          "allocation_pct": 5.625
        }
      ]
    }
  ]
}
Schema

Important Fields

Field Meaning
allocation_pct Portfolio or aggregate weight, in percentage points.
alpha_pp Portfolio Minus S&P 500, in percentage points.
capitalbench_score Oracle-relative score where 100 matches the maximum possible return, 0 means no return, and negative values represent losses.
comparison Cumulative leaderboard metadata showing included resolved rounds, test counts, and aggregation mode.
effective_asset_count Concentration metric equal to one divided by summed squared asset shares.
max_possible_return_pct Highest realized return among scored options in the saved universe; cumulative rows report the average per-test oracle return as supporting context.
importance_score 0-100 editorial ranking used to order public insights by usefulness and urgency.
average_peer_similarity Average cosine similarity between one model's portfolio weights and peer portfolio weights in the same official rounds.
average_turnover_pct Average round-to-round portfolio change, calculated as one-half of summed absolute allocation changes.
archetype Rule-based model behavior label with a plain-English description and confidence level.
model_id Stable CapitalBench model identifier.
next_cursor Pagination cursor returned when more records are available.
option_id Stable asset identifier from the saved universe.
pattern_report Dynamic model behavior comparison report with one row per model, deterministic traits, key numbers, comparative findings, freshness metadata, and NVIDIA prompt provenance.
portfolio_count Number of model portfolios included in an aggregate calculation.
eligible_portfolio_count All portfolios considered before filtering to holders of a requested asset.
holder_portfolio_count Eligible portfolios with a non-zero allocation to a requested asset.
holder_rate_pct Share of eligible portfolios holding a requested asset.
average_holder_allocation_pct Average asset weight among portfolios that hold it.
consensus_allocation_pct Average asset weight across the full eligible cohort, with non-holders counted as zero.
row_count Total number of records matching a list endpoint before pagination.
risk_on_loading Versioned asset loading from -1 defensive to +1 risk seeking, used by AI Risk Appetite.
risk_score_1_5 Standalone asset-risk rating used by the existing historical model profile.
round_id Stable test identifier for one weekly or monthly round.
scope active or cumulative.
top_asset_share_pct Average share of the round allocated to the largest asset.
track weekly, monthly, or all.
proof Hashes and URLs for public verification artifacts.
Errors

Status Codes

Status Meaning
200 Request succeeded.
400 Invalid parameter, invalid cursor, or malformed request.
401 Missing, expired, or invalid API key.
403 The API key is valid but lacks the required scope.
404 Requested model, round, or asset was not found.
429 Rate limit exceeded.
500 Temporary service error.
Freshness and proof

Publication Rules

Active-position endpoints update when a new public weekly or monthly round is registered. Result endpoints update after the round closes, end prices are collected, and the scored output is published.

  • Weekly and monthly tests remain separate in scoring and cumulative views.
  • Completed rounds stop contributing to active exposure and remain in cumulative history.
  • Audit links expose the saved files, hashes, universe version, model outputs, and price records.
Access

Request API Access

API credentials are provisioned directly for research teams, funds, data partners, and builders using CapitalBench model-positioning data.