Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 282

 
mytarmailS:
Спасибо но  вообще не знаком с МТ, может есть возможность просто получить историю в каком то файле?
История это набор бинарных файлов определенного формата. Вся система заточена именно под МТ, без него обойтись будет сложно.

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

Для мт есть инфраструктура для работы с историческими данными именно так, чтобы это было линейно и удобно.

Если вы хотите анализировать данные, скорее всего наиболее удобно будет написать для мт скрипт который будет перегонять данные в удобный для вас формат, если вы хотите использовать эти данные в торговле, альтернатив вообще нет, вам придется писать торговый движок на МТ, т.к. формат работы АПИ к серверу закрыт и открыт не будет.
 
Комбинатор:
спасибо за четкий и понятный ответ
 
mytarmailS:

 А вы прогнозируете цену или же работаете по движению? Те МО прогнозирует где будет цена в будущем или же алгоритм трендо-следующий?

Ретурны на диапазон горизонтов {1,2,5,10,30,60,120,300,600,3600}сек вперед, спреды, развороты на разных горизонтах, волатильность на 10 мин и на час вперед,  мета-состояния рынка(тренд\флет\вскипание и тп.), десятки всяких технических мета-фич и тд.

 
toxic:

... несколько видов волатильности

Это что?
 
СанСаныч Фоменко:

Я именно об этом и написал и как понимаю мы с Вами говорим об одном и том же

 

 

 Берем развороты в шорт  (продажа). Учитель для продажи НЕ то, что после разворота, а ДО и ПОСЛЕ разворота, что отсекается оранжевой линией. Аналогично с лонгами. 

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

R Какой участок торговли будет на вашем скрине, если вы будете брать окно по зигзагу???
 
СанСаныч Фоменко:
Это что?
на 10 мин и на час вперед
 
Mihail Marchukajtes:
R Какой участок торговли будет на вашем скрине, если вы будете брать окно по зигзагу???

Будет большое отставание учителя от предсказываемых баров: последнее звено ЗЗ, которое перерисовывается, предпоследнее, которое потенциально может продолжится, и еще звено, так как линия отсечения проводится на предыдущем звене.

По этой идее пытались построить модели - результат нулевой, не удается подобрать предикторы.

 
toxic:
на 10 мин и на час вперед
Меня интересовал смысл слова "волантильность". Что конкретно вами берется в качестве меры волантильности?
 
toxic:

Мля… парни, чото вы тупите жестко…

Сдвигать нужно когда используется например знаки ретурнов, как таргет, в тривиальном случае есть N прошлых ретурнов как фичи, {Rt-n,…,Rt} и будущий Sign(Rt+1) как таргет, тогда в лево сдвигаете. Но ZZ УЖЕ СДВИНУТ! ОН ПОДГЛЯДЫВАЕТ!

Подглядывающие индюки не нужно сдвигать, вы тогда учите классификатор опережать итак уже будущее, можно и так, но так ХУЖЕ.

 

Не думал, что такие прописные истины придется объяснять.

1. Есть "ЗигЗаг" и "ЗигЗаг". Нужно смотреть,что индикатор предоставляет на выходе. "ЗигЗаг" в поставке МТ4 (да и во многих других реинкарнациях) предоставляет на выходе, как правило, 3  буфера - один со значениями Вершин и впадин , по которым отрисовывается сегментами индикатор, второй только вершины, третий только впадины. Т.е. мы получим номера баров (вершины) на которых нужно изменить знак. И при использовании этих данных как целевой их сдвигать не нужно. Кстати в промежутках между вершинами индикатор не определен (или равен нулю).

В нашем случае (имею ввиду в R) "ЗигЗаг" выдает значение определенной на всех барах ломаной кривой. Мы вычисляем первые разности  diff(zz) и хотим предсказывать знак этой разности sign(diff(zz)). Куда нужно сдвинуть ряд? 

Цитирую:  "Сдвигать нужно когда используется например знаки ретурнов, как таргет, в тривиальном случае есть N прошлых ретурнов как фичи, {Rt-n,…,Rt} и будущий Sign(Rt+1) как таргет, тогда в лево сдвигаете"

Правильно, влево на один бар. 

 Индикаторы, называемые общим наименованием "ЗигЗаг",  никуда не подглядывают и никуда не сдвигаются. Они вычисляют по определенным алгоритмам  пики (геометрические или ортодоксальные) на графике таймсерии ( не только OHLC но и любой другой), т.е. моменты изменения сигналов или, как в нашем случае, определяют ломанную кривую соединяющую эти вершины и впадины. На рисунке ниже приведен пример нескольких индикаторов, которые можно использовать как генераторы сигналов. 

 https://www.mql5.com/ru/charts/6616591/eurusd-m15-alpari-international-limited

 2. При тестировании результатов предсказания обученной модели(-ей) мы определяем несколько метрик оценивающих модель.

  • Точность предсказания(Accuracy, F1 и т.п.). Сравниваем целевую с тестового набора и предикт из модели. Этот показатель оценочный, вторичный.
  • Качество предсказания. 
    • Например коэффициент качества = Суммарный ретурн на n барах/n баров. Т.е. среднее количество пунктов прибыли на один бар на отрезке истории длиной n  баров. 
    • Максимальная просадка на этом отрезке истории
    • средняя длительность жизни позиции
      Важно помнить, что при вычислении качественных показателей предикт нужно сдвинуть на один бар вправо. Иначе получите результат далекий от реальности.

Удачи 

График EURUSD, M15, 2017.02.20 12:15 UTC, Alpari International Limited, MetaTrader 4, Demo
График EURUSD, M15, 2017.02.20 12:15 UTC, Alpari International Limited, MetaTrader 4, Demo
  • www.mql5.com
Символ: EURUSD. Период графика: M15. Брокер: Alpari International Limited. Торговая платформа: MetaTrader 4. Режим торговли: Demo. Дата: 2017.02.20 12:15 UTC.
 

Что касается того, какие значения "ЗигЗага" использовать при обучении, то тут есть три варианта :

  1. все
  2. все с увеличенными весами примеров вокруг пика (если модель позволяет использование вектора весов примера)
  3. только несколько значений вокруг пика
В зависимости от используемой модели(-ей) можно использовать одну, а если модель позволяет дообучение то две или все три последовательно.

Удачи 

Причина обращения: