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

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

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

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

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

 

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

 

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

 
Для проверки ежемесячного изменения значений распределения капитала мы отобразим значения в тепловой карте кликов:

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

 

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

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

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

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

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

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

Приведем скрипт:

 

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

 

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


 

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

 

ОСО против OptimalF

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

 

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

20:20
1220

Комментарии

Нет комментариев. Ваш будет первым!