Избранное трейдера Ostap Bander
Копался в статьях по алготрейдингу, решил присмотреться в сторону машинного обучения. Но это в моем случае не про какой-то искусственный интеллект с нейросетями, в нейросети пока не хочу лезть, слишком сложно. Для начала хочу использовать простые алгоритмы для классификации и оценки хороших точек входа на основе обучения модели на истории.
Я исходил из того, как сам разрабатываю обычно торговую систему: ищу хорошие точки входа на истории и классифицирую их. Но так как человеческие возможности ограничены, использую только 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. Также делюсь элементарным кодом.
# Инициализация библиотеки 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.

Пока не пробили барьер из сильных оферов в евро выше 1.1440 и оттолкнулись. Не хватило всё-таки топлива для взятия препятствия, но внизу находится несколько баз для дозаправки. Не скажу, что биды сильные, большинство покупателей евро сгорело в в битве за рубеж. Нет, не так. Позиции, открытые участниками рынка форекс по главной паре пока не закрыты, многие входили в рынок с дальним прицелом на восходящий тренд, так что война не окончена, она никогда не прекращалась. Напомню собственные слова о том, что как раз на этих уровнях идёт настоящая битва за слом тренда. Многие продолжают верить в паритет евро и доллара, а кто-то готов лечь костьми за новые вершины. Правильно было подмечено в комментариях, что после 1.15 практически открыт путь на 1.25, но и на этом пути множество подводных и надводных камней.Всех приветствую.
S&P500 выполнил пробил нижнюю границу боковика. Пока что боковик продолжается. Сегодня жду возврата в боковик и, после закрепления внутри, жду движения к верхней границе боковика.
РТС пока что в середине боковика. Да, он попытался пойти по стрелочке вчерашнего обзора, но пока что признака выхода вниз нет. Я все же жду движения к нижней границе, но возможен еще один рывок к верхней границе.
Когда мы говорим об интеллекте человека, мы обычно подразумеваем либо уже наличие у него неких знаний и навыков, либо способность их приобретать. Однако есть много различных аспектов интеллекта. Эмоциональный интеллект, или «EQ», — это одна из форм интеллекта, которая, в различной степени, присутствует у каждого человека и оказывает на него влияние.
Согласно исследованиям, люди с высоким уровнем EQ более уверены в себе, что часто напрямую связано со степенью успешности человека, как на профессиональном поприще, так и в личных отношениях. Высокий EQ позволяет лучше распознавать и контролировать свои эмоции, понимать эмоциональные состояния других людей, и соответствующим образом корректировать своё поведение.
По сути, эмоциональный интеллект условно можно разделить на четыре «составляющих»:


01.03: +410 п.
smart-lab.ru/blog/tradesignals/313715.php
02.03: +1150 п.
smart-lab.ru/blog/tradesignals/313948.php
04.03: +200 п.
smart-lab.ru/blog/tradesignals/314522.php
07.03: +250 п.
smart-lab.ru/blog/tradesignals/314937.php
09.03: +300 п.
smart-lab.ru/blog/tradesignals/315274.php
11.03: +520 п.