Избранное трейдера java
Как я заметил, очень мало трейдеров задумываются о вероятностях процессов на рынке и еще меньше понимают саму суть случайности. Хотя, казалось бы, каждый трейдер имеет дело исключительно со случайными величинами.
Поэтому коротко и по сути)
Заблуждение 1: тренды не могут быть случайными. Почему-то если сказать большинству трейдеров о случайности рынка, он возмутиться: «Нет, какой же рынок случайный! Там же есть тренды!». В этом и состоит первое непонимание.
Многие считают, что если бы рынок был случайным, то выглядел бы примерно так:
На самом деле так выглядел бы, скорее, график доходности за равные промежутки времени. А вовсе не график движения цены...
Посмотрите на следующие 2 графика.
Так уж сложилось, что из всех видов торговли в трейдинге меня привлекает торговля по потоку ордеров.
Этой теме я посвятил довольно много времени и глубоко её исследовал. Писал свой терминал, собирал сырые данные, анализировал их, исследовал API различных датафидов и терминалов: Rithmic, CQG, Nanex, NYSE API's, NinjaTrader API, Sierrachart API, Takion API и др.
Но помимо сбора данных остро стоит проблема их корректной визуализации. Так вот с этим моментом все обстоит очень плохо. Когда человек говорит «Я читаю ленту» в голове представляется картина с сумасшедшим потоком бегущих цифр перед глазами, успеть рассмотреть и уж тем более как-то проанализировать которые практически невозможно. Большая часть из этого потока просто пролетает мимо. Безусловно с опытом наблюдения что-то начинает получаться, но это в лучшем случае 20-30% обработанной информации из всего потока. А если мы говорим о наблюдении за книгой ордеров (стакан, DOM, Depth of market), то здесь все еще хуже. Большая часть информации при наблюдении за стаканом просто не видна, т.к. частота его обновления в ядре биржи может достигать тысяч событий в секунду, а частота обновления стакана на экране вашего монитора в лучшем случае составит 1 раз в 50 миллисекунд (или 20 раз в секунду). Соответственно между двумя изменениями цифр в стакане на мониторе, могут произойти десятки изменений в реальности.
В предыдущей статье мы говорили об эффективных алгоритмах, необходимых для вычисления вероятностей и стат. распределений модели Маркова, которыми являются форвардный алгоритм и алгоритм Витерби. Форвардный алгоритм вычисляет вероятность соответствия данных наблюдения полученным моделью всем возможным последовательностям состояний. Алгоритм Витерби вычисляет вероятность соответствия данных полученной моделью одной, наиболее вероятной, последовательности.
В этом посте будет много формул, но без этого не обойтись, чтобы создать хорошую стратегию, надо разбираться в математической модели, лежащей в ее основе. Следующие части будут более приближенными к практике.
Форвардный алгоритм.
Форвардный алгоритм позволяет эффективно рассчитать функцию вероятности p(O|λ). Форвардной переменной называется вероятность генерации моделью наблюдений до времени t, и состояние j в момент времени t определяется как:
В течении нескольких лет работы, наблюдая за торговлей наших клиентов и их результатами, сформировалось представление о типовых ошибках трейдеров, которые совершаются во время биржевой торговли. Ниже постараюсь описать некоторые из них.
Хочу обратить внимание, что это не абстрактные умозаключения, а результат систематизации наблюдений за реальной торговлей на реальных счетах. Большинство ошибок характерно для ВНУТРИДНЕВНОЙ ТОРГОВЛИ (intraday).
Большие торговые позицииЧасто трейдеры в погоне за быстрой и главное — большой прибылью открывают чересчур большие торговые позиции относительного своего счета. При этом используют весь свой счет, «загружая» его по максимуму. Возникает огромное маржинальное плечо, которое в случае движения цены против трейдера уничтожает торговый депозит в течении короткого времени.
Since the middle of last year, our engineers have been trying to find ways to unbundle the data in the new protocol while still maintaining accuracy and reliability. Unfortunately we haven't found a good way to accomplish this with the data provided by the protocol. We continue to look at our data processing options in cooperation with the CME Exchange. In the mean time, we are happy to be able to continue providing our customers the accurate tick data they have come to expect.
В данном цикле статей начинаем рассматривать модель Маркова, которая находит применение в задачах классификации состояния рынка и используется во многих биржевых роботах. Статьи основаны на постах, опубликованных в блоге Gekko Quant. Также будет рассмотрены практические алгоритмы на финансовых рынках. Код в цикле приведен на языке R. Вначале будет много теории, ее надо хотя бы попробовать понять, затем разберем практические примеры.
Рабочая среда распознавания основных паттернов.
Рассмотрим набор признаков O, полученный из набора данных d и класс w, обозначающий наиболее подходящий класс для O: