All streams
Search
Write a publication
Pull to refresh

Comments 44

Мне интересно! Выкладывай:)

Можешь рассказать по следубщим пунктам:

  1. Как синхронизировал батчи по варпам?

  2. При копировании данных с GPU с хоста, в какую памчть трамбовал данные? Shared/global?

  3. Была ли задействована constant память для каких-то данных?

  4. Сколько потоков запускал?

  5. Тестил ли на register pressure наборы данных, чтобы gpu не подтормаживала?

  6. Вижу вывод с винды, GPU немного недозагружена, но возможно это кривое отображение задействованных ресурсов GPU, так все-таки, пробовал ли на 100% ее загрузить?

  7. Считалось на CUDA или тензоры тоже подключались для каких-то действий?

  8. Не упирался в троттлинг по памяти/кристаллу?

Спасибо за ответы заранее:)

У меня нет времени отвечать на все вопросы, извини. Главный совет: профилируй под своё железо и код. Я недели 2 профилировал. Поднял скорость с сотен стратегий до 150-160 тыс стратегий в секунду. В конце упёрся в скорость возврата просчитанных данных с gpu. Далее уже только железо другое нужно.

Цифра впечатляет "на 4 тикера 1,47 млрд стратегий", видимо, имеется в виду количество вариаций одной стратегии, а не стратегий. От таких вычислений очень сильно веет переоптимизацией. На мой взгляд, ставить деньги на такие системы опасно.

Да, всё верно. Ядро пока одно. Это кол-во комбинаций значений параметров, оптимизация. По деньгам считает точно, расхождение в изменении курса usd. Я в ручную пересчитывал математику закрытия сделок. Переоптимизации нет. Был момент, когда я подошёл к скорости в 1 млн комбинаций в секунду, тогда да, расчёты посыпались. Откатился на 150 тыс.

Кому интрадей стратегий со средней доходностью на протяжении 9 месяцев в 50% в месяц к депозиту?))

мне

Без денег останешься

Не очень понятно что с такой доходностью (50% в месяц ) вы на Хабре делаете. Если взять начальный депозит 10000 usd (не такая уж большая сумма), используя формулу сложного процента, то через 3 года у вас на счету будет примерно 227 млн usd. Можно начинать подыскивать остров для покупки

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

А вообще тут как-будто бы типичный пример оверфитта обычной нейронной сети, только автор сделал необычный подход - место градиентного спуска взял просто огромное количество комбинаций весов и прогнал их последовательно и выбрал те, которые ближе всего к нужному результату. Я так могу любую доходность показать. По хорошему нужно подбирать стратегию на X_train, а потом выбранную запускать уже на X_test, и вот если там будет 50% в месяц - я поздравлю ещё одного миллиардера, но это, увы, не сработает.

Интересные у вас мысли.

Будет приближаться к Илону Маску в списке богатейших людей мира.

Я этот пакет только написал. Предстоит написать торговый бот и делать тест со стратегиями с этого пакета.

Я бы, прежде чем писать бота, сделал бы следующее:

  1. Как уже написали выше, разбить весь набор данных на две части - Train and Test. Обучать на Train, тестировать на Test

  2. Попытаться найти ошибку "заглядывания в будущее". Самый простой пример такой ошибки: логика ваших алгоритмов использует цены Close, а открываете или закрываете сделку вы по ценам Open или High или Low той же свечи, Close которой используется в логике алгоритма

Я этот пакет только написал. Предстоит написать торговый бот и делать тест со стратегиями с этого пакета.

Я этот пакет только написал. Предстоит написать торговый бот и делать тест со стратегиями с этого пакета. P.s. - в хабре комменты глючат.

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

Крупные ETF и акции на американском фондовом рынке этот объем, если его ещё и между инструментами разбить, даже и не заметят

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

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

Как технический кейс - ок. Реально это не сработает, о чем тут уже подробно написали. Возьмите данные за другие 9 месяцев и все сразу станет понятно. А вот из сравнения таких периодов (лучше 3-4, с таким подходом это тоже быстро) можно выбирать наилучшие стратегии. Конечно, там не будет и 50% за год, но и 10% в валюте тоже очень неплохо. Удачи!

Если вы будете использовать так называемый "классический" подход - где берем и используем лучшую стратегию то работает не очень, а может и не работать. А вот если полученные данные по тестированию стратегий правильно обработать и создать на их основе "правильную" стратегию, то все таки очень неплохо работает, в том числе и на другом периоде, на котором НЕ проводили тестирование. НЕ грааль конечно, но работает неплохо и устойчиво. Как это делать писать конечно не буду, потому что хоть и не грааль, но вполне неплохо и конкуренты таки никому не нужны.

Я точь в точ понимаю о чём вы говорити) так и делаю. В данном пакете топ статегии выбираются не по прибыли, а по кастомной метрике, которая опираеться на 4 других метрики со своими весами. Акцент на стабильность и быстрое восполнение после просадки. Так и получается по 50%. А если тупо по прибыли, то там есть стратегии и по 65% в среднем в месяц, вот они более рисковые.

Спасибо большое.

Тож решил попробовать Taichi, что то я забыл про него, больше numba использовал. Запустил новый Claude Sonnet 4.5 и с помощью него навайбкодил простой тестер стратегий за 30 минут. И вроде все работает, надо будет тоже потестировать насколько быстрее чем с numba выходит.

Кому интрадей стратегий со средней доходностью на протяжении 9 месяцев в 50% в месяц к депозиту?))
мне тоже

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

А ведь в пакете для бэктестинга самое главное скорость

Нет. Самое главное - реалистичность стратегии. А скорость нужна для поиска коллизий, которые идеально покажут вам прошлое и умрут в будущем. Я 9 лет подобным занимался в разных вариациях. Найти коллизию не сложно, а вот заработать - невозможно.

А я 15 лет). Понимаю о чём вы говорите, для меня это всё по умолчанию.

А зачем тогда всё оно?

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

Судя по вашим ответам не очень понимаете. Тут нет влияния сколько лет вы этим занимаетесь, 9-15…хоть сто.

Вы ниже пишите в ответе, что валидация частично решена. Что значит частично? Валидация данных либо проходит, либо не проходит.

ПС: больше похоже на то что вы вдруг научились обучать сеть на данных, и она обучилась. Вы так обрадовались что решили этим поделится, но валидацию не сделали. А я уверен что валидация покажет куда хуже результаты, более того на реальном рынке они спустят бабло. Вообщем вы поспешили…

Я надеюсь, что вы выговорились и вам стало легче.

Вот бы ещё увидеть реальный торговый счёт на этой системе... А то картинки это красиво, а вот цифры на счету говорят сами за себя.

Рекламируется фреймворк или продажа стратегий?

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

учёт комиссий

Как там учет комиссии сделан, тейкер/мейкер? Чтобы узнать кем вы были нужен стакан, а я вижу минутные свечи как дата-сет. Разница там огромная

При открытии позиции сразу выставление ордеров тп и сл.

Подбираем параметры на 24 годе и ранее, тестируем на 25. Смотрим как по всем стратегиям наступает плато. Накидать 15 индикаторов и чтобы параметров для подгонки было не менее 500, вот и весь секрет успеха. Надо ещё добавить в стратегии манименеджмент, мартингейл в самый раз. Автор к какой яхте уже прицениваешься?))

Нет, это ещё только начало. Дальше нужно ещё делать перебор, генетическую оптимизацию всевозможных комбинаций, условий, решающих правил, на основе различных индикаторов с разными параметрами. Чтобы софт сам искал оптимальную торговую стратегию. Вот где настоящий Грааль. Просто оптимизацией параметров N количества индикаторов вы таких красивых (на трейне) кривых доходности не получите ;)

Подбираем параметры на 24 годе и ранее, тестируем на 25. Смотрим как по всем стратегиям наступает плато.

Если тестировать по 150 тыс. стратегий в секунду, то и в 25-м году 1/3 из них вверх тоже пойдет. А треть от той трети и в 26-м. Так что все эти тестирования да валидации на отложенных выборках - не панацея ))

Пришлось покопаться в недрах памяти, ибо давно это было)
Да плато наступает не сразу)
Для начала выяснится что-то 2/3 отложенных лимитированных ордеров во время не срабатывают, срабатывают только как рыночные и не там как прогнозировалось в стратегии.
Задрачивать параметры я умел) Генетические алгоритмы наше всё) Кривая доходности на бумаге была покруче чем у Курта Сакаеды в реале, был в те времена такой деятель на фьючерсных рынках.

На барах/свечах тестировать не имеет смысла. И скорость совершенно не важна в бэктестах. И у вас подгонка под историю. На слепом тесте всё сломается.

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

Как упражнение по программированию - хорошо, молодцом.

А над очередным ломателем финансовой системы могу только угрюмо усмехнуться.

Sign up to leave a comment.

Articles