Профиль кластера

GET /clusters/profile
GetClusterProfile

Поведенческие признаки одного кластера, каждый из которых ранжирован относительно всех остальных кластеров (rank 1 — наивысший):

  • earliness (дней): насколько рано он публикует посты вокруг пиков хайп-циклов; положительное значение означает ранний приход.
  • contrarian (доля): активы, по которым он придерживается противоположного рынку направления.
  • hype_fade (дней): положительное значение означает, что по мере нарастания хайпа он становится менее бычьим.
  • conviction (дней): как долго он сохраняет одно и то же мнение об активе.
  • focus (доля): посты по его топ-5 активам.
  • breadth (количество): активы, о которых он пишет.
  • bullishness (доля): доля бычьих постов среди его бычьих и медвежьих постов.
  • discovery (доля): посты об активах вне топ-100 рынка.
  • turnover (доля): насколько сильно меняется его топ-10 активов от недели к неделе.
  • coverage (доля): хайп-циклы, в которых он участвовал.

Хайп-цикл — это день, когда количество постов об активе подскакивает минимум в 3 раза выше нормы. Учитываются только полные дни по UTC.

Правила параметров:

  • Отправьте cluster_id.
  • cluster_id указывает один кластер; чтобы сравнить несколько, вызывайте метод по одному разу на кластер или используйте /clusters, чтобы получить все кластеры сразу.
  • Сообщества авторов постов (wallstreetbets, reddit) охватывают только акции: при использовании одного из них asset_class должен включать equity.

Оплата кошельком доступна на https://nebula-api.hiddensystems.ai/api/v1/x402/clusters/profile. Аккаунт Nebula или API-ключ не требуются; проверьте предложение об оплате перед подписанием. Руководство по оплате x402.

Параметры

cluster_id string QUERY обязательный

Кластер для анализа в том виде, в каком его возвращает /clusters, например smart_money или wallstreetbets. Любой id из параметра clusters метода /sentiment.

Example:smart_money

asset_class array<string> QUERY

Рынки для анализа: любой из equity, commodity, index и crypto, через запятую. По умолчанию — все четыре. Можно передать несколько через запятую.

Default:equity,commodity,index,crypto

days integer QUERY

За сколько полных дней UTC анализировать, отсчитывая назад от последнего полного дня: 30 или 90. Более длинные окна охватывают больше хайп-циклов, поэтому характеристики циклов устойчивее. Бесплатные тарифы охватывают 90 дней; при большем значении возвращается 403.

Допустимые значения
3090

Default:90

Пример cURL

curl --get \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/clusters/profile' \
  --data-urlencode 'cluster_id=smart_money' \
  --header 'X-API-Key: YOUR_API_KEY'

Ответы

200 OK
400 Некорректный запрос
401 Не авторизован
402 Кредиты израсходованы; ответ содержит срок продления и баланс купленных кредитов
403 Доступ запрещён
404 Не найдено
405 Метод не поддерживается; поддерживаемые методы перечислены в заголовке Allow
429 Слишком много запросов
500 Внутренняя ошибка сервера
503 Сервис недоступен

Тип медиа application/json

active_clusters
integer обязательный

Кластеры, активные в окне: внутри них ранжируются характеристики популяции.

asset_classes
array<string> обязательный

Проанализированные рынки в порядке equity, commodity, index, crypto: запрошенные значения asset_class или все четыре, если asset_class был опущен.

cluster_id
string обязательный

Проанализированный кластер в виде его канонического cluster_id.

days
integer обязательный

Длина окна в полных днях UTC, заканчивающегося последним полным днём.

hype_cycles
integer обязательный

Хайп-циклы рынка в окне: активы, посты по которым достигали пика в 50 или больше за день и как минимум в 3 раза превышали их медианный день.

traits
array<object> обязательный

По одной записи на характеристику, в порядке earliness, contrarian, hype_fade, conviction, focus, breadth, bullishness, discovery, turnover, coverage.

traits[].peer_values
array<number (double)> обязательный

Значение этого признака у всех остальных кластеров по возрастанию.

traits[].percentile
number (double) обязательный

От 0 (наименьшее) до 1 (наибольшее) среди кластеров, у которых есть значение. Null, если значение null.

traits[].rank
integer обязательный

1 — наибольшее значение; кластеры с одинаковым значением делят лучший ранг. Null, если значение null.

traits[].trait
string обязательный

Измеряемая характеристика; описание операции определяет каждую из них.

Допустимые значения
earlinesscontrarianhype_fadeconvictionfocusbreadthbullishnessdiscoveryturnovercoverage
traits[].unit
string обязательный

дней, доля (от 0 до 1) или количество; фиксировано для каждого признака.

Допустимые значения
dayssharecount
traits[].value
number (double) обязательный

Значение этого признака у кластера, в единицах измерения; null, если у кластера слишком мало данных для него.

{
  "active_clusters": 34,
  "asset_classes": [
    "equity",
    "commodity",
    "index",
    "crypto"
  ],
  "cluster_id": "smart_money",
  "days": 90,
  "hype_cycles": 41,
  "traits": [
    {
      "peer_values": [
        -1.8,
        -0.64,
        0.12,
        0.87,
        2.05
      ],
      "percentile": 0.9394,
      "rank": 3,
      "trait": "earliness",
      "unit": "days",
      "value": 1.42
    },
    {
      "peer_values": [
        0.041,
        0.083,
        0.112,
        0.204,
        0.267
      ],
      "percentile": 0.7576,
      "rank": 9,
      "trait": "contrarian",
      "unit": "share",
      "value": 0.1875
    },
    {
      "peer_values": [
        -1.1,
        -0.3,
        0.2,
        0.9,
        1.4
      ],
      "percentile": 0.8182,
      "rank": 7,
      "trait": "hype_fade",
      "unit": "days",
      "value": 0.6
    },
    {
      "peer_values": [
        1.4,
        1.9,
        2.2,
        2.8,
        3.6
      ],
      "percentile": 0.6667,
      "rank": 12,
      "trait": "conviction",
      "unit": "days",
      "value": 2.35
    },
    {
      "peer_values": [
        0.18,
        0.24,
        0.35,
        0.47,
        0.72
      ],
      "percentile": 0.4242,
      "rank": 20,
      "trait": "focus",
      "unit": "share",
      "value": 0.31
    },
    {
      "peer_values": [
        41,
        96,
        188,
        405,
        1270
      ],
      "percentile": 0.8485,
      "rank": 6,
      "trait": "breadth",
      "unit": "count",
      "value": 312
    },
    {
      "peer_values": [
        0.52,
        0.64,
        0.71,
        0.78,
        0.86
      ],
      "percentile": 0.6061,
      "rank": 14,
      "trait": "bullishness",
      "unit": "share",
      "value": 0.7412
    },
    {
      "peer_values": [
        0.09,
        0.17,
        0.26,
        0.38,
        0.61
      ],
      "percentile": 0.5152,
      "rank": 17,
      "trait": "discovery",
      "unit": "share",
      "value": 0.2837
    },
    {
      "peer_values": [
        0.18,
        0.27,
        0.36,
        0.44,
        0.58
      ],
      "percentile": 0.3939,
      "rank": 21,
      "trait": "turnover",
      "unit": "share",
      "value": 0.3455
    },
    {
      "peer_values": [
        0.05,
        0.22,
        0.41,
        0.63,
        0.88
      ],
      "percentile": 0.7879,
      "rank": 8,
      "trait": "coverage",
      "unit": "share",
      "value": 0.6585
    }
  ]
}