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

Общее введение

Abu Quantitative Trading System - это платформа с открытым исходным кодом, основанная на Python. Она была создана пользователем "bbfamily", чтобы помочь инвесторам реализовать количественные торговые стратегии с помощью кода. Система поддерживает бэктестирование и торговлю широким спектром финансовых продуктов, таких как акции, опционы, фьючерсы и биткоин. В ней реализована технология машинного обучения для анализа данных и оптимизации стратегий. По состоянию на 25 марта 2025 года проект имеет более 12 тыс. звезд и 3,8 тыс. форков на GitHub, что свидетельствует о высокой популярности в сообществе. Цель Abu - облегчить пользователям принятие инвестиционных решений за счет автоматизации и интеллекта.

阿布量化交易系统:基于Python的开源量化交易平台

 

Список функций

  • Поддерживает многорыночную торговлю: может обрабатывать данные о котировках на фондовых рынках Шанхая и Шэньчжэня, американских акциях, фьючерсах и цифровых валютах.
  • Функция Backtest: обеспечивает анализ исторических данных для проверки эффективности торговых стратегий.
  • Подбор акций и выбор времени: встроенные стратегии подбора акций и выбора времени для того, чтобы облегчить пользователям отбор акций и принятие решений о времени покупки и продажи.
  • Интеграция машинного обучения: объединение алгоритмов машинного обучения для оптимизации торговых моделей.
  • Высокая степень настраиваемости: пользователи могут изменять код и настраивать политики и параметры в соответствии со своими потребностями.
  • Управление данными: поддерживает сбор и параллельную обработку данных финансовых временных рядов.
  • Выполнение торговых операций: подключение к рыночным интерфейсам для автоматизации операций купли-продажи.

 

Использование помощи

Количественная торговая система Abu - это проект с открытым исходным кодом, и для начала работы пользователям необходимы базовые навыки программирования. Она не имеет готового графического интерфейса, а работает через код на языке Python. Ниже приведены подробные шаги по установке и использованию:

Процесс установки

  1. Подготовка среды
    • Убедитесь, что на вашем компьютере установлен Python 3.x (рекомендуется версия 3.7 или выше).
    • Загрузите и установите инструмент Git для извлечения кода из GitHub.
    • Дополнительно: Установите Anaconda для удобного управления окружением Python и зависимыми пакетами.
  2. Клонирование кода
    • Откройте терминал или командную строку и введите следующую команду, чтобы вытащить проект Abu:
      git clone https://github.com/bbfamily/abu.git
      
    • Когда закончите, перейдите в папку с проектом:
      cd abu
      
  3. Установка зависимостей
    • Проект требует поддержки библиотеки Python, которая устанавливается путем выполнения следующей команды в терминале:
      pip install -r requirements.txt
      
    • Если у вас нет файла , вы можете установить основные библиотеки вручную, напримерnumpy, иpandasответить пениемsklearn::
      pip install numpy pandas scikit-learn
      
  4. Проверка установки
    • В терминале введитеpythonВойдите в среду Python.
    • быть в движенииimport abupyЕсли ошибок нет, значит, установка прошла успешно.

Использование

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

1. сбор и подготовка данных

  • Abu поддерживает получение исторических данных с нескольких рынков, таких как фондовые рынки Шанхая и Шэньчжэня или акции США.
  • Установите тип рынка в коде, например:
    from abupy import ABuEnv
    ABuEnv.g_market_target = 'us'  # 设置为美股市场
    

  • Запустите функцию сбора данных:
    from abupy import all_symbol
    symbols = all_symbol()  # 获取所有股票代码
    

2. бэктестирование торговых стратегий

  • Определите стратегии покупки и продажи. Например, используйте стратегию прорыва:
    buy_factors = [{'xd': 60, 'class': 'AbuFactorBuyBreak'}]
    sell_factors = [{'stop_loss_n': 0.5, 'class': 'AbuFactorAtrNStop'}]
    
  • Установите начальное финансирование и время бэктестинга:
    from abupy import run_loop_back
    result = run_loop_back(
    read_cash=1000000,  # 初始资金100万
    buy_factors=buy_factors,
    sell_factors=sell_factors,
    n_folds=2,  # 回测2年数据
    start='2023-01-01',  # 开始时间
    end='2025-01-01'  # 结束时间
    )
    
  • Просмотр результатов: После запуска система покажет прибыль/убыток и статистику торговли.

3. Выбор акций и выбор времени

  • Используйте встроенную программу для отбора акций. Например, отбор по цене:
    from abupy import AbuPickStockPriceMinMax
    stock_picks = [{'class': 'AbuPickStockPriceMinMax', 'threshold_price_min': 50.0}]
    
  • В сочетании с бэктестингом:
    result = run_loop_back(read_cash=1000000, buy_factors=buy_factors, sell_factors=sell_factors, stock_picks=stock_picks)
    

4. Оптимизация с помощью машинного обучения

  • Abu интегрирует возможности машинного обучения для оптимизации параметров стратегии. Пример:
    from abupy import AbuMLGrid
    best_params = AbuMLGrid.grid_search_mul_init_kwargs(...)  # 优化参数
    
  • Примените оптимизированные параметры к бэктесту.

5. эксплуатация и ввод в эксплуатацию

  • Сохраните код в формате.pyфайлы, такие какtrade.py.
  • Запускается в терминале:
    python trade.py
    
  • Если что-то идет не так, проверьте вывод журнала и скорректируйте код или параметры.

Функциональное управление

  • Поддержка нескольких рынков: черезABuEnv.g_market_targetПереключение рынков, таких как'cn'(Шанхай и Шэньчжэнь),'us'(американские акции) или'btc'(Биткойн).
  • параллельная обработка: Настройкиn_process_klответить пениемn_process_pickпараметров, используя многоядерные процессоры для ускорения обработки данных и бэктестинга.
  • Индивидуальные стратегии: Пользователи могут написать свою собственную логику покупки-продажи, чтобы поместить ее вbuy_factorsвозможноsell_factors.

Дополнительные руководства можно найти в папке в проекте, которая содержит подробную документацию по IPython Notebook.

 

сценарий применения

  1. Индивидуальные количественные инвестиции
    Индивидуальные инвесторы могут использовать Abu для тестирования своих торговых идей, например, чтобы убедиться в прибыльности стратегии прорыва на исторических данных.
  2. Финансовые исследования
    Исследователи могут использовать его для анализа рыночных тенденций и поиска закономерностей в данных в сочетании с машинным обучением.
  3. Автоматизированная торговля
    Программисты могут подключаться к интерфейсам данных в реальном времени для полной автоматизации операций купли-продажи.

 

QA

  1. Какие рынки поддерживает Abu?
    Он поддерживает широкий спектр рынков, таких как фондовые рынки Шанхая и Шэньчжэня, акции США, фьючерсы и биткоин, и пользователи могут свободно переключаться.
  2. Нужна основа программирования?
    Да, Abu работает на Python и требует от пользователя умения писать простой код.
  3. Как мне получить помощь?
    Вы можете ознакомиться с файлом на GitHub или следовать руководству в WeChat "abu_quant".
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...