Кодинг от души, для души.

Aug 31, 2015 15:24


На днях запилил простенький бектестер для рисерча на питоне, потому что велс лаб заебал стал здорово портить мне нервы и тратить время. У меня 5 - старенькая ломаная 32-битная версия без всяких клевых расширений, но зато она Pro а не Dev и с хорошим датафидом.

Раздражает, что то, что даже в екселе сделать - 5 минут, в велс лабе хрен сделаешь.
Read more... )

python, trading, coding, backtest

Leave a comment

kazai_trader August 31 2015, 21:58:09 UTC
Тот что с прошлого года - он для боевой торговли. Так и торгует, кстати. Был недавно очень дорогой косяк выявлен, но не на моей стороне(с), а на стороне источника исторических данных.
Если добавлял новый тикер, то загрузчик данных качал сразу всю историю. А источник отдавал мусор за старые периоды, если слишком много попросить. Так у меня и засрались данные, когда добавил новую пачку тикеров. А обнаружил, когда улетело S бобла после K сделок. =(

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

Про векторные, помимо удобства, там обещают какой-то адский прирост в скорости.

Если в панде питоновой делать по датафреймам простой цикл, обращаясь поэлементно к массивам то получается супер медленно.

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

Вот тут чувак померил какую-то встроенную функцию и удивился.
http://stackoverflow.com/questions/10442365/why-is-matrix-multiplication-faster-with-numpy-than-with-ctypes-in-python

Я конечно в сказки про заоблачные скорости Си не верю, но если говорят, что быстрее и то хорошо. Надо будет сравнить "топорно в велс-лабе на C#" vs. "векторно в пандасе с мудрыми подсчетами"

Reply

robomakerr September 1 2015, 09:04:48 UTC
Мы кстати тоже в тиковой истории с фтп моекса встречали гейские особенности - в тиках по одному контракту иногда проскакивают тики от другого контракта)))

Reply


Leave a comment

Up