Избранное трейдера Андрей

по

Универсальный солдат: я сделал это!

Универсальный солдат: я сделал это! 

Больше 12 лет занимаюсь механическими торговыми системами. Периодически встречаю в интернете красивые графики тестов по продаваемым за денежку малую роботам, графики типа приведенного внизу и еще круче.

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

Была мысль. И вот что получилось

Дело было в июне-июле прошлого года.

Моя благоверная уехала в гейропу на полтора месяца, и у меня возникла мысль шальная. Как получить дополнительный профит со своих знаний в области алготрейдинга. И как это сейчас модно мысль была в обучении, собрать группу, и обучить за месяц. А почему нет. Ожидался выхлоп за месяц порядка 1мл. наших деревянных, за месяц работы и с месяц подготовительной работы. Обучение хотел провести в 3 шага. 1. Теория. 2. Обучение созданию в TsLab. 3. Совместное создание рабочего алгоритма.

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

Про третий пункт сейчас и пойдет речь.

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



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

Открытый Универсальный Робот – Немного о Qlua и как запускать робота в квике

Подумал, что многие не знают, как подступиться к языку Qlua и запустить робота в квике. А между тем, это настолько просто, что даже не требует ничего кроме квика, виндусовского блокнота и знаний самого Qlua.

Qlua – это скриптовый язык поддерживаемый квиком, в основе язык lua 5.1 (в моем квике версия такая).

Скрипты, написанные на Qlua – это обычные текстовые файлы, которые имеют расширение «.lua». То есть можно сделать файл в обычном блокноте и после сохранения поменять в нем расширение с «.txt» на «.lua». Если внутрь этого файла записать инструкции кода на языке Qlua, то квик будет выполнять их.

Для удобства написания инструкций кода лучше пользоваться не виндусовым стандартным блокнотом, а например Notepad++, который можно скачать официально и бесплатно здесь https://notepad-plus-plus.org/download/v6.9.1.html. Он позволяет включить подсветку синтаксиса различных языков программирования, в том числе и lua, что очень помогает при написании кода.

В Notepad++ в «Опции -> Настройки» можно выбрать русский язык, а в «Опции -> Определение стиля» установить для lua понравившийся стиль отображения. Я для «Язык -> lua» ставлю стиль «Выбрать стиль -> Bespin» и еще в окошке «Стиль» для последних трех «FUNC» переопределяю цвет, иначе они с фоном сливаются.



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

Алгоритмический подход к созданию стратегий.Часть 3

    • 24 апреля 2016, 11:47
    • |
    • uralpro
  • Еще

Interview-with-a-Quant-Part-3-980x423

Начало здесь

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

1.Как вы отслеживаете и управляете вашими моделями в боевых условиях? Какие дополнительные проверки и процедуры используются?

Я верю в ручное отслеживание прибыли/убытков в качестве инструмента диагностики. Мне нужно знать, каждый  день, точный источник моих прибылей/убытков. Что подорожало, что подешевело, насколько и почему. Это дает мне уверенность, что модель работает, как должна, и это действует как система предупреждения плохих новостей.



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

К докладу на конференции Смарт-лаба 14 мая

    • 22 апреля 2016, 13:52
    • |
    • А. Г.
      Проверенный аккаунт
  • Еще
Подготовил презентацию

drive.google.com/file/d/0BzRUUWXCOSO5QzVxUEFRUGdVWU0/view

Но скажу сразу, что есть сомнения, а не напугаю ли я аудиторию? Посмотрите, дайте обратную связь.

P. S. Поясню, чтобы не было недопонимания. Это не доклад о том, как строить торговые алгоритмы, а методика классификации рынка, которая дает ключ к пониманию:

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

Его величество Тэйк Профит!

Торговая система без тэйк профита, как свадьба без невесты, как нитка без иголки, как Кай без Герды, СмартЛаб без Тимофея… Ну вы меня поняли, что в данном видео я дополняю ТС функцией тэйк профита. Приятного просмотра.

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

Может это то, что вы ищите?

Купить внизу, а продать вверху – мечта каждого трейдера. Давайте помечтаем вместе. Делаю контртрендовую систему. Придумал идею для ТС, собрал в кучу индикаторы, уже «прикрутил» сигналы на вход и выход, но впереди еще много работы… За процессом можете наблюдать здесь. https://www.youtube.com/channel/UCm_NOgkQ2BHcI5uFcR_BtNg Уже готово 3 видео. Приятного просмотра.


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