WonderTrader
— это высокоэффективная и доступная среда разработки количественной торговли, основанная на базовом модуле C++
, которая подходит для всех типов транзакций на всем рынке.
WonderTrader
опирается на высокоскоростную базовую структуру C++
и эффективную и простую в использовании структуру прикладного уровня (wtpy) и стремится создать полностью автоматизированный универсальный сценарий количественной торговли НИОКР, основанный на НИОКР, торговле, операциях и планировании. .
WonderTrader
запустил новый движок UFT в 0.9
для удовлетворения потребностей торговли со сверхнизкой задержкой. После серии оптимизаций задержка системы находится в пределах 175 наносекунд .
Реальная торговая архитектура WonderTrader
WonderTrader
Богатый торговый движок
- Механизм CTA , также называемый механизмом стратегии синхронизации , обычно подходит для стратегий с меньшим количеством целей, более быстрой логикой вычислений и управляется событиями и временем. Типичные сценарии применения включают синхронизацию с одиночной ставкой, арбитраж ниже средней частоты и т. д. Для стратегии DualThrust, представленной в демонстрации, среднее время, необходимое для одного перерасчета, составляет около 70 микросекунд для версии реализации Python и около 4,5 микросекунд для версии реализации C++.
- Механизм SEL , также называемый механизмом асинхронных стратегий , обычно подходит для стратегий, управляемых временем, которые имеют много целей и требуют много времени для расчета логики. Типичные сценарии применения включают многофакторные стратегии выбора акций, перекрестные длинные и короткие стратегии и т. д.
- Механизм HFT , также называемый механизмом высокочастотной стратегии , в основном нацелен на высокочастотные стратегии или стратегии с малой задержкой. Он управляется событиями, а системная задержка составляет 1-2 микросекунды.
- Движок UFT , также называемый движком сверхбыстрых стратегий , в основном ориентирован на стратегии со сверхвысокой частотой или сверхнизкой задержкой, управляемые событиями, а системная задержка находится в пределах 200 наносекунд.
Полный интерфейс разработки
- Эффективный и простой в использовании интерфейс данных : каждая стратегия будет иметь независимый контекстный модуль. Контекст автоматически кэширует данные, необходимые для стратегии, и стратегию можно вызывать напрямую.
- Простой интерфейс сигналов : стратегии нужно только установить целевую позицию, и она будет автоматически выполняться в фоновом режиме.
- Логика политики, не зависящая от контекста : политике не требуется записывать какие-либо данные, ей нужно только каждый раз запрашивать интерфейс. Все данные кэшируются в памяти, и эффективность доступа гарантируется.
Профессиональный стратегический менеджмент
- Унифицированное управление комбинациями стратегий . Подход к комбинированию стратегий в основном используется для координации с управлением продуктами профессиональных организаций. Комбинированная табличка соответствует нескольким целям нескольких стратегий, а затем устанавливает базовую сумму паевого фонда. Это базовая комбинированная табличка управления продуктом, которую удобно расширять.
- Выполнение слияния целевой позиции : после слияния целевой позиции можно избежать риска самоопераций, а маржа и комиссионные расходы уменьшаются.
- Независимое хранение теоретических позиций : теоретические позиции стратегии сохраняются независимо, а общая производительность объединенного диска также рассчитывается независимо, что упрощает внутреннее управление.
- Одновременное исполнение нескольких счетов : после определения целевой позиции комбинации она выполняется одновременно через несколько торговых каналов, что может эффективно обеспечить согласованность результатов различных счетов.
Полная поддержка бэктестинга
- Полная языковая поддержка : будь то стратегия, разработанная на
C++
, стратегияpython
, разработанная подwtpy
, или стратегия, разработанная под другими языковыми подфреймворками, все они тестируются на истории в единой системе бэктестинга .- Высокая эффективность бэктестинга : механизм бэктестинга разработан на
C++
, его эффективность высока, а скорость высока. Будь то стратегияC++
или стратегияPython
, это можно быстро проверить.- Полная поддержка стратегий . Помимо стратегий CTA и стратегий SEL , можно также протестировать стратегии HFT , стратегии UFT и единицы исполнения .
Эффективный сервопривод данных
- Локальный сервер данных : встроенный механизм хранения
WonderTrader
использует локальное хранилище, устанавливает локальный сервер данных и передает рыночные данные в реальном времени через портudp
для достижения структуры обслуживания1+N
, которая может предоставлять недифференцированные услуги по передаче данных для нескольких комбинаций. диски одновременно. Архитектура уровня профессионального поставщика данных поддерживает создание многоуровневой системы распределения, позволяющей легко справляться с различными сценариями спроса.- Кэширование исторических данных : во время процесса транзакции все исторические данные кэшируются в памяти. В то же время используется механизм прямого обращения к фрагментам данных памяти, чтобы принципиально избежать копирования данных и повысить эффективность доступа.
- Эффективный механизм хранения : данные в реальном времени используют файлы
mmap
, которые могут читать и записывать на высоких скоростях без потери данных. В то же время он поддерживает базу данных mysql для хранения исторических данных, что делает на этой основе более удобным создание собственной базы данных инвестиционных исследований.
Гибкий контроль рисков
- Контроль рисков фонда комбинированного диска : комбинированный диск имеет заданную шкалу фонда, и контроль риска фонда комбинированного диска может осуществляться на основе виртуальных средств комбинированного диска. Самым большим преимуществом является то, что если комбинация находится на стадии снижения, после включения контроля риска, даже если счет движения капитала не достигнет линии контроля риска, он не будет продолжать снижаться.
- Контроль рисков трафика канала : в основном направлен на соблюдение рисков , контроль таких показателей, как общее количество отмененных заказов, количество заказов, размещенных за короткий период времени, и количество отмененных заказов.
- Контроль рисков фонда счета : Это соответствует контролю риска фонда в общем смысле, в основном контролируя вывод средств со счета и т. Д.
- Экстренное ручное вмешательство : Обеспечьте доступ для экстренного ручного вмешательства и достигните целей управления, загрузив файл конфигурации. В основном он подходит для рисков в одном продукте. Если риск существует на всем рынке, систему можно остановить вручную.
- Механизм сцепления : Механизм сцепления основан на механизме разделения сигналов и исполнения. Он в основном используется для прямого отключения исполнения сигнала через механизм сцепления, если в стратегии или комбинации есть риск. Преимущество в том, что это не влияет на логику стратегии, а лишь отключает исполнение сигнала. Вы можете продолжать наблюдать за эффективностью стратегии на конкретной стадии рынка и подтверждать ее теоретическими исследованиями.
Мощная консоль (сервис мониторинга wtpy)
- Мониторинг работы комбинированного диска : вы можете просматривать журналы операций в реальном времени, теоретические данные стратегии, данные торгового канала и т. д., а также предоставить доступ для ручного запуска и остановки.
- Служба автоматического планирования : полностью автоматически планирует запланированные задачи (запуск, остановка, перезапуск), поддерживает настройку повторения задач на еженедельной основе и поддерживает опеку процессов.
- Уведомление о событиях в режиме реального времени : служба мониторинга получает события, передаваемые комбинированным диском, а затем пересылает их на терминал мониторинга, чтобы сообщить пользователю.
- Просмотрщик бэктестов : с помощью модуля WtBtSnooper вы можете просматривать и анализировать данные бэктеста.
- Полностью автоматическое удаленное развертывание (в стадии разработки) . Полностью автоматическое удаленное развертывание через Интернет, предоставляющее услуги автоматического развертывания для различных сценариев приложений, таких как среда обратного тестирования и среда реального диска.
Внутренний контроль команды Метод стратегического управления портфелем обеспечивает идеальное решение для внутреннего управления командой.
C++
может обеспечить максимальную конфиденциальность политики, и исследователям инвестиций не придется беспокоиться об утечке политик; Торговля с несколькими счетами ( конфигурация с несколькими продуктами ). Для комбинаций стратегий в разных рыночных циклах средняя команда будет иметь комбинацию стратегий, наиболее подходящую на данный момент. Однако в течение одного и того же периода команда может управлять многими учетными записями одновременно, но по сути комбинации стратегий, используемые этими учетными записями, одинаковы. В настоящее время архитектура исполнения M+1+N , предоставляемая платформой WonderTrader
может полностью удовлетворить этот спрос.
Предположим, что размер основного капитала определенной комбинации P составляет 5 миллионов, ожидаемая доходность составляет 30%, максимальная просадка составляет 10%, а соотношение доходности к риску составляет 3:1. Счет A использует эту комбинацию P для торговли; и сумма средств на счете A составляет 10 миллионов, а максимально допустимая сумма составляет 10%. Счет B также использует эту комбинацию для торговли P, и сумма средств также 10 миллионов, но она может; В настоящее время максимально допустимая коррекция составляет 20%, поскольку параметры риска счета A соответствуют базовому рынку, увеличение размера лота счета A равно размеру капитала/размеру фонда базового рынка = 1000w/500w = 2; раз; счет Б может это терпеть. Максимальная просадка составляет 20%, поэтому соотношение размера лота нужно увеличить вдвое, то есть счет Б можно выделить 4 раза.
Многоцелевое отслеживание Некоторые количественные торговые платформы, использующие интерпретируемые языки (например, Python
) для разработки основных модулей, способны к различным сценариям применения, когда целей всего несколько. Но когда количество целей, которые необходимо отслеживать, достигает более 100 или даже более 50, это не может удовлетворить спрос. С одной стороны, это требует много ресурсов. Используя multiprocess
и другие механизмы, хотя каждая цель работает независимо, для сотен целей будут созданы сотни новых процессов, что потребляет много памяти и процессора. , стратегия неэффективна, и существует серьезная конкуренция за ресурсы. При определенных обстоятельствах стратегическое реагирование также будет медленнее. Ядро WonderTrader
разработано на C++
, а сервопривод данных с самого начала предназначен для одновременного обслуживания нескольких комбинаций. В то же время стратегия и исполнение разделены, а выполнение сигналов и расчет стратегии выполняются полностью независимо. две разные темы. При такой архитектуре могут быть хорошо удовлетворены потребности в многостандартном отслеживании.
Вычислительно интенсивная стратегия Количество вычислений, необходимых для некоторых стратегий, ошеломляет. Типичной является стратегия выбора акций. Независимо от того, использует ли она несколько факторов или фундаментальных показателей, она постепенно проверяет тысячи акций, чтобы получить окончательный целевой пул акций. Кроме того, некоторые многостандартные многофакторные структуры также требуют большого объема вычислений. Такая стратегия требует огромного количества вычислений и занимает много времени. Механизм SEL
WonderTrader
настроен для удовлетворения этой потребности. Механизм SEL
использует асинхронную модель, управляемую временем. Регистрируя расписание перерасчета в механизме (поддерживая несколько циклов, таких как внутридневные, ежедневные, еженедельные и ежемесячные), он регулярно запускает перерасчет, а затем корректирует целевые положения нескольких целей. , тем самым выходной сигнал.
Скоростная торговля WonderTrader
использует C++
в качестве основного языка разработки. Одной из наиболее важных целей является достижение максимальной производительности , поэтому высокочастотная торговля или скоростная торговля составляют очень большую долю в сценариях использования WonderTrader
. WonderTrader
открыл новый UFTEngine версии v0.9
, специально разработанный для сценариев чрезвычайно быстрой торговли. В отличие от исходного HFTEngine
, HFTEngine
ориентирован на общие высокие частоты и ориентирован на предоставление высокопроизводительных базовых компонентов на уровне приложений . Он учитывает больше проблем совместимости и проблем стыковки на уровне приложений. Задержка системы между . UFTEngine
полностью отделен от проекта WtCore
и не предоставляет интерфейсов прикладного уровня. Все разработано и реализовано на C++
, а системная задержка находится в пределах 200нс .
Алгоритмическая торговля WonderTrader
имеет независимый модуль входа исполнителя WtExecMon
, на котором пользователи могут осуществлять алгоритмическую торговлю. В архитектуре исполнения M+1+N WonderTrader
часть исполнения 1+N удалена и может использоваться в качестве независимого исполнителя алгоритмической торговли . Когда пользователи используют его, установив целевую позицию указанной цели, блок исполнения алгоритма может размещать торговые ордера в соответствии с заданным алгоритмом. Пользователи могут добавлять дополнительные блоки выполнения алгоритма, реализуя собственный модуль WtExecFact
. Эффективный нижний уровень C++
может обеспечить надежную гарантию эффективности выполнения блока исполнения алгоритма.
wtpy
WonderTrader
, подфреймворке WonderTrader
Python3
, разработанном с использованием Python3
Python
имеет множество очень популярных и мощных сторонних библиотек для обработки данных временных рядов.Python
очень удобен для написания и отладки кода. Его можно запускать напрямую без компиляции.Python
также позволяют применять Python
в большем количестве сценариев.wtpy
— расширение WonderTrader
на языке Python
.wtpy
также имеется встроенный мощный сервисный компонент мониторинга WtMonSvr
. Этот компонент предоставляет интерфейс удаленного webui
мониторинга, который может отслеживать работу комбинации стратегий в режиме реального времени. Он также предоставляет 24×7
службу автоматического планирования для защиты ваших транзакций. WonderTrader
WonderTrader
github
: https://github.com/wondertrader/wondertrader.gitee
: https://gitee.com/wondertrader/wondertraderwtpy
github
: https://github.com/wondertrader/wtpygitee
: https://gitee.com/wondertrader/wtpywtpy
: https://pypi.org/project/wtpy/ wtpy
можно установить непосредственно в python3.8
или выше. pip install wtpy --upgrade
WonderTrader
Wt4ElegantRL
использующая wtpy
в качестве основного механизма бэктестинга https://github.com/drlgistics/Wt4ElegantRL wondertrader
, чтобы получать информацию от WonderTrader
в режиме реального времени.610730738
(полная) Группа 2 367916500
(пожалуйста, star
перед присоединением, а затем укажите свое имя пользователя github
)WonderTrader
можно найти на странице https://docs.wondertrader.com/.WonderTrader
https://dumengru.github.io/docs_wondertrader/WonderTrader
https://zzzzhej.github.io/WonderTrader-Learning-Notes/