Блог им. maestro5k

пару cot

Ох уж эти COTы. Т.к. я торгую в большей части нефть, то и COTы будем гонять по ней))

И так, берём данные COT по WTI (не legacy, а полный формат с расшифровкой по всем группам).
данные с начала 2007 до конца 2015 будем использовать на обучение (LEARN)
данные с начала 2016 до настоящего времени для контроля (TEST)
возьмём нейронку (RNN) и заставим её подумать, а именно найти связь между изменением отчётов COT во времени и будущим движением цены, на входе у неё только данные по COT (плюс цена закрытия) и направление движения рынка на 7 торговых дней вперёд (для обучения), будем регистрировать изменения цен закрытия только выше 5%.

функции определения движения:

Up = (Close == Min(Close, PREDICTION_PEROID)) && (Max(Close, PREDICTION_PEROID) — Close > 5%)
Down = (Close == Max(Close, PREDICTION_PEROID)) && (Close — Min(Close, PREDICTION_PEROID) > 5%)

проверим боеготовность сеточки,
на входе 3 параметра (Close, Max(Close, PREDICTION_PEROID), Min(Close, PREDICTION_PEROID))
её задача найти функции определения движения цены, заданные мной:

LEARN >> eval @ epoch 400: Accuracy = 0,95, Precision = 0,91, F1 = 0,92
TEST >> eval @ epoch 400: Accuracy = 0,82, Precision = 0,79, F1 = 0,80

0.8 на контрольном датасете после 400 прогонов, дальше гонять не будем, работает.


и так, COTы, 16 параметров(OpenInterest,ProducerLongs,ProducerShorts,SwapDealerLongs,SwapDealerShorts,SwapDealerSpreads,MoneyManagerLongs,MoneyManagerShorts,MoneyManagerSpreads,OtherReportableLongs,OtherReportableShorts,OtherReportableSpreads,TotalReportableLongs,TotalReportableShorts,NonReportableLongs,NonReportableShorts) + Close:

LEARN >> eval @ epoch 400: Accuracy = 0,84, Precision = 0,83, F1 = 0,72
TEST >> eval @ epoch 400: Accuracy = 0,60, Precision = 0,56, F1 = 0,45

после 400 прогонов, сетка начала затачиваться под конкретный датасет (неудивительно параметров много), но на контрольном датасете провал 0.45

Срежем количество параметров, вычислив чистую позицию по каждой группе
пример: ProducerTotal = (ProducerLongs-ProducerShorts)/OpenInterest
итого, COTы, 5 параметров
(OpenInterest,ProducerTotal,SwapDealerTotal,MoneyManagerTotal,OtherReportableTotal) + Close:

LEARN >> eval @ epoch 400: Accuracy = 0,78, Precision = 0,71, F1 = 0,60
TEST >> eval @ epoch 400: Accuracy = 0,51, Precision = 0,31, F1 = 0,31

связь с будущим движением цен закрытия — не обнаружена, 0.31 — неуд.

Ну и на последок небольшой cheat. А что, если мы будем знать данные COT за неделю вперёд (так-то они опаздывают на неделю, данные со вторника выходят в конце недели)… Дадим нашей нейронке заглянуть на неделю вперёд в отчётах COT, поможет ли это ей найти связь с будущим движением цены?

LEARN >> eval @ epoch 400: Accuracy = 0,84, Precision = 0,82, F1 = 0,73
TEST >> eval @ epoch 400: Accuracy = 0,49, Precision = 0,38, F1 = 0,38

0.38, увы, прогнозной функции будущих цен из данных COT наша нейронка извлечь не смогла, даже имея данные на неделю вперёд.

Как же использовать COTы? Смотреть экстремумы. Это то малое, но ценное, что у нас есть))
И сейчас наши старшие братья, крупные спекули, фонды, набились в лонг. Им нужно 60+. Но самые хорошие движения начинаются там, где эти ребята ещё не набились в одну сторону.

Удачных трейдов!

    19

    Читайте на SMART-LAB:
    Рентабельность на рынке МФО и в Займере
    Банк России в своем ежеквартальном обзоре  ключевых показателей МФО указывает на важную тенденцию: на рынке растет разрыв в рентабельности...
    🖥 В2В-РТС в гостях у Market Power
    Уже 10 апреля — то есть завтра! — в 12:00 мы поговорим с компанией перед IPO.      🔶 Обсудим: • Планы на IPO и мотивацию: зачем...
    Фото
    Высокие ставки прошли пик давления, но кредитный отбор стал жестче
    По оценке аналитиков Газпромбанка, 2025 год стал периодом ухудшения кредитного профиля некоторых российских корпоративных заемщиков, хотя...

    теги блога Сергей Андреев

    ....все тэги



    UPDONW
    Новый дизайн