Доброй ночи, коллеги!
Почти перестал читать СЛ.
Мои любимые модеры постоянно отправляют меня в бан. Даже не знаю, как реагировать на такое повышенное внимание. А, поскольку мой недавний топик выявил, что женщин-модераторов на СЛ нет, такое повышенное внимание меня реально напрягает...
Про рынок никто не пишет, к топикам про то, как я слил денег, присоединяться не хочу (не слил, а поднял).
Поэтому хочу опять написать про рыночную математику.
Ибо без нее (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 баров.
Будет интерес — отписывайтесь здесь, в этом топике.
С уважением
В теории я готов. Но:
1. Такие посты, как этот, никто не читает
2. Другие посты все читают и обсуждают. Но за них банят...
С уважением
Закончится СВО — обещаю сразу забыть про политику
Ну и не забывай о том, что я определенное время отработал в ВПК и даже сделал феерическую карьеру (об этом я не писал).
Поэтому я не выступаю критиком текущей политики — а просто тихо удивляюсь, как профессионал.
Если вкратце — меня учили действовать по-другому.
С уважением
Все знакомые фейсы в состоянии грогги...
Я думаю (IMHO), что нас ждет пролонгация до начала 2024.
В моменте ведомство Кириенко не справляется, но за 6 мес. до выборов Президента они просто обязаны мобилизоваться )))
С уважением
Сам такой же. Надо конечно вообще уже с ним порвать...
и все забудут через день
хотя важные темы спасла бы справа вкладка Наука
где ежедневно менялись бы спец темы
трепло ты, это все что я могу тебе сказать по поводу торговли!
Я выкладываю историю актива, скажем, в размере 10000 баров
ты идиот,! это к твоим — математическим «домыслам»!
10000 для минутного графика это просто ни о чем!
10000 для часового графика это еще куда ни шло
10000 баров для дневного графика — тут можно найти систему
10000 баров недельного графика, нет ни на одном терминале
другими словами, не хрена ты не в состоянии знать направление приращения цены!
нет ни чего сложного доказать что ты трепло, у меня идет стрим, без проблем добавлю тебя в скайпе в отдельном окне и наглядно сам же дакажешь на примере своих же сделок что кроме как балаболить, ты больше ни хрена ни чего не можешь!
Тогда да — добрый вечер, маэстро )))
С уважением
В сутках 1440 минут, в двух сутках 2880 минут, в пяти сутках 7200 минут!!!
Для тех кто разобрался, для интрадея достаточно как правило 1440-2880 минут истории, изредка 4320 минут.
А кто не разобрался, тот чертит разноцветные треугольники и всех на хрен посылает, т.к. мозгов разобраться ему не хватает!
Еще и учить ими пользоваться (инструкцию по эксплуатации) — избавьте.)
Надо дать массив чисел для данного конкретного кейса.
Не буду же я проверять программы разные хитромудрые?
(не царское это дело)
С уважением
Ну т.е. индикаторы изготовляются с учетом знания будущего
10000 значений цены = 9999 значений приращений цены
С уважением
2. Нужны не индикаторы по барам, а методы принятия решения в зависимости от FullOrderLog с реалистичным latency, price-impact и fillrate
3. Побеждает дружба!
На минутных барах все вроде Ок
На тиках есть нюансы, но:
Приведите, плз, примеры бирж, на которых тиков в минутном баре больше 1000
С уважением
А зачем Вам история FullOrderLog за год?!
Я предлагаю чистый эксперимент
1. Известна ценовая история в размере 10000 баров (и предыстория в размере 10000 баров)
2. На конкурс принимаются индикаторы, оперирующие 9999 предыдущих приращений цены
3. У кого больше эквити — того и тапки
Что я написал не так?
Как по мне — чистый curve fitting.
Не?
С уважением
Я просто хочу показать, что
1. Никто (ну кроме меня… краснеет...) не умеет решать задачу максимизации эквити
2. Так что curve fitting на известных данных может иметь 3-4-5-6 разных максимумов… И каждый из авторов решения будет уверен, что его максимум — максимальный ))) Но награду получит только максимизатор максимального максимума )))
С уважением
1. Будет 10+ голосов — устрою конкурс
2. Никакой эмуляции нет — трейдинг предполагает либо открытие сделки по цене закрытия бара (close), либо по смещенной цене (close+-markup). Прочие варианты науке неизвестны. Если они есть — просветите, плз
С уважением
Расслабься, плз
Вот я, к примеру, не сру в твоем блоге
Зачем ты пришел срать в мой блог?
Неймется?
Ты вроде неплохой чувак спортивного типа, жена в меру симпатичная, домик скромненький в Праге есть — чтож ты меня достаешь то?
Жена не дает?
Или пепел Клааса стучит в твое сердце?
Или страдаешь, что не можешь 200% годовых заработать?
Пока с уважением
даже для часового интервала времени 10000 баров это всего лишь фрагмент ценового построения из целого
Но мог чего-то перепутать спьяну (трезвым не пишу)
Если ты не чешский клюшечник (севен), то точно Костя-бабочка
Если ты не Севен и не Бабочка — пшел нах из моего блога!
Привет, треугольное у@ебище!
Расскажи, куда ты сегодня в моменте засовываешь свои треугольники?)
Без уважения и с сожалением
Лучше бы у тебя нефритовый стержень стоял...
Тогда бы ты не лез со своим говном в чужие блоги
Ну или в гости заедь — лично морду набью за твое хамство
Можешь вместе с охраной — у меня она тоже есть )))
С уважением
10000 баров — это условие конкурса для curve-fitting
Свои стратегии я тестирую минимум на 1500000 баров
А у тебя нефритовый стержень сколько баров в длину?
А в карман сколько баров помещается?
С уважением
1. Чтобы ловить «хорошие приращения» нужно добавить триггер к этой системе на вход и на выход (например входим если были большие приращения на предыдущих шагах, выходим если например приращения упали в два раза). В итоге будете входить реже в рынок, но прибыль на сделку будет выше. 2. Сама оптимизация не так важна, сколько важно количество варьируемых параметров. Это количество должно быть минимально возможным, и самое главное алгоритм должен быть плюсовым для широкого диапазона этих параметров в окрестности точки оптимизации.
Конкурс должен быть иного рода- выкладываете актив на 5000 баров, строите алгоритм на этой истории, а проверяется на следующих 5000 барах. Тогда этот конкурс имеет смысл.
Фантазийный актив не подойдет
Реальный по 5000 баров диагностируется с вероятностью 99.9%
И...
С уважением
Я сейчас перечитал и не совсем понял, а зачем вам знать знак следующего приращения? Проходитесь по всем z параметрам и находите максимум. Или вы имели ввиду, что матожидание зависит не только от вероятности угадывания, но и от самой случайной величины? Т.е если угадываете в 50%, но когда угадываете получаете больше чем проигрываете? Так в этом ничего нового нет. Так и нужно на мой взгляд делать. Совершаете много мелких сделок в минус, но иногда получаете хороший плюс, который перекрывает все минусовые сделки.
На счёт максимизации. Вы в одном из прошлых постов писали про симплекс метод. Лично я не вижу, как его здесь применить. Опишу свои мысли:
В первую очередь, в симплекс методе необходимо записать целевую функцию, которую нужно максимизировать (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 вышлете решение?
С уважением
Но подискутировать готов
Хотя в моменте не согласен со 100% озвученных Вами тезисами )))
С уважением
1. Подогнать модель AR(p) для этих приращений.
2. Линейную регрессию с тренировкой на данных. Придется оптимизировать скользящий период.
Почему — это весьма тонкий вопрос
Еще версии будут?
С уважением
Может можно попробовать еще преобразовать ряд приращений в ряд знаков приращений (т.е. если положительно приращение то равно 1, отрицательное = -1). Попробовать как-то прогнозировать через какие-нибудь методы deep learning.
Направлений всего два, а шагов времени можно напридумать много, точно также как и трейдеров может быть не два, а любое количество, поэтому вряд ли правильность направления зависит от какогото шага времени и количества трейдеров. Вы не правы?
Вот это i автор не конкретизировал в постановке задачи. Это и есть моменты времени. Равноотстоящие или нет. По смыслу должны быть достаточно близкими, но не слишком.
И спросите у ТС про двух трейдеров — антагонистов в его модели.
Количество трейдеров для модели не имеет значения, не запутывайте тему.
С уважением
1. Если текущее состояние движений цены имеет большие и скорые амплитуды в обе стороны, то взять с них десятки процентов в месяц можно без особых теоретических построений. Выгрызая из движений только десятую их часть, например. Свежий пример — биткоин с конца октября по начало декабря текущего года.
2. В модели обязательно нужно учитывать размер комиссии на каждом приращении. Чтобы недостаточно плюсовые приращения без комиссии не вводили в заблуждение.
3. А третий забыл пока писал. Да и первые два писать не надо — бесполезно. )
Как раз задача максимума эквити решается просто и зависит исключительно от знака лучшего в среднеквадратичном прогноза следующего приращения цены:
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) может быть не только целым, а любым действительным числом, то и получим результат из ссылки тривиальным образом.
Вопрос только в том, как найти и посчитать этот знак лучшего в среднеквадратичном прогноза следующего приращения цены. Вот тут начинаются «танцы с бубнами».
Готов при желании продолжить дискуссию
С уважением
P.S. Чисто для инфо — минимаксные решения на рынках дают гораздо более доходные и робастные варианты, чем среднеквадратичные )))
А дискуссию можно и продолжить, только о чем? В моей ссылке чисто теоретический результат исключительно в рамках гипотезы случайности приращений цен. Вы собираетесь спорить с теорией вероятностей?
«Во многих формулах — многие печали, и умножающий формулы — умножает печаль...» (вместо эпиграфа)
Вы, скорее всего, просто невнимательно прочитали мой пост. Ну или я, как всегда, был косноязычен.
Вы утверждаете, что
Рыночный Грааль = максимизация суммы d(n) * знак(оптимальный прогноз будущего знака приращения цены, понимаемый, как условное МО) (максимизация здесь заключена в качестве прогноза)
И это правильно
Я утверждаю, что
Оптимальный выборочный (среднеквадратичный) прогноз знака будущего приращения цены — это максимизация суммы знак(d(n)) * значение самого прогноза, линейного или нелинейного
Разница в том, что моя задача решается исчерпывающим образом даже без знания характеристик соответствующего случайного процесса. Но максимум эквити она не доставляет.
В Вашем случае нужны практически исчерпывающие данные по характеристикам случайного процесса приращений цен
С уважением
Если d(i) — случайны, то что кроме среднего доходности, мы можем максимизировать, если доходность в этих условиях тоже случайная величина? Нет, конечно можно максимизировать не среднее, а некую функцию от распределения доходности, но я бы не назвал это «максимизация доходности». Только и всего.
И, кстати, знак условного среднего — это самый простой прогноз параметров условного распределения d(i). Все остальные прогнозы параметров этого распределения сложнее, просто по постановке задачи статистического прогноза.
А то, что любой статистический прогноз любого параметра условного распределения — это некоторая функция от известных величин — это простое следствие определения условного распределения. Да, для точного получения оптимальной функции для любого параметра конечно надо знать все распределение. Но в нашем случае параметр не любой, а конкретный: знак условного среднего. И потому для частных случаев условных распределений все распределение знать совсем необязательно.