Блог им. Buybuy

Так ли важен для алготрейдера прогноз знака будущего приращения цены?

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

Почти перестал читать СЛ.

Мои любимые модеры постоянно отправляют меня в бан. Даже не знаю, как реагировать на такое повышенное внимание. А, поскольку мой недавний топик выявил, что женщин-модераторов на СЛ нет, такое повышенное внимание меня реально напрягает...

Про рынок никто не пишет, к топикам про то, как я слил денег, присоединяться не хочу (не слил, а поднял).

Поэтому хочу опять написать про рыночную математику.
Ибо без нее (IMHO) рассчитывать на плюс в долгосроке по меньшей мере безрассудно.

Начнем с азов.

Допустим, что результат рыночной сделки (плюс или минус) — это разница цен покупки и продажи.
На самом деле это не очевидно (при работе лимитными ордерами это вообще не так), но такая модель достаточно проста для начала дискуссии. Уверен, с ней согласятся 99% участников community.

Далее

Допустим, у нас есть торговый индикатор. И этот индикатор линейный — это линейно-взвешенная комбинация предыдущих приращений цен.
Такому допущению есть 2 причины:
1. (моя) Я умею доказывать, что любая ТС, базирующаяся на индикаторе — вычислимой функции — эквивалентна (в плане эквити) портфелю ТС, основанных на линейных индикаторах. Возможно, такой портфель будет состоять из бесконечного набора ТС.
2. (традиционный подход) Оптимальная ТС базируется на наилучшем прогнозе цены. Если принять подход ТВиМС (привет уважаемому А. Г.), то наилучший прогноз будущего приращения цены — это условное МО. В случае нормального (и близкого к нему) распределения, такой прогноз будет линейным.

Теперь мы готовы сформулировать задачу нахождения рыночного Грааля

Пусть X(i) — это массив цен
Пусть d(i) = X(i) — X(i-1) — это массив приращений цен
Пусть s(i) — это массив значений линейного индикатора. s(i) = сумма z(i)*d(i-k), где z — коэффициенты. Зависит от d(i-1), d(i-2), ...

В такой модели значение эквити выглядит так:

сумма( d(i)*знак(s(i) )

Теперь переходим к сути вопроса

1. Чтобы максимизировать эту сумму, совершенно недостаточно хорошо предсказывать знак будущего приращения цены
2. Ну т.е. нужно хорошо предсказывать знак больших приращений цены, но можно косячить на малых
3. Похожая задача — максимум суммы( знак(d(i))*s(i) ) решается полностью и вполне элементарно
4. И эта постановка полностью эквивалентна наилучшему прогнозу будущего знака приращения цены
5. Но саму задачу максимума эквити это не решает

Возможно, настал момент очередного конкурса с призом 50-100 тыр.

Идея — чистый curve-fitting.

Ну т.е. многие местные резиденты реально утверждают, что подгонка может дать 1000000% !!!

Вариант:
1. Я выкладываю историю актива, скажем, в размере 10000 баров
2. На конкурс принимаются индикаторы длиной до 9999 баров
3. Побеждает тот, чей линейный алго даст наибольший профит

Почему 10000? Потому, что более длинный трек перегрузит 99% оптимизаторов. При желании можно оптимизировать 1000000 баров.

Будет интерес — отписывайтесь здесь, в этом топике.

С уважением
 
★2
67 комментариев
пиши посты как этот и тебя будет не за что банить👍
Тимофей Мартынов, эх, дружище...

В теории я готов. Но:

1. Такие посты, как этот, никто не читает
2. Другие посты все читают и обсуждают. Но за них банят...

С уважением
avatar
Мальчик buybuy, ну ты пиши на темы, которые соответствуют тематике смартлаба, без политики и тп
Тимофей Мартынов, нивапрос

Закончится СВО — обещаю сразу забыть про политику

Ну и не забывай о том, что я определенное время отработал в ВПК и даже сделал феерическую карьеру (об этом я не писал).
Поэтому я не выступаю критиком текущей политики — а просто тихо удивляюсь, как профессионал.
Если вкратце — меня учили действовать по-другому.

С уважением
avatar
Мальчик buybuy, когда закончится сво кстати? не в курсе?
Тимофей Мартынов, понятия не имею, если честно

Все знакомые фейсы в состоянии грогги...

Я думаю (IMHO), что нас ждет пролонгация до начала 2024.
В моменте ведомство Кириенко не справляется, но за 6 мес. до выборов Президента они просто обязаны мобилизоваться )))

С уважением
avatar
Тимофей Мартынов, может тебе самому так попробовать писать
------------------------------------------------------------
Почти перестал читать СЛ

Сам такой же. Надо конечно вообще уже с ним порвать...
avatar
тема без тегов тэгов без формул без графиков
и все забудут через день

хотя важные темы спасла бы справа вкладка Наука
где ежедневно менялись бы спец темы
Про рынок никто не пишет, к топикам про то, как я слил денег, присоединяться не хочу (не слил, а поднял).

трепло ты, это все что я могу тебе сказать по поводу торговли!

Я выкладываю историю актива, скажем, в размере 10000 баров

ты идиот,! это к твоим — математическим «домыслам»!

10000 для минутного графика это просто ни о чем!

10000 для часового графика это еще куда ни шло

10000 баров для дневного графика — тут можно найти систему

10000 баров недельного графика, нет ни на одном терминале

другими словами, не хрена ты не в состоянии знать направление приращения цены!

нет ни чего сложного доказать что ты трепло, у меня идет стрим, без проблем добавлю тебя в скайпе в отдельном окне и наглядно сам же дакажешь на примере своих же сделок что кроме как балаболить, ты больше ни хрена ни чего не можешь!
avatar
Maestro, чешский клюшечник?!

Тогда да — добрый вечер, маэстро )))

С уважением
avatar
Maestro, 
10000 для минутного графика это просто ни о чем!

В сутках 1440 минут, в двух сутках 2880 минут, в пяти сутках 7200 минут!!!

Для тех кто разобрался, для интрадея достаточно как правило 1440-2880 минут истории, изредка 4320 минут.
А кто не разобрался, тот чертит разноцветные треугольники и всех на хрен посылает, т.к. мозгов разобраться ему не хватает!

avatar
100 тыщ конечно не валяются, и вы, таки, будете смеяться, но я не дам вам свои индикаторы.)
Еще и учить ими пользоваться (инструкцию по эксплуатации) — избавьте.)
avatar
3Qu, а их и не надо давать

Надо дать массив чисел для данного конкретного кейса.
Не буду же я проверять программы разные хитромудрые?
(не царское это дело)

С уважением
avatar
Мальчик buybuy, 
2. На конкурс принимаются индикаторы длиной до 9999 баров
а это как понимать?
avatar
3Qu, как тотальный curve-fitting

Ну т.е. индикаторы изготовляются с учетом знания будущего

10000 значений цены = 9999 значений приращений цены

С уважением
avatar
1. Нужна история FullOrderLog за год 
2. Нужны не индикаторы по барам, а методы принятия решения в зависимости от FullOrderLog  с реалистичным latency, price-impact и fillrate
3. Побеждает дружба!
avatar
wrmngr, ну вот не факт

На минутных барах все вроде Ок
На тиках есть нюансы, но:

Приведите, плз, примеры бирж, на которых тиков в минутном баре больше 1000

С уважением
avatar
Мальчик buybuy, прошу прощения, а зачем вам более тысячи тиков в минутном баре я не пойму? тик это же суть сделка — кто-то купил а кто продал. Ну и что? это истинная цена в моменте или что?
avatar
wrmngr, прошу прощения

А зачем Вам история FullOrderLog за год?!

Я предлагаю чистый эксперимент

1. Известна ценовая история в размере 10000 баров (и предыстория в размере 10000 баров)
2. На конкурс принимаются индикаторы, оперирующие 9999 предыдущих приращений цены
3. У кого больше эквити — того и тапки

Что я написал не так?
Как по мне — чистый curve fitting.
Не?

С уважением
avatar
Мальчик buybuy, курвфиттинг? А зачем он вам? Подогнать кривульку по историю не сложно, но выхлопа нет же
avatar
wrmngr, дык не мне он нужен )))

Я просто хочу показать, что
1. Никто (ну кроме меня… краснеет...) не умеет решать задачу максимизации эквити
2. Так что curve fitting на известных данных может иметь 3-4-5-6 разных максимумов… И каждый из авторов решения будет уверен, что его максимум — максимальный ))) Но награду получит только максимизатор максимального максимума )))

С уважением
avatar
Мальчик buybuy, минутки ohlc, эмуляция сделок по закрытию бара? Высылайте, ради интереса поучаствовую
avatar
wrmngr, высылать ничего не буду

1. Будет 10+ голосов — устрою конкурс
2. Никакой эмуляции нет — трейдинг предполагает либо открытие сделки по цене закрытия бара (close), либо по смещенной цене (close+-markup). Прочие варианты науке неизвестны. Если они есть — просветите, плз

С уважением
avatar
Мальчик buybuy, а, неправильно понял, сорри. Эмуляцией я назвал бектестинг на исторических данных всего навсего. Да, по цене close
avatar
Maestro, клюшечник!

Расслабься, плз

Вот я, к примеру, не сру в твоем блоге

Зачем ты пришел срать в мой блог?

Неймется?
avatar
Мальчик buybuy, потому что ты достал реально! трейдер офигенный! Я тебе уже сказал без проблем внделю тебя в отдельном окне в своем стриме и сам же через пару дней слиняешь, потому как точно знаю какой ты трейдер!
avatar
Maestro, я с тебя о@уеваю, если честно

Ты вроде неплохой чувак спортивного типа, жена в меру симпатичная, домик скромненький в Праге есть — чтож ты меня достаешь то?
Жена не дает?
Или пепел Клааса стучит в твое сердце?
Или страдаешь, что не можешь 200% годовых заработать?

Пока с уважением
avatar
Мальчик buybuy, ты меня с кем то перепутал, это кто то может с тобой разговаривать как с якобы человеком, просто глянь стрим и в минуту поймешь кто именно тебе говорит что ты идиот! и наглядно доказывает что 10000 баров это только в твоей тупой башке что то значать для исследования рыночного движения!

даже для часового интервала времени 10000 баров это всего лишь фрагмент ценового построения из целого
avatar
Maestro, я вообще стримы не смотрю от слова совсем

Но мог чего-то перепутать спьяну (трезвым не пишу)

Если ты не чешский клюшечник (севен), то точно Костя-бабочка

Если ты не Севен и не Бабочка — пшел нах из моего блога!
avatar
Мальчик buybuy, ты точно угадал с кем именно имеешь дело, потому рот свой закрой и в жопу засунь себе 10000 баров — спец хренов! только балаболить и можешь! и обсуждать эту хрень с 10000 баров могут только такие же придурки как ты
avatar
Maestro, Аааааааааааааааа

Привет, треугольное у@ебище!

Расскажи, куда ты сегодня в моменте засовываешь свои треугольники?)

Без уважения и с сожалением
avatar
Мальчик buybuy, пока что я хоть в состоянии и сказать и показать, что именно стоят мои треугольники в деле, а вот судя по тому как ты слинял с темы отдельного окна в стриме ив совокупностью с 10000 барами мне говорит только о том что ты ТРЕПЛО! 
avatar
Maestro, эх, сумасшедший ты наш...

Лучше бы у тебя нефритовый стержень стоял...

Тогда бы ты не лез со своим говном в чужие блоги
Ну или в гости заедь — лично морду набью за твое хамство
Можешь вместе с охраной — у меня она тоже есть )))

С уважением
avatar
Мальчик buybuy, Ты можешь трепаться сколько угодно, но после 10000 баров и моих комментариев то какой ты исследователь рынка понятно будет каждому первому, то как ты слинял с темы стрима, понятно  каждому первому, т в совокупности это говорит только о том, что кроме как балаболить, больше ни на что ты не способен!
avatar
Maestro, ну ты в натуре е@анько!

10000 баров — это условие конкурса для curve-fitting
Свои стратегии я тестирую минимум на 1500000 баров

А у тебя нефритовый стержень сколько баров в длину?
А в карман сколько баров помещается?

С уважением
avatar
Maestro, зачем хамить-то :(
avatar
Maestro, я не торгую, потому что это не выгодно.) Уже почти год.
avatar

1. Чтобы ловить «хорошие приращения» нужно добавить триггер к этой системе на вход и на выход (например входим если были большие приращения на предыдущих шагах, выходим если например приращения упали в два раза). В итоге будете входить реже в рынок, но прибыль на сделку будет выше. 2. Сама оптимизация не так важна, сколько важно количество варьируемых параметров. Это количество должно быть минимально возможным, и самое главное алгоритм должен быть плюсовым для широкого диапазона этих параметров в окрестности точки оптимизации.

avatar

Конкурс должен быть иного рода- выкладываете актив на 5000 баров, строите алгоритм на этой истории, а проверяется на следующих 5000 барах. Тогда этот конкурс имеет смысл.

avatar
Trufel, это невозможно (уже обсуждалось)

Фантазийный актив не подойдет
Реальный по 5000 баров диагностируется с вероятностью 99.9%
И...

С уважением
avatar

Я сейчас перечитал и не совсем понял, а зачем вам знать знак следующего приращения? Проходитесь по всем z параметрам и находите максимум. Или вы имели ввиду, что матожидание зависит не только от вероятности угадывания, но и от самой случайной величины? Т.е если угадываете в 50%, но когда угадываете получаете больше чем проигрываете? Так в этом ничего нового нет. Так и нужно на мой взгляд делать. Совершаете много мелких сделок в минус, но иногда получаете хороший плюс, который перекрывает все минусовые сделки.

avatar
Здесь нужно не только научиться решать задачу максимизации эквити, но и подобрать оптимальное количество коэффициентов. Если выбрать 9999, то у нас в итоге будет только одна сделка — последняя. А если это curve fitting, то, вероятно, чем больше будет сделок, тем лучше, а значит нужно маленькое окно коэффициентов. Но вместе с этим вряд-ли коэф длины 1 будет давать максимум, с ним этот трюк не провернуть. Значит, оптимальное значение находится где-то посередине. (N_coef = 5000? Хе-хе, не все так просто...).

На счёт максимизации. Вы в одном из прошлых постов писали про симплекс метод. Лично я не вижу, как его здесь применить. Опишу свои мысли:

В первую очередь, в симплекс методе необходимо записать целевую функцию, которую нужно максимизировать (f=c1*x1+...+ck*xk->max). В принципе логично, что на роль f должна подходить непосредственно эквити, так как именно ее мы хотим максимизировать, но проблема в том, что она будет нелинейная из-за sign(•).

Следующий момент: в симплекс методе также нужно сформировать n ограничения типа равенств (неравенств). Что именно в условиях вашей задачи будет этими ограничениями? Хотя тут скорее всего будет так: если следующее приращение d(i) >= 0, тогда текущее ограничения неравенство будет s(i) >= 0. Если d(i) <= 0, то s(i) <= 0. Ведь так? Но если каждое такое неравенство будет выполняться, тогда как вообще можно говорить, что индикатор «косячит на малых приращениях», если он подогнан не косячить вообще? К тому же, если выполняются эти все неравенства, то функция цели автоматически максимизируется, разве нет?

Подозреваю, что здесь будет в итоге просто система линейных уравнений (неравенств?) Размера 5000 х 5000 и всё. Кидайте свой датасет, проверю этот вариант. 

Кстати, слежу за подобными вашими конкурсами давненько, и вроде бы вы ещё ни разу не выкладывали эти свои бары. Все балабольство какое-то. 

И ещё, что ваш идеальный линейный индикатор покажет на вырожденных барах приращений типа (1,1,1,...,1,1,1)? Покажет ли он прибыль 10,000$? Лично я сомневаюсь. Этот пример показывает, что линейный индикатор длины 5000 не будет решением всегда, а значит все же надо и длину коэффициентов тоже фиттить.

Предположу, что для случая 5000 задача решается +- легко. Но вот если количество коэффициентов в линейном индикаторе меньше, то лично мне неочевидно, как решить. Например, взять случай для 10. Впереди будет еще 9990 приращений. А значит количество уравнений значительно превышает количество переменных, матрица вряд-ли сведется к квадратной, поэтому решений не будет, а значит в этом случае нужно позволять индикатору где-то ошибаться, но как понять, где? Взять 10 максимальных по амплитуде приращений и фиттить только на них, а остальные игнорировать?

P.s. под NDA вышлете решение? 

С уважением
avatar
PlaDJ, не, не вышлю

Но подискутировать готов
Хотя в моменте не согласен со 100% озвученных Вами тезисами )))

С уважением
avatar
Я далеко не математик, но можно попробовать:
1. Подогнать модель AR(p) для этих приращений. 
2. Линейную регрессию с тренировкой на данных. Придется оптимизировать скользящий период.
avatar
Riskplayer, AR не работает

Почему — это весьма тонкий вопрос
Еще версии будут?

С уважением
avatar
Мальчик buybuy, AR в лоб понятно работать не будут. Нам важно не значение, которое получится, а его знак. Т.е. если на выходе положительное значение, значит лонг, если отрицательное, то шорт.

Может можно попробовать еще преобразовать ряд приращений в ряд знаков приращений (т.е. если положительно приращение то равно 1, отрицательное = -1). Попробовать как-то прогнозировать через какие-нибудь методы deep learning. 
avatar
Закинь на kaggle, тут это ни кому не нужно. Бесполезно
avatar
Если трейдер способен делать вход с нулевой просадкой, то знание направления будущего приращения вообще теряет смысл. Но алготрейдинг не об этом, к сожалению.
avatar
tex,  а нулевая просадка — не означает ли, что неверное направление откинуто? Переформулировка в другом термине просто.
avatar
svgr, а есть верное и неверное направление??? Объясните, если сможете))
avatar
tex, в теме речь о знании знака будущего приращения цены. Вверх или вниз. Если взять большой шаг времени, то это просто направление тренда за это время. Вот вырос Сбербанк за месяцы на 30%. Кто стоял вверх — тот был в верном направлении и терпел по ходу минимальные просадки (в идеале — нулевые). Кто стоял вниз и не выходил — потерял много, стоял в неверном направлении.
avatar
svgr, два трейдера в одно и тоже время и в одной точке встают в противоположные стороны. Первый через пять мин вышел с прибылью 2%, а второй через год вышел с такой же прибылью. Ответьте на вопрос: у какого трейдера было верное направление?
avatar
tex, если шаг времени — пять минут (не отклоняемся от заявленной темы — обсуждения приращений), то первый стоял в верном для этой пятиминутки направлении. Второй — в неверном. Если шаг времени — год, то наоборот всё с ними.
avatar
svgr, вы на вопрос можете ответить без если? Потому что если начнем разбираться с какимто шагом времени, то времени точно не хватит.)) 
   Направлений всего два, а шагов времени можно напридумать много, точно также как и трейдеров может быть не два, а любое количество, поэтому вряд ли правильность направления зависит от какогото шага времени и количества трейдеров. Вы не правы? 
avatar
tex, 
Пусть X(i) — это массив цен
Пусть d(i) = X(i) — X(i-1) — это массив приращений цен

Вот это i автор не конкретизировал в постановке задачи. Это и есть моменты времени. Равноотстоящие или нет. По смыслу должны быть достаточно близкими, но не слишком.
И спросите у ТС про двух трейдеров — антагонистов в его модели.
Количество трейдеров для модели не имеет значения, не запутывайте тему.
avatar
svgr, наверное, я Вас не понял, или Вы меня не поняли. Автор поставил вопрос о важности прогноза направления. Я на этот вопрос ответил по- своему, что при условии входа без просадки нет смысла прогнозировать приращение.Вы прокомментировали, что мое утверждение зависит от верного или неверного направления. Я попросил пояснить что такое верное направление и есть ли оно. Ответа не получил. И теперь Вы говорите, что я кого то запутываю. ))) Странно как то)) И уже вообще не понимаю, что Вы мне указываете что мне у кого спросить и у кого посмотреть!!! Я взрослый человек и в советах посторонних не нуждаюсь. Если есть что ответить, то отвечайте, а если не можете, то не отвечайте. Все просто)
avatar
svgr, в данной модели — равноотстоящие

С уважением
avatar
Мальчик buybuy, мне это было очевидно, вопроса я не задавал.
avatar
svgr, А вы уверены, что за это время по сберу кто работал от шорта и без просадок не заработал??? )))
avatar
Три тезиса по прочтении:
1. Если текущее состояние движений цены имеет большие и скорые амплитуды в обе стороны, то взять с них десятки процентов в месяц можно без особых теоретических построений. Выгрызая из движений только десятую их часть, например. Свежий пример — биткоин с конца октября по начало декабря текущего года.
2. В модели обязательно нужно учитывать размер комиссии на каждом приращении. Чтобы недостаточно плюсовые приращения без комиссии не вводили в заблуждение.
3. А третий забыл пока писал. Да и первые два писать не надо — бесполезно. )
avatar
Но саму задачу максимума эквити это не решает

Как раз задача максимума эквити решается просто и зависит исключительно от знака лучшего в среднеквадратичном прогноза следующего приращения цены:

smart-lab.ru/blog/452099.php

Ведь эквити на одном активе  это просто Э(i)=V(i-1)*d(i)+D(i-1), где

V(i-1) — объем позиции в штуках (при шорте с минусом) на i-1 шаге;
D(i-1)  - объем денежного остатка (при «плече» с минусом, при шорте с плюсом вырученных от продажи) на i-1 шаге.

Если предположить, что V(i-1) может быть не только целым, а любым действительным числом, то и получим результат из ссылки тривиальным образом.

Вопрос только в том, как найти и посчитать этот знак лучшего в среднеквадратичном прогноза следующего приращения цены. Вот тут начинаются «танцы с бубнами».
avatar
А. Г., не согласен категорически

Готов при желании продолжить дискуссию

С уважением

P.S. Чисто для инфо — минимаксные решения на рынках дают гораздо более доходные и робастные варианты, чем среднеквадратичные )))
avatar
Мальчик buybuy, я говорил о неизвестном условном среднем, которое теоретически (!) является лучшим в среднеквадратичном. Это совсем не одно и то же, что лучшая статистика в среднеквадратичном.

А дискуссию можно и продолжить, только о чем? В моей ссылке чисто теоретический результат исключительно в рамках гипотезы случайности приращений цен. Вы собираетесь спорить с теорией вероятностей?
avatar
А. Г., не собираюсь, конечно...

«Во многих формулах — многие печали, и умножающий формулы — умножает печаль...» (вместо эпиграфа)

Вы, скорее всего, просто невнимательно прочитали мой пост. Ну или я, как всегда, был косноязычен.

Вы утверждаете, что

Рыночный Грааль = максимизация суммы d(n) * знак(оптимальный прогноз будущего знака приращения цены, понимаемый, как условное МО) (максимизация здесь заключена в качестве прогноза)

И это правильно

Я утверждаю, что

Оптимальный выборочный (среднеквадратичный) прогноз знака будущего приращения цены — это максимизация суммы знак(d(n)) * значение самого прогноза, линейного или нелинейного

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

В Вашем случае нужны практически исчерпывающие данные по характеристикам случайного процесса приращений цен

С уважением
avatar
Мальчик buybuy,  я говорил о максимуме среднего(!) эквити при условии торговли без реального «плеча»  и вводов-выводов («самофинасирумый портфель»), т. е.на любом шаге V(i-1) лежит в диапазоне [-Э(i-1)/C(i-i), Э(i-1)/C(i-1)] и может принимать любое значение из этого диапазона, а D(i-1)=Э(t-1) -V(i-1)*C(i-1).

Если d(i) — случайны, то что кроме среднего доходности, мы можем максимизировать, если  доходность в этих условиях тоже случайная величина? Нет, конечно можно максимизировать не среднее, а некую функцию от распределения доходности, но я бы не назвал это «максимизация доходности». Только и всего.

И, кстати, знак условного среднего — это самый простой прогноз параметров условного распределения d(i). Все остальные прогнозы параметров этого распределения сложнее, просто по постановке задачи статистического прогноза.

А то, что любой статистический прогноз любого параметра условного распределения — это некоторая функция от известных величин — это простое следствие определения условного распределения. Да, для точного получения оптимальной функции для любого параметра  конечно надо знать все распределение. Но в нашем случае параметр не любой, а конкретный: знак условного среднего. И потому для частных случаев условных распределений все распределение знать совсем необязательно.
avatar

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

....все тэги



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