Библиотеки: BestInterval - страница 15

 

Прочел про OLAP еще раз. Возможно, слабо уловил, но там отсутствует нахождение оптима.

Какой смысл просто в построении графиков таких сечений данных?

Поэтому, если правильно понял, обобщение к библиотеке никаких боком, к сожалению.


ЗЫ Но обобщение возможно, конечно.

MQL's OOP notes: Online Analytical Processing of trading hypercubes: part 1
MQL's OOP notes: Online Analytical Processing of trading hypercubes: part 1
  • 2017.04.29
  • www.mql5.com
Normally trader's activity involves analysis of a lot of data. Part of it, and probably most significant part, are numbers. Time series, economic indicators, trading reports should be studied, classified and analyzed. It's very likely that this is the trading was the first applied field for big data science. When numbers form a massive array...
 
Andrei Trukhanovich:

думал, думал, так и не придумал что кроме времени можно так же эффективно фильтровать.

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

стакан? другие датафиды?

и еще вопрос - есть смысл делать гиперкубы? по идее по отдельности оно все тоже должно хорошо фильтроваться.

Параметры, символы, дни недели (они вроде как тоже "время", но я не видел их использования в BestInterval), длительность удержания (вроде тоже "время", но не абсолютное, а относительное), размеры лотов, количество сделок с заданным исходом в близкой истории, и т.д.

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

 
fxsaber:

Прочел про OLAP еще раз. Возможно, слабо уловил, но там отсутствует нахождение оптима.

Какой смысл просто в построении графиков таких сечений данных?


Поэтому, если правильно понял, обобщение к библиотеке никаких боком, к сожалению.


ЗЫ Но обобщение возможно, конечно.

Ну, в этом смысле можно считать гиперкуб промежуточными мета-данными, в которых легко найти оптимум в понимании подхода BestInterval - разве нет? Достаточно "привязать" все записи гиперкуба к какой-то величине, которую следует максимизировать (например, профит) и фильтруя гиперкуб (как BestInterval фильтрует время), получить лучшие значения по прочим параметрам, не только по времени.

Представьте себе, что код BestInterval остался прежним, но вместо времени туда подали какие-то другие числа - программе же на это в общем-то по барабану - она все равно найдет Best"Interval".

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

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

Сам BestInterval только максимизирует прибыль по фильтру. Дело не фильтре, а в нахождении прибыли с последовательной отбраковкой.

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

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

 
fxsaber:

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

Сам BestInterval только максимизирует прибыль по фильтру. Дело не фильтре, а в нахождении прибыли с последовательной отбраковкой.

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

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

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

Про предсказание фильтра наперед - не понял. Есть фактические данные, мы их обработали, получили рекомендации - где здесь предсказания?

 
Stanislav Korotky:

Когда "пространственных" измерений много - получаем гиперкуб, можно назвать его просто многомерным массивом. Таблица - его частный, самый простой случай.

В контексте применения к истории торгов гиперкуб - таблица. Его сечение - составляем другую таблицу, пробегаясь по столбцам исходной.

Разумеется можно прикрутить любой алгоритм "нахождении прибыли с последовательной отбраковкой".

Осталось за малым - прикрутить. Для примера, составление таблицы ~5% от библы. Остальное - "прикрутить" и применить.

Про предсказание фильтра наперед - не понял. Есть фактические данные, мы их обработали, получили рекомендации - где здесь предсказания?

Предсказание - это как раз по теме "применить". Если, например, сказано, что при RSI > 90 позицию не открывать, то такое условие невозможно проторговать через отложенные ордера, т.к. оно непредсказуемо.


Ну и в вопросах применения фильтра не обойтись без виртуального окружения. Поэтому "прикручивание" - задача несколько другого порядка.

 
fxsaber:

В контексте применения к истории торгов гиперкуб - таблица. Его сечение - составляем другую таблицу, пробегаясь по столбцам исходной.

Осталось за малым - прикрутить. Для примера, составление таблицы ~5% от библы. Остальное - "прикрутить" и применить.

Предсказание - это как раз по теме "применить". Если, например, сказано, что при RSI > 90 позицию не открывать, то такое условие невозможно проторговать через отложенные ордера, т.к. оно непредсказуемо.


Тут везде какая-то терминологическая путаница - не думаю, что имеет смысл цепляться за слова - похоже, мы имеем в виду одно и то же, но "учились в разных спецшколах" (для меня таблица - всегда плоская ;-), она формируется при сечении гиперкуба какой-то гиперплоскостью; можно назвать все целиком многомерной таблицей, но раз уж в обращение введен устоявшийся более краткий термин, я предпочитаю его). Про предсказание - аналогично (после пояснения изначальный смысл стал ясен, но выбранная формулировка кажется мне неподходящей, сугубо имхо).

Я делал OLAP - для многофакторного анализа (те самые вышеприведенные графики с разбивкой по периодам (и прочим параметрам), имхо, тоже представляют интерес), и непосредственно задачу автоматической оптимизации на базе гиперкуба не решал. По идее, куб можно запихнуть в штатный оптимизатор и использовать его в режиме матвычислений.

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

 

Что касается терминологии, то многомерные пространства и плоскости понимаем одинаково 100%. Как и таблицу - плоская матрица NxM.

Любой срез Вашего гиперкуба получается из плоской таблицы - вот о чем.

 
Stanislav Korotky:

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

Это уже ближе к МО, но совсем ничего общего с BestInterval. Там для каждого прохода оптимизатора запускается "режим матвычислений".

Ценность именно в том, что для каждого оптимизационного прохода. Т.е. можно полностью выкинуть (перед оптимизацией) из исходной ТС параметры, отвечающие за диапазон времени (или другого фильтра) торговли.

За счет этого количество проходов уменьшается на порядки при полном переборе и генетика меньше блуждает.