# Divisive assets

- Method: `GET`
- Path: `/clusters/comparison/divisive-assets`
- Credits: 2
- HTML docs: https://docs.hiddensystems.ai/nebula/reference/get-clusters-comparison-divisive-assets/
- Interactive docs: https://docs.hiddensystems.ai/nebula/api/#endpoint=get-clusters-comparison-divisive-assets

## Description

The widely discussed assets the clusters are most evenly split on.

Among the market's 200 most-discussed assets in the window, an asset needs 20 or more clusters with 8 or more bullish or bearish posts on it each. A cluster's stance is (bullish − bearish) ÷ (bullish + bearish) posts, from −1 to +1, and it leans clearly bullish or bearish at 0.1 or more either way. Assets are ranked by `minority_share`, the smaller side's share of the clusters leaning clearly either way, then by `stance_iqr`, the spread of the middle half of the clusters' stances, so a few outlying clusters cannot make an asset divisive while nearly every other group agrees. A divisive asset has divided conversation, not necessarily a divided market or a coming move.

Built from a daily per-cluster rollup of complete UTC days (today excluded, refreshed every few hours). The market is every author except bots; `asset_class` filters every cluster and the market. Posting communities (`wallstreetbets`, `reddit`) cover equities only, so they are absent unless equity is selected.

## cURL Example

```bash
curl --request GET \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/clusters/comparison/divisive-assets' \
  --header 'X-API-Key: YOUR_API_KEY'
```

## Path Parameters

No path parameters for this endpoint.

## Query Parameters

- `asset_class` (array<string>, optional, default: equity,commodity,index,crypto, allowed: equity, commodity, index, crypto, comma-separated): The markets to compare the clusters across: equity (stocks and ETFs), commodity, index, crypto, or any combination, for example `asset_class=equity,index`. Defaults to all four. Send several comma-separated.
- `days` (integer, optional, default: 30, allowed: 7, 30, 90, range: 7–90): How many complete UTC days to measure stances over, counting back from the latest complete day: 7, 30, or 90. Free plans read up to 90 days back; Pro plans up to this parameter's maximum. A value reaching past your plan's window returns 403 and is not charged.
- `limit` (integer, optional, default: 10, range: 1–30): Maximum assets returned.

## Response

OK

- `asset_classes` (array<string>, required): The markets analysed, in the order equity, commodity, index, crypto: the asset_class values requested, or all four when asset_class was omitted.
- `assets` (array<object>, required): The divisive assets, most evenly split first, up to limit.
- `assets[].asset_class` (string, required, enum: equity, commodity, index, crypto): The asset's class: equity (stocks and ETFs), commodity, index, or crypto. Send it with asset_id on every asset-scoped request.
- `assets[].asset_id` (string, required): Canonical public asset identifier: the ticker or market symbol for stocks, commodities, and indices, and the CoinGecko slug (or, without one, a numeric id) for crypto.
- `assets[].bearish_cluster_count` (integer, required): Clusters leaning bearish on the asset by 0.1 or more.
- `assets[].bullish_cluster_count` (integer, required): Clusters leaning bullish on the asset by 0.1 or more.
- `assets[].cluster_stances` (array<object>, required): Every cluster with a stance on the asset (8 or more bullish or bearish posts), most bearish first.
- `assets[].cluster_stances[].cluster_id` (string, required): Canonical author-cluster identifier.
- `assets[].cluster_stances[].posts` (integer (int64), required): The cluster's posts on the asset over the window.
- `assets[].cluster_stances[].stance` (number (double), required): The cluster's net stance on the asset: (bullish − bearish) ÷ (bullish + bearish) posts, from −1 to +1.
- `assets[].market_stance` (number (double), required): The market's net stance on the same asset over the same window, on the same −1 to +1 scale, from every author except bots.
- `assets[].minority_share` (number (double), required): The smaller side's share of the clusters leaning clearly bullish or bearish (0.1 or more either way), from 0 (all one way) to 0.5 (an even split). Assets are ranked by it.
- `assets[].name` (string, required): Human-readable name.
- `assets[].stance_iqr` (number (double), required): The interquartile range of the clusters' stances, from 0 to 2: how far apart the middle half of the clusters sit. Breaks ties in minority_share.
- `assets[].symbol` (string, required): Display ticker or market symbol.
- `days` (integer, required): Window length in complete UTC days, ending at the latest complete day.

Media type: `application/json`

## JSON Response

```json
{
  "asset_classes": [
    "equity",
    "commodity",
    "index",
    "crypto"
  ],
  "assets": [
    {
      "asset_class": "equity",
      "asset_id": "WMT",
      "bearish_cluster_count": 14,
      "bullish_cluster_count": 5,
      "cluster_stances": [
        {
          "cluster_id": "policy_political",
          "posts": 64,
          "stance": -0.58
        },
        {
          "cluster_id": "media",
          "posts": 311,
          "stance": -0.21
        },
        {
          "cluster_id": "automated_ai",
          "posts": 28,
          "stance": 0.75
        }
      ],
      "market_stance": -0.17,
      "minority_share": 0.2632,
      "name": "Walmart Inc.",
      "stance_iqr": 0.6125,
      "symbol": "WMT"
    }
  ],
  "days": 30
}
```
