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

OSCHINA-MIRROR/EliteQuant-EliteQuant_Python

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

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


Платформа

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

Слово «унифицированный» имеет два значения:

  1. Унификация бэктестинга и реальной торговли. Нужно только переключить источник данных между бэктестингом и реальной торговлей, чтобы максимально сохранить стабильность и реалистичность стратегии.
  2. Согласованность структуры торговли и оценки эффективности на многоязычной платформе. Это упрощает обмен идеями и результатами с другими трейдерами.

Связанные проекты EliteQuant включают:

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

Проект

EliteQuant_Python — это высокочастотная торговая платформа на основе Python 3 с многопоточностью и параллелизмом. Она предоставляет согласованные решения для бэктестинга и реальной торговли. Платформа следует современным шаблонам проектирования, таким как событийно-управляемая архитектура, сервер/клиентская архитектура и слабосвязанная устойчивая распределённая система. Она соответствует структуре и оценке эффективности других продуктов EliteQuant, что облегчает взаимодействие с трейдерами, использующими другие языки.

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

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

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

Нет необходимости устанавливать проект, можно просто загрузить код и использовать его.

Бэктестинг

Для работы с Python требуются некоторые пакеты Python. Вот шаги для установки Anaconda Python 3.6 на Windows 10 после новой установки:

  1. Добавьте распакованную папку в переменную среды PYTHONPATH, например, d\workspace\EliteQuant_Python.

  2. В командной строке cmd выполните следующие команды:

pip install quandl            # quandl data source
pip install pandas-datareader          # web data source such as Yahoo and Google
pip install tushare           # Tushare data source
pip install pyfolio           # performance evaluation
pip install qdarkstyle		  # dark skin
  1. Настройте файл config_backtest.yaml в каталоге source.
    • datasource: источник исторических данных.
    • hist_dir: каталог для локальных исторических данных.
    • output_dir: выходной каталог для результатов бэктестинга.

Источниками данных для бэктестирования являются Quandl, Tushare и локальные CSV.

  1. Выполните бэктестинг в командной строке:
cd source
python backtest_engine.py

Реальная торговля

Реальная торговля также требует пакета Python nanomsg.

  1. В командной строке выполните:
cd resource
easy_install nanomsg-1.0-py3.6-win-amd64.egg
  1. Перейдите в каталог, созданный на предыдущем шаге, скопируйте все файлы в предыдущий слой и удалите лишний слой nanomsg-1.0-py3.6-win-amd64.egg.

  2. Скопируйте файл resource\nanomsg.dll в C:\Anaconda3\Lib\site-packages\nanomsg-1.0-py3.6-win-amd64.egg.

  3. Настройте файл конфигурации config.yaml в каталоге source:

    • Если вы используете данные Interactive Brokers (IB), откройте меню File / Global Configuration / API / Settings в платформе TWS и включите «Enable ActiveX and Socket Client», а также отключите «Read-Only API».
    • В файле конфигурации измените идентификатор вашего счёта на свой. Идентификатор счёта обычно находится в правом верхнем углу окна TWS.
    • Для CTP соответствующим образом измените информацию о вашем брокерском счёте и адрес CTP.
    • Создайте папки log_dir и data_dir для хранения журналов выполнения и данных почасовых данных соответственно.
  4. Запустите live_engine.py.

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

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

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

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

  • Anaconda Python 3.6.
  • PyCharm Community Edition 2017.2.4.

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

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

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

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

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

Это перевод исходного текста. Если в нём есть неточности или ошибки, пожалуйста, сообщите мне об этом.

Комментарии ( 0 )

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

Введение

Платформа для количественных инвестиций и торговли на Python. Многопоточная, высокочастотная торговая платформа с параллельной обработкой на Python 3 предлагает согласованные решения для бэктестинга и реальной торговли. Она следует современным шаблонам проектирования, таким как событийно-управляемая архитектура, серверно-клиентское разделение и... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/EliteQuant-EliteQuant_Python.git
git@api.gitlife.ru:oschina-mirror/EliteQuant-EliteQuant_Python.git
oschina-mirror
EliteQuant-EliteQuant_Python
EliteQuant-EliteQuant_Python
master