1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/EliteQuant-EliteQuant_R

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 9.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 22:22 5aa31d4

EliteQuant_R: платформа для количественных инвестиций и торговли

  • Введение
  • План проекта
  • Участие в разработке
  • Установка проекта
  • Среда разработки
  • Структура проекта
  • План разработки

Введение

EliteQuant — это открытая и бесплатная унифицированная платформа для количественной торговли, разработанная для количественных инвесторов. Она доступна на GitHub и Code Cloud.

Унифицированность означает, что EliteQuant обеспечивает согласованность между бэктестингом и реальной торговлей. Достаточно просто переключить источник данных между бэктестированием и реальной торговлей, чтобы максимально сохранить стабильность и достоверность стратегии.

Кроме того, EliteQuant является унифицированным с точки зрения структуры торговли и оценки производительности на разных языках. Это упрощает обмен идеями, стратегиями и результатами с другими трейдерами.

Проекты, связанные с EliteQuant, включают:

  • Ресурсы для количественного инвестирования и торговли (Code Cloud).
  • C++ (Code Cloud).
  • Python (Code Cloud).
  • Matlab (Code Cloud).
  • R (Code Cloud).
  • C# (Code Cloud).
  • Excel (Code Cloud).
  • Java (Code Cloud).
  • Scala (Code Cloud).
  • Kotlin (Code Cloud).
  • Go (Code Cloud).
  • Julia (Code Cloud).

План проекта

EliteQuant_R — первая в мире платформа для бэктестинга и реальной торговли на основе R. Она предоставляет согласованные решения для бэктестинга и реальной торговли. EliteQuant_R следует современным шаблонам проектирования, таким как событийно-ориентированный подход, многопоточность и параллелизм, архитектура клиент-сервер и слабосвязанная распределённая система.

Она также соответствует структуре и оценке производительности других продуктов EliteQuant, что облегчает взаимодействие с трейдерами, использующими другие языки.

Участие в разработке

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

Как внести код:

  1. Клонируйте исходный файл.
  2. В RStudio выберите File/Open Project file source/EliteQuantR/EliteQuantR.Rproj.
  3. Внесите изменения.
  4. В меню RStudio Build/Build and Reload загрузите библиотеку проекта.
  5. Отправьте запрос на слияние изменений в Code Cloud.

Установка проекта

  1. Скачайте или клонируйте проект.
  2. Откройте RStudio и установите несколько сторонних библиотек:
install.packages("R6")
install.packages("Quandl")
install.packages("tcltk2")
install.packages("rzmq")
install.packages("PerformanceAnalytics")
  1. Из меню RStudio Tools/Install Packages/Install from выберите Package Archive File, затем перейдите к файлу source/EliteQuantR_0.1.0.tar.gz.

Бэктестинг

Настройте файл config_backtest.yaml в каталоге strategy. Укажите следующие параметры:

  • ticker: интересующие вас акции, фьючерсы и т. д.
  • datasource: источник исторических данных.
  • hist_dir: каталог локальных исторических данных.
  • output_dir: выходной каталог результатов бэктестинга.

Доступные источники данных для исторических данных включают:

  • Quandl.
  • Локальный CSV.

Дополнительные источники данных будут добавлены позже. Чтобы запустить пример бэктестинга, выполните в 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, выполните следующие действия:

  1. Откройте торговый терминал IB (TWS), перейдите в меню File / Global Configuration / API / Settings и отметьте «Enable ActiveX and Socket Client», снимите флажок «Read-Only API».
  2. Измените свой идентификатор счёта в файле конфигурации на свой собственный; обычно его можно найти в правом верхнем углу окна TWS.
  3. Если вы используете CTP, соответствующим образом измените информацию о своём брокерском счёте и адрес CTP.
  4. Создайте папки для log_dir и data_dir. Первая хранит журналы работы, а вторая сохраняет данные почасовых данных.
  5. Запустите eqserver.exe.

Наконец, войдите в реальную торговлю в RStudio:

setwd('D:/Workspace/EliteQuant_R/server')   # Ваш каталог распаковки
LiveEngine()

IB — самый популярный брокер среди розничных трейдеров. Многие розничные торговые платформы, такие как Quantopian и Quantconnect, поддерживают IB. Если у вас нет счёта IB, но вы хотите попробовать, они предоставляют демонстрационный счёт edemo с паролем demouser. Просто скачайте торговый терминал TWS и используйте этот демонстрационный аккаунт для входа. Обратите внимание, что каждый раз, когда вы входите в торговую платформу с помощью демонстрационного аккаунта, идентификатор счёта будет меняться, поэтому вам необходимо соответствующим образом изменить файл конфигурации EliteQuant.

CTP является фактическим стандартом китайского рынка фьючерсов, включая товарные и финансовые фьючерсы. Они также предоставляют бесплатный демонстрационный счёт SimNow. После регистрации вы получите учётную запись, пароль, brokerid, а также рыночные данные и адреса торговых брокеров. Замените ими соответствующие позиции в файле конфигурации EliteQuant.

Среда разработки

Наша текущая среда разработки включает:

  • Windows 10.
  • R v3.4.1.
  • RStudio v1.0.153.

Структура проекта

Структура бэктестинга:

Структура бэктестинга

Структура реальной торговли:

Структура реальной торговли

Код структуры:

Код структуры

План разработки

Это перевод исходного текста. Он может не содержать всех деталей и нюансов исходного сообщения.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/EliteQuant-EliteQuant_R.git
git@api.gitlife.ru:oschina-mirror/EliteQuant-EliteQuant_R.git
oschina-mirror
EliteQuant-EliteQuant_R
EliteQuant-EliteQuant_R
master