Избранное трейдера Виктор Громов

по

Доклад «Оптимизация портфеля алгоритмических стратегий» на конфе смартлаба 24.09.16

    • 30 сентября 2016, 12:00
    • |
    • uralpro
  • Еще

Доклад «Оптимизация портфеля алгоритмических стратегий»


1. Введение


В чем состоит цель подобной оптимизации? Представим, что у нас есть набор алгоритмов, каждый из которых обладает некоторыми статистическими свойствами, из которых наиболее важными для нас являются доходность и максимальная величина просадки. В основе каждого из алгоритмов лежат разные стратегии, которые, тем не менее, могут быть коррелированы между собой в разной степени, торговля также может вестись на разных инструментах. В качестве примера приведу характеристики стратегий, которые были разработаны нашей командой и применяются в боевых торгах в настоящее время:


Доклад «Оптимизация портфеля алгоритмических стратегий» на конфе смартлаба 24.09.16

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

1. Максимизировать доход при заданном уровне риска ( то есть максимальной величине просадки)

2. Минимизировать риск при заданной доходности


Если дать, например равные доли капитала каждому алгоритму, то, очевидно, что такое распределение не будет оптимальным, так как мы не учитываем характеристики, присущие стратегиям. Не будет оптимальным и тот случай, когда мы, например, выделяем капитал пропорционально относительной доходности каждого алгоритма, здесь мы игнорируем значения волатильности, то есть риска, стратегий.


2. Модель Марковица


Задачу оптимизации попробуем решить, применив теорию оптимального портфеля, разработанную Марковицем, точнее некоторые последующие ее модификации. Обычно данная теория применяется для долгосрочного инвестиционного портфеля, состоящего из различных активов, например акций. Кратко  суть теории.



Доклад «Оптимизация портфеля алгоритмических стратегий» на конфе смартлаба 24.09.16

( Читать дальше )

Анализ коинтеграции пар активов на R и можно ли торговать RTS только по Brent

    • 02 июня 2016, 06:47
    • |
    • SciFi
  • Еще
Продолжаю изучать R и делиться кодом. На этот раз проанализируем коинтегрированность. Вообще, торговать корреляции опасно, так как они могут оказаться случайными. Гораздо безопаснее коинтеграцию. Хотя и она может ломаться.

Далее используется тест Энгла-Грэнджера. Тест основан на коинтеграционном уравнении, оценённом с помощью обычного МНК. Идея теста заключается в том, что если остатки этой модели нестационарны (имеют единичный корень), то коинтеграция временных рядов отсутствует. Нулевая гипотеза — отсутствие коинтеграции, то есть наличие единичного корня в ошибках модели (коинтеграционного уравнения). Для проверки гипотезы единичного корня применяется статистика расширенного теста Дики-Фулера, однако в отличие от классического случая этого теста в данном случае критические значения статистики иные, они больше по абсолютной величине.


Коинтеграция Si со спотом
 

( Читать дальше )

Предсказание чего угодно с использованием Python

bayes-retgurns-1080x571

Небольшая статья с ресурса http://www.talaikis.com/ о построении простой стратегии, использующую наивный байесовский классификатор при создании процесса возврата к среднему. Весь код в статье приведен на языке Python.

Это достаточно большая область исследований, но расскажем все очень кратко. Мы попытаемся найти взаимоотношение между  временными сериями  (в данном случае возьмем в качестве сигнала взаимный фонд XLF из финансового сектора, сдвинутый по времени на 1 день назад), а нашей целью будет фьючерс S&P500 в форме CFD. Будем входить в длинную позицию по этой бумаге при нулевой вероятности приращения. Логически нулевая вероятность ни о чем не говорит, другими словами, будем покупать возврат к среднему.

1. Получение данных

Y = read_mongo(dbase, "S&P5001440")
X = read_mongo(dbase, syms[s]).shift()

#готовим набор данных
res = pd.concat([X.CLOSE, Y.CLOSE], axis=1, join_axes=[X.index]).pct_change().dropna()
res.columns = ['X', 'Y']


( Читать дальше )

Алгоритмические онлайн-сервисы

В перерывах между ТСЛабом и голым кодингом копаюсь в разного рода онлайн сервисах по роботобилдингу. Пока вот очередной перерыв, решил опубликовать список из онлайн-сервисов, которые предоставляют разные возможности для бектестов и деплоймента алгоритмов. Т.к. большинство смартлабовцев сидят на иглах ТСЛаба и WL, делать детальное описание не буду, хотя покопался там изрядно. Может как-нибудь за следующим перерывом...

RIZM — прикольный конструктор. Недавно вроде гугл показал подобный кодогенератор. Суть — Вы не пишете коды, а складываете кубики. Только не такие, как в ТСЛабе или еще где-то, а более близкие к программированию. Т.е., если Вы умеете читать код, но не умеете его писать (аки покорный Ваш слуга), то это для Вас.

QUANTOPIAN — упоминался несколько раз тут на СЛ. Quantopian стал центром для выпускников математических и научных дисциплин, которые обладают навыками программирования. Для кодеров. Python. Многие говорят, что соскочили с квантконнекта в квантопиан именно по причине простоты питона. Легендарный

( Читать дальше )

Stock Pattern Viewer - начинаю разработку версии 2.0

Начинаю разработку бесплатного майнера паттернов — второй версии. Пока собираюсь с мыслями и готовлю возможную архитектуру. К лету начну работы.

За последние пару лет его скачали больше 10 к. человек. Уважаемые пользователи, пишите, что бы Вы хотели ещё в нём увидеть. В пост, мне на почту, на домашний форум программы. Буду расширять список изменений.

Для всех остальных, небольшой обзор программы. С чего всё начиналось и что есть сегодня.

Stock Pattern Viewer - начинаю разработку версии 2.0


Stock Pattern Viewer — Уникальная программа для автоматического анализа котировок на предмет формализуемых паттернов и сбора статистики по ним. Data Mining с человеческим лицом.
Программа полезна в качестве станции поиска формаций для системного трейдинга.



( Читать дальше )

Что такое регрессия и как ее строить (для стратегий парного трейдинга)

Многие трейдеры при торговле раночно-нейтральными стратегиями задаются вопросом, а как совершать сделки покупки продажи спреда, на основании чего принимать решение о входе и выходе в позицию.

Сегодня мы рассмотрим вариант входа в сделку основываясь на регрессии акций.

Что такое регрессия и как ее строить (для стратегий парного трейдинга)

Если откинуть все умные фразы и дать определение регрессии на простом языке, то получается следующее:

Регрессия — это зависимость переменной 1 (в нашем случае акции Газпрома) от независимой переменной 2 (акции ЛУКОЙЛа). Данное выражение будет иметь статическую значимость.

Формула регрессии:  

Yt=A+BX(t)+E(t)

Давайте с вами рассчитаем регрессию для акций Газпрома и Лукойла.

Алгоритм построения:
1. Скачиваем исторические дневные данные с финама.  www.finam.ru/profile/moex-akcii/gazprom/export/

2. Вставляем все скаченные данные в эксель

Что такое регрессия и как ее строить (для стратегий парного трейдинга)

( Читать дальше )

R. Считаем корреляцию.

Вчера на СмартЛабе  был размещен пост Как построить корреляционную матрицу (для парной торговли) в Excel, собравший аж 150 "+".
Решил тоже попрактиковаться и написать под эту задачу код в R. Важным преимуществом R является наличие пакета rusquant, который позволяет автоматически получать котировки с Финам в любом таймфрейме (в т.ч. в тиках), что существенно экономит время по сравнению с ручной обработкой в Excel.

Код на R приведен ниже:

R. Считаем корреляцию.

  • Файл c кодом можно скачать тут.
  • Файл с названиями тикеров: для примера 1 тут, для примера 2 тутЭти файлы используется для ввода тикеров в программу, т.к. прописывать тикеры вручную непосредственно в коде при их большом количестве не удобно. 
  • Время загрузки данных с Финам по 79 тикерам составило 84 секунды, т.е. примерно по 1 сек. на тикер. А сколько бы ушло на ручную загрузку для Excel сложно представать.

 

Результаты:



( Читать дальше )

Основные рыночно-нейтральные стратегии

Рыночно нейтральный трейдинг - группа инвестиционных стратегий, доходность которых не зависит от общего направления движения рынков.

 

Специфика рыночно нейтральных стратегий в том что трейдер одновременно покупает один инструмент и продает другой инструмент. Нейтральность к рынку достигается именно тем что в портфеле одновременно у инвестора позиция по одному инструменту long а по второму short

 

На сегодняшний день мы можем выделить четыре основных типа рыночно-нейтральных стратегий

 

  • Арбитраж

  • Парный трейдинг

  • Баскет трейдинг

  • Торговля волатильностью 



( Читать дальше )

О трендследящих системах в психологическом плане.

Что такое трендследящие системы, диверсифицированные на портфеле фьючерсов и длительностью средней сделки 20 и более дней? Что они представляют собой в психологическом плане.? Да, на первый взгляд это очень привлекательный метод торговли, особенно если посмотреть тесты на исторических данных за очень большой промежуток времени. Это почти всегда будет ровная восходящая кривая и на глаз кажется граалем. Взгляните на рисунок, чем не грааль?

О трендследящих системах в психологическом плане.



Самое интересное, что это не какая-нибудь суперсистема, изобретение какого-то гения системного трейдинга, а всего лишь, простые каналы Дончиана с фильтром MACD. Да и играть такую систему означает уделять внимание этому делу всего лишь 10-15 минут в сутки — просмотреть графики и передвинуть ордера, если это необходимо. В общем, работы даже меньше чем у долгосрочного инвестора — не надо анализировать фундаментальные данные, изучать бухгалтерские отчеты компаний, включать паранормальные способности в виде интуиции чтобы определить направление движения цены и т.д.и т.п.


( Читать дальше )

Рыночные инварианты, или Зачем трейдеру логарифмы

    • 03 февраля 2013, 19:55
    • |
    • Имя
  • Еще
Термином «инвариант» в науке принято обозначать величину остающуюся неизменной при тех или иных преобразованиях объекта. К примеру, внешность человека может очень сильно меняться под воздействием возраста, грима или пластической хирургии, но его всегда можно опознать по ДНК. Код ДНК является инвариантом – неизменной характеристикой. Инварианты часто несут наиболее важную информацию о том или ином предмете или явлении.Какое отношение все это имеет к финансовым рынкам? Финансовые рынки хорошо известны своей необычайной подвижностью. Цены большинства инструментов меняются, чуть ли не ежесекундно. Естественным образом возникает вопрос: есть ли что-то неизменное в этом море хаоса и нестабильности?

Цена учла все… и заблудилась
Известный постулат технического анализа гласит: «Цена учитывает все». Многие трейдеры поэтому важнейшей характеристикой фининструмента считают его цену. Можно ли признать цену рыночным инвариантом? Не смотря на всю экономическую важность понятия «цена», ответ на этот вопрос отрицательный. Цена постоянно меняется, значит, по определению она не может быть инвариантом. А что же средняя цена? Скользящие средние – один из наиболее популярных методов анализа. Возможно, средняя цена демонстрирует качество неизменности и устойчивости? Оказывается, нет. В этом можно наглядно убедиться из следующей картинки.

Гистограмма дневных «цен» закрытия индекса ММВБ с 1998 по 2009 год


( Читать дальше )

....все тэги
UPDONW
Новый дизайн