Мое имхо: все без исключения методы прогнозирования цены являются «подгонкой» под исторические данные. Продолжение smart-lab.ru/blog/1179192.php
Это фундаментальное ограничение работы с будущим — у нас есть только прошлое как источник информации.
Собственно, сабж, на основе комментариев к предыдущим постам.
Есть алгоритм, одно простое условие на вход и зеркальное на выход. Система реверсная, всегда в рынке. Все тесты постоянной суммой на доступной истории. Стартовая сумма на алгоритм 500 000 ваших новозеландских тенге.
Берём один какой-нибудь торгуемый инструмент из числа ликвидных на фондовой секции МБ, и накидываем на него систему с базовой настройкой условия торгового:
Что-то получилось. Подогнали, видать.
1500 сделок примерно, средняя — вменяемая для издержек и на заработать останется.
Друзья мои, начинаем серию статей «Алго-Лифт». В ней мы будем разговаривать про то, как при наличии хороших скоростных алгоритмов торговли безопасно получить деньги в управление и ворваться в высшую лигу алго.
Назовём мы это «Социальный лифт для алготрейдеров». Коротко: «Алго-Лифт».
А это введение. Обзор того, что в этой серии будет. И также оглавление (оно внизу статьи).
Алготрейдерам это интересно, если они:
Сегодня поговорим про то, как пробросить Открытый интерес из коннекторов в роботов. Будем смотреть на способы, которые пробрасывают данные в свечи и ленту сделок.
Рассмотрим реализацию добавления OI в коннектор на примере Transaq Connector. Идём в проекте сюда:
В предыдущей таинственно исчезнувшей моей заметке на заявленную тему, где я хотел рассказать свою методологию принятия решений при создании и тестировании даже самых простых портфельных стратегий, лесная братва бездумно накидала мне в комментах первое, что им приходило в голову, вместо того, чтобы задавать правильные вопросы или вести конструктивную дискуссию.
Одно из наиболее конструктивных замечаний было примерно следующего содержания: ты использовал текущий топ-50 индекса sp500, а не тот, что был на дату торговли. Списки тогда были другие и вообще ты теоретик голож@пый, который ничего не смыслит в биржевых делах, так что пнх.
Аргумент, что текущие бумаги были выбраны для упрощения расчетов и логику принятия решений при проектировании портфеля это не меняет, принят не был. Ну ок.
В части 2(текущей) размышлений не будет по описанным выше причинам, только результаты бэктеста с ежегодной ротацией бумаг по топ-50 капитализации индекса sp500. Идея была в том, что можно постараться обогнать индекс даже с применением условно простых подходов, если немного покрутить, а не вот то, что большинство подумало.
Все расчеты представлены с начала 2017 года и по END DATE
Сравнение стратегий сформировано по уровню риска, соответствующего общей классификации и обычно устанавливаемого на основании РИСК-ПРОФИЛЯ:
✅ УМЕРЕННЫЙ уровень риска — Основное внимание уделяется балансу между стабильностью портфеля и ростом его стоимости. Инвесторы должны быть готовы принять умеренный уровень волатильности и риск потери основных средств. Типовой портфель будет в основном сбалансирован между инвестициями в облигации, акции и, возможно, с небольшой долей в алгоритмических стратегиях.
Сюда отнесены стратегии — ABTRUST, AITRUST и AITRUST 2.0, которые сравниваются с бенчмарком RUSCLASSICBM*
Показатели стратегии ABTRUST (учитывает налоги и комиссии брокеров):
✅ За период с 2017 года, %: +103.9
✅ CAGR, %: +8.75
✅ Волатильность, % в год: 10.96
✅ Коэффициент Шарпа***: 0.19
✅ Максимальная просадка****,%: 16.41
✅ Коэффициент Калмара*****: 0.55
Показатели стратегии AITRUST (учитывает налоги и комиссии брокеров):
✅ За период с 2017 года, %: +221.3
Алексей продолжает серию юмористических постов о том как они идут в колокацию и HFT. Ок, давайте тогда немного поможем коллегам из OsEngine сократив им этот не лёгкий путь накидав немного советов. И возможно(но это не точно) качество кода вырастет(этот пост удалять не буду как обычно) в общем мотивация для команды OsEngine и Алексея развиваться. Не благодарите за бесплатную помощь, я от всей души.
Беглый взгляд на код на гитхабе сразу цепляет мой «токсичный» глаз и не отпускает его почти всё время пока смотришь их код. Куча потенциальных(и не потенциальных) проблем.
Совет номер раз.
— перечитать умные книги по программированию и архитектуре ПО. В частности полюбить один из постулатов «правильных движений» таких как «DRY» или «донт репит ёрселф» или «не повторяйся» тогда кол-во [эскузэмуя]го.н.кода станет сильно меньше чем у Вас сейчас(и 30 000 строк кода у Вас в тестере превратится в кратно меньшее число уменьшив вероятность потенциальных ошибок, упростив поддержку кода для Ваших программистов(которых Вы выручали с иллюстрациями как этот процесс проходил«smart-lab.ru/company/os_engine/blog/1042133.php»)). «DRY» это примерно так:
Данный пример робота – большой шаг для нас всех в сторону HFT и быстрых алгоритмов. Работающая модель котировщика в 600 строк кода с работающим тестером, у которого, чтобы это стало возможным, 30 тысяч строк кода логики и математики OsEngine под капотом.
И я несказанно рад, что мы заканчиваем публичную часть нашего Гайда по Сеткам на такой ноте. Сетки – не дерьмо, как я думал пару месяцев назад, начиная делать новый слой по сеткам под давлением сообщества. По крайней мере MarketMaking сетки и возможность их выбрасывать и остановить в 20 строк кода по любому сигналу – отличное начала для алгоритмов котировщиков. Это большой прорыв!
Сегодняшний пример: GridPair.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сетки служит раздвижка с «Графика минимальных остатков от разницы двух ценовых рядов с оптимальным мультипликатором», которая должна пробить уровень стандартного отклонения, умноженного на мультипликатор. Выход по обратному сигналу.