Блог им. Buybuy

Оптимизация эквити (незаконченная дискуссия с А.Г.)

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

Есть желание устроить нетривиальную математическую дискуссию.
Приглашаются все желающие, но, в качестве дисклеймера, могу сразу заявить, что лохам ловить здесь нечего.

Обычно я вообще не пишу на подобные темы, но 2 выпитые бутылки Borie-Manoux, Chateau Beau-Site, Saint-Estephe, 2013, настроили меня на лирический лад )))

Поэтому предлагаю начать (неначатую) дискуссию с А.Г.

ВВОДНАЯ:
Мы работаем с ценовым рядом x(i). Приращения цен — это d(i)=x(i)-x(i-1)
Мы хотим заработать все деньги мира построить оптимальный линейный индикатор. Он представляет из себя массив коэффициентов a(i).
Таким образом, мы покупаем, когда sign(summ(a(i)*d(n-i))) >=0 и продаем в противном случае.

Эквити ТС при этом будет выглядеть так: приращение Eq(i) = d(i)*sign(summ(a(j)*d(n-j-1)))
Если мы захотим максимизировать рост эквити — у нас есть 2 варианта:
1. (классическая максимизация) — ищем минимуи summ((d(i) — summ(a(j)*d(n-j-1))))^2)
2. (максимизация по Горчакову) — ищем минимум summ((sign(d(i)) — sign(summ(a(j)*d(n-j-1)))))^2)

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

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

С уважением
★3
50 комментариев
Для начала надо уравнять шансы. Выпить примерно столько же и того же.)))
avatar
Имхо, работа с приращениями — это ни о чем. Приращения зависят от цены и положения цены относительно линии регрессии или чего-то кореллированного с ней. При работе с приращениями цена теряется.
Таким образом, выражения для линейного прогнозирования будет:
Y(i+1) = summ(a(k)*x(i-k)). Можно сказать, типичный прогнозирующий фильтр.
Кроме этого для прогнозирования еще что-то нужно, типа относительного положения цены, дающего вероятности верх/низ, но это уже развитие вопроса.
Выражения проверялось на нейросетях и получалось вполне неплохое вытянутое облако прогноза. Не уверен, но можно попробовать найти картинку на компе.
На сем прощаюсь, т.к. по самим приращениям мне сказать нечего, не занимаюсь.
avatar
без лоха и жизнь плоха
avatar
Ну неизменность a(i) — это, ИМХО, не вариант в условиях нестационарности. Но решение было бы интересно увидеть. Я, правда, брал бы относительные приращения.

И, кстати, «максимизация» 2 не моего имени, а просто максимизация эквити Eq(i).
avatar
А. Г., ну тут Вы неправы, Александр Борисович

1. Первая задача решается вполне себе робастно
2. Вторая задача решается в зависимости от выбранного окна наблюдения

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

С уважением
avatar
Мальчик Buybuy, ну давайте посмотрим. А насчет робастности первого решения, в контексте изменчивости дисперсии d(i), сомневаюсь я.
avatar
А. Г., тогда так

1. Вы в простой письменной форме кидаете мне на мейл NDA. Поскольку Вы офицер, я склонен верить Вам на слово
2. Я тут же в ответ высылаю робастное решение задачи № 1, которое Вы можете проверить

С уважением

P.S. Робастное решение существует только на мелких таймфреймах. На Ваших любимых дневках его нет
avatar
Мальчик Buybuy, что такое NDA?
avatar
А. Г., соглашение о неразглашении

Не хочу пока выкладывать результат на публичное обозрение

С уважением
avatar
Мальчик Buybuy, кстати, минимум 

минимум summ((sign(d(i)) — sign(summ(a(j)*d(n-j-1)))))^2)

достигается на максимуме «невязки»

summ(sign(d(i))*sign(summ(a(j)*d(n-j-1))))
avatar
А. Г., да, конечно

Теперь вопрос — как максимизировать невязку?

Начнем с поиска максимума более простого выражения

sign(A*X+B*Y)

где X, Y — переменные, A, B — константы.
Очевидно, что искомая область задается неравенством A*X+B*Y>0

Дальше продолжите?

С уважением
avatar
P.S. Робастное решение существует только на мелких таймфреймах.

Это же самое интересное здесь. Почему так?
avatar
МХ, почему так — мне неизвестно

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

С уважением
avatar
А. Г., даже в условиях стационарности неизменность a(i) не катит.
avatar
3Qu, в условиях стационарного гауссовского процесса оптимальное решение имеет именно такой вид.
avatar
А. Г., в условиях гауссовского процесса следующее значения никак не зависит от предыдущих. А порождаемый винеровcкий процесс имеет оптимальное решение Y(t+tau) = Y(t) для любого t, где tau от 0 до бесконечности.
avatar
3Qu, это только если АКФ — тривиальна, то не зависит. А если АКФ нетривиальна, то очень даже зависит.
avatar
А. Г., тогда это не Гаусс. А в Гауссе любая АКФ может получиться, чисто случайно, но она будет ни о чем.
avatar
3Qu, простой пример гауссовской стационарной зависимой последовательности

x(i)=a*x(i-1)+n(i), i=1,2,...

где n(i) — нормально распределенная случайная величина со средним нуль и дисперсией sigma^2;
n(i) и x(i-1) — независимы;
|a|<1;
x(0) - нормально распределенная случайная величина со средним нуль и дисперсией sigma^2/(1-a^2).
avatar
А. Г., при а=1 получаем винеровский процесс (СБ). Что будет при а<1 что-то не соображу на ночь.)
x(0) - нормально распределенная случайная величина со средним нуль и дисперсией sigma^2/(1-a^2).
x(t) наверное, но мелочи.
Да, но к чему вы это? Что-то мне сдается, что получим Гаусса + EMA от него, т.е., + фильтрованный ФНЧ Гаусс. И что?
avatar
3Qu,  к тому, что для любой стационарной гауссовской последовательности d(i) существует summ(a(j)*d(n-j-1)) (в теории сигналов называемый ФНЧ) разница с которым представляет винеровский процесс. Причем СКО этого процесса минимальна в классе всех фильтров.
avatar
А. Г., существует, и что? АКФ у Гаусса, помнится, дельта функция, спектр равномерный, а прогнозирование возможно только на конечном спектре и интервал прогнозирования шириной спектра и определяется. Получается, что на приращениях прогнозирование оч проблематично.
Как только мы проинтегрируем Гаусса и перейдем к СБ, ВЧ компоненты подавляется (спектр немного ограничится) и появится, хоть плохонькая, но возможность прогнозирования x(t+tau) =x(t).
А теперь представьте, что у нас не СБ. Где проще прогнозировать, на приращениях или интеграле от них?
avatar
3Qu, это только у независимого стационарного Гаусса. А пример зависимого Гаусса я привел.
avatar
А. Г., Последняя фраза именно о нем, зависимом нормальном (это уже, пардон, не Гаусс), а распределение типа нормального. Интегрирование уже, плохонько, но ограничивает спектр по сравнению с приращениями и прогнозирование несколько упрощается и сводится к построению линии регрессии, или чего-то в этом роде.
avatar
3Qu,  так гауссовской процесс — это по определению процесс, у которого любой подвектор имеет многомерное нормальное распределение. И ничего  более. Это винеровский процесс — это процесс со стационарными независимыми приращениями, но… необязательно нормальными.

Понятно, что может быть гауссовской винеровский процесс, но это частный случай и того и другого.
avatar
Eugene Logunov, да я запутался

Почему-то пару раз менялся текст топика после редактирования.
Ну Вы, Евгений, точно поняли ход моих мыслей!
Там, где нет sign, лучше использовать квадраты.
Там, где есть sign, можно использовать как квадраты, так и abs.

С уважением
avatar
Eugene Logunov, кстати

Предложение о рассылке робастного индикатора на мелких таймфреймах из п. 1. доступно всем желающим, при готовности выслать NDA в простой письменной форме )))

С уважением
avatar
Что такое nda?
avatar
Все вопрос снимается.
avatar
Мальчик Buybuy, все могут присоединится? Или только избранные.
avatar
Susanin, все

При условии отправки на мой мейл NDA в упрощенной форме.

Типа я, резидент СЛ с почтовым адресом dick@sl.ru, хочу получить доступ к данной информации. Этот доступ не ограничивает меня в использовании данной информации, кроме ее публичного обнародования. Что я, типа, обязуюсь не делать.

Как-то так

Вот

С уважением
avatar
Обычная линейная регрессия. Оптимизационная задача поставлена не корректно в том смысле, что имеет множество решений. Для исправления, стоит добавить регуляризацию, тут подойдет L2. Также регуляризация поможет бороться с подгонкой.
Оптимизировать можно каким ни будь тупым методом без производных. Я бы рекомендовал генетический алгоритм.
Еще я бы добавил порог выше которого покупать/продавать.
А вобще забейте, бесполезно.
avatar
ivanovr, вообще не в кассу )))

С уважением
avatar
Все разом замолчали?

Вангую — все заинтересованные резиденты пытаются решить задачу № 1 традиционными методами вариационного исчисления.
Без шанса. Ключ к решению лежит в другой плоскости.
Могу заключить спор, что на любом активе мой робастный индикатор обыграет любое Ваше оптимизированное решение)

Напомню — дискуссия затевалась из-за  решения задачи № 2 (оптимизация по Горчакову). Ее и хочется предметно обсудить.

С уважением
avatar
рискую влезть не в свое дело, но мне кажется задача вообще некорректно сформулирована. Рынок сбалансирован относительно потоков, а точнее клиентских потоков. Если есть интерес со стороны конечного потребителя ликвидности, то есть и движение (приращение цены). С другой стороны прилавка находятся поставщики ликвидности в виде арбитражеров разного рода в первую очередь. Как раз они одновременно и гасят волатильность и предоставляют услугу мгновенной ликвидности клиентам.  Зачем здесь нужен оптимальной линейный индикатор цены я не понимаю
avatar
Доброе утро! Вам чтоб дискуссию продолжить опять допинг понадобится?
avatar
Vanches, нет

Я иногда сплю и работаю

С уважением
avatar
Говорят, вчера Юпитер развернулся)
avatar

Второй критерий кажется мягко говоря странным и не очень полезным.

 

А первый (если говорить простым языком) — по сути задача о построении наилучшего прогноза следующего приращения цен d(i) в классе линейных операторов над подпространством ближайшей истории?.. И она имеет устойчивое оптимальное решение???

avatar
ch5oh, непросто все в подлунном мире

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

А первая задача — да, имеет устойчивое оптимальное решение. Совсем простое (хотя вывод не сильно тривиален). Более того, на малом таймфрейме (тики, минутки) оно стационарное, на крупном — нет.

Могу скинуть в личку под устный NDA. Результат красивый, но я пока не готов его публиковать. Кто сам догадается — тот молодец. Получить же его с нуля не слишком просто.

С уважением
avatar
Хе-хе...
Ну, уши этой темы, очевидно, растут из работы Колмогорова «Интерполирование и экстраполирование стационарных случайных последовательностей»...
Однако, страждущие забывают (и об этом неоднократно говорил Пророк 3Qu), что это возможно исключительно и только при определенных условиях. А не просто так — взять на шару и прогнозировать ряды.
Хе-хе...

avatar
Toddler, ну это Ваше частное мнение

Можно и на шару ряды прогнозировать
Можно даже обобщенное разложение Уолда на них нарисовать
Можно даже денег на этом заработать

Просто не все вопросы такого сорта являются публичными
Поэтому и в данном топике дискуссия проходит вяло

С уважением
avatar
Кстати, вспоминаю свои беседы с Доком...
Так вот, его нейроТС превосходно предсказывала знаки приращений цен OPEN на секундном ТФ.
Однако, будучи обложенным оброками в виде спреда, комиссий и т.п., Он решил тоже самое проделать на старших ТФ. Итог закономерен — слив и депрессия...
Я до сих пор ищу Его… Может, Он здесь? Отзовись, дружище!
avatar
Ничего не хочу разглашать, но очевидно что это gach и суммарная минимизация отклонений последних данных от исторических по сути приводит нас к той же ма-шке, только типа правильной.
avatar
bozon, я бы поспорил с формулой, где д1*сигн(...). Чтоб так получилось, нужно каждую свечку догоняться или использовать опцион.
avatar
bozon, нет

Никакой МА-шкой даже не пахнет

С уважением
avatar
Мальчик Buybuy, ну почему же? sign(х(i) — ma), если быть точнее.
avatar
Если говорить о практическом применении, то x(i) — это не обязательно таймфреймовый ценовой ряд.

В исходном посте озвучены два различных критерия сравнения любых линейных индикаторов. В частности, можно оценить в цифрах оптимальность тех же МА-шек.

Ломать голову не хочется, но посмотреть решение — вполне. Так что NDA подписываю прямо здесь.

Интересно покрутить зверя, сравнив с той жe EMA.
avatar
Почему бы не заменить sign() например на тангенс гиперболический. Будет приблизительно то же самое, но проще
avatar

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

....все тэги



UPDONW