SciFi

Читают

User-icon
222

Записи

221

Оптимизация портфеля на R

    • 13 июня 2016, 02:42
    • |
    • SciFi
  • Еще
На 25% счета я стараюсь максимизировать доходность за счет активной торговли, а на 75% — минимизировать риск. И делаю ребалансировку между ними. Во вторую часть входит портфель акций, облигации и валюта.

Так получилось, что мой портфель акций сейчас состоит из следующих эмитентов:

(«BANE», «ALRS», «TGKA», «GMKN», «RUALR», «PHOR», «AKRN», «ROSN», «OFCB»)

Причин этому несколько — требование высокой ликвидности, хорошего роста за последние годы, маленькое среднеквадратичное отклонение доходностей. Есть также диверсификация по секторам: нефть, алмазы, электрогенерация, металлы, удобрения, банк.

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

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

Создание красивых графиков на R для RIM6

    • 11 июня 2016, 14:58
    • |
    • SciFi
  • Еще
На R можно не только делать полезные расчеты, но и представлять их в красивом виде. 

Посчитал изменения цен за 5 минут (закрытие минус открытие) для RIM6 и графически представил, насколько цена бегает в среднем и может бегать в течение этих 5 минут. Это я уже делал и показывал, но на этот раз я добавил диаграмму плотности распределения и диаграмму размаха. Ниже под графиком есть другой график — пояснение к диаграмме размаха. 

Диаграмма размаха дает представление о том, какой будет размер тела свечи с вероятностью 50% — 60 пунктов и какой размер с вероятностью более 95% — не более примерно 250 пунктов. Видно также, что цена может теоретически улететь на 800 пунктов за 5 минут. 

Данные взял за последние 10 дней. Если взять за последние 30, можно увидеть выброс на 1600 пунктов.

Также это можно использовать для расстановки заявок в стакане, если вы используете математическую модель для предсказания цены.

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

Добавление и оценка влияния внешнего регрессора BRN6 в модель ARIMA для RIM6 на R

    • 10 июня 2016, 03:33
    • |
    • SciFi
  • Еще
По мотивам поста Применение ARIMA для предсказания цены на RIM6 на R

Итак, я добавил в ARIMA для RIM6 внешний регрессор — цену на нефть BRN6. И проверил — действительно ли это улучшает модель. Теоретически, должно, так как цена на нефть должна опережать РТС. Сначала меняется мировой спрос на нефть — затем уже меняется спрос на рос. активы.

И действительно — это улучшило модель. Критерий AIC, характеризующий качество модели, уменьшился, несмотря на то, что 1 параметром в модели стало больше. Кроме этого, ошибки модели стали меньше. В усовершенствованной версии диапазон (-100, 100), а в простой — (-200, 200).  

Гистограммы остатков моделей

Добавление и оценка влияния внешнего регрессора BRN6 в модель ARIMA для RIM6 на R

Здесь на верхнем графике ошибки (остатки) модели с дополнительным регрессором fit.arima.reg, а на нижнем — обычной ARIMA fit.arima.

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

Применение ARIMA для предсказания цены на RIM6 на R (Часть 2)

    • 09 июня 2016, 12:28
    • |
    • SciFi
  • Еще
Вчера написал пост Применение ARIMA для предсказания цены на RIM6 на R

Но в нем было всего 2 сделки. Непрезентативно. 

Попробовал сегодня еще раз руками поскальпить, предсказывая цену с помощью R на ближайшие 5 минут. В принципе, заработал 500 р за 17 сделок (34 операции) 1 лотом RIM6.  

Применение ARIMA для предсказания цены на RIM6 на R (Часть 2)

Выводы

1. ARIMA работает как я ожидал в том плане, что когда цена сильно падает, модель предсказывает цену ниже, когда цена стоит — предсказание примерно как цена закрытия. Спред считается хорошо — заявки исполняются. Когда модель предсказывает цену ниже текущей, нужно ставить заявку только на шорт. А то я ловил ножи и выходил с убытком несколько раз. 

2. Я закрывал сделку по цели, не давал прибыли течь. Может быть стоит сначала предсказывать цену на следующие 5 минут и если цена ниже, то шорт не закрывать, а держать дальше, двигая заявку на выкуп. Тогда будет экономия на комиссии и может быть удастся ловить крупные движения. 

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

Применение ARIMA для предсказания цены на RIM6 на R

    • 08 июня 2016, 12:48
    • |
    • SciFi
  • Еще
Решил копнуть чуть глубже в ARIMA и другие подобные модели. Попробовал предсказывать цену, а точнее, диапазон цен на ближайшую минуту и 5 минут и на этом сделать какие-то деньги. И что интересно, получилось. Хотя, возможно, это случайность отчасти, не тестировал на большом горизонте времени.

В комментариях к коду все есть.

ARIMA (англ. autoregressive integrated moving average, иногда модель Бокса — Дженкинса, методология Бокса — Дженкинса) — интегрированная модель авторегрессии — скользящего среднего — модель и методология анализа временных рядов. 

Основная идея этой модели в том, что цена в будущем зависит от цен в прошлом (авторегрессионная часть AR) и возврата к среднему (MA часть). А интегрированность означает то, что предварительно определяется порядок интегрированности для временного ряда. К примеру, порядок 1 означает, что разности 1 порядка являются стационарными. Для самой цены порядок интегрированности должен получаться равным 1, а для доходностей — 0. 

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

Поиск акций для инвестирования по критериям доходности и риска с помощью R

    • 06 июня 2016, 12:02
    • |
    • SciFi
  • Еще
На выходных перенес свой алгоритм поиска интересных акций с Python на R. Заключается он в том, что алгоритм проходится по всем более менее ликвидным акциям Московской Биржи, выгружает исторические данные за интересующий нас период, считает мат. ожидание дневной доходности, которое является мерой доходности и средне-квадратичное отклонение дневной доходности, которое является мерой риска. Далее сортирует акции по этим критериям и фильтрует с заданными трешхолдами.

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

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

Поиск акций для инвестирования по критериям доходности и риска с помощью R

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

Анализ торгового журнала и стратегий с помощью R

    • 05 июня 2016, 17:34
    • |
    • SciFi
  • Еще
Сегодня я решил провести анализ своего торгового журнала средствами и возможностями языка R.

Я понимаю, что есть специальные сервисы, которые позволяют анализировать торговый журнал. Но во-первых, они платные. Во-вторых, я веду свой журнал сам в Excel и мне удобнее было написать собственную программу. Тем более, что средствами R можно делать то, чего не будет в этих платных сервисах.

Взял все сделки на ФОРТС с 1 января по 1 июня 2016 года (за полгода). Их у меня было 565 штук. Торгую я роботом и руками по разным стратегиям, но записываю в журнал, почему открыл и закрыл каждую сделку. Стратегий было много разных, но я решил выделить все сделки в две группы — где я торговал роботом и где руками. 

Предварительно подготовил данные в Excel — выбрал только те столбцы, которые я планировал анализировать: дата сделки, маржа, номер стратегии (0 и 1 для ручной и робот. торговли). Создал файл CSV. И приступил к анализу в среде R. 

Далее я построил гистограммы маржи за каждую сделку для трех случаев — для всех сделок, для сделок роботом и сделок руками. Наложил синие линии — аппроксимацию. А также вывел описательную статистику для этих трех случаев. 

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

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

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

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


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

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

Мои ошибки при исполнении системы

    • 20 мая 2016, 17:12
    • |
    • SciFi
  • Еще
Описываю свои ошибки за последнее время (ошибки торговой системы, исполнение алгоритмическое роботом). Таких ошибок было уже сотню, на самом деле. 

Ошибка №1. Не закрылся перед вечерним клирингом. 

Шортанул нефть BRM6 по 49.79 (на последних хаях). 

Все было хорошо, пока перенос через 15 минутный вечерний клиринг не привел к быстрой коррекции нефти вверх и тут съели половину моей прибыли. В итоге вместо 2.3 $ движения взял только 1.3$. Точнее, робот бы фиксанул по 48.15, а не по 48.45. Потеряно на самом деле 0.3$ прибыли. Кстати, если бы я не следил, то потерял бы еще больше, потому что произошло также проскальзывание моей заявки на покупку. 

Мои ошибки при исполнении системы

Вывод: закрываться на вечерний клиринг. Руками переоткрываться, если все норм. 


Ошибка №2. Не снял заявку на продажу перед открытием рынка. 

Робот вчера вечером кинул заявку на шорт нефти по 48.92. Она не исполнилась. Сегодня утром я решил ничего не трогать, дать системе работать. Но не учел, что если заявка уже в стакане, то она исполняется по цене заявки, а не по рынку. В итоге вместо того, чтобы продать выше 49.2, продал по 48.92. 

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

Моя система управления капиталом

    • 19 мая 2016, 18:40
    • |
    • SciFi
  • Еще

Ранее я писал о своей системе маней-менеджмента
Решил написать еще одну статью в продолжение. 


Правила управления капиталом

Основная идея: я думаю, что управлять любой суммой нужно так, как бы я управлял, скажем, 1 млрд $. Очевидно, что я не стал бы размещать 1 млрд только в алгоритмические стратегии (может быть слив 25% за 1 секунду во время флеш-креша, у меня такое было) или только в акции (обвал 2008-го привел бы к просадке более 25%).


Распределение по риску:

75% безрисковые активы почти безрисковый портфель (золото, акции, облигации — все без плеч, низкая корреляция между классами активов)

25% рискованная часть (активная торговля — алготрейдинг)

Ребалансировка

  1. Алготрейдинг (25%) 
  2. Акции (25%)
  3. Облигации (25%)
  4. Золото (25%)


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

теги блога SciFi

....все тэги



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