EliteQuant_R: платформа для количественных инвестиций и торговли
EliteQuant — это открытая и бесплатная унифицированная платформа для количественной торговли, разработанная для количественных инвесторов. Она доступна на GitHub и Code Cloud.
Унифицированность означает, что EliteQuant обеспечивает согласованность между бэктестингом и реальной торговлей. Достаточно просто переключить источник данных между бэктестированием и реальной торговлей, чтобы максимально сохранить стабильность и достоверность стратегии.
Кроме того, EliteQuant является унифицированным с точки зрения структуры торговли и оценки производительности на разных языках. Это упрощает обмен идеями, стратегиями и результатами с другими трейдерами.
Проекты, связанные с EliteQuant, включают:
EliteQuant_R — первая в мире платформа для бэктестинга и реальной торговли на основе R. Она предоставляет согласованные решения для бэктестинга и реальной торговли. EliteQuant_R следует современным шаблонам проектирования, таким как событийно-ориентированный подход, многопоточность и параллелизм, архитектура клиент-сервер и слабосвязанная распределённая система.
Она также соответствует структуре и оценке производительности других продуктов EliteQuant, что облегчает взаимодействие с трейдерами, использующими другие языки.
Мы приветствуем любой вклад, включая обнаружение проблем, отправку блоков кода или создание запросов на вытягивание. Совместное использование архитектуры кода также помогает трейдерам, использующим другие языки.
Как внести код:
install.packages("R6")
install.packages("Quandl")
install.packages("tcltk2")
install.packages("rzmq")
install.packages("PerformanceAnalytics")
Настройте файл config_backtest.yaml в каталоге strategy. Укажите следующие параметры:
Доступные источники данных для исторических данных включают:
Дополнительные источники данных будут добавлены позже. Чтобы запустить пример бэктестинга, выполните в RStudio следующее:
library(EliteQuantR)
setwd('D:/Workspace/EliteQuant_R/strategy') # Ваш каталог распаковки
source('moving.average.cross.strategy.R')
mystrat <- MovingAverageCrossStrategy$new('AMZN')
engine <- BacktestEngine$new(mystrat)
engine$Run()
Настройте файл config.yaml в каталоге server. Если вы используете IB, выполните следующие действия:
Наконец, войдите в реальную торговлю в RStudio:
setwd('D:/Workspace/EliteQuant_R/server') # Ваш каталог распаковки
LiveEngine()
IB — самый популярный брокер среди розничных трейдеров. Многие розничные торговые платформы, такие как Quantopian и Quantconnect, поддерживают IB. Если у вас нет счёта IB, но вы хотите попробовать, они предоставляют демонстрационный счёт edemo с паролем demouser. Просто скачайте торговый терминал TWS и используйте этот демонстрационный аккаунт для входа. Обратите внимание, что каждый раз, когда вы входите в торговую платформу с помощью демонстрационного аккаунта, идентификатор счёта будет меняться, поэтому вам необходимо соответствующим образом изменить файл конфигурации EliteQuant.
CTP является фактическим стандартом китайского рынка фьючерсов, включая товарные и финансовые фьючерсы. Они также предоставляют бесплатный демонстрационный счёт SimNow. После регистрации вы получите учётную запись, пароль, brokerid, а также рыночные данные и адреса торговых брокеров. Замените ими соответствующие позиции в файле конфигурации EliteQuant.
Наша текущая среда разработки включает:
Структура бэктестинга:
Структура реальной торговли:
Код структуры:
Это перевод исходного текста. Он может не содержать всех деталей и нюансов исходного сообщения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )