Блог им. diamante

Python фреймворк для алготрейдинга (VNPY)

Перевел тут (в автоматическом режиме) питонячий китайский фреймворк для алготрейдинга.

Python фреймворк для алготрейдинга (VNPY)

Что он может:

1) Тестить и пускать в лайв страты (а-ля plug and play)
2) Есть коннекторы к крипте, каким-то китайским брокерам, IB, Alpaca
3) UI на pyQT5
4) Качать/хранить котировки

в общем все что надо для базового (и не только) алготрейдинга. все это бесплатно и под MIT лицензией

Перевод пока так себе, но лучше чем китайский оригинал. Теперь хоть что-то можно понять в интерфейсе.  Запустил пару предустановленных страт, загрузил данные, написал простенькую стратегию — все работает, багов не нашел пока. Постепенно улучшаю перевод в ручном режиме.

vnpy — лучшее из python open source для трейдинга что я видел. Понятная и логичная структура, ожидаемая архитектура, хорошо написанный UI. Часть логики коннекторов написана на C++ (поэтому гитхаб и говорит что оно С++, но это не так)

Можно брать и дорабатывать под свои нужды. Очень большое китайское комьюнити, тысячи звезд и форков на гитхабе — я ожидаю что фреймворк уже стабилен и обкатан. Ниже несколько скринов уже переведенного терминала. Больше есть у китайцев

Канал в телеге — ничего не продаю, пишу когда не лень.

Python фреймворк для алготрейдинга (VNPY)

Python фреймворк для алготрейдинга (VNPY)







 

6.8К | ★60
28 комментариев
а как это все добро установить?
avatar

dennet, склонировать репу, создать virtualenv -> активировать, запустить install.bat или ручками команды оттуда

ну а пускал я через examples/vn_trader/run.py

а вообще там дока по установке есть :)

avatar
криптой не торгую, скачивать/запускать [пока] не буду, но тебе респект!
вот бы на c# подобное было…
avatar

vfreeman, эм, так есть же всякое на С#...

тык, тык да и еще вагон всего

avatar
day0markets, про ЭТО знаю :)
avatar
day0markets, вагон может и есть, а отличного нет. =)
avatar
ch5oh, не бывает идеального решения. Но готовых решений (которые можно в лайв пускать) на C# точно больше чем на других языках.
avatar
спасибо за информацию!
avatar
ПBМ, 
avatar
Шикарное дело) Правда разбираться в этом нужно дооолго и мучительно. Не планируете ли какие то юзер кейсы по использованию освещать в дальнейшем !?)
Великий комбинатор, разбираться со всем надо :)

я переводил прежде всего для себя, хочу пустить одну страту под крипту. если будет время и желание — напишу, но не могу обещать
avatar
day0markets, хорошо)
day0markets, подскажите чем это лучше zipline или backtrader, если использовать zipline, можно тестировать стратегии на quantopian, а торговать через zipline live через IB.
avatar
Lagamail, zip line не полность open source, нет ui, только ib.
И мне не нравятся высокоуровневые надстройки над логикой ордеров. Ну и пулять код на квантопиан… сомнительное занятие
avatar
Любопытно! А по скорости чего? — Скорости Питона?) — Или как это работает? — Я про бэктесты, например.
avatar

Replikant_mih, фрейм на питоне — скорость питонья) Вчера пустил бектест 1 символ на 300К датапоинтов, отработал достаточно быстро. я посмотрел кишки эвентов и тестера — норм написано. обычный цикл событий…

если надо hft, то это понятно что не про питон все. а так скорости торговать на минутках хватит вполне (если конечно у вас там в логике не заложены адские расчеты). Если хочется быстро тестить, то фрейм не нужен. голый numpy + numba jit зачастую будут даже быстрее любого движка на том же C#

 

avatar
day0markets, для моих методов для торговли Питона точно хватит), для бэктестов — пока не уверен). По обучению как раз щас переходим к numpy и прочим библиотекам специализированным — посмотрю че-кого там по скорости и как это к трейдингу приложить — я ж так понимаю, если применять, то это будет не последовательная проверка условий на временном ряду, а какой-то другой подход к бэктестам.
avatar
Replikant_mih, numpy — это векторизованные расчеты. по сути это просто py надостройка на С либой, поэтому летает хорошо.
Ну а если объективно надо тестировать большие массивы данных при условии, что не сильно надо в ML и нет привязки к специфическим либам, то лучше отказаться от питона в сторону компилируемых языков. Я например тики тестирую на своем golang движке… может придет время и я его в open source залью…
avatar
day0markets, Ладно, через месяц я смогу на порядок предметней на тему питоньих специализированных либ поговорить)).
avatar
Есть еще питоний фрейморк  https://github.com/EliteQuant/EliteQuant_Python


>Питон
avatar
Что-то у меня при запуске ругается, что нет библиотеки talib.
Посмотрел — она сейчас называется ta-lib.
Подскажите, где нужно теперь в коде менять, чтобы ошибок не было?
avatar
Роман Т, в readme описано решение с ta-lib. Без этой либы не взлетит
avatar
day0markets, спасибо, с ta-lib получилось.
У меня общий вопрос — на какой версии питона сейчас работаете?

avatar
Роман Т, 3.6 в основном
avatar
day0markets, на 3.7 в сборке anaconda как-то неправильно собрана sqlite3...
А поставил чистый питон 3.6 + все необходимые либы — все заработало без проблем.
Спасибо!

avatar
Роман Т, если не сложно, то кинь в issues на гитхабе ошибку которую выдала анаконда 3.7, покопаюсь как будет время

avatar
day0markets, там ошибка совершенно не связана с vnpy. 
Как я понимаю — это какая-то общая ошибка с одним встроенным пакетом sqlite3 для эмуляции работы с БД.
Воспроизвести сейчас уже не могу, т.к. снес Анаконду 3.7.
Ошибка возникала просто при выполнении вот такого кода:
          import sqlite3
А текст был что-то типа: не удалось загрузить DLL ...

avatar

Читайте на SMART-LAB:
Фото
Снижение ключевой ставки на 50 б.п. может быть разумным компромиссом
Базовый прогноз Банка России по итогам октябрьского заседания предполагает возможность как сохранения ключевой ставки на текущем уровне...
Расширяя технические возможности: нестандартный подход к торговле с БКС Trade API
Торговый терминал — это готовое решение со своим набором функций и возможностей. Но что, если ваша стратегия требует нестандартного подхода или...
Фото
$40 млрд «QE-лайт»: почему новая программа выкупа Феда давит на доллар
EUR/USD подбирается к 1.1750, максимальному уровня за два месяца. Рынок увидел в решении Федрезерва куда более асимметричный риск в сторону...

теги блога day0markets.ru

....все тэги



UPDONW
Новый дизайн