Избранное трейдера Андрей
Купить внизу, а продать вверху – мечта каждого трейдера. Давайте помечтаем вместе. Делаю контртрендовую систему. Придумал идею для ТС, собрал в кучу индикаторы, уже «прикрутил» сигналы на вход и выход, но впереди еще много работы… За процессом можете наблюдать здесь. https://www.youtube.com/channel/UCm_NOgkQ2BHcI5uFcR_BtNg Уже готово 3 видео. Приятного просмотра.
Копался в статьях по алготрейдингу, решил присмотреться в сторону машинного обучения. Но это в моем случае не про какой-то искусственный интеллект с нейросетями, в нейросети пока не хочу лезть, слишком сложно. Для начала хочу использовать простые алгоритмы для классификации и оценки хороших точек входа на основе обучения модели на истории.
Я исходил из того, как сам разрабатываю обычно торговую систему: ищу хорошие точки входа на истории и классифицирую их. Но так как человеческие возможности ограничены, использую только 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.
При наличии двух дополнительных файлов- картинок: buy_loss.bmp и sell_loss.bmp, сделки, закрывающие позиции с убытком, будут отображаться этими изображениями.
При наличии двух дополнительных файлов- картинок: buy_profit.bmp и sell_ profit.bmp, сделки, закрывающие позиции с прибылью, будут отображаться этими метками.
Если дополнительных меток не будет, то сделки «купить» и «продать» будут изображаться файлами по умолчанию: buy.bmp и sell.bmp.
скачать: http://www.xsharp.ru/tester
Привычка 1:
Бедные всегда ищут виноватых. Бедный человек никогда не берет ответственность на себя. Он скорее обвинит в своих неудачах коллег, начальника или систему, чем признает свое поражение. Бедный мыслит так: «Если бы не ОНИ, то я бы давно был успешным», «Мне ВСЕ мешают, я не могу ничего сделать».
Привычка 2:
Тянуть время. С детства нам навязывают старую народную «мудрость»: «Семь раз отмерь – один отрежь». Время идет, а Вы всё думаете, отмеряете, и, в конечном счете, находится кто-то более предприимчивый, который отрезает «ваш» кусок и уносит. Побеждает тот, кто не боится сделать первый шаг и рискнуть, тот, кто использует свои идеи, а не зарывает их в уголках своей памяти. Человек, с мышлением бедняка всегда тянет время, а собственную бездейственность опять же приписывает на чужой счет.Привычка 3:
Действовать наверняка. Бедные не рискуют. Они предпочитают стабильный, пусть и не большой доход. В результате так и живут от зарплаты до зарплаты, зато под воображаемым крылом стабильности.
Три года назад я решил уйти из трейдерской деятельности в реальный сектор, о чем написал отдельный пост: smart-lab.ru/blog/122223.php (Вкратце: уйдя с работы (был инженером-фрилансером), два года занимался построением алгоритмической торговой системы с целью создания торгового робота, несколько роботов в результате были созданы и пущены в работу; но потом осознал, что гарантий при таком подходе к делу никаких, что все мои поиски – статистические угадайки, и решил уйти из трейдинга в реальный сектор.)
Честно говоря, ушел я не совсем до конца, т.к. работающих роботов все же оставил в торговле, оставив за собой право надеяться на дополнительный доход. Но, тем не менее, принятое решение не возвращаться к расчетам не отменил. К расчетам возвращался только дважды: подкручивал параметры рабочим системам, ибо рынок со временем меняется, — и это отняло всего две пары выходных за три года.
А сейчас – принял решение уйти с рынка окончательно.
Всех приветствую.
Представляю вашему вниманию робота для торговли растущей/падающей скользящей. Данный робот позволит вам торговать движение скользяще средней и автоматизировать свою торговлю. С помощью этого робота можно торговать как трендовые алгоритмы так и контртренд. В этой статье рассмотрим тесты трендовой составляющей, опишу как быстро установить и запустить торговлю.