ARANEA
ARANEA личный блог
Сегодня в 13:52

Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

в прошлом посте я писал про количество вариантов оптимизаций и замер на Tslab на минимальных параметрах и диапазоне ...

В этом этом же посте будет информация непосредственно о скорости вычислений и как получил 2 миллиона в секунду...

Давайте порассуждаем — вот у нас есть уровень Дневного минимума и алгоритм торговли просто ЛП минимумом красной свечи… сколько есть вариантов поведения свечей относительно дневного уровня которые можно описать от 1 до 2 свечей ?! сразу подскажу — не больше 30 если говорить о графиках криптовалют без гэпов и открытий/закрытий внутри свечи… сколько может быть правил фильтров определяющих направление цены через дневные минимумы/максимумы/закрытия ??? примерно 100 без учета индикаторов, так как алготрейдеры оценивают движения цены внутри дня на мелких таймфреймах то поведение цены относительно того или иного уровня можно оценить в миллионы вариантов комбинаций без учета отклонений/коэффициентов/PM и обновляемых значений через если/нет/да… Давайте еще поразмышляем — сколько вариантов средних скользящих можно завязать на значение бара таймфрема на котором ведется торговля то есть на High/Close/Low? EMA/SMA/MA/AMA/SMMA/DEMA/TEMA и так далее и так далее и при чем что если каждую взять с периодом 100 то на графике все будут на разных положения и дистанциях — тут речь не идет о то что показывает индикатор! тут речь идет о количестве возможных вариантов где может торговать стратегия и где можно оценить ее прибыльность/убыточность а еще сам образ торговли: быстрый/медленный/трендовый/скальперский/с минимальными просадками и так далее… вернемся к EMA — так как их большое количество да еще и прибавляется вариантов периодов — то представим что на 5 минутном таймфрейме можно оптимизировать те же варианты всех скользящих с теме же периодами но построенных на 15/30/60/120/240/1440 таймфреймах… я бы скинул таблицы в расчетах, но предлагаю каждому читателю этой статьи взять эксцель и прикинуть количество комбинаций! важно понимать не только то что я сейчас пишу но еще в и цифрах если ты хочешь все таки понять как устроен алготрейдинг и его математика ...

Вот пример несколько EMA на периоде 100 для любителей визуального отображения — таймфрем все тот же 1 час:

Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2
я взял специально период 100 и несколько вариантов MA — что бы было понятно что условие алгоритма относительно уровня могу сформироваться случайно полагаясь на правило EMA — так как если бы час до этого то алгоритм бы просто не прошел! тут вскрывается главная проблема Tslab и других программ, может это даже не проблема но я бы тоже ее публично не реализовывал — количество одинаковых Entry для одной стратегии но по разными правилам EMA которых с прошлого поста у нас в расчетах 4:

Правила расчет Итоговое число вычислений EMA правил = 527
4 min max шаг итог колл.во итог для Rule
Правило_№1 10 100 10 10 10
Правило_№2 100 200 10 11 11
Пр.№3 _aEMA 20 120 10 11 253
Пр.№3 _bEMA 80 300 10 23
Пр.№4 _aEMA 20 120 10 11 253
Пр.№4 _bEMA 80 300 10 23


Entry очень важно особенно для трендовых сделок которые управляются PM без тэйка так как по ним увеличенные риски и уменьшенное количество мест где сделка может открыться относительно скальперских с тэйком +0.5 с сериями побед по 40 сделок подряд  а при условии разных правил по тому же EMA можно было бы определить в % соотношение какие сделки редкие а какие возникают в 80-90% случаем и под них уже строить систему управления 

я оставлю ссылку на первый пост так как буду часто ссылаться на количество вычислений и их вариантов в процессе написания статьи и собственных замеров smart-lab.ru/blog/1314062.php 

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

Давай пока еще про индикаторы… я скажу сразу наперед что бы было меньше слов в тексте и понятнее воспринимать: левая часть алгоритма отвечает за вход в сделку, а правая за выход из нее… Так давай представим что по мимо EMA мы довяжем в логику фильтры по RSI/MAXD/ADX это те которые существуют независимо от цены в собственном окне коэффициента а если болинджера/облако и другие — то сколько вариантов параметров под одно банально условие минимум красной свечи + дневной лоу можно выявить вариантов = левая часть становится настолько тяжелой что при оптимизации ее можно даже не переходить к правой… но тут у меня есть таблетка благодаря скорости вычислений в 2 000 000 комбинация в секунду все эти правила левой части могут жить независимо или зависимо — тут нужно просто фантазию ну и порядочный оптимизатор который сможет все это вычислить и дать итоговые результаты ... 

Как и писалось в первой статье я взял очень старенький компьютер, что бы замеры были чистые… ну конечно я еще искал архитектурные решения для собственного приложения — вот такие параметры компьютера Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2
16 лет компьютеру и как хорошо что я его не выкинул и не продал.... 

замеры Tslab я кстати сделал на нем где 39 710 комбинаций были вычислены за 103 секунды = 368 комбинаций в секунду 

Давай знакомиться с вычислителем ARANEA… и так у меня по прежнему таже стратегия ЛП минимума дневного бар — но я добавил вот такую сетку для 5 PM  и 4 варианта по EMA — ниже будет больше скринов из бэкенда и фронт моего приложения и процесса вычислений и в конце посмотрим что в итоге получили на TSlab  

Сетка рэйджов в ARANEA Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

я красным пометил трэйлинг стоп и сетку EMA которую убду оптимизировать и показывать итоговые результаты так как итоговые параметры менне важны чем сам процесс вычислений и конкретные метрики! сразу хочу заметить что у меня стоит одновременно вычисление 2 фильтров по минимумам о которых говорил в самом начале... 

и так что видно из логов приложения фулл набора...

1) Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2
сразу забегу вперед — можно оптимизировать одновременно:

1. несколько активов таймфремов — 1 стратегию все PM + все правила
2. несколько активов таймфремов — несколько стратегий +PM +правила + фильтры + индикаторы — тут вопрос фантазии, но самое интересное скорости и результаты

2)Сетка расчетов по EMA — я не стал тут сразу делать под все варианты средних скользящих так как суть этих постов донести некую важную мысль для алготрейдеров которую раскрою в конце ну и найти коллег и товарищей по цеху, возможно даже партнера по проекту Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

3) сетки расчетов PM Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2
Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

4) счетчик по фильтрам — ранее писал про повышающиеся минимумы и понижающиеся - 

тут у меня вышло Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

на самом деле если прикинуть расчетов будет меньше 

 

Причина того что я добавил не включать в расчеты правила EMA где сделок 0 а также другие фильтры которые влияют на скорость вычислений 

как итог около 1.7 миллиарда 

Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

 

Тут важно отметить саму программу TSlab — она старая и я подозреваю что данные метрики и их гибкость вычислений если внедрять то потребует колоссальных ресурсов перестроения архитектуры программы! еще важно то что она на С++ а у меня стэк из GO+RUST+JAVA+PYTH который я собирал несколько лет именно под скорость вычислений но об этом позже так как тут самое интересно 

таким образом из вычислений на CPU+GPU вылетело около 70% вычислений так как меня в оптимизации не интересуют варианты стратегий у которых сделок 1-3  или вообще нулевые… в статьях позже я буду описывать вычисления серверного оборудования и мх нюансов ...

скорость вычислений для каждого PM разная — так как на скорость влияет длина сделки и набор параметров который оптимизируется и еще на дополнительные правила которые будут описаны ниже, но сейчас на скрине я остановил процесс вычислений специально спустя 7.8 минут — потому что замер на 1-2 минутах не будет корректный так как в вычисления могу попасть легкие PM итого получилось из 1 784 873 300 прооптимизировать 87 969 476 средняя скорость составила 205 536 вычислений в секунду !!!

Оптимизация параметров робота в TSlab со скоростью 2 миллиона комбинаций в секунду часть №2

хочу напомнить что тут вычисления идут одновременно на фильтрах минимумы(повышаются/понижаются) и всех правилах EMA + все PM… Tslab с ее возможностями построения алгоритмов и систем управлений такие цифры могут только снится… но 205 000 это все еще не те 2 000 000 в секунду о которых я писал в первом посте и этом )))

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

 

я тут заметил что можно создавать темы на смарт лаб и для этого нужен какой то статус — будет замечательно если ты читатель поддержишь лайком статью и напишешь свое мнение/размышление/пожелание на эту тему 

 

а я перехожу в третьей статье в которой при к заветным 2 000 000 в секунду

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
17 Комментариев
  • ves2010
    Сегодня в 15:29

    в тслабе заходишь в редактор скриптов и находишь вкладку лог… там пишется время исполнения скрипта... 

    соответсвенно время на оптимизацию = время исполнения скрипта * число проходов / число потоков… например у мя 32 потока ... 

    можно взять в аренду сервер с посуточной оплатой на 192 потока легко… какой нибудь амд эпик?

    и кстати тслаб во время оптимизации жрет память как не в себя… а у тя всего 8гб… ему банально не хватает… вообще у тслаба прописаны минимальные технические требования… т.е если взять райзен современный и память 128Гб то там прирост будет раз 100… и  будет не то что 2 млн а целых 3 в секунду а может и больше

    кроме того… у тя 4 ре параметра оптимизации а перебор идет по 1му параметру… т.е 3 параметра фиксированы… и тогда зачем их вычислять каждый раз? 3 параметра посчитал и сгрузил в массив или файл а потом просто берешь значения без расчетов… это сэкономит 80% времени… не надо считать все… можно посчить то что перебираем

    более того… в тслабе можно многое сделать на c#… без всякого визуального редактора

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

    я бы сделал бот только из 1ой сма… т.е 3 блока… торгуемый источник + цена закрытия + сма… и все… и запустил бы перебор… и стало бы понятно насколько быстр тслаб... 

    кстати чат гпт может редактировать визуальный редактор через файл скртипта… но это медленно... 

    успехов

     

  • VLTorgovie
    Сегодня в 17:17
    Я так и не понял, вы на тслаб сделали скорость 2,5 млн комбинаций в секунду? 
  • Beach Bunny
    Сегодня в 17:36
    Ииии какой в этом смысл если Байесовской оптимизацией можно найти лучшие параметры за 100-200 шагов, ну или если параметров оптимизации очень много то за 1000 шагов.
    1шаг — это прогон стратегии с конкренными значениями параметров стратегии, прогнали один шаг, оптимизатор оценивает разультат, по заданной нами формуле и выдает набор параметров для следующего шага.
    Есть еще метод Монте-Карло можно быстро «просканировть» облако параметров чтобы предварительно прикинуть диапазоны оптимизации для каждого параметра.
    Тупой метод бруто-форса нужен, для довольно специфических вещей, которые вы врядли применяете, потому как мало кто знает как потом из этой кучи выжать и получить то что нужно.
    ДАЖЕ чат-боты не знают правильного рабочего подхода и это хорошо.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн