Блог им. Gusan

OptimalF

Выложил свою экспериментальную программку OptimalF, может кому пригодится. Простенькая, но позволяет сделать полезные выводы для реальной торговли:

1. Важны не вероятности прибыли/убытка, а их матожидание.
2. Торговать с нулевым (а тем более с отрицательным) матожиданием — нельзя.
3. При торговле с положительным матожиданием — лучше не превышать оптимальную долю счета.

Выводы, наверное, и так очевидные. Просто в программе можно визуально все это увидеть.

OptimalF


Описание и сама программа — здесь.

    ★27
    38 комментариев
    Алексей Каленкович про это говорит так: "Если вы долго торгуете в 0 — уменьшите рабочий сайз в 2 раза. Все остальное делайте по-прежнему. И будет вам прибыль."
    avatar
    ch5oh, а можно сказать — уменьшите вдвое размер ожидаемой прибыли и "берите её в широком канале волатильности." (Я) :)
    ch5oh, да, помню его семинар, где он рисовал похожий холмик. Вот только Алексей не сказал, что такой холмик возникает только при положительном МО. 

    При нулевом и отрицательном МО у нас сразу отвесное падение в пропасть. И OptF = 0. Т.е. не в два раза сокращать сайз, а вообще не надо торговать.



    Кирилл Браулов, там было сказано об этом следующее (рассуждение от противного).

    Если Вы долго торгуете (год или два), совершаете много сделок — и при этом в нуле, значит Ваш подход что-то под собой имеет. Скорее всего, небольшое МО в нем присутствует. Иначе Вас бы уже убила комиссия и проскальзывание.

    avatar
    ch5oh, а, сорри, значит пропустил.

    где-то есть текстовый вариант того семинара?

    Кирилл Браулов, не думаю, что кто-то озаботился сделать конспект и. =/ Да еще и выложить в паблик.

    Само видео, понятно, где-то болтается в сети.

    avatar
    Спасибо. Хорошо.

         Хотя я уже сейчас догадываюсь, что есть один уважаемый автор Смарта, который снова скажет: «Ральф Винс — школьник-недоучка» :)
     Один у всей этой штуки минус — мы не знаем истинного матожидания, а можем лишь нарисовать сценарный спектр :) Оцениваемый нами. Причём, абсолютно волюнтаристическим образом.

         И задача «эксперта», любого, не сказать, что сбер будет падать, а именно оценить параметры этого сценарного спектра. Остальное сделает комп.
    Московский Лоссбой, «Экспертам верить нельзя. Мне — можно.» ©
    avatar
    ch5oh, :)
    Московский Лоссбой, во, в яблочко! Главное — определить когда рынок ошибается со своим сценарным спектром. Т.е. когда он недооценивает или переоценивает те или иные возможные сценарии.

    А есть опыт построения своего сценарного спектра?
    Кирилл Браулов, линейную торговую стратегию берете с положительным МО — вот Вам и «сценарный спектр».
    avatar
    ch5oh, если под торговой стратегией имеется ввиду что-то на основе ТА или паттернов, то оттуда, мне кажется, возможных сценариев не вытянуть. 

    Под сценарным спектром имею ввиду вот это: тыц и тыц.

    Кирилл Браулов, имел в виду любую нормальную торговую стратегию с положительным МО.

    Что касается «сценарного планирования» — это по виду разновидность наукообразного интуитивного трейдинга.

    Мы берем с потолка сценарии и с другого потолка присваиваем вероятности этим весам.

    А потом считаем долю счета.

     

    Очень опасное мероприятие, имхо.

    avatar
    ch5oh, а можно какой-нибудь пример «нормальной ТС с положительным МО»? :)  В общих чертах и без ноу-хау.

    Насчет сценариев с потолка: рынок ведь тоже текущую улыбку в каком-то смысле берет с потолка. Сейчас вот такая улыбка (=распределение вер-тей=сценарный спектр), через некоторое время — может быть уже сильно другой. Вещь эфемерная. Нельзя же сказать, что вот это распределение — 100% обоснованное и максимально точно прогнозирующее цену БА, а вот это — с потолка и не имеет права на жизнь. Это уже только экспирация рассудит — какое распределение было точнее.

    И потом нам не нужно брать и с чистого листа строить весь сценарный спектр. Достаточно взять распределение с рынка, расшифровать его (разбить на несколько сценариев) и попытаться понять — правильно ли рынок оценил каждый сценарий. Если видим, что где-то недооценка/переоценка — тогда уже вступаем в спор с рынком.
    что нужно знать про сайзинг? пару формул.
    для GBM оптимальный леверидж имеет вид
    lev = мю/(сигма^2)
    VolatilityDrag(он же гамма распад) = 0,5*(lev-lev^2)*(сигма^2).

    т.е. при задействовании плеча/шорта будут дополнительные потери.

    Для грубой прикидки хватит этих двух формул, а точно и не имеет смысла делать… т.к.в реальности сигма недооценивает реальный риск и все нестационарно.
    avatar
    wrmngr, автор просто не в курсе, что оптимальное ф меняется с измененением стат параметров торговли) и кривая как минимум сдвигается то вправо, то влево
    avatar
    cfree0185, ну почему же. Я думаю прекрасно понимает. Неясно только зачем делать отдельную программу для этого, ведь в практике она не пригодится
    avatar
    wrmngr, просто читал у Ральфа Винса про OptF и в этот же момент подсказали (здесь на СмартЛабе) — как считать оптимальную долю для опционной позиции (через матожидание полезности по распределению вероятностей). Вот и захотелось сверить прямое моделирование и расчет через МО полезности. Т.е. чисто экспериментальная программка. Прямой практической пользы никакой, только косвенная — визуально хорошо показывает, что имеет смысл только торговля с положительным МО.
    wrmngr, добавил расчет lev, выдает величину меньшую, чем OptF. В некоторых случаях — немного меньшую, в некоторых меньшую в разы. А откуда эта формула (для lev)?

    И что-то не удалось нагуглить — что такое GBM и гамма распад. Не поделитесь ссылкой, если есть?
    Кирилл Браулов, 
    GBM = https://en.wikipedia.org/wiki/Geometric_Brownian_motion

    можете посмотреть подветку здесь 
    там ссылки на работы

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

    Эффект простой, моделируется элементарно
    avatar
    wrmngr, понял, спасибо.

    =) Сразу хочется переключатель, чтобы эквити показывался в логарифмическом виде.

    Иначе масштабы становятся несоизмеримы.

    avatar
    ch5oh, о, спасибо! Добавил, и теперь действительно по эквити всегда хорошо видно общее направление.

    Одна голова — хорошо, а две — лучше :)
    Но вообще тулза добротная. Необходимый минимум и все вылизано.
    avatar

    Яркий пример, почему бездумная торговля OptF может неслабо разочаровать:

    Беда-печаль

    Вроде, все сделано по уму: МО положительное, оптимальная доля выбрана идеально...

    Но результат обескураживает.

    avatar
    ch5oh, не соглашусь. Тут дело не в OptF, а в маленьком МО и недостаточно большом кол-ве трейдов. Положительность МО просто не успевает сказаться. Я поставил 100000 трейдов и _все_ эквити, которые генерировал, имеют такой вид (в логарифм. шкале):


    Если поставить F=0.09 (граница убыточности), то эквити становятся случайными. Если F=0.1, то все начинают монотонно убывать. Так что, имхо, результаты — правильные.

    P.S. Обновил программку на сайте, теперь там есть переключатель Ln (для показа эквити в логарифм. шкале).

    Кирилл Браулов, так я ведь специально поставил условия, приближенные к реальности!

    В реальной торговле соотношение вероятностей очень мало отклоняется от 50/50. Профит также незначительно превышает лосс (средняя сделка часто на уровне 10 шагов цены).

     

    1000 сделок — это нереально много. Обычно от 1 до 3 лет календарного времени.

     

    Проникнетесь трагедией: Вы торговали 3 года, все сделали правильно, а финрез нулевой!

     

    Как Вы оцениваете, Вашу утилиту Plazer сложно портировать, чтобы она работала со SmartCOM?..

    avatar
    ch5oh, если торговать с почти нулевым МО и редкими сделками, то почему нужно удивляться почти нулевому финрезу? Где же тут трагедия? Все вполне закономерно. И OptF тут не виноват. Имею ввиду эту фразу:

    бездумная торговля OptF может неслабо разочаровать

    Кирилл Браулов, «виноват» именно OptF.

    Если брать не оптимум, а, скажем, в этом же примере долю 0.01, то тогда даже на короткой истории эквити получается приятное. Даже если сидеть и генерировать их десятками.

     

    А вот если поставить долю «оптимальную», то периодически можно получить ужасные боковики в 1000 сделок. То есть даже «оптимальная» доля хоть и максимизирует наш ожидаемый рост, но на практике может давать разочаровывающие кривые капитала.

     

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

    avatar

    ch5oh, кажется понял — в чем дело. Чем меньше используемое F — тем меньше волатильность эквити. Если взять все-таки 100000 трейдов и сравнить эквити (в Ln шкале) для F1=0.01 и F2=0.05, то видно, что эквити для F1 существенно проигрывают в конечном финрезе, но зато их волатильность значительно меньше. Выглядит почти как гладкая прямая. Вот для F=0.01:


    Для F=0.05:


    Отметил 4 участка (в несколько тысяч трейдов), на которых «разочаровывающий» финрез. Но это если смотреть узко. Если же смотреть шире, то видно, что F=OptF сделал свое дело и максимально разогнал имеющиеся положительное МО. Ведь это и является целью OptF. А не минимизировать волатильность эквити.

    Если ставить задачу поймать обоих зайцев (и заработать максимально, и эквити максимально гладкую), то тут уж не знаю — какую математику применить...

    Кирилл Браулов, очень легкая математика. Называется «здравый смысл». =)
    avatar
    ch5oh, насчет Plazer — портировать сложно. У меня там везде прямые завязки с CGate. Понимаю, что правильнее было бы через механизм коннекторов делать, но уж вот так получилось. Хотя бы через Плазу все работало, как задумано. Не до жиру :) В смысле, пытаться сделать универсальный инструмент, чтобы он везде работал, хоть через Плазу, хоть через Квик/Смарт/НетИнвестор/..., хоть на нашем рынке, хоть у буржуев — это мне точно не под силу.

    Кирилл Браулов, даже если бы бизнес-логика была отделена от трансляции данных… Не обязательно полностью весь механизм «провайдеров» реализовывать...

    А чарты в какой либе сделаны? Уж больно на ZedGraph похожи по стилю...

     

    =) И, кстати, читаю сейчас Ваш сайт — уровень поражает.
    Конечно, возникает закономерный вопрос: а выхлоп из этого есть практический? Сколько процентов удается выносить с рынка с этой прелестью?

    avatar
    ch5oh, графика — самопал. Сделал еще давно для Гусеницы (анализ и прогноз временных рядов).

    Практического выхлопа — нет.  Пока все на стадии экспериментов.
    Кирилл Браулов, респект.
    Нормальный чарт сделать — не «Хелоу Ворлд» написать.
    avatar

    Кирилл Браулов, а к рынку «Гусеница» применима? Не может быть, чтобы вообще была бесполезна!

    И почему-то ценник нигде не указан на сайте. =) По запросу?

    avatar
    ch5oh, мне кажется — не применима. По началу, очень много форексников ею интересовались. Даже взломали, хотя у меня серьезная защита стояла (с шифрованием кусков кода). Но положительные примеры использования на фин. рынке — мне не известны. Покупают в основном для науки (биологи, геологи, космос — даже из NASA в несколько лабораторий покупали, ...). Использовать имеет смысл, когда есть ярко выраженная периодическая составляющая (или даже их сумма) и нужно ее вычленить из сильного зашумления.

    Ценник в разделе «Программы».

    теги блога Кирилл Браулов

    ....все тэги



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