Есть ли закономерность в хаосе? Попробуем поискать! Машинное обучение на примере конкретной выборки. - страница 26

 

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



Подавайте на обучение не D(i)=D(i-1)+ Target_100_Buy

а

пропустите ближайшие 1000 строк к текущему бару. Наверное так D(i)=D(i-1000)+ Target(i-999)  - но не уверен. Надо подумать. В общем добавить шифт на 1000 строк надо.


П.С. Если в данных Алексея тоже могут быть одновременно несколько незавершенных сделок, то тоже будет подглядывание через тот, который еще не завершился, а уже подан на вход для обучения.

 
Forester #:

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



Подавайте на обучение не D(i)=D(i-1)+ Target_100_Buy

а

пропустите ближайшие 1000 строк к текущему бару.

Если честно, то совершенно не понял спич ... :(

Формула применена для ряда, который описывает дельту движения между шагами. Какое подглядывание в будущее? 

 
RomFil #:

Если честно, то совершенно не понял спич ... :(

Формула применена для ряда, который описывает дельту движения между шагами. Какое подглядывание в будущее? 

В моей выборке нет "между шагами" - одновременно будут совершаться до 100 и больше шагов (т.е. сделки не закрыты, но уже попали в разметку, вот их и надо пропустить).

 
RomFil #:

"Что я сделал?":

Выборка train имеет объём около 1ГБ. Загружать её в рабочее пространство достаточно длительная процедура. У меня i5-3570 c 24ГБ оперативы с быстрым SSD в Excel этот файл открывает несколько минут. Потому я решил, что её надо сократить. Разбираться в надписях для 5000+ столбцов мне стало лень. Я взял 5584 5586 столбец и на все строки применил сигнал, к примеру BUY (если честно не помню уже какой может и SELL). тем самым по этому столбцу сформирован график по указанной выше формуле. Т.е. на первом шаге было ноль, потом 0,00007, далее 0,00007-0,00002=0,00005, далее 0,00005+0,00007=0,00012 и т.д. Т.е. я из столбца 5584 5586 сформировал график движения без привязки, так сказать относительный график движения. Как будто это график Close, т.е. по завершению каждого шага графика цена актива изменяется на соответствующую величину.

P.S. Обманул на счёт номера столбца ... Брал самый последний 5586 (только что в экселе посмотрел) с сигналом SELL.

"... зачем новая выборка":

Чтобы на её примере показать и рассказать в определённом объёме про подход. Если назовёте номера столбцов где можно взять цены OHLC или просто Сlose, то этого будет достаточно.

Про остальное:

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

Ну раз топикстартер не желает давать новые выборки, то предлагаю любому заинтересованному выложить свою ... :)

С уважением, RomFil!

В экселе счет идет с единицы, а в CatBoost и mql (да и других языках) с нуля.

Т.е., как я понимаю, вы взяли просто последний столбец, сделали массив накопительный, получился как бы график. Допустим. Создали какие то предикторы по этим данным. А целевая следующее значение этого ряда, или изначального т.е. дельта? Т.е. регрессионная модель, дающая результат условно (+x||-x), и если +x, то входим в сделку, правильно?

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

 
Aleksey Vyazmikin #:

В экселе счет идет с единицы, а в CatBoost и mql (да и других языках) с нуля.

Т.е., как я понимаю, вы взяли просто последний столбец, сделали массив накопительный, получился как бы график. Допустим. Создали какие то предикторы по этим данным. А целевая следующее значение этого ряда, или изначального т.е. дельта? Т.е. регрессионная модель, дающая результат условно (+x||-x), и если +x, то входим в сделку, правильно?

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

Алексей - в ваших данных могут быть одновременно несколько незавершенных сделок? Т.е. следущий сигнал появился, а сделка по предыдущему сигналу еще не завершена?
 
Forester #:

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

Всё равно не понял ... :( Какие сделки, какая разметка?

Подход по торговле следующий:

1) Есть движение цены (график Close, ну например битка). На график для наглядности нанесён мувинг с периодом 9 и сдвигом -2.

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

3) Если сделка дала профит, то в итого записывается +А количество пунктов, в противном случае -А.

4) Таким образом и формируется доход в пунктах.

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

 
RomFil #:

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

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

 
Forester #:
Алексей - в ваших данных могут быть одновременно несколько незавершенных сделок? Т.е. следущий сигнал появился, а сделка по предыдущему сигналу еще не завершена?

Нет, в тех данных только последовательные сделки.

 
RomFil #:

Всё равно не понял ... :( Какие сделки, какая разметка?

Сделки по такой разметке https://www.mql5.com/ru/code/903

Добавляем по 1 сделке на каждом баре и каждая ждет своего ТП или СЛ. Сделка от предыдущего бара обычно не завершается к началу следущего. Итого одновременно будет много сделок.

Sampler
Sampler
  • www.mql5.com
Индикатор i_Sampler рассчитывает идеальные входы, предназначен для обучения нейросети.
 
Aleksey Vyazmikin #:

Нет, в тех данных только последовательные сделки.

Тогда метод  RomFil не подглядывает на ваших данных. Неплохой результат.