Как читать отчет COT: разбор столбцов и данных
Узнайте, как читать отчет COT и понимать значения в таблицах legacy, disaggregated и TFF. Мы подробно разбираем расчет чистой позиции и два ключевых ограничения данных отчета.
Основы отчета COT
Изучение отчета COT начинается с его структуры: Commitments of Traders — это еженедельный подсчет открытых позиций по фьючерсам, классифицированных по типам участников рынка и публикуемый Комиссией по торговле товарными фьючерсами (CFTC). Каждая ячейка содержит количество контрактов, а не цену или прогноз. Данная страница предполагает, что вы знакомы с графиком публикации, который описан в графике выхода отчета COT, и подробно рассматривает столбцы, расчет чистой позиции и два ограничения, которые стоит озвучить отдельно.
Что на самом деле учитывает отчет COT
Каждая цифра представляет собой количество контрактов, собранное на основе отчетов о позициях, которые клиринговые члены и биржи подают в CFTC. Учетная запись попадает в отчет только при превышении установленного порога, который определяется отдельно для каждого рынка, а все данные ниже этого уровня попадают в общую категорию. Три механизма вызывают основную часть путаницы:
- Длинные и короткие позиции отражаются отдельно, и обе являются валовыми. Фирма, удерживающая четыре тысячи длинных и три тысячи коротких позиций, появляется в обоих столбцах, а не как нетто-позиция в одну тысячу.
- Спрединг выделен в отдельный столбец для спекулятивных категорий: это равные и взаимозачетные длинные и короткие позиции на одном и том же рынке, которые учитываются один раз.
- Открытый интерес — это общее количество контрактов, остающихся в силе на эту дату. Сумма длинных позиций по всем категориям равна этому значению, как и сумма коротких позиций.
Классический отчет: коммерческие, некоммерческие и нерепортируемые позиции
Это старейший формат, который до сих пор остается наиболее цитируемым. Он распределяет подотчетных трейдеров по двум категориям, а всех остальных относит к третьей.
- Коммерческие: счета, которые уведомили CFTC об использовании рынка для хеджирования рисков основного бизнеса. К ним относятся элеваторы, нефтеперерабатывающие заводы или банки, хеджирующие портфель свопов.
- Некоммерческие: подотчетные счета, не имеющие подобных целей хеджирования. Сюда входят крупные спекулянты и программы управляемых фьючерсов.
- Нерепортируемые: все участники, не достигающие пороговых значений. Их количество рассчитывается как остаток открытого интереса за вычетом совокупных длинных и коротких позиций подотчетных лиц, а не собирается напрямую.
Классификация определяется на основании самодекларации в поданной форме. Фирма, имеющая как хеджирующее, так и спекулятивное подразделение, классифицируется по своей основной деятельности.
Дезагрегированный отчет: четыре категории вместо двух
Для физических товаров CFTC также публикует дезагрегированную версию отчета, разделяя старую категорию коммерческих участников на две и старую категорию некоммерческих участников также на две.
- Производители, трейдеры, переработчики, потребители: участники рынка физических товаров, хеджирующие запасы или производство.
- Своп-дилеры: дилеры, чьи позиции по фьючерсам компенсируют свопы, заключенные с клиентами (которые могут быть как хеджерами, так и спекулянтами), поэтому данная категория представляет собой смешанный поток через одного контрагента.
- Управляемые капиталы (managed money): консультанты по торговле сырьевыми товарами, операторы пулов и хедж-фонды, торгующие в интересах клиентов; это наиболее близкий к категории «последователей тренда» показатель в отчете.
- Прочие отчитывающиеся участники: крупные счета, не подходящие ни под одну из вышеперечисленных категорий.
Отчет TFF: категории финансовых фьючерсов
Для казначейских облигаций, фондовых индексов и валют в отчете Traders in Financial Futures используется четыре категории участников:
- Дилеры/посредники: sell-side, банки и дилеры, которые обычно выступают контрагентами по клиентским потокам, а не выражают собственное рыночное мнение.
- Управляющие активами/институциональные инвесторы: пенсионные фонды, страховые компании, паевые инвестиционные фонды и эндаументы.
- Кредитные фонды (leveraged funds): хедж-фонды и CTA; именно эту категорию имеют в виду, когда говорят, что «фонды держат короткие позиции».
- Прочие отчитывающиеся участники: крупные счета, подлежащие отчетности, которые не вошли в первые три категории.
TFF представляет собой иное распределение того же открытого интереса, а не альтернативную оценку данных из классической таблицы, поэтому его показатели не соотносятся один к одному с категориями коммерческих и некоммерческих участников.
Как рассчитать чистую позицию на основе отчета COT
Чистая позиция рассчитывается просто: длинные позиции минус короткие позиции внутри одной категории. Спреды по определению не учитываются ни в одной из сторон, а в рамках полного отчета сумма чистых позиций по всем категориям равна нулю, так как каждому длинному контракту противостоит короткий.
Ошибки в интерпретации возникают при использовании «сырых» данных. Чистая позиция в двести тысяч контрактов означает одно при открытом интересе в восемьсот тысяч и совсем другое при четырех миллионах. Решением является деление: чистая позиция, деленная на открытый интерес, дает долю данной категории, которую можно сравнивать во времени и между разными контрактами.
Позиционирование CFTC в данных панелях не представлено, поэтому ниже приведена та же арифметика для данных, которые вы можете получить самостоятельно. В блоке ежемесячно подсчитывается количество call- и put-контрактов на AAPL, после чего разница выражается двумя способами: в абсолютном значении и как доля от общего объема за месяц. Это тот же принцип, что лежит в основе того, как рассчитывается put/call ratio.
В Jan 2024 чистая позиция составила 3294 тысяч контрактов, или 18.9% от общего объема за тот месяц. К Jun 2026 чистая позиция достигла 4671 тысяч, что соответствует 27.7%. На протяжении всех 30 месяцев абсолютное значение чистой позиции растет и падает в зависимости от рыночной активности, в то время как доля исключает этот фактор — точно так же, как чистая позиция в отчете COT соотносится с открытым интересом.
Почему процентиль объективнее «чистого» значения
Как только чистая позиция приведена к доле акций, следующим шагом становится анализ истории. Категория, удерживающая двенадцать процентов открытого интереса, считается высокой или низкой только в сравнении с собственными историческими данными этого рынка. Стандартный подход — использование процентиля на многолетнем интервале: это доля прошлых наблюдений, которые равны текущему значению или ниже него.
Акции США имеют свою специфику учета позиций. Данные FINRA по коротким позициям публикуют объем акций в коротких позициях дважды в месяц, а показатель «дней на покрытие» (days to cover) делит это число на средний дневной объем торгов — это тот же метод нормализации, что и отношение чистой позиции к открытому интересу. В таблице ниже приведены шесть известных компаний с их последними показателями, а также их ранги за последние пять лет.
Точный SQL-код для каждого числа
WITH history AS
(
SELECT
ticker,
settlement_date,
max(toFloat64(days_to_cover)) AS dtc,
max(toFloat64(short_interest)) AS si
FROM global_markets.stocks_short_interest
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'XOM', 'JNJ')
AND settlement_date >= today() - 1825
AND days_to_cover > 0
GROUP BY ticker, settlement_date
),
latest AS
(
SELECT
ticker,
argMax(dtc, settlement_date) AS latest_dtc,
argMax(si, settlement_date) AS latest_si,
toString(max(settlement_date)) AS snapshot_label
FROM history
GROUP BY ticker
)
SELECT
l.ticker AS symbol,
l.snapshot_label AS snapshot_label,
round(l.latest_si / 1e6, 1) AS short_interest_millions,
round(l.latest_dtc, 2) AS days_to_cover_ratio,
round(100 * countIf(h.dtc <= l.latest_dtc) / count(), 0) AS percentile_5y_pct
FROM history AS h
INNER JOIN latest AS l ON h.ticker = l.ticker
GROUP BY l.ticker, l.snapshot_label, l.latest_si, l.latest_dtc
ORDER BY percentile_5y_pct DESCСамый высокий показатель из шести у NVDA: он находится на 100-м процентиле своего пятилетнего диапазона при 2.47 днях на покрытие. Самый низкий у XOM: он находится на 76-м процентиле. Столбец с абсолютным числом акций в коротких позициях показывает 324.1 миллиона против 42.7 миллионов, однако этот столбец скорее отражает размер компании, чем реальное позиционирование, поэтому его нельзя сравнивать для разных эмитентов. Точно так же нельзя сравнивать чистые позиции COT для разных контрактов.
Процентиль может меняться даже при неизменном абсолютном числе, и наоборот. Отслеживание одного инструмента на протяжении трех лет делает это наглядным.
Точный SQL-код для каждого числа
WITH history AS
(
SELECT
settlement_date AS d,
max(toFloat64(days_to_cover)) AS dtc
FROM global_markets.stocks_short_interest
WHERE ticker = 'AAPL'
AND settlement_date >= '2023-07-01'
AND settlement_date < '2026-07-01'
AND days_to_cover > 0
GROUP BY settlement_date
)
SELECT
toString(a.d) AS settlement_date,
formatDateTime(a.d, '%b %e, %Y') AS as_of_label,
round(a.dtc, 2) AS days_to_cover_ratio,
round(100 * countIf(b.dtc <= a.dtc) / count(), 0) AS window_percentile_pct
FROM history AS a
CROSS JOIN history AS b
GROUP BY a.d, a.dtc
ORDER BY a.dНа протяжении 72 полумесячных отчетов коэффициент остается в узком диапазоне, в то время как линия процентиля охватывает почти весь диапазон от нуля до ста. Последнее значение, зафиксированное Jun 30, 2026, составило 1.73 дней на покрытие, что соответствует 17-му процентилю за рассматриваемый период.
Два ограничения, изложенные прямо
Снимок сделан во вторник, а доходит до вас в пятницу
Позиции зафиксированы на закрытии торгов во вторник, а отчет выходит в пятницу днем. Таким образом, к моменту получения информация устаревает на три сессии, и категория, которая развернулась в среду, показывает старую картину. В таблице ниже приведено расстояние, которое SPY прошел от закрытия каждого вторника до закрытия следующей пятницы.
Точный SQL-код для каждого числа
WITH spy AS
(
SELECT
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2016-01-01'
AND date < '2026-07-01'
)
SELECT
toString(toYear(tue.date)) AS year,
count() AS session_pair_count,
round(quantileDeterministic(0.5)(abs(fri.close_px / tue.close_px - 1) * 100,
toUInt64(toUnixTimestamp(tue.date))), 2) AS median_gap_move_pct,
round(quantileDeterministic(0.9)(abs(fri.close_px / tue.close_px - 1) * 100,
toUInt64(toUnixTimestamp(tue.date))), 2) AS p90_gap_move_pct
FROM spy AS tue
INNER JOIN spy AS fri ON fri.date = tue.date + 3
WHERE toDayOfWeek(tue.date) = 2
GROUP BY year
ORDER BY yearВ 2016, среди 51 пар «вторник-пятница», медианное абсолютное движение составило 0.88%, а худшая десятая часть гэпов покрыла не менее 2.2%. В 2026 медиана составила 1.26%. Фьючерсы на фондовые индексы точно следуют за этой динамикой, поэтому пятничные данные COT описывают рынок, который уже совершил движение. Данные о позиционировании описывают прошлый вторник, а не текущий момент.
«Коммерсанты всегда правы» — это фольклор
На многих товарных рынках категория коммерческих участников структурно является «короткой», поскольку производители хеджируют продукцию, которой уже владеют. Чистая позиция, которая остается отрицательной почти каждую неделю на протяжении десятилетия, — это особенность классификации, а не показатель эффективности. Чтобы превратить любую категорию COT в аргумент, требуется указать горизонт планирования, пороговое значение, выборку, включающую периоды неудач, и честный подсчет того, сколько пороговых значений было протестировано до этого. Та же дисциплина применима к любому индикатору позиционирования толпы, включая тот, что рассматривается в является ли высокое соотношение put/call бычьим сигналом.
Самостоятельный анализ первичных данных CFTC
Для этого не нужны платные индикаторы дивергенции. Комиссия по торговле товарными фьючерсами (CFTC) еженедельно публикует отчет на своей странице Commitments of Traders. Данные доступны в кратком и полном форматах, в вариантах «только фьючерсы» и «фьючерсы плюс опционы», в виде текстовых файлов с разделителями-запятыми, а также в архивах с тысяча девятьсот восемьдесят шестого года. Две привычки помогут поддерживать точность расчетов в электронной таблице: выберите один вариант данных и придерживайтесь его, так как показатели для одного и того же периода в разных форматах различаются, и рассчитывайте процентиль от доли, а не от чистого нетто-значения.
Часто задаваемые вопросы
Что означают категории «коммерческие» и «некоммерческие» трейдеры в отчете COT?
Коммерческие трейдеры уведомляют CFTC о том, что используют рынок для хеджирования бизнес-рисков, например, производители, страхующие объем выпуска продукции, или банки, хеджирующие портфель свопов. Некоммерческие трейдеры — это подотчетные лица, не имеющие таких целей хеджирования; в основном это крупные спекулянты и программы управления фьючерсами. Категория определяется на основании самостоятельного заявления участника.
Задерживается ли публикация отчета COT?
Да. Позиции фиксируются на закрытии торгов во вторник, а отчет публикуется в пятницу после обеда, поэтому к моменту получения данные устаревают на три торговые сессии.
Существует ли отчет COT для акций?
Для отдельных акций — нет. Ближайшими аналогами являются публикуемые дважды в месяц отчеты о коротких позициях и ежемесячная статистика маржинального долга FINRA. Оба показателя приходят с задержкой, и их эффективнее анализировать в виде процентилей, чем в виде абсолютных значений.
Каждая панель здесь сопровождается SQL-запросом, на основе которого она была сформирована. Откройте любую из них, замените тикер, и тот же расчет будет выполнен для любого инструмента в терминале Strasmore.