Избранное трейдера Роман Давыдов

по

Прибыльны ли модели ARIMA/GARCH? Часть 1

    • 29 октября 2016, 11:19
    • |
    • uralpro
  • Еще

Прибыльны ли модели ARIMA/GARCH? Часть 1

Статья из блога Robot Wealth.

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

Сначала дадим несколько необходимых определений. Я не хочу воспроизводить всю теорию целиком, ниже дан краткий обзор моделирования временных серий, в частности ARIMA и GARCH моделей:

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



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

Анализатор опционных позиций. OptionFVV. Версия 2.0 public

Здравствуйте дорогие друзья!

В моем анализаторе большие изменения, поэтому версия сразу 2.0. Основная тема данной версии, это DDE сервер и скорость.
DDE сервер мне писал профессиональный программист Дмитрий, я ему безумно благодарен, потому что он мне его писал абсолютно бесплатно, без всякой корысти и жажды наживы. Всегда восхищался такими людьми, так что Дмитрий «партия» тебя не забудет.
Я бы конечно написал когда нибудь DDE сервер, но у меня руки до него дошли бы только через 2 года, наверное.

Итак изменения (очередность такая как я программировал):

1. История улыбки теперь не сохраняется если сделаны сделки только фьючерсом. История сохраняется, если были сделки только над опционами.

2. При удалении стратегии, файл истории этой стратегии теперь тоже удаляется, раньше не удалялся в итоге эти файлы росли.

3. Сделал возможность скрытия портфеля нажатием одной кнопки, при нажатии её еще раз, портфель примет предыдущее состояние.

4. Сделал отображение греков и профита в подвале главной формы. Это необходимо для того чтобы контролировать их при свернутой форме «Портфель».
Анализатор опционных позиций. OptionFVV. Версия 2.0 public



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

Простое преимущество в SPY

    • 13 августа 2016, 09:00
    • |
    • uralpro
  • Еще

strat

Статья из блога "Trading with Python" об элементарной стратегии, которая демонстрирует последовательный подход к разработке алгоритмов.

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

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

Давайте возьмем наиболее популярный инструмент — S&P 500 ETF «SPY». Начнем с наблюдений.

Обзор данных

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



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

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

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

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

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

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

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

Предсказание чего угодно с использованием 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']


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

Дивидендная система инвестирования Ларисы Морозовой

Дивидендная система инвестирования Ларисы Морозовой
Покупка акций компаний, которые платят супер-дивиденды. Главное, — определить, почему компании платят супер-дивиденды и будут ли они платить эти дивиденды в дальнейшем. Для этого надо понять желание мажоритария платить дивиденды. Надо отметить, что вся система инвестиций Ларисы Викторовны построена на логике и здравом смысле.

Причины эти можно классифицировать:
  1. необходимость пополнения госбюджета (Газпром)
  2. необходимость пополнения бюджета субъекта (Татнефть, Алроса)
  3. желание иностранного мажоритария получить профит от дочки
  4. смена собственника, желание мажоритария заплатить по долгам за счет дивидендных выплат
  5. скупка акций менеджментом
  6. резкий рост чистой прибыли
  7. желание материнской компании получить прибыль от дочерних обществ
Дивидендная система инвестирования Ларисы Морозовой
В реальности причин может быть много, Лариса Викторовна выделяет особо эти. Причины и желание платить дивиденды должны быть перманентными, а не одноразовыми. Если возникает уверенность, что мажоритарий больше не захочет платить хорошие дивиденды, то такую акцию можно продать сразу после отсеки (например, Новосибирскэнергосбыт).

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

Приятный бонус на экспирацию! Торгуйте опционами!

Приятный бонус на экспирацию! Торгуйте опционами!

ЗЫ Торгуйте опционами, нам вас не хватает!!!

Применение наивного байесовского классификатора на R для поиска закономерностей и прогнозирования

    • 09 мая 2016, 13:48
    • |
    • SciFi
  • Еще
В последнее время изучаю R и машинное обучение. 

Мои статьи про R, машинное обучение, количественный анализ

В этом посте я расскажу о том, как применить машинное обучение для поиска закономерностей и прогнозирования.

Использовал эту статью: Применение машинного обучения в трейдинге

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

Теорема Байеса в теории вероятностей, как теорема Пифагора в геометрии.

Байесовская вероятность — это интерпретация понятия вероятности, используемая в байесовской теории. Вероятность определяется как степень уверенности в истинности суждения. Для определения степени уверенности в истинности суждения при получении новой информации в байесовской теории используется теорема Байеса. 

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

Мои шаги в сторону машинного обучения на 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. 

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