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

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

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


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

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

Блог им. SciFi |Мои шаги в сторону машинного обучения на R и немного про Si, Brent

    • 15 апреля 2016, 21:14
    • |
    • SciFi
  • Еще

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

Я исходил из того, как сам разрабатываю обычно торговую систему: ищу хорошие точки входа на истории и классифицирую их. Но так как человеческие возможности ограничены, использую только 3 таймфрейма и около 10 индикаторов в сумме. Кроме этого, история в точности никогда не повторяется и нужна какая-то более умная модель, которая не просто сравнивает индикаторы, как делают сейчас мои роботы, а дает оценку данной рыночной ситуации на основе всей совокупности индикаторов.

С помощью машинного обучения можно создать и обучить много моделей по разным алгоритмам, эта область уже хорошо развита (Logistic regression, Linear discriminate analysis, Stochastic gradient boosting, Decision trees, Support Vector Machine, KNN и другие). Можно быстро попробовать разные модели (Spot-checking algorithms). Модели могут работать вместе и делать предсказания. Можно улучшать точность моделей (Algorithm parameter tuning, Ensemble methods). Можно посчитать точность предсказаний по модели, обучив сначала модель на части выборки, а затем протестировав ее на другой части выборки (resampling). 

Как я понял, R для машинного обучения идеально подходит. Сделал первые шаги сегодня: cоздал модель по туториалу, которая определяет по размеру чашелистиков и лепестков растения ирис точный вид (всего 4 вида) какого-то одного растения(особи) на основе обучения по выборке из 500 других растений(особей). 

Код: 

# Скачивание и инициализация библиотек mlbench(используется для machine learning), caret (используется для нормализации данных)
install.packages("mlbench") 
library(mlbench)
install.packages("caret") 
library(caret)

# Краткая информация про базу данных iris
data(iris)
summary(iris)

# Определение тренировочной выборки
trainControl <- trainControl(method="cv", number=10)

# Оценка точности алгоритма Naive Bayes на данном dataset
fit <- train(Species~., data=iris, trControl=trainControl, method="nb")

# Вывод оценки точности
print(fit)

Сейчас я точно так же хочу сделать модель, которая на основе 30-300 хороших точек входа на истории определяет, насколько хороша данная пятиминутка для входа в лонг или шорт. 

Что скажете? Есть ли там грааль? Есть ли у кого-то опыт использования машинного обучения для торговли? Что посоветуете? 

Также представляю вашему вниманию грубую оценку того, на сколько в среднем ходят нефть Brent и Si за час и 1 день. Посчитал с использованием библиотеки rusquant на R. Также делюсь элементарным кодом. 

Я взял данные за последние 15 дней для BRK6 и 30 дней для SiM6. Затем посчитал доходности и их среднеквадратичное отклонение. Затем отклонение умножил на среднюю цену. 

Получилось:

Brent
за час: 0.25$
за день: 1.15$

Si
за час: 235 руб.
за день: 757 руб. 

Код на R: 

# Инициализация библиотеки rusquant (русская версия от quantmod, поддерживает все функции quantmod)
library(rusquant)

# Получение исторических данных с Финама
getSymbols("SiM6", from=Sys.Date()-30, src="Finam", period="day")

# Рисуем график, чтобы увидеть данные
candleChart(SIM6)

# Расчет доходностей встроенной функцией библиотеки rusquant (унаследована от quantmod)
rr <- OpCl(SIM6)

# Цены закрытия
p <- Cl(SIM6)

# Получение абсолютного значения среднеквадратичного отклонения доходности
sd(rr)*mean(p)

[1] 757.7013

# Аналогично для часовика
getSymbols("SiM6", from=Sys.Date()-30, src="Finam", period="hour")
candleChart(SIM6)
rr <- OpCl(SIM6)
p <- Cl(SIM6)
sd(rr)*mean(p)

[1] 234.9929

#Аналогично для BRK6. 

Блог им. SciFi |Гистограммы доходностей разных активов

    • 25 марта 2016, 19:15
    • |
    • SciFi
  • Еще
Ранее выложил гистограмму для нефти. Выкладываю остальные гистограммы по просьбам читавших тот пост. Таймфрейм 5 мин. ES не нашел на Финаме и не торгую их. Сделал для S&P и NASDAQ. Ну и для остального. Использую свойство логарифмов что log(1+x) ~ x при малых x, которое позволяет считать доходность простым вычитанием логарифмов цен. 

Гистограммы доходностей разных активов

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

Блог им. SciFi |Уровни по Brent или когда можно брать ее в лонг

    • 11 января 2016, 17:38
    • |
    • SciFi
  • Еще
Судя по объему на пут-опционах на Brent (февральский WTI) на CME, ближайшая плита находится на 30$. (Сейчас 33.28)
Есть две плиты поменьше на 29 и 31. Видимо, числа не очень круглые, поэтому поменьше там опционов куплено. На мартовских опционах плита тоже в районе 31. На апрельские опционы пока спроса нет. 

Вывод: по 31-30 можно брать в лонг со стопом ниже 30. При пробое 29 улетит на 26. Там можно смело шортить на всю котлету. 

Блог им. SciFi |Куда пойдет нефть?

    • 26 августа 2015, 09:22
    • |
    • SciFi
  • Еще
Наш Ri и Si зависят процентов на 40 от нефти. Таким образом, главный вопрос всегда — куда пойдет нефть. 

Нефть бьется об уровень 43.55-43.60 всю ночь и утро пока наша биржа закрыта. Вчера в США вышел отчет, который показал существенное уменьшение запасов -7000 против прогноза на рост 1900. Но этого не хватает, чтобы пробить этот уровень. Если он будет пробит, думаю, нефть пойдет на 44.1, затем на 45.3 на ожидании уменьшения запасов перед другим отчетом в 17:30. Что скажете?  



 

Блог им. SciFi |Итоги прогноза по нефти и рублю

    • 03 августа 2015, 19:11
    • |
    • SciFi
  • Еще
Недавно я делал прогноз, что не следует бояться шортить нефть до 50. В день прогноза нефть была 54.5. Сегодня 50. Я предсказал падение на 8%. 

Взгляд на снижение нефти и ослабление рубля — до каких пор?

Я писал: «Поэтому, вывод такой, если паники не будет по рублю — шортить до 50 нефть и до 65 рубль. „ 

Очередной прогноз сбылся.

Сам я заработал только 5.5 % в такой мега ударный день.

Нефть рухнула -4.4% за день
РТС -3.6%
Рубль -2.8%


Блог им. SciFi |О том, какие скользящие средние работают

    • 28 июля 2015, 16:24
    • |
    • SciFi
  • Еще
В общем и целом по моему опыту работают 100 и 200 периодные средние. В некоторых случаях приведенные по объему. 

Смотрим сначала на 5 минутке, если по тренду не пробивается — торгуем. Затем смотрим на часовике. Затем на дневке. Чем больше таймфрейм и больше период средней, тем эта средняя является более сильным уровнем для отбоя. 

Volume Adjusted (приведенный по объему) Moving Average работает хорошо. В частности, вот объяснение, почему доллар развернулся от 49 — это поддержка по 200-периодной скользящей средней, приведенной по объему. 

 О том, какие скользящие средние работают

Н
а фьючерсах на нефть на 5 минутке работает Simple MA — 100 (Желтая линия). Белая линия — 400 периодная на 5 минутке. 

О том, какие скользящие средние работают

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

Блог им. SciFi |Взгляд на снижение нефти и ослабление рубля - до каких пор?

    • 26 июля 2015, 14:53
    • |
    • SciFi
  • Еще
Я торгую по тренду и сегодня задался вопросом — до каких пор можно спокойно шортить нефть и рубль? 

Следующий уровень поддержки нефти марки Brent = 45,2 $. До этого уровня я не буду бояться шортить нефть по тренду. А значит, и многие другие. Следовательно, в случае равномерного ослабления рубля не будут бояться шортить рубль до 3400 / 45 = 75 рублей за доллар. По Si это будут цифры процента на 1-2 больше, то есть где-то 75*1,015*1000 = 76000.

В случае паники ожидаю рублей 90 за доллар, так как произведение нефти на доллар достигнет пика — 4000 / 45 = 88. По фьючерсу это около 89000

Но если не будет паники, то по мере приближения к 70-80 по рублю и 50-45 по нефти будут нарастать опасения по поводу перспективности шортов. Поэтому, вывод такой, если паники не будет по рублю — шортить до 50 нефть и до 65 рубль. 

Взгляд на снижение нефти и ослабление рубля - до каких пор?


....все тэги
UPDONW