Comments 44
Мне интересно! Выкладывай:)
Можешь рассказать по следубщим пунктам:
Как синхронизировал батчи по варпам?
При копировании данных с GPU с хоста, в какую памчть трамбовал данные? Shared/global?
Была ли задействована constant память для каких-то данных?
Сколько потоков запускал?
Тестил ли на register pressure наборы данных, чтобы gpu не подтормаживала?
Вижу вывод с винды, GPU немного недозагружена, но возможно это кривое отображение задействованных ресурсов GPU, так все-таки, пробовал ли на 100% ее загрузить?
Считалось на CUDA или тензоры тоже подключались для каких-то действий?
Не упирался в троттлинг по памяти/кристаллу?
Спасибо за ответы заранее:)
Цифра впечатляет "на 4 тикера 1,47 млрд стратегий", видимо, имеется в виду количество вариаций одной стратегии, а не стратегий. От таких вычислений очень сильно веет переоптимизацией. На мой взгляд, ставить деньги на такие системы опасно.
Да, всё верно. Ядро пока одно. Это кол-во комбинаций значений параметров, оптимизация. По деньгам считает точно, расхождение в изменении курса usd. Я в ручную пересчитывал математику закрытия сделок. Переоптимизации нет. Был момент, когда я подошёл к скорости в 1 млн комбинаций в секунду, тогда да, расчёты посыпались. Откатился на 150 тыс.
Кому интрадей стратегий со средней доходностью на протяжении 9 месяцев в 50% в месяц к депозиту?))
мне
Не очень понятно что с такой доходностью (50% в месяц ) вы на Хабре делаете. Если взять начальный депозит 10000 usd (не такая уж большая сумма), используя формулу сложного процента, то через 3 года у вас на счету будет примерно 227 млн usd. Можно начинать подыскивать остров для покупки
На самом деле, даже если вам удастся получить стратегию на 50% в месяц, то есть буквально бесконечные деньги - бесконечными они не будут. После определенной суммы сделки на большую сумму будут исполняться так долго и влиять на рынок так сильно, что полностью потеряют доходность.
А вообще тут как-будто бы типичный пример оверфитта обычной нейронной сети, только автор сделал необычный подход - место градиентного спуска взял просто огромное количество комбинаций весов и прогнал их последовательно и выбрал те, которые ближе всего к нужному результату. Я так могу любую доходность показать. По хорошему нужно подбирать стратегию на X_train, а потом выбранную запускать уже на X_test, и вот если там будет 50% в месяц - я поздравлю ещё одного миллиардера, но это, увы, не сработает.
Будет приближаться к Илону Маску в списке богатейших людей мира.
Я этот пакет только написал. Предстоит написать торговый бот и делать тест со стратегиями с этого пакета.
Я бы, прежде чем писать бота, сделал бы следующее:
Как уже написали выше, разбить весь набор данных на две части - Train and Test. Обучать на Train, тестировать на Test
Попытаться найти ошибку "заглядывания в будущее". Самый простой пример такой ошибки: логика ваших алгоритмов использует цены Close, а открываете или закрываете сделку вы по ценам Open или High или Low той же свечи, Close которой используется в логике алгоритма
Я этот пакет только написал. Предстоит написать торговый бот и делать тест со стратегиями с этого пакета.
Я этот пакет только написал. Предстоит написать торговый бот и делать тест со стратегиями с этого пакета. P.s. - в хабре комменты глючат.
Не будет, это так не работает, для исполнения вашей фантазии, на бирже должна быть бесконечная ликвидность по торгуемому активу, чего не бывает.
Но это же подгонка под исторические данные. Вот если поделить тестируемый отрезок пополам, на первом вычислить оптимальные параметры, с ними прогнать на втором. Тогда посмотрим скока там процентов в месяц выходит. Такими картинками весь трейдинг вью завален
Как технический кейс - ок. Реально это не сработает, о чем тут уже подробно написали. Возьмите данные за другие 9 месяцев и все сразу станет понятно. А вот из сравнения таких периодов (лучше 3-4, с таким подходом это тоже быстро) можно выбирать наилучшие стратегии. Конечно, там не будет и 50% за год, но и 10% в валюте тоже очень неплохо. Удачи!
Если вы будете использовать так называемый "классический" подход - где берем и используем лучшую стратегию то работает не очень, а может и не работать. А вот если полученные данные по тестированию стратегий правильно обработать и создать на их основе "правильную" стратегию, то все таки очень неплохо работает, в том числе и на другом периоде, на котором НЕ проводили тестирование. НЕ грааль конечно, но работает неплохо и устойчиво. Как это делать писать конечно не буду, потому что хоть и не грааль, но вполне неплохо и конкуренты таки никому не нужны.
Я точь в точ понимаю о чём вы говорити) так и делаю. В данном пакете топ статегии выбираются не по прибыли, а по кастомной метрике, которая опираеться на 4 других метрики со своими весами. Акцент на стабильность и быстрое восполнение после просадки. Так и получается по 50%. А если тупо по прибыли, то там есть стратегии и по 65% в среднем в месяц, вот они более рисковые.
Спасибо большое.
Тож решил попробовать Taichi, что то я забыл про него, больше numba использовал. Запустил новый Claude Sonnet 4.5 и с помощью него навайбкодил простой тестер стратегий за 30 минут. И вроде все работает, надо будет тоже потестировать насколько быстрее чем с numba выходит.
Кому интрадей стратегий со средней доходностью на протяжении 9 месяцев в 50% в месяц к депозиту?))
мне тоже
Поделитесь результатами портфеля хотя бы через полгода, плз.
А ведь в пакете для бэктестинга самое главное скорость
Нет. Самое главное - реалистичность стратегии. А скорость нужна для поиска коллизий, которые идеально покажут вам прошлое и умрут в будущем. Я 9 лет подобным занимался в разных вариациях. Найти коллизию не сложно, а вот заработать - невозможно.
А я 15 лет). Понимаю о чём вы говорите, для меня это всё по умолчанию.
А зачем тогда всё оно?
Судя по вашим ответам не очень понимаете. Тут нет влияния сколько лет вы этим занимаетесь, 9-15…хоть сто.
Вы ниже пишите в ответе, что валидация частично решена. Что значит частично? Валидация данных либо проходит, либо не проходит.
ПС: больше похоже на то что вы вдруг научились обучать сеть на данных, и она обучилась. Вы так обрадовались что решили этим поделится, но валидацию не сделали. А я уверен что валидация покажет куда хуже результаты, более того на реальном рынке они спустят бабло. Вообщем вы поспешили…
Вот бы ещё увидеть реальный торговый счёт на этой системе... А то картинки это красиво, а вот цифры на счету говорят сами за себя.
Рекламируется фреймворк или продажа стратегий?
учёт комиссий
Как там учет комиссии сделан, тейкер/мейкер? Чтобы узнать кем вы были нужен стакан, а я вижу минутные свечи как дата-сет. Разница там огромная
Подбираем параметры на 24 годе и ранее, тестируем на 25. Смотрим как по всем стратегиям наступает плато. Накидать 15 индикаторов и чтобы параметров для подгонки было не менее 500, вот и весь секрет успеха. Надо ещё добавить в стратегии манименеджмент, мартингейл в самый раз. Автор к какой яхте уже прицениваешься?))
Нет, это ещё только начало. Дальше нужно ещё делать перебор, генетическую оптимизацию всевозможных комбинаций, условий, решающих правил, на основе различных индикаторов с разными параметрами. Чтобы софт сам искал оптимальную торговую стратегию. Вот где настоящий Грааль. Просто оптимизацией параметров N количества индикаторов вы таких красивых (на трейне) кривых доходности не получите ;)
Подбираем параметры на 24 годе и ранее, тестируем на 25. Смотрим как по всем стратегиям наступает плато.
Если тестировать по 150 тыс. стратегий в секунду, то и в 25-м году 1/3 из них вверх тоже пойдет. А треть от той трети и в 26-м. Так что все эти тестирования да валидации на отложенных выборках - не панацея ))
Пришлось покопаться в недрах памяти, ибо давно это было)
Да плато наступает не сразу)
Для начала выяснится что-то 2/3 отложенных лимитированных ордеров во время не срабатывают, срабатывают только как рыночные и не там как прогнозировалось в стратегии.
Задрачивать параметры я умел) Генетические алгоритмы наше всё) Кривая доходности на бумаге была покруче чем у Курта Сакаеды в реале, был в те времена такой деятель на фьючерсных рынках.
На барах/свечах тестировать не имеет смысла. И скорость совершенно не важна в бэктестах. И у вас подгонка под историю. На слепом тесте всё сломается.
Как упражнение по программированию - хорошо, молодцом.
А над очередным ломателем финансовой системы могу только угрюмо усмехнуться.
Бэктестер для торговых стратегий на GPU со скоростью просчёта 150 тыс стратегий за 1 секунду