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

Список функций
- Поддерживает многорыночную торговлю: может обрабатывать данные о котировках на фондовых рынках Шанхая и Шэньчжэня, американских акциях, фьючерсах и цифровых валютах.
- Функция Backtest: обеспечивает анализ исторических данных для проверки эффективности торговых стратегий.
- Подбор акций и выбор времени: встроенные стратегии подбора акций и выбора времени для того, чтобы облегчить пользователям отбор акций и принятие решений о времени покупки и продажи.
- Интеграция машинного обучения: объединение алгоритмов машинного обучения для оптимизации торговых моделей.
- Высокая степень настраиваемости: пользователи могут изменять код и настраивать политики и параметры в соответствии со своими потребностями.
- Управление данными: поддерживает сбор и параллельную обработку данных финансовых временных рядов.
- Выполнение торговых операций: подключение к рыночным интерфейсам для автоматизации операций купли-продажи.
Использование помощи
Количественная торговая система Abu - это проект с открытым исходным кодом, и для начала работы пользователям необходимы базовые навыки программирования. Она не имеет готового графического интерфейса, а работает через код на языке Python. Ниже приведены подробные шаги по установке и использованию:
Процесс установки
- Подготовка среды
- Убедитесь, что на вашем компьютере установлен Python 3.x (рекомендуется версия 3.7 или выше).
- Загрузите и установите инструмент Git для извлечения кода из GitHub.
- Дополнительно: Установите Anaconda для удобного управления окружением Python и зависимыми пакетами.
- Клонирование кода
- Откройте терминал или командную строку и введите следующую команду, чтобы вытащить проект Abu:
git clone https://github.com/bbfamily/abu.git
- Когда закончите, перейдите в папку с проектом:
cd abu
- Откройте терминал или командную строку и введите следующую команду, чтобы вытащить проект Abu:
- Установка зависимостей
- Проект требует поддержки библиотеки Python, которая устанавливается путем выполнения следующей команды в терминале:
pip install -r requirements.txt
- Если у вас нет файла , вы можете установить основные библиотеки вручную, например
numpy
, иpandas
ответить пениемsklearn
::pip install numpy pandas scikit-learn
- Проект требует поддержки библиотеки Python, которая устанавливается путем выполнения следующей команды в терминале:
- Проверка установки
- В терминале введите
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.
сценарий применения
- Индивидуальные количественные инвестиции
Индивидуальные инвесторы могут использовать Abu для тестирования своих торговых идей, например, чтобы убедиться в прибыльности стратегии прорыва на исторических данных. - Финансовые исследования
Исследователи могут использовать его для анализа рыночных тенденций и поиска закономерностей в данных в сочетании с машинным обучением. - Автоматизированная торговля
Программисты могут подключаться к интерфейсам данных в реальном времени для полной автоматизации операций купли-продажи.
QA
- Какие рынки поддерживает Abu?
Он поддерживает широкий спектр рынков, таких как фондовые рынки Шанхая и Шэньчжэня, акции США, фьючерсы и биткоин, и пользователи могут свободно переключаться. - Нужна основа программирования?
Да, Abu работает на Python и требует от пользователя умения писать простой код. - Как мне получить помощь?
Вы можете ознакомиться с файлом на GitHub или следовать руководству в WeChat "abu_quant".
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...