Блог им. Sergey_gt

Богатеем медленно (Часть 3, и последняя)

Богатеем медленно (Часть 3, и последняя)

Продолжение. Начало здесь.

Эксперименты

Но как же изменится среднее отклонение оптимизированного портфеля за пределами выборочного контроля, по сравнению с с 1/N? Ниже приведен скрипт для проведения экспериментов с различными структурами портфеля, периодами возврата, ограничениями значений и отклонениями:

Богатеем медленно (Часть 3, и последняя)


Скрипт тщательно обрабатывает 7 лет в истории данных и сохраняет суточные обороты в ряду данных Returns. В первый торговый день каждого месяца (tdm () == 1) он вычисляет средства и ковариационную матрицу за последние 252 дня, затем вычисляет границу эффективности. В этот раз мы также вводим ограничение значения в 0,5 к минимальному точке отклонения. На основе этой границы эффективности мы подсчитываем ежедневный суточный оборот с равными значениями (ReturnN), лучший коэффициент Шарпа (ReturnBest), минимальное отклонение (ReturnMin) и максимальный доход (ReturnMax). Значения остаются неизменными до следующего изменения баланса, этот способ выводится из типового теста. Четыре суточных оборота добавляются к 4 различным кривым текущего остатка на торговом счёте:
Богатеем медленно (Часть 3, и последняя)

Мы видим, что ОСО улучшает портфель во всех трех вариантах, несмотря на его плохую репутацию. Черное кривая является 1/N портфеля с равными значениями для всех активов. Синяя линия является минимальным отклонением портфеля – мы видим, что это производит немного большую прибыль, чем 1/N, но с намного более низкой волатильностью. Красная линия является максимальным доходом портфеля с лучшей прибылью, но высокой волатильностью и резким снижением. Зеленая линия, максимальный портфель Шарпа, находится где-то между ними. Различные структуры портфеля могут составить разный порядок линий, но у синих и зеленых линий почти всегда коэффициент Шарпа намного лучше, чем у черной кривой. Так как минимальное отклонение портфеля может торговаться с более высоким левериджем благодаря меньшему снижению, что зачастую приносит самую высокую прибыль.

 Для проверки ежемесячного изменения значений распределения капитала мы отобразим значения в тепловой карте кликов:
Богатеем медленно (Часть 3, и последняя)

Горизонтальная ось — это месяц симуляции, вертикальная ось — число актива. Высокие значения — красные, низкие — синие. Распределение значений выше показано для максимального портфеля Шарпа 6 ETF.

 

Заключительная система «парковки» денег

После всех этих экспериментов мы можем закодировать нашу долгосрочную систему. Работает это следующим образом:

— Граница эффективности вычисляется из суточных оборотов последних 252 торговых дней, т.е. одного года. Это — хороший период времени для ОСО, так как большинство ETF показывает 1-летний технический ииндикатор темпа.

— Система производит перебалансировку портфеля один раз в месяц. Более короткие периоды времени, такие как ежедневная или еженедельная перебалансировка, не проявили преимуществ в тестах, но сократили прибыль вследствие более высоких торговых затрат. Более длинные периоды времени, такие как 3 месяца, позволяют системе деградировать.

— Отметка на границе эффективности может быть настроена ползунком между минимальным отклонением и максимумом Шарпа. Таким образом, вы сможете управлять риском системы. 

— Мы используем 50%-е ограничение значений в минимальном отклонении. Тогда это не больше, чем оптимальный портфель, но, как мои тесты подтвердили, это часто улучшает нешаблонный баланс благодаря лучшей диверсификации.

Приведем скрипт:
Богатеем медленно (Часть 3, и последняя)

На панели Zorro вы можете настроить инвестированный капитал с помощью ползунка (TotalCapital) от $0 и до 10,000. Второй ползунок (VFactor) — для настройки желаемого риска от 0 до 100%: при 0 вы торгуете с минимальным отклонением, в 100 — с максимальным коэффициентом Шарпа.

Богатеем медленно (Часть 3, и последняя)
Этот скрипт только советует, но не торгует: для автоматизированной торговли с его помощью, вам потребуется плагин API для брокера ETF, типа IB. Но в бесплатной версии Zorro есть плагины только для брокеров Forex/CFD; плагин IB не свободен. Однако, так как позиции могут быть только открыты или закрыты раз в месяц, и ценовые данные бесплатно взяты с Yahoo, вам на самом деле не требуется API-соединение для трейдинга с портфелем ОСО. Просто запускайте вышеупомянутый скрипт раз в месяц и проверяйте, что там примерно следующее:
Богатеем медленно (Часть 3, и последняя)

Как видно, оптимальный портфель в этом месяце состоит из 3 контрактов SPY, 16 контрактов GLD и 15 договоров VGLT. Вы можете теперь вручную открывать или закрывать эти позиции в торговой платформе своего брокера до тех пор, пока ваш портфель сопоставим с распечатанными рекомендациями. Леверидж равняется 4 по умолчанию, но вы можете изменить его на леверидж своего брокера в #define в начале скрипта. Для скрипта, который торгует, просто замените значение printf торговой командой, которая открывает или закрывает разницу с текущей позицией актива.

 

ОСО против OptimalF 

Кажется естественным использовать ОСО не только для портфеля с множеством активов, но также и для портфеля с множеством торговых систем. Я проверил это с системой Z12, которая идет вместе с Zorro и содержит приблизительно 100 различных комбинаций система/актив. Оказалось, что ОСО не приводил к лучшим результатам, чем факторы OptimalF Ральфа Винса, которые первоначально используются системой. Факторы OptimalF не рассматривают корреляции между компонентами, но они обращаются к глубине снижения, в то время как ОСО основывается лишь на значениях и ковариациях. Окончательным решением для такого портфеля с множеством торговых систем могла бы быть комбинация ОСО для распределения капитала и OptimalF для ограничения значений. Я ещё не прверял этого сам, но уже занес в свой список дел.

Оригинал: www.financial-hacker.com/get-rich-slowly/

★18
14 комментариев
На каком языке написан скрипт?
avatar
Антон Ш, немного похоже на С++, представленные скрипты для программ с http://zorro-project.com/download.php
P.S. я сам программы эти не ставил, данная статья является переводом см. ссылку выше
Где надо учиться чтобы понять что здесь написано? 
Олег Каширин, у нас есть курс по R. Этот курс длится около 2,5мес. с домашками и.т.д. На западе научные разработки ведутся на нем, сейчас и у нас в России набирает известность. На Смарте сейчас многие про него пишут.
Сергей < o-s-a.net >, Курс по R это что вообще такое? Курс программирования?  
Олег Каширин, R — язык программирования для статистической обработки данных и работы с графикой. Он ориентированный на статистику. С помощью него можно находить закономерности буквально в пару строк без написания километров кода.
Курс рассчитан именно для трейдеров так же есть бесплатные уроки.
Вот ссылка для ознакомления с курсом http://o-s-a.net/training.html
Сергей < o-s-a.net >, ну я так понимаю надо сначала руками научиться прибыльно торговать, а уж потом делать это автоматически? Это вот и есть торговый робот? 
Олег Каширин, не обязательно. Прибыльные торговые системы обычно сложно торговать руками. И это не потому что робот быстрее, а потому, что это обычно психологически сложные для человека решения.
Надо придумать идею протестировать ее и запустить в бой. Все.
прочитал внимательно еще раз

тут денег нету
Откуда скрипт берет данные для обработки?
avatar
b@e, скрипт не мой, это перевод статьи
скрипт берет данные из архива
мануал по языку, на котором проводились автором статьи исследования вот http://zorro-project.com/manual/
Сергей < o-s-a.net >, Вы знатете хотябы одного человека, кто под Zorro пишет? Насколько я понял, скрипт написан как раз под среду разработки и тестирования стратегий Zorro.
avatar
b@e, совершенно верно вот их среда я об этом выше в комменте писал http://zorro-project.com/download.php
В рамках нашей компании мы пишем роботов, проводим тестирование. Если вам надо обязательно Zorro можем сделать.
Я обычно тестирование провожу в рамках wealth-lab
А вообще очень спорно, что все инвестирование заключаеться в следующем:
На панели Zorro вы можете настроить инвестированный капитал с помощью ползунка (TotalCapital) от $0 и до 10,000. Второй ползунок (VFactor) — для настройки желаемого риска от 0 до 100%: при 0 вы торгуете с минимальным отклонением, в 100 — с максимальным коэффициентом Шарпа
Если бы все было так просто, то все на бирже были-бы, как минимум, миллионеры.
Инвестирование, это наверное несколько больше, чем три ползунка мышкой двигать.
avatar

теги блога Сергей < o-s-a.net >

....все тэги



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