Блог им. Zein

Свободный Scala/Java/Kotlin фреймворк для анализа/симуляции/торгов

    • 02 августа 2017, 13:15
    • |
    • Zein
  • Еще
Добрый день.

Некоторе время назад мы с другом (я пишу из под его аккаунта) интересовались темой торгов. Тогда мы разработали фреймворк для этих целей.

Что он позволяет:

1) Написание стратегий на Java/Scala. Это достаточно богатые высокоуровневые языки (по крайней мере по сравнению с языком того жэе метатрейдера), что позволяет проще писать сложную модульную логику.

2) Написание тестов — т.к. стратегия это просто стейт-машина реагирующая на внешние события, для нее можно написать юнит-тесты.

3) Торговля изолирована от стратегии т.н. «торговым бекендом», т.е. стратегия не знает о реальном способе осуществления торговли. Это позволяет, скажем, подменить торговый бекенд симулятором торгов.

4) Стратегия также изолирована от источников данных. Она видит просто источник событий, например тиков. Также стратегия может работать с несколькими источниками событий, то есть фактически есть простая возможность отслеживать несколько пар.

5) Стратегия также изолирована от системного таймера, что позволяет подменить таймер простым циклом. Это, вместе с пунктами 3 и 4 позволяет выполнять быстрые симуляции торговли на данных хранящихся локально (или даже выдуманных или генерируемых какими то алгоритмами).

6) Быстрые симуляции — для простой стратегии год торгов симулируется за несколько секунд.

7) Перебор параметров — есть механизм позволяющий перебирать параметры, т.е. запускать симуляции многократно с разными параметрами и сохранять логи тестовых прогонов для дальнейшего анализа.

8) Параллелизм — система изначально разрабатывалась с расчетом на параллельную симуляцию, каждый прогон подбора может быть запущен в отдельном процессе или даже на отдельной машине.

9) Интеграция с метатрейдером — для метатрейдера был написал плагин, который позволяет импортировать «тики» получаемые метатрейдером в качестве источника событий и использовать метатрейдер как тоговый бекенд. Т.е. фактически, можно управлять метатрейдером и торговать на любых площадках где есть его поддержка.

Сейчас тема торговли для нас не интересна и, вероятнее всего, не будет интересна в ближайшем будущем, поэтому мы делаем этот фреймворк доступным публично, бесплатно, под GPL v3 лицензией, в надежде что он будет кому то интересен и/или полезен.


Ссылка на гитхаб-репозиторий: github.com/7ocb/forex-trade-and-analysis-framework

В случае если нужна будет какая то поддержка, со мной можно связаться через issues в репозитории.
186 | ★3
3 комментария
Небрежненько написано, плохо

Читайте на SMART-LAB:
Фото
Нефтяной рынок получил новый источник нестабильности
Европейские валюты во вторник оказались под давлением сразу с нескольких сторон: фондовые рынки снижаются, доллар укрепляется, а инвесторы...
Фото
Про нашу нейросеть ByteDog написали в Forbes
В середине апреля мы  рассказали , что с нуля создали собственную нейросеть для поиска вредоносов, которая читает файлы как текст. Мы сделали ее...
В Accent разработали сервис для оценки влияния недвижимости на портфель инвестора
Группа Accent запустила интерактивный инструмент для анализа инвестиционного портфеля. Сервис, доступный на сайте компании, позволяет оценить,...
Фото
Какой убыток мог быть у Магнита в 2025 году?
На этой неделе, вероятно, под занавес сезона годовых отчетов, свои результаты должен опубликовать Магнит. Что ждать и насколько все плохо?

теги блога Zein

....все тэги



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