Блог им. Sergey_gt
Продолжение. Начало здесь.
Но как же изменится среднее отклонение оптимизированного портфеля за пределами выборочного контроля, по сравнению с с 1/N? Ниже приведен скрипт для проведения экспериментов с различными структурами портфеля, периодами возврата, ограничениями значений и отклонениями:
Мы видим, что ОСО улучшает портфель во всех трех вариантах, несмотря на его плохую репутацию. Черное кривая является 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 торговой командой, которая открывает или закрывает разницу с текущей позицией актива.
Кажется естественным использовать ОСО не только для портфеля с множеством активов, но также и для портфеля с множеством торговых систем. Я проверил это с системой Z12, которая идет вместе с Zorro и содержит приблизительно 100 различных комбинаций система/актив. Оказалось, что ОСО не приводил к лучшим результатам, чем факторы OptimalF Ральфа Винса, которые первоначально используются системой. Факторы OptimalF не рассматривают корреляции между компонентами, но они обращаются к глубине снижения, в то время как ОСО основывается лишь на значениях и ковариациях. Окончательным решением для такого портфеля с множеством торговых систем могла бы быть комбинация ОСО для распределения капитала и OptimalF для ограничения значений. Я ещё не прверял этого сам, но уже занес в свой список дел.
P.S. я сам программы эти не ставил, данная статья является переводом см. ссылку выше
Курс рассчитан именно для трейдеров так же есть бесплатные уроки.
Вот ссылка для ознакомления с курсом http://o-s-a.net/training.html
Надо придумать идею протестировать ее и запустить в бой. Все.
тут денег нету
скрипт берет данные из архива
мануал по языку, на котором проводились автором статьи исследования вот http://zorro-project.com/manual/
В рамках нашей компании мы пишем роботов, проводим тестирование. Если вам надо обязательно Zorro можем сделать.
Я обычно тестирование провожу в рамках wealth-lab
Инвестирование, это наверное несколько больше, чем три ползунка мышкой двигать.