Блог им. Buybuy

Ранние мысли о конкурсе

Доброй ночи, коллеги!

Есть идея проверить текущие скиллы community на предмет умений в оптимизации / curve fitting.

Первый конкурс предполагается очень простой, поэтому приз — 5,000 руб. Но и задача простая. Можно и поднять ставку, но пока не ясно, зачем?

Есть массив минутных баров EURUSD длины, к примеру, 14400 баров (2 недели) и сколь угодно длинная предыстория для обучения (до 250,000 баров в целом. Думаю, будет более, чем достаточно))))
Требуется подобрать оптимальный линейный индикатор, который покажет максимум эквити.

Эквити маркетная, считается по формуле dEq(t) = (x(t)-x(t-1))*sign(ind(t-1))
Здесь t — время, x — цена
Эквити в целом = сумма приращений эквити (dEq(t)))
Индикатор ind(t) — линейная комбинация приращений цен до момента t (в будущее не заглядываем)
Глубина этой комбинации особо не ограничивается (см. ниже)

Задача — показать максимум эквити на тестовом участке

От участника требуется массив коэффициентов индикатора в формате csv определенной длины (любой до 16000, дабы можно было легко делать верификацию в Excel) и его понимание финреза стратегии на тестовой выборке. В случае аномально большого количества заявок можно ввести символическую плату (100 руб.?) за проверку данных, чтобы отсекать разную лажу. Возможно, я договорюсь с исполнителем и о меньшей цене, благо надо всего лишь вставить массив данных в таблицу и сравнить результат с анонсом. В любом случае, я лично этой хней заниматься не буду.

Ваше мнение, коллеги?
Работаем или ну его нах?

С уважением

P.S. Предупреждаю, что многие «традиционные» оптимизаторы на таймфрейме 1m косячат изрядно. Про TSLab мне это известно точно, про MT4/5 со слов вполне опытного коллеги.
P.P.S. Мне известен абсолютный максимум, который невозможно перебить. Обозначать его изначально нет смысла, т.к. резко сократится количество интерессантов. Однако, я могу сообщить его некоему согласованному escrow и поднять приз х10 в случае его превышения )))
★1
41 комментарий
Я бы и попробовал решить интересную задачу за бесплатно, но совершенно не понимаю ТЗ
avatar
ICWiener, да все просто на самом деле

1. Я выложу массив из 250000 минутных баров в формате OHLC
2. Первые 235600 баров для обучения системы
3. Последние 14400 баров боевые
4. Задача — подобрать коэффициенты (до 16000 шт.) линейного индикатора, который будет делать сделки на тестовых 14400 баров
5. Коэффициенты индикатора (в количестве N) умножаются на приращения соседних цен (в количестве N) для получения значений самого индикатора. Если результат >=0, то покупаем на текущем баре, если <0, то продаем на текущем баре
6. Задача — получить максимально возможный максимум эквити на боевом участке

С уважением
avatar
Мальчик Buybuy, не понимаю, что такое «линейный индикатор». Это заранее заданная функция, к которой надо подобрать коэффициенты? И система реверсной получается?
avatar
ICWiener, ну Ок

Линейный индикатор — это линейная комбинация предыдущих приращений цен. К примеру:
1. Если все коэффициенты линейного индикатора равны 1 — получаем «моментум»
2. Если все коэффициенты индикатора — прямая, получаем «текущая цена минус скользящее среднее (с тем же размером окна)»

С уважением
avatar
Мальчик Buybuy, пойду спать, а завтра попытаюсь разобраться. Насколько я понимаю — это типичная задача для решения нейросетью. И сомневаюсь, что это применимо к трейдингу.
avatar
Мальчик Buybuy, в задаче разобрался и по поводу нее могу сказать следующее:

1) Я согласен с @$100, что путь подбора линейной комбинации — тупиковый

2) В свое время, когда я ковырял нейросети, думал, а зачем нам вообще умничать. Берем нейросеть, а она уж как-нибудь сама найдет зависимость между свечами и будет торговать в плюс. И нейросеть находит этот универсальный ключ для тестируемых 100 дверей, но уже 101 открыть не может, не говоря о 102.

3) Раз вам известен абсолютный максимум — скорее всего, это значит, что оптимизация проводилась Out of Sample участке, поэтому можно сказать, что ваша идея работает, потому что работает у вас, но это лишь курфитинг. Поэтому это я должен дать 14400 свечей Out of Sample, чтобы вы убедились в работоспособности «системы».

4) Если бы результат «подгонки» работал, хотя бы некоторое время, нам достаточно бы было алгоритма, который постоянно оптимизирует параметры на последнем участке и у вот у нас грааль за три копейки. Но, так не работает.

5) Лично мой принцип подбора коэффициентов системы противоположен идее: «обучаемся на большом участке, тестируем на малом». Наоборот, коэффициенты я подбираю на участке в месяц, а профит должен быть на участке в годах.

6) Есть результаты у @fxsaber которые он описал в этом посте. Но вряд ли в основе лежит подбор линейных коэффициентов.
avatar
Мальчик Buybuy, а почему не 5000 usd?
это же золотое дно.
Результат покажете публично?
avatar
Мальчик Buybuy, 
1. Я выложу массив из 250000 минутных баров в формате OHLC
2. Первые 235600 баров для обучения системы
3. Последние 14400 баров боевые

Логичнее было бы выложить  только первые 235600 баров, чтобы последние 14400 оставались тайной. Иначе, зачем подгонять первые 235600 баров, если можно сразу подогнать боевой участок, за который положено вознаграждение)
Дело благое. Тут и фактор обучения и фактор вовлечения. И попытки пошевелить серое вещество у масс.

Аномально много кандидатов не будет, не переживайте)
avatar
ruru42, нивапрос

Будет меньше 50 — сам посчитаю for free
Благо несложно )))

С уважением

P.S. Следующие этапы будут сильно сложнее. Интерессантов не будет?
avatar
Мальчик Buybuy, предполагаю будет немного, субъективно.

Добавлю столько же в призовой фонд, если массив данных будет на криптуле (просто потому что Тим её не очень жалует).
avatar
ruru42, гыыыыы

Можно устроить частный спор на крипте)
Без ансамбля… Сам бля… Один бля...

С уважением

P.S. С Вас провайдер котировок. У меня аудированные тиковые массивы только по BitMEX и Deribit
avatar
Мальчик Buybuy, битмекс бтц юсд бессрочный любой таймфрейм отлично подойдёт.
avatar
ruru42, Ок

Принимаю частный спор.
Если подписываетесь — завтра выложу тестовый массив минутных баров в отдельном топике (поспать еще надо).
Скажем, бессрочный BTCUSD с BitMEX.

С уважением
avatar
Мальчик Buybuy, я подтверждаю согласие в +5к руб в приз фонд (вышлю вам на любые реквизиты в течение суток, в личку).

Участвовать в конкурсе пока желания нет, посмотреть на результаты желание есть.
avatar
ruru42, Ок

Принято, дружище

С уважением
avatar
Мальчик Buybuy, и да, я не спорю ни на деньги, ни на интерес)
avatar
ruru42, нивапрос

Пусть это будет бутылка вина (ординарного, но вкусного).
Ну или просто смайлик на СЛ)

С уважением
avatar
Единственная объективная методика тестирования алгоритмов — WFT.

Линейный бэкстесты на сколь угодно длинном периоде и сколь угодно малом таймфрейме — развлечение для бедных мечтателей))

Я не знаю ни одного алгоритма, способного показать приемлемую эквити на многоповторном WFT… а я их перепробовал сотни)
avatar
$100, это я уже слышал

Кстати, Вы так и не ответили на мой вопрос, можно ли предсказать будущий профит на основании предыдущих исторических данных?

В этой же теме речь идет строго про curve fitting )))

С уважением
avatar
Мальчик Buybuy, я уже писал об этом… формула мечтателей-алготрейдеров выглядит так:

f(x,p) = f(y,p)

где:

f — некая функция (простая или акуенно сложная)
p — параметры
x — прошлые данные
y — будущие данные

Мечтатели тупо верят в эту нелепую формулу потому, что они тупо смотрят на график и видят, что он выглядит всегда примерно одинаково — год назад, два года назад, месяц назад, вчера, сегодня. Они не видят разницы.

Но покажите эту формулу математику — и он обоссыт вас кипятком))
avatar
$100, ну, я математик © Операция «Ы»

А вы, похоже, слабо владеете предметом.
Без обид.
Решение существует для широкого класса процессов.
В т.ч. для ряда приращений цен.

С уважением
avatar
$100, а Вы сами чем занимаетесь на бирже?
avatar
$100, я знаю

И что?

С уважением
avatar
Eugene Logunov, да я могу и здесь написать, если интересно)

Факап — это, практически, мое второе имя)

С уважением

P.S. Могу создать отдельную тему — за факапы в алготрейдинге)
P.P.S. Задачку слабо решить? Или лениво?
avatar
Eugene Logunov, не-не-не )))

Я в жизни много чего предполагал, и мало что из этого сбывалось
Поэтому — либо явное решение, либо — участие в конкурсе

С уважением

P.S. Опубликовав явное решение у Вас есть шанс сэкономить мне несколько тысяч рублей… И, хотя для меня это совсем небольшая сумма, моя благодарность не будет иметь границ в разумных пределах. Ну, или, Ваше решение окажется неверным. Тогда я лично обещаю устроить на СЛ славный говносрач ))) 
avatar
На фоне мальчика buybuy и Eugene Logan Logunov всегда чувствуешь себя доисторическим человеком!))) Какие же вы молодцы!
avatar
Андрей, 
а фоне мальчика buybuy и Eugene Logan Logunov всегда чувствуешь себя доисторическим человеком!
раньше тоже так казалося....

Они-с миллисекунды полощут роботами…

уйдите за дневки и почувствуете себя  Историческим Человеком
там денег не меньше… если не больше…
avatar
wistopus, чем меньше таймфрейм, тем больше денег?) Но тут ещё, чем больше ты профи, тем ниже таймфрейм, выходит
avatar
Андрей, 
чем больше ты профи, тем ниже таймфрейм
Блажен кто верует…
avatar
wistopus, намного больше.
avatar
Eugene Logunov, 
дневки в основном полощу. А иногда — они меня
я Вас понимаю… мне тоже там вставляют периодически, в то место, про которое я Вам не скажу, но там хотя бы Ньютоновская физика...

а на миллисекундах — квантовая физика… там только Мальчишка со с своим высокообразованным математическим аппаратом понимает, что происходит..
ну и еще, наверное, — 2,5 человека с сайта…
avatar
Увы, пока совсем нет свободного времени. Может быть до конца года и решу задачку, уже для себя.
avatar
P.P.S. Мне известен абсолютный максимум, который невозможно перебить.
Так и мне известен, давайте 5.000)
avatar
Ну вообще финрез высокочастотников в основном зависит от волатильности торгового инструмента и от трансакционных издержек на сделку. Могу только предположить, что расчётный предел = k * плечо * (sqrt(variance) — комиссия ± спред) * t, где k=1. Всё остальное лежит в диапазоне k от 0 до 1 и мани-менеджмент через плечо:))
avatar

теги блога Мальчик buybuy

....все тэги



UPDONW
Новый дизайн