В интернете куча информации но очень мало полезной, может ли мне кто-нибудь подсказать каким софтом и как можно тестировать торговые стратеги и как можно считать погрешности? основная проблема в том что с программированием у меня не все так радужно как и с пониманием того как имея только данные о изменении цены на графике я могу учитывать комиссии и спрэды, проскальзывания и задержки и.т.д. Если это все звучит слегка очевидно и тупо то я жду ответы, так как у мня слегка уже едет крыша.
Ivan Gurov, да, в принципе можно и Ексель, и МатЛаб, и SciLab, и R (есть любители), и что угодно. Сам начинал с Ексель. Но Питон действительно удобнее всего.
3Qu, Блин интересная штука и столько вообще вариантов, я ради любопытства посмотрю, тк до программирования мне далеко а если некоторые ПО не будут обладать нужной гибкостью то это отличный вариант, возможно!)
Берете специализированный софт, позволяющий тестировать на истории и… тестируете. Есть софт, который позволяет делать это без программирования — тот же TSLab, Wealth-Lab. Комиссии, проскальзывания — в таком софте задаются в настройках и все, итоговые метрики с учетом и комиссий и проскальзываний. Задержки — если что-то высокоскоростное — HFT, арбитраж — лучше не тестировать такое, т.е. если понимаете, что тут что-то быстрое, то даже если результаты на истории хорошие умом понимайте, что торговать вы так не сможете. Если речь о задержках а-ля брокерский софт с задержкой в секунду выставляет заявки иногда, а не мгновенно — ну заложите проскальзывание чуть побольше и вуаля. А лучше вообще с запасом, чтоб себя не обманывать.
Берете специализированный софт, позволяющий тестировать на истории и… тестируете.
А что есть тест? — не более чем цикл, подающий на вход системы последовательность котировок. Т.е., всего навсего, циклы for() или while()
Так, зачем для этого специализированный софт? Если у человека запрограммирована система, то уж как нибудь for() или while() он и самостоятельно напишет.))
А если нет, то и никакая спец система никак не поможет.
3Qu, Да, бэйзлайновый цикл, или векторные бэктестер пилится за пол часа, условно. Но самое веселье начинается потом. Наигравшись с таким болваночным решением, быстро понимаешь, что дофига чего не хватает для счастья. Начинаешь оно пилить. И так постоянно, со временем заколебываешься это все пилить и бросаешься в объятья софта где это все с любовью для тебя и для сотен-тысяч таких же как ты уже запилили разработчик. Главное сделать правильный выбор. Один из атрибутов правильного выбора на мой взгляд — горящие глаза у разработчиков и чуткость к потребностям аудитории.
А прикидочно идеи тестировать на своем бэктестере — да, это можно. У меня, например, код очень легко пишется в моем бэктестере да и тестится не долго, но вот чего-то сложного делать нельзя.
Replikant_mih, ну, уж, не знаю.
В том же Питоне любой каприз, которого не сыщешь ни в каком софте, который «с любовью», за 5 минут делается.
Например: зависимость прибыли от значения индикатора(ов) в момент сделки. Потом график строим — ещё пару минут.
В своем тестер, там тебе и регрессионный анализ, и нейросети, и чё хошь. А в «с любовью» для этого какие то костыли присобачивать надо, и скакать из одного софта в другой.
3Qu, Ну, специализированному ПО, закрывающему твои основные потребности, сложно противопоставить поделки на Питоне. А не поделка — это хренова тонна времени.
Я могу на питоне переместить папку, удалить файл, переименовать, но я же не буду писать на питоне Проводник или операционную систему.
У меня есть довольно разветвленный и глубокий проект на питоне для алго всей этой истории, но в какой-то момент я просто в этом немного разочаровался.
Да, удобно собирать какие-то штуки — автоматизирующие скрипты какие-то, но не полноценный софт для алго.
Replikant_mih, у меня Питон — моделирование + тестирование, отработка стратегий. Оч. неплохого качества, кстати.
Потом это все переводится на язык системы — Lua + C++. Будет надобность, Питон подключается без проблем, а это куча возможностей. Пока надобности не было.
Replikant_mih, Ну да, вообще hft это страх), надо будет посмотерть эти проги, я просто помню что когда-то у меня база с бинанса в TsLab не импортировалась и я забил
только тслаб
он бесплатный для тестов
все на русском языке
живой форум и тхподдержка
дополна видосов
не требует умения программировать — все собирается из кубиков как лего
С/с++ это очень серьёзно. И очень очень сложно. В итоге это оптимальный вариант.
Но начинать лучше с простого, Tradestation скачайте, удобный, элементарный встроенный язык. Возможно, вам и кубиков тслабовских хватит, но кодить там точно не научитесь. Вопрос вообще актуальный, хочется тестировать как можно больше, а кодить как можно меньше.
Было дело несколько лет назад как то баловался, сделал простейший эмулятор matching engine, ну и провел несколько тестов на предмет разницы между результатом бэктеста и «реальной» торговлей у нескольких торговых терминалов. Но дабы не оскорблять чувства верующих, подробности озвучивать тут не буду, печально там все..
Свой бэктетер надо…
С запасом вы все не посчитаете. Невозможно, например, учесть влияние ваших действий на будущую ситуацию в смысле реакции других участников аукциона на ваши сделки. Но я не это имел ввиду. Корректность методов выполнения тестов сомнительна в первую очередь в контексте цены. А поскольку код, который все это выполняет, увидеть невозможно, и внятного объяснения от разработчиков тоже как правило нет, непонятно, как и что можно корректировать на уровне АПИ. Лучше иметь свои исходники, по крайней мере править код можно. Если вы работаете с ohlc, питон наверное оптимальный вариант. Если тики, то с/с++.
Sergei, ставка инфляцию не останавливает… толку повышать… только бизнес убивать и экономику… скорее логичнее что её уберут просто с должности… или искать другие пути для снижения инфляции… но ставк...
Но самую первую систему я делал непосредственно на листе Ексель. Заняло 3 или 5 дней.
Так, зачем для этого специализированный софт? Если у человека запрограммирована система, то уж как нибудь for() или while() он и самостоятельно напишет.))
А если нет, то и никакая спец система никак не поможет.
Вообще, для хфт специальные платы для компа делали, на заказ. Сведения на лет 10 назад.
3Qu, Да, бэйзлайновый цикл, или векторные бэктестер пилится за пол часа, условно. Но самое веселье начинается потом. Наигравшись с таким болваночным решением, быстро понимаешь, что дофига чего не хватает для счастья. Начинаешь оно пилить. И так постоянно, со временем заколебываешься это все пилить и бросаешься в объятья софта где это все с любовью для тебя и для сотен-тысяч таких же как ты уже запилили разработчик. Главное сделать правильный выбор. Один из атрибутов правильного выбора на мой взгляд — горящие глаза у разработчиков и чуткость к потребностям аудитории.
А прикидочно идеи тестировать на своем бэктестере — да, это можно. У меня, например, код очень легко пишется в моем бэктестере да и тестится не долго, но вот чего-то сложного делать нельзя.
В том же Питоне любой каприз, которого не сыщешь ни в каком софте, который «с любовью», за 5 минут делается.
Например: зависимость прибыли от значения индикатора(ов) в момент сделки. Потом график строим — ещё пару минут.
В своем тестер, там тебе и регрессионный анализ, и нейросети, и чё хошь. А в «с любовью» для этого какие то костыли присобачивать надо, и скакать из одного софта в другой.
3Qu, Ну, специализированному ПО, закрывающему твои основные потребности, сложно противопоставить поделки на Питоне. А не поделка — это хренова тонна времени.
Я могу на питоне переместить папку, удалить файл, переименовать, но я же не буду писать на питоне Проводник или операционную систему.
У меня есть довольно разветвленный и глубокий проект на питоне для алго всей этой истории, но в какой-то момент я просто в этом немного разочаровался.
Да, удобно собирать какие-то штуки — автоматизирующие скрипты какие-то, но не полноценный софт для алго.
Потом это все переводится на язык системы — Lua + C++. Будет надобность, Питон подключается без проблем, а это куча возможностей. Пока надобности не было.
Стратегия д.б. смоделирована и отработана. На С++ это не оч удобно, да и долго.
он бесплатный для тестов
все на русском языке
живой форум и тхподдержка
дополна видосов
не требует умения программировать — все собирается из кубиков как лего
Но начинать лучше с простого, Tradestation скачайте, удобный, элементарный встроенный язык. Возможно, вам и кубиков тслабовских хватит, но кодить там точно не научитесь. Вопрос вообще актуальный, хочется тестировать как можно больше, а кодить как можно меньше.
Свой бэктетер надо…