Блог им. kodges

Оптимизация в Wealth-lab

Здравствуйте уважаемые коллеги!
В ходе подбора параметров торговой системы в Wealth-lab столкнулся с очень долгой оптимизацией оных. Особенно если параметров больше десятка, там просто уже какие-то нереальные цифры времени расчета… недели, месяцы, годы...

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

В связи с чем у меня возникло несколько вопросов. Есть ли в природе модули оптимизации для Wealth-lab использующие процессор на всю катушку? 
Или может быть есть модули использующие не CPU а GPU для более быстрой оптимизации? Ведь не случайно крипту майнят именно видеокартами. 

В общем если есть у кого-то что-то полезное по данному вопросу, прошу поделиться ценной информацией или даже готовым модулем для Wealth-lab.
19 комментариев
Используйте генетичечкий алгоритм (что то делалось в этом направлении под WL), это на порядки сократит время.
avatar
Joni2, Но это насколько я понимаю рандом, с уточнением лучших результатов. То есть если рандомно не попали удачно в прибыльный «пучок» параметров, то он никогда не будет найден и уточнен. Или я чего-то недопонимаю?
avatar
Там все гораздо сложнее — и в результате локальные максимумы он находит — хоть и не со 100% точностью и не всегда в оптимальном месте. Если покажется недостаточным — пройдите перебором найденные участки.
avatar
Joni2, А можете поделиться dll-кой генетического алгоритма?
avatar

Я писал такую штуку для велса. Да, он в один поток фигачит).

 

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

 

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

avatar
К сожалению с программированием туговато. Юзаю для оптимизации скрипт написанный на заказ.
avatar
Юрий, Сам код наверно уже не найду щас, но как идею — можете как-то заиспользовать).
avatar
Replikant_mih, А у вас случайно библиотечки с генетикой для велса нет? Никак не найду ((
avatar
Юрий, Нету, там резве нет в базе этого?
avatar
Replikant_mih, К сожалению в базе нет… Только как дополнение. Но дополнение без действующей лицухи не качнуть у них ((( И попросить некого…
avatar
Юрий, на пауке посмотрите, там много чего есть, может найдёте
avatar
Andrew Morozov, нету там.
avatar
Готов даже поделиться неболеющим сабжем версии 6.9.19.0 в обмен на генетику для него.
avatar
Попробуйте портировать  стратегию на NinjaTrader 7, там все с оптимизацией в полном порядке.
avatar
Joni2, надо будет подумать в этом направлении. Спасибо!
avatar
сделайте больше шаг параметров. потом отберите удачный диапазон. снова проведите поиск.
avatar
Susanin, Да я так и делаю сейчас, но как показывает практика, все равно при каких то условиях лучшие результаты ускользают…
avatar

Велс на одном скрипте использует только одно ядро процессора. Поэтому ускорить получится только увеличением тактовой частоты процессора.

Чтобы ускорить процесс теста я разбил тестовые периоды по полгода и запускаю велс в нескольких экземплярах одновременно.

avatar
Изрядно попотев я сделал мультипоточный оптимизатор для WLD 6 для набора стратегий на 1 символе. Те пакет страт оптимайзится одновременно в 1 окне.  приобрести возможно, но не бесплатно. вопросы на почту.

теги блога Юрий

....все тэги



UPDONW