Избранное трейдера Nickel
Трендовая система исходит из продолжения текущего движения.
Контр-трендовая система исходит из прекращения текущего движения.
В трендовой ТС тэйки длинные и плавающие, а управление риском осуществляется через стоп — потому что движение будет продолжаться.
В контр-трендовой ТС тэйки короткие, а стопы запрещены — потому что движение скоро всё равно завершится.
Но тогда посредством чего происходит управление риском в контр-трендовой ТС?
Концепция работы на рынке:
1. Принимаем, что всё рыночное пространство состоит из 3-х состояний:
— направленное движение (тренд)
- ненаправленное движение (боковик)
- переход между этими состояниями.
2. Создаём торговую систему для тренда (стопы + высиживание прибыли).
3. Создаём торговую систему для боковика (без стопов + короткие тэйки)
4. Применяем наклон эквити или статистику преобладания прибыльных и убыточных дней как индикатор для включения 1-й или 2-й ТС.
Получаем следующий результат:
1. Трендовый рынок. Включается трендовая ТС и зарабатывает на «своём» рынке.
2. Переход от тренда к боковику. Показатели трендовой ТС постепенно ухудшаются, и она выключается.
3. Ненаправленный рынок. Включается ТС для боковика и зарабатывает на «своём» рынке.
4. Переход от боковика к тренду. Показатели нетрендовой ТС постепенно ухудшаются, и она выключается.
5. Закольцовываем эту последовательность действий.
Видит ли кто-то ошибки в такой архитектуре или в применяемой модели?
Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].
В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.
Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:
Как? Купит акции ниже рынка? Да еще и получит деньги за это?
Да да, именно так. В опционах и еще многое возможно.
По привычке, давайте на примере.
Вот допустим решили купить акция KO (кока кола), не важно почему, важно что хотим. Он торгуется около $59.75, можем просто по-старому купить 100 акции по рыночной цене $59.75 заплатив $5975.
Скучно. А вот если бы купили по цене $56 было бы здорово.
Опционы дают такую возможность. Это продажа PUT-ов.
Например PUT $56 26-Фев стоит $0.1, если его продать то берем на себя обязательства купить 100 акции KO по цене $56 в период до 26 февраля.
И так получим, что сразу прикарманим $10 за взятия обязательства, и
1. Если в 26 февраля цена будет больше $56, то обязательства потеряет силу, мы упустили возможность покупки акции, но остались с $10 в кармане.
2. Если в 26 февраля цена будет меньше $56, то мы покупаем их по нашей желанной цене по $56, да еще и имеем дополнительно $10 в кармане.
Идея продажи PUT-ов: за дополнительную получаемую плату обмен возможности купить акции сейчас по рыночной цене на обязательство купит эти акции по определенной цене в период времени.
Хотелось, традиционно, подвести итоги 2019 года, но нового и интересного ничего не произошло, результаты на МОЕКС практически не отличаются от года 2018-го. Поэтому расскажу, насколько важно для HFT торговли написать правильный бэктест. Результаты тоже будут, но на примере отдельных алгоритмов, из набора работающих на Московской бирже.
Для высокочастотной торговли, наверное, самый главный показатель это мгновенная ликвидность. Не буду углубляться в проблему ее измерения, это отдельная задача. В общем случае, чем выше мгновенная ликвидность, тем большую прибыль приносит высокочастотная стратегия. И ваш тест должен правильно обрабатывать весь поток ликвидности, который присутствует в сохраненной маркетдате, чтобы верно эту мгновенную ликвидность отразить. В матчинге бэктеста необходимо сводить в сделки собственные (тестовые) ордера в первую очередь по потоку рыночных сделок используемого актива, и во вторую — по текущей книге заявок. Нарезки в тесте не должно быть никакой, то есть внутреннее время теста должно идти соответственно последней считанной записи в максимальном разрешении, которое транслируется биржей (миллисекунды или даже микросекунды).Также нужно учесть задержку прихода ордеров на биржу после их отправки и задержку коллбэка. Нюансов здесь много, и я как обычно, о них не расскажу:)
А не замахнуться ли нам на Вильяма, понимаете ли, нашего Шекспира?©
Вопрос об оценки тренда (суммой или произведением?)...
Возьмем тайм фрейм -день, точнее фиксированную цену окончания дневных торгов на фондовой бирже…
рассмотрим только три цены (как правило, избыточная информация только запутывает и минимальных данных
вполне достаточно для понимания сути вопроса)....
Пока совершенно, с моей точки зрения, не важно идет определение приращения с помощью логарифма
или через процент (хотя допускаю мысль, что ошибаюсь)...
Возможны четыре варианта приращения цены прошедших дневных событий:
1 ++
2- -
3 + -
4 — +
С энтой точки начинает смущать утверждение А.Г., о том, что тренд определяется произведением
средних приращений, хотя, возможно, для определения тренда, а главное силы его Моментума на бирже лучше
подходит сумма приращений....