Избранное трейдера dimaz07
Прошлая часть — см. в моем блоге.
В этой части разберем технику улучшения производительности стратегии, использующую множество моделей.
Одним из наиболее мощных методов улучшения прибыльности вашей модели является объединение нескольких алгоритмов в так называемое «множество». Теория состоит в том, что комбинируя разные модели и их предсказания, мы получаем более робастные результаты. Тесты показывают, что даже объединение простых моделей может быть производительнее более сложной, но единственной стратегии.
Существует три основных техники объединения:
Смешивание:
Смешивание основано на создании моделей, прогоняемых на немного различных тренировочных наборах и усреднения их результатов для получения одного предсказания. Тренировочный набор переделывается путем повторения или удаления вхождений данных, в результате чего получается несколько разных наборов. Этот процесс работает хорошо для нестабильных алгоритмов (например, деревья решений) или, если присутствует определенная степень случайности в процессе создания моделей ( как, например, начальные веса в нейронных сетях). Получив усредненное предсказание для коллекции моделей с высоким значением подгонки, мы можем уменьшить результирующую подгонку без увеличения недооценки, что приведет к лучшим результатам.
В цикле статей "Алгоритмы маркетмейкера" в пятой части был размещен мой код на C# для реализации стратегии оптимального управления ордерами. Пользователь сайта Eskalibur обнаружил в нем несколько ошибок, которые значительно влияли на результат, и доработал алгоритм до полного соответствия оригинальной статье. Его код я поместил в конце пятой части цикла статей (см. также комментарии к ней). Прошу всех, кто пробует применять эту стратегию, использовать именно этот листинг.
Хочу выразить благодарность за проделанную работы Eskaliburу и пользователю r0man, который также работает в направлении практического применения алгоритма. Думаю, у них все обязательно получится, и по результатам разместим отдельную статью на сайте.
Программа позволяет настроить ввод компьютера в сон с последующим выводом из сна с запуском программы QUIK.
В качестве бонуса — ввод логина и пароля в торговую систему.
Внимание: успешный вход не гарантирован, т.к. применяется простой поиск окна QUIK «Идентификация пользователя», и результат может быть отрицательным.
Настройки (путь к info.exe, логин и пароль к ней, а также временной параметр ожидания загрузки QUIK waitfor в секундах) сохраняются в файл конфигурации AutoShut.cfg.
Ведется протокол действий: AutoShut.log.
if (pr > max) { max = pr; ind = 1; } // — если обновляем максимум то в лонг
if (pr < min) { min = pr; ind = -1; } // — если обновляем минимум то в шорт
max -= k2; // максимум плавно опускаем каждую 5-минутку
min += k3; // минимум плавно поднимаем каждую 5-минутку
if ((ind == 1) && (pr < max- stop_long)) ind = 0; // если цена ниже максимума на размер стопа и мы лонге — выход кеш
Окончание. Начало см. в блоге и на моем сайте.
В этой, последней части цикла разберем пример вычисления PIN с применением языка R. Кроме библиотеки PIN языка R будем использовать также библиотеку highfrequency.
Для примера автор берет сгенерированные данные, которые соответствуют формату TAQ — стандарт для акций NYSE. Данные состоят из двух наборов — временной ряд ценового котирования (sample_qdata) и сделки (sample_tdata) и предоставляются в открытом доступе вместе с библиотекой highfrequency.
Нужно отметить что используемые данные взяты только за один торговый день. Обычно, для вычисления PIN применяют больший набор данных, не менее, чем за 60 дней, чтобы выборка была достаточной для правильного определения параметров. Наши данные нужны только для демонстрации процесса получения PIN. Библиотека PIN позволяет это сделать для выборки с любой размерностью, что позволяет применять ее и для высокочастотной торговли. Пример, приводимый здесь, может быть легко расширен для вычисления на другом временном горизонте, большим, чем один торговый день.
В прошлой части мы рассмотрели теоретическую модель, лежащую в основе вычисления вероятности присутствия на рынке информированных трейдеров PIN. Продолжим с эмпирической реализации этой модели.
Для уменьшения пространства параметров модели, обычно предполагают, что частоты прихода ордеров на продажу ϵs и на покупку ϵb равны. В день «хорошей новости» вероятность наблюдения последовательности сделок купли и продажи соответствует:
, где B и S — число сделок купли и продажи соответственно.