Kuzma Shevelev
Kuzma Shevelev личный блог
08 сентября 2025, 02:59

От зрения к мышлению: как создать алгоритм, который "понимает" рынок (Часть 1 - фундамент системы)

Введение: Искусственный трейдер

Представьте себе трейдера-виртуоза. Он с первого взгляда на график оценивает обстановку: «Цена росла последние полчаса — это неспроста», или «Падение было слишком сильным и резким — вряд ли кто-то рискнет штурмовать предыдущий максимум». Его решения основаны на опыте, интуиции и распознавании неочевидных даже для него самого паттернов.

А теперь представьте, что мы хотим создать его цифровую копию. Алгоритм, который не просто слепо следует кодексу правил, а видит, анализирует и мыслит как человек, обладая при этом вычислительной мощью машины. Это наша амбициозная цель.

С чего же начинается любое обучение? С умения видеть. И это — первый и критически важный шаг. Мы создаем для нашего алгоритма «зрение», способное воспринимать и интерпретировать рыночную информацию на человеческом, понятном уровне.

Часть 1: Пропасть между человеком и машиной

Проблема в том, что фразы «сильное падение» или «ровный рост» для компьютера — просто бессмысленный набор символов. Что такое «сильно»? На 100 пунктов? На 1%? А «быстро» — это за минуту, час или день? Человеческий мозг оперирует контекстом и относительными понятиями, а машине нужны четкие, формализованные инструкции.

Наша задача — не заставить компьютер заучить десятки жестких правил («если падение более 1% за 5 минут, то это “сильно”»). Это тупиковый путь. Волатильность рынка постоянно меняется: то, что «сильно» для одного актива или временного периода, «слабо» для другого. Вместо этого мы должны научить его гибкости. Создать такой механизм, который сможет сам, как трейдер, оценивать обстановку, используя те самые «примерные» понятия. Нам нужен относительный, а не абсолютный подход.

Часть 2: Фундамент — учимся видеть кирпичики

Чтобы распознавать сложные паттерны — подобно тому, как мы узнаем знакомое лицо в толпе, — нужно сначала научиться различать отдельные черты: форму носа, изгиб бровей, линию губ. В анализе рынка таким фундаментальным «кирпичиком» является ценовой бар или свеча.

Именно с него и начинается наше путешествие в мир машинного восприятия рынка. Вместо того чтобы сразу бросаться на поиски сложных формаций, мы сосредоточимся на основе основ — на том, как научить алгоритм «понимать» каждый отдельный бар.

Создаем глоссарий для алгоритма: формальные критерии

Как же перевести вопросы «большой/маленький» или «сильный/слабый» на математический язык? Мы вводим формальные, но адаптивные критерии.

  • Размер бара: Мы сравниваем его тело или полный диапазон (high-low) с скользящей медианой диапазонов последних N баров. Бар, чей размер превышает 90-й перцентиль от недавней истории, — однозначно «большой». Тот, что ниже 30-го перцентиля — «маленький».

  • Сила/Направление: Мы оцениваем не только направление закрытия (вверх/вниз), но и долю тела от всего диапазона. Бар с длинным телом и короткими тенями — «сильный» бычий или медвежий. Бар с маленьким телом и длинными тенями — «нерешительный».

Таким образом, мы заменяем размытые понятия на конкретные, вычисляемые значения, основанные на текущем рыночном контексте.

Часть 3: Системный подход к выявлению рыночных закономерностей

Взгляните на изображение ниже. Многие из вас наверняка знакомы с этой классической схемой — она отлично показывает, как цена двигалась в течение периода формирования бара.

От зрения к мышлению: как создать алгоритм, который "понимает" рынок (Часть 1 - фундамент системы)

Это гениальный в своей простоте способ «оцифровать» внутреннюю динамику свечи. Всего одно число от 1 до 9 — и мы уже понимаем, был ли это импульсный рост, нерешительная свеча или отскок от экстремумов. Мы получаем четкое представление о форме и внутренней силе движения.

Но здесь кроется ловушка.

Такой подход похож на то, как если бы мы описывали человека только по силуэту: «идет, сгорбившись» или «стоит, подняв голову». Это важно, но совершенно не отвечает на ключевые вопросы: А он высокий или низкий? Он стоит на плечах у предыдущего «игрока» или едва ему по пояс?

Наш цифровой код «9» говорит о сильном восходящем движении, но он не говорит:

  • Был ли этот мощный импульс всего лишь маленьким всплеском внутри вчерашней зоны консолидации?

  • Или это был настоящий гигант, который перекрыл максимум прошлой недели и обозначил новый уровень?

Мы узнали о форме, но остались в неведении о размере и месте в общей иерархии баров.

Объяснение второй классификации (размер/позиция)

Поэтому нам необходимо пойти дальше. Наша новая задача — найти способ так же лаконично описать не только внутреннюю структуру, но и относительный размер бара и его положение относительно соседей. Нам нужно научить алгоритм понимать контекст.

Мы классифицируем положение бара относительно предыдущего:

  1. Поглощение (Engulfing): Текущий бар полностью «поглотил» диапазон предыдущего. Сильный сигнал.

  2. Внутридневной (Inside Bar): Текущий бар полностью находится внутри диапазона предыдущего. Нерешительность, консолидация.

  3. Внешний (Outside Bar): Текущий бар торговался и выше, и ниже предыдущего, но не смог его полностью поглотить.

  4. Смещение (Offset): Бар закрылся выше/ниже предыдущего, но не перекрыл его экстремум.

  5. Гэп (Gap): Между максимумом предыдущего и минимумом текущего бара (или наоборот) есть разрыв.

Каждая из этих ситуаций говорит рынку о разном балансе сил между быками и медведями.

 

От зрения к мышлению: как создать алгоритм, который "понимает" рынок (Часть 1 - фундамент системы)
От зрения к мышлению: как создать алгоритм, который "понимает" рынок (Часть 1 - фундамент системы)

Часть 4: Мощь объединенного подхода. Рождение языка

Как вы можете видеть на примерах выше, нам удалось найти способ лаконично описать две ключевые характеристики бара: его внутреннюю форму и относительный размер/положение в пространстве.

Что, если объединить оба этих измерения в единую систему координат для нашего алгоритма?

От зрения к мышлению: как создать алгоритм, который "понимает" рынок (Часть 1 - фундамент системы)
Вот что у нас получается. Комбинируя две классификации, мы создаем 153 уникальных состояния рынка. Цифра кажется большой? Давайте посмотрим на это под другим углом.

Пока другие исследователи пытаются накормить алгоритмы гигабайтами сырых данных, тысячами параметров из индикаторов и метрик в надежде, что та самая закономерность где-то в них спрятана, — мы подходим к задаче иначе.

Мы не заваливаем машину данными, мы даём ей язык.

Всего одно число — от 1 до 153 — становится для нашего алгоритма ёмким и точным описанием текущей рыночной ситуации. Это своего рода «ДНК-код» бара, который одновременно сообщает:

  • Что произошло внутри (форма, сетап);

  • И как это выглядит на фоне недавней истории (размер, контекст, сила).

Мы свели тысячи возможных конфигураций цены к 153 осмысленным состояниям. Это не упрощение — это кристаллизация смысла. Мы не теряем информацию, мы структурируем её на языке, который может понять и запомнить наша «счётная машинка».

Что это дает на практике? Практическое применение

Представьте, что теперь наш алгоритм не видит безликую цену, а читает осмысленную последовательность чисел. Вместо  [1.1050, 1.1070, 1.1030, ...]  он оперирует последовательностью  [87, 87, 15, 152, 45] , где каждое число — это законченная история о том, что происходило на рынке в тот период.

Это открывает двери для анализа, который раньше был невозможен:

  • Поиск аномалий: Почему после 10 одинаковых состояний «87» (небольшие восходящие бары внутри диапазона) suddenly появилось состояние «152» (огромный медвежий бар, пробивающий минимум)? Это явный сдвиг в настроениях.

  • Поиск повторяющихся цепочек: Приводит ли последовательность  [45, 45, 87]  (нерешительность, нерешительность, импульс вверх) к дальнейшему росту в 70% случаев?

Так мы переходим от анализа одного бара к анализу паттернов второго порядка — последовательностей этих «ДНК-кодов».

Заключение: Это только начало

Этот фундамент — не конечная цель, а стартовая площадка. Следующим шагом будет научить алгоритм не только запоминать эти цепочки, но и выявлять между ними логические связи, строить «память» о типичных сценариях и, в конечном итоге, формировать собственную иерархию значимых паттернов — ровно так, как это делает опытный трейдер.

Мы дали ему зрение. Следующий шаг — дать ему память и способность к дедукции. И этот путь, основанный на четком системном подходе, обещает привести нас к созданию по-настоящему мощных и логичных инструментов для анализа рынка.

22 Комментария
  • CapITank
    08 сентября 2025, 05:05
    да хрень это собачья… поймете еще, все впереди. спорить не стану, дерзайте, мне как то пох, результат я знаю. (см первое предложение)
  • CapITank
    08 сентября 2025, 07:35
    Rustem32, нисколько не возражаю! ей может и больше! только я про «прок и толк», а не возраст. Начать можно с чего угодно, это дучше чем ничего, слов нет, но шансов..
    приглашение в ТГ скоро появиться ? 
  • SergeyJu
    08 сентября 2025, 08:47
    Не могу себе представить заявленного автором трейдера — виртуоза. Только если виртуоза-флудера. 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн