Избранное трейдера MrD
Добрый вечер уважаемые трейдеры. Статья ниже будет полезна для труалготрейдеров, которые самостоятельно пишут свои торговые программы.
Регулярно трейдеры, показывая эквити (например когда подводят итоги), выделяют на ней участки, не относящиеся к работе алгоритмов. «Вот тут я вывел, поэтому не обращайте внимание на это падение», «вот тут я довнёс...» и т.п. Бывает так, что алгоритм заходит не на весь объём и опять эквити выглядит искажённым или трейдер сам меняет объём алгорима.
Сталкиваясь с подобного рода проблемами, предлагается удивительно простое и эффективное решение. Для этого нужно эквити привести к объёму денежных средств используемых алгоритмом.
Другими словами: Эквити записывается на каждое изменение объёма денежных средств занятых алгоритмом. Обозначим эту последовательность Экв (i),
где Экв — запись прибыли, i — номер отсчёта.
Затем из эквити строится разность dЭкв(i).
Простая сезонка на рос рынок, покупка ртс во вторник, продажа в четверг. Мой первый бот был таков с пачкой фильтров. Так или иначе с этого можно начинать и изучение статистических особенностей рынка даст вам возможность первого шага и лучшего понимания рынка.Сделаем бэктесты чуть шире. Первое число это день входа (вечером). Второе число — день выхода (утром).
Сижу как-то раз за рюмкой чая (это было за год, два или три до моего прихода на Smart-Lab} и приходит мне в голову мысль — а почему бы не попробовать прогнозировать котировки.
Прогноз, естественно, на ТФ 1м, который я использую. Время прогноза пусть будет — 5 минут — вполне достаточное для моих сделок, а недостаточно, так прогноз можно и повторить на следующие 5 минут. Архивы котировок по фьючерсам SBRF и GAZR тоже имеются, минимум за год-два за последние 3 месяца перед экспирацией — хватит и на отладку и на проверку.
Все есть, только как реализовать прогнозирование? — ни одной мысли.
Собственно, не особо мне это было и нужно, рабочая система у меня уже была и меня она вполне устраивала, но мысль о прогнозировании засела, и я время от времени ее думал.
Ничего сколь-нибудь конструктивного в голову не приходило, и было решено для прогнозирования использовать нейросеть, тем более, незадолго до того я немного занимался машинным обучением и нейросетями в том числе.
От использования каких-либо предикторов сразу отказался. Плюс 2-3 слоя к нейросети, и если в данных есть какие-либо взаимосвязи, НС сама внутри себя построит нужные ей предикторы. В общем, подаем на НС поток цен 15-20 отсчетов Vc={C(t0-20),C(t0-19),...C(t0)}, нормируем их к динам диапазону НС — Vcn={c(t0-20),c(t0-19,… c(t0-1), 0} — c(t0) у нас всегда = 0, и пусть НС сама мучается с прогнозированием и поиском c(t0+5). И еще, у всякого метода есть область применимости, потому нельзя учить чему попало. Для этого из обучающей и проверочных последовательностей по возможности исключаем области истории, где прогнозирование невозможно. Иначе получим нечто такое.
Написал скрипт на Python, который строит график с точкой минимальных выплат по выбранному фьючерсу. Скрипт основан на библиотеке QuikPy.
Error: [31m The Parser function of type «linkTool» is not defined. Define your custom parser functions as: [34mhttps://github.com/pavittarx/editorjs-html#extend-for-custom-blocks [0mСам я не программист, поэтому на код не ругайтесь )))
Результат выдает в виде графика. Ждать нужно долго ))) Зато потом автообновляется каждые 20 секунд.
Было бы интересно в дальнейшем прогнать исторические значения через машинное обучение с прогнозом цены фьючерса, но не знаю с какой стороны к этому подступиться. Может кто может посоветовать хорошее )))
(окончание, начало здесь)
Обычно выделяют несколько типов изменения спотовой кривой: параллельный сдвиг, изменение наклона и изменение кривизны. Примеры таких трансформаций приведены на рисунке:
В частности, параллельный сдвиг происходит тогда, когда спотовые ставки изменяются на одну и ту же величину. Если ставки по коротким облигациям вырастут сильнее, чем по длинным, говорят об уплощении (уменьшении наклона) КБД, и так далее. Понятно, что реальное движение кривой представляет собой некоторую комбинацию всех указанных типов смещений. У инвесторов и аналитиков сложилась своеобразная классификация этих типов: {bear/bull} {steepening/flattening}; positive/negative butterfly
Например, медвежье уплощение (bear flattening) — движение спотовой кривой вверх с одновременным уменьшением наклона. Положительный баттерфляй (positive butterfly) связан с уменьшением кривизны временной структуры, т.е. она становится менее сгорбленной. Если при этом кривая сдвигается вверх, то короткие и длинные ставки растут быстрее, чем среднесрочные. При движении кривой вниз всё происходит с точностью наоборот: среднесрочные ставки снижаются сильнее.