Доброй ночи, коллеги!
В одном из предыдущих топиков я обратил ваше внимание на интересный феномен:
1. При работе маркетными ордерами проскальзывание зависит только от биржи/жадности брокера (но не меньше спрэда)
2. При работе лимитными ордерами проскальзывание (ну, так все считают) равно 0
На самом деле, конечно, это не так.
Допустим, мы имеем массив баров в формате HLC. Мой любимый таймфрейм 1m, но можно использовать и более длинные — 1d, 1w etc.
Теперь мы хотим, чтобы наша система работала лимитными ордерами. Это означает:
1. По итогам бара (и предыдущих баров) считаем индикатор и формируем лимитный ордер на покупку/продажу по цене close
2. Если пытаемся открыться вверх по close(t), то открытие состоится, только если low(t+1) будет меньше close(t) хотя бы на 1 прайсстеп
3. Если пытаемся открыться вниз по close(t), то открытие состоится, только если high(t+1) будет больше close(t) хотя бы на 1 прайсстеп
На формат/принцип расчета индикатора мы не накладываем никаких условий
Если при этих условиях аккуратно расписать точную формулу для эквити, то мы (с удивлением) выясним, что в этой формуле присутствует постоянное слагаемое, никак не зависящее от значений индикатора.
ОБЪЯВЛЯЮ КОНКУРС:
50,000 руб. получит человек, который предъявит точную формулу для расчета этого слагаемого (комбинация H, L, C) в срок до 31.08.21.
С 01.09.21 эта оферта отзывается.
С уважением
P.S. Я сам эту формулу давно знаю. Конкурс устраивается исключительно для тренировки мозгов, ну и чтобы было кому переадресовывать неудобные вопросы )))
Почему....
С уважением
Если мое вознаграждение Вас не устраивает — засуньте, плз, свой ответ себе в жопу. Ну или промолчите.
С уважением
P.S. Повторяю — мне ответ известен. Давно.
У меня есть и сильно больше денег)))
А ты, дружище, понаблюдай за конкурсом.
Если удастся — научишься правильно читать и писать по-русски)))
Уже без уважения
P.S. Смотреть на незнакомых персонажей — это для совсем отмороженных человеков. Я пытаюсь общаться с адекватами. Без обид.
(разницу с логарифмом комментировать не стал — оно не в кассу)
На самом деле можно выписать абсолютно точную формулу для эквити (если задан массив значений индикатора/ТС) без всякой стохастики. В этой формуле будет присутствовать свободное слагаемое (независимое от всех предыдущих значений индикатора). О нем и идет речь. И оно неположительно.
С уважением
Массив значений нужен. Иначе как мы поймем, в какую сторону открываться?
Смысл задачки в том, что при открытии лимитниками задержки в исполнении (связанные с периодической невозможности открыться по close на следующм баре) формируют систематический негативный снос финреза. Вне зависимости от того, какая стратегия используется.
С уважением
А вот неисполнение сразу — штука систематическая
С уважением
С уважением
P.S. Итоговая формула для эквити от массивов индикатора и HLC очень громоздка и весьма красива. Свободный от индикатора член посчитать проще.
Ну мудак в натуре, не?
И шо же ты, бро, потер все камменты из предыдущего топика?
smart-lab.ru/blog/714553.php
Ссышь?
Без уважения
P.S. Пруфы в студию плз. Ну или голую жопу )))
В итоге средний член = <<С(t) — C(t-1)>>
С уважением
По теме — понятия не имею, как там что считается. Бью по рынку, закладывая для тестов 2 спреда на круг в виде проскальзывания. Лимитники не использую, т.к. эмпирически как раз в моменты сдвига вероятности и появление сильного тренда, когда системы должны входить, тебе часто будут не наливать в ордер. Точно не просчитывал.
Далее «По итогам бара (и предыдущих баров) считаем индикатор и формируем лимитный ордер на покупку/продажу по цене close». По вашему алгоритму лимитка исполнится. На первом тике следующего бара. По моему не очень реальная картина получается.
Я чё-то опять нихрена не понял. Встаешь в стакан — получишь (или не получишь) цену такую какую вбил. Бьешь по рынку лимиткой получишь цену какую вбил или лучше (исполнишься на всю величину заявки или не на всю). Ну и конечно выставиться по клоузу закрытой свечи не гарантирует исполнение.
В отличие от прикладников с лозунгом — Всё гениальное работоспособное — просто.
Если сделка не прошла, положен ли за это штраф, или нужно выставить заново по другой цене. И в каком направлении ставить?
Я увсегда рассматривал эту задачу применительно к исполнению медленной ТС. При какой цене лимитка даст наименьшие потери, если при неисполнении на следующем такте выставим по прежней или худшей цене по тому же алгоритму.
Ордер перевыставляется каждый бар
С уважением
Хорошо бы более точно и полно описать задачу.
Есть побарный массив значений индикатора (ну или выходов ТС), который состоит из +1 и -1.
Если на баре t он равен +1, то пытаемся встать в лонг по цене close(t)
Получится или нет, зависит от high(t+1) и low(t+1)
Если на следующем баре индикатор остается +1, пытаемся открываться дальше, но уже по цене close(t+1) (переставляем ордер)
Если станет -1, встаем в продажу
Так понятнее
С уважением
P.S. Аутов нет — система всегда в лонге или в шорте. Но можно, конечно, открыться не сразу
А как ее на сайзе эмулировать, если глубины стакана в моменте нет.
По тем тикам (сделкам), что сматчились без вас? А отмену, частичное исполнение как в тестере задать. Все статистически?
Каждую прошедшую минуту проверять объемы свечи. А если его не было, с каким стопом выходить.
Сам автор, про объемы не пишет, они не участвуют в его формуле. Но при этом есть точная формула эквити, как и некоторый коэффициент. Возможно, задача немного не полна.
Явная формула для лимитной эквити очень красива и познавательна (несмотря на свою громоздкость). Из нее можно сделать полезные выводы.
С уважением
P.S. Из программного симулирования выводы делать значительно сложнее
Я положил на это много усилий. Очень много.
Буду в настроении — м.б. подарю в личку.
Но без понимания механики процесса она будет бесполезна. Разве что как бенчмарк, который следует обогнать.
С уважением
Не могу и не хочу ничего требовать
Формула очень простая. Угадать ее абсолютно невозможно (ну это я про себя, итоговое решение меня очень сильно удивило).
С уважением
Те 3 человека, которые (пока) собрались решить задачу, не планируют выкладывать решение. И я не могу их заставлять.
С уважением
EQUITY = EQUITYsig + EQUITYbias, где
EQUITY — результирующая эквити,
EQUITYsig — компонент, зависящий только от сигналов индикатора.
EQUITYbias — компонент, не зависящий от сигналов индикатора (то, что нужно найти по условию конкурса).
При инверсии сигнала индикатора (суффикс inv означает инверсию):
EQUITYinv = EQUITYsiginv + EQUITYbias
но
EQUITYsig = — EQUITYsiginv
поэтому
EQUITY + EQUITYinv = EQUITYsig — EQUITYsig + 2 * EQUITYbias
2 * EQUITYbias = EQUITY + EQUITYinv
Что такое EQUITY + EQUITYinv? Это суммарная эквити, из условия, что на каждом баре мы будем пытаться и покупать и продавать. Часто такое возможно, поэтому, вклад каждого бара в сумму EQUITY + EQUITYinv равен нулю. Для каких баров это не так? Вот пример таких баров:
Это все бары (назовём эту совокупность SPECIAL), для которых
HIGH <= CLOSE предыдущего бара
либо
LOW >= CLOSE предыдущего бара.
Каждый такой бар даст отрицательное приращение для EQUITY + EQUITYinv в размере абсолютного значения (CLOSE — CLOSE предыдущего бара)
Таким образом,
2 * EQUITYbias = -1 * (сумма абсолютных значений (CLOSE — CLOSE предыдущего бара) для всех баров из SPECIAL)
Но это весьма близко к правильному ответу
Чтобы не заниматься формализмом — предлагаю Вам выложить здесь любой минутный массив HLC (и любой рандомный массив индикатора) для комфортного Вам актива (валюты, акции etc.)
Я опубликую число (не формулу) сноса за период, а Вы устраните (мелкие) ошибки в своем рассуждении.
Думаю, это будет справедливо
С уважением
P.S.
0x0.st/-JA3.csv
Там столбцыdate, time, open, high, low, close, indicator
Это EURUSD c ценами, умноженными на 100000, чтобы они стали целыми
Пока предполагаю, что вы имеете ввиду влияние шага цены на снос. Из условия "(комбинация H, L, C)" мне показалось, что вы его считаете стремящимся к нулю.
Расчет начинается со второго бара (дабы успеть посчитать первую разницу цен)
С уважением
P.S. Мне импонирует Ваша манера рассуждений. Если не секрет — на что учились и что заканчивали?
Ok, посчитаем.
Я предполагаю, у вас эксель для расчётов, а у меня его нет. Ок, подумаю, как нам синхронизировать расчёт.
Тогда ошибка содержится в Вашем посте
А скрипт считает правильно
С уважением
EQUITYbias = -1 * (сумма абсолютных значений (CLOSE — CLOSE предыдущего бара) для всех баров из SPECIAL)
У меня уже есть Ваша карта, но при переводе штуки за Начальника с меня сняли комиссию 3%, что овердохуя.
М.б. есть другая карта? Подключена СБП? Внести нал на карту? Что-то еще?
С уважением
С уважением
Не хотите выписать явную формулу для лимитной эквити? (при заданном массиве значений индикатора)
Судя по аккуратности Ваших рассуждений, у Вас это вполне может получиться)
С уважением
P.S. Но предупреждаю — это начало дороги в Ад...
P.P.S. Я опубликовал топик по итогам конкурса и упростил Ваш алго. В итоговой формуле условие можно поменять на Alpha(t)+Beta(t)~=2. Так будет еще ближе к Вашему рассуждению
Я когда примеривался к вашим первым конкурсам, что были в проекте, думал над этим. И я выбрал иной метод. До готового решения я его пока не довёл, но предварительные результаты обнадёживающие. Детали пока не раскрываю — мало ли, вдруг вы вернётесь к идее тех конкурсов, а конкурентов кормить не охота :) Но, если кто-то решит это в аналитическом виде, это будет чистая и заслуженная победа.
Я решил в аналитическом виде)
И саму формулу для эквити и задачу оптимизации)
Более того — существует деформация (однозначное преобразование) ценового ряда, которое переводит лимитную эквити (на старом ряде) в маркетную (на преобразованном ряде).
А сейчас я просто развлекаюсь и ищу единомышленников. К сожалению, их очень и очень мало… Никто не хочет включать мозги...
С уважением
P.S. Неохота кормить конкурентов — есть личка и мейл. Я не думаю, что буду устраивать сильно сложные конкурсы. К примеру, решенную Вами задачу я считаю сложной, поэтому и поставил такой прайс. Однако в общей массе моих вычислений это частный результат, который был получен мимоходом за 5 мин (внутри других, более сложных вычислений). Просто мои выкладки не слишком элементарны, а Вы предложили очень изящное рассуждение. Поэтому деньги я платил с удовольствием, а жабу временно придавил ))) (надеялся, что никто не решит, блин...)
P.P.S. Вы второй человек среди моих знакомых, который смотрел «Начальника» )))
Круто! Хотя Быков — интересный режиссер. Его стоит смотреть (только не заказные сериалы — это адский трэш). И «Начальника» гляньте, плз. Он короткий.
С алго есть проблема. Для решения задачи оптимизации (максимальной эквити) требуется точное аналитическое выражение. Ну или квантовый комп на 512+ кубит. Это уже очень сложно...
С уважением
Если есть аналитическое выражение, да, вы получаете максимум. Но численными методами тоже можно хорошие результаты получать.
1. Я тоже терпеть не могу российское кино. Но Быков — один из 2.5 интересных режиссеров. Как киноман, я за всем этим наблюдаю
2. Франция золотого периода — это мечта. Но хороших фильмов мало. Мельвилль мало снимал и быстро умер. Лотнер быстро скатился в маразм и тоже умер. У остальных — по 2-3 фильма макс.
3. Я уже лет 8-9 как сижу строго на Ю.Корее и Гонконге (с редкими вкраплениями Японии и Латинской Америки). Голливуд смотреть невозможно, Европу уже тоже. К сожалению.
4. Без аналитики численным образом результат можно не получить вообще. Возможно, позднее я опубликую пост, в котором показано, что случайным образом выбранные коэффициенты индикатора имеют нулевую вероятность получить профитную эквити. Во вселенной лимитных ордеров все устроено сложно на самом деле. А во вселенной маркетных ордеров невозможно точно оценить издержки (ну это если не обманывать себя, конечно)
С уважением
Я просто подумал, что этот топик (почти) никто не будет читать до конца.
И расслабился...
Виноват. Исправлюсь.
С уважением