API Reference - Справочник API BQuant
📚 Обзор
Справочник API содержит подробную документацию всех модулей, классов и функций BQuant.
🗂️ Структура API
🏗️ Core Modules - Базовые модули
bquant.core.config - Конфигурация и настройки
bquant.core.exceptions - Исключения и ошибки
bquant.core.logging_config - Настройка логирования
bquant.core.performance - Производительность и профилирование
bquant.core.utils - Утилиты и вспомогательные функции
📊 Data Modules - Модули данных
bquant.data.loader - Загрузка данных из различных источников
bquant.data.processor - Обработка и очистка данных
bquant.data.validator - Валидация данных
bquant.data.samples - Встроенные sample данные
bquant.data.schemas - Схемы данных и типы
📈 Indicators - Технические индикаторы
bquant.indicators.base - Базовые классы индикаторов
bquant.indicators.macd - MACD индикатор с анализом зон
bquant.indicators.preloaded - PRELOADED индикаторы для готовых данных
bquant.indicators.factory - Фабрика индикаторов
bquant.indicators.library_manager - Управление внешними библиотеками (pandas-ta, TA-Lib)
🔬 Analysis - Аналитические модули
bquant.analysis.statistical - Статистический анализ
bquant.analysis.zones - Universal Zone Analysis Pipeline v2.1
bquant.analysis.base - Базовые классы анализа
📊 Visualization - Модули визуализации
bquant.visualization.charts - Финансовые графики
bquant.visualization.zones - Визуализация зон
bquant.visualization.statistical - Статистические графики
bquant.visualization.themes - Темы и стили
🔍 Поиск по API
📊 Статистика пакета (на 24.10.2025): BQuant содержит 1110+ сущностей в 85 модулях:
491 класс (индикаторы, анализаторы, визуализаторы)
619 функций (утилиты, расчеты, обработка данных)
164+ индикатора (включая pandas-ta интеграцию)
Ниже перечислены только ключевые entry points для быстрого старта. Полная документация доступна в соответствующих разделах.
🎯 Основные entry points
🚀 Быстрый старт
analyze_zones()- Universal Pipeline для анализа зон (основной API)load_ohlcv_data()- Загрузка OHLCV данныхget_sample_data()- Получение sample данных
🔧 Ключевые компоненты
ZoneAnalysisBuilder- Fluent builder для Universal PipelineIndicatorFactory- Фабрика индикаторов (164+ доступных)FinancialCharts- Создание финансовых графиков
📚 Подробная документация
📈 Indicators API - 164+ индикаторов
6 встроенных: SMA, EMA, RSI, MACD, Bollinger Bands, Custom
158 pandas-ta: Полная интеграция с pandas-ta библиотекой
PRELOADED: Готовые индикаторы для sample данных
Factory pattern: Универсальное создание любых индикаторов
🔬 Analysis API - Аналитические модули
Universal Zone Analysis v2.1: Анализ зон с любыми индикаторами
5 Detection Strategies: zero_crossing, threshold, line_crossing, preloaded, combined
5 Analysis Strategies: swing, divergence, shape, volume, volatility
Statistical Analysis: Гипотезные тесты, регрессия, валидация
Clustering: Автоматическая группировка зон
📊 Visualization API - Графики и визуализация
FinancialCharts: Candlestick, line, bar графики
ZoneVisualizer: Визуализация зон с контекстом
StatisticalPlots: Статистические графики и распределения
Themes: 5 готовых тем оформления
💾 Data API - Работа с данными
Loader: Загрузка OHLCV данных из файлов
Processor: Очистка и валидация данных
Samples: 8 встроенных sample датасетов
Schemas: Типизация и валидация структур данных
🔍 Поиск по функциональности
📊 Работа с данными
load_ohlcv_data()- Загрузка OHLCV данныхget_sample_data()- Получение sample данныхclean_ohlcv_data()- Очистка и валидация данных
📈 Технические индикаторы
IndicatorFactory.create()- Создание любого из 164+ индикаторовMACDPreloadedIndicator- PRELOADED MACD для готовых данныхBaseIndicator- Базовый класс для создания custom индикаторов
🔬 Universal Zone Analysis (v2.1)
analyze_zones()- Основной API для анализа зонZoneAnalysisBuilder- Fluent builder с полной настройкойrun_all_hypothesis_tests()- Статистические тесты
📊 Визуализация
FinancialCharts- Создание финансовых графиковZoneVisualizer- Визуализация зон с контекстомcreate_candlestick_chart()- Быстрое создание candlestick
⚠️ Deprecated API
MACDZoneAnalyzer- Используйтеanalyze_zones()вместо этогоanalyze_complete()- Заменен на Universal Pipeline_zone_to_dict()- Заменен наzone.features.get()
Актуальные примеры работы с MACD
Universal Pipeline (рекомендуемый подход)
from bquant.analysis.zones import analyze_zones
from bquant.data.samples import get_sample_data
# Загружаем данные
data = get_sample_data('tv_xauusd_1h')
# Анализ MACD через Universal Pipeline
result = (
analyze_zones(data)
.with_indicator('custom', 'macd', fast_period=12, slow_period=26, signal_period=9)
.detect_zones('zero_crossing', indicator_col='macd_hist')
.with_strategies(swing='find_peaks', shape='statistical')
.analyze(clustering=True, n_clusters=3)
.build()
)
print(f"Найдено зон: {len(result.zones)}")
print(f"Статистика: {result.statistics}")
PRELOADED MACD индикатор
from bquant.indicators.preloaded import MACDPreloadedIndicator
# Создание PRELOADED MACD индикатора
macd_indicator = MACDPreloadedIndicator()
macd_data = macd_indicator.calculate(data)
# Использование в Universal Pipeline
result = (
analyze_zones(data)
.with_indicator('preloaded', 'macd_preloaded')
.detect_zones('zero_crossing', indicator_col='macd')
.analyze(clustering=False)
.build()
)
📖 Как читать документацию
Структура документации класса
class MACDZoneAnalyzer: # ⚠️ DEPRECATED - используйте analyze_zones()
"""
Анализатор MACD с идентификацией зон.
⚠️ DEPRECATED: Этот класс устарел. Используйте Universal Pipeline:
analyze_zones().with_indicator('custom', 'macd').detect_zones().build()
Этот класс выполняет полный анализ MACD индикатора,
включая расчет значений, идентификацию зон и статистический анализ.
Attributes:
macd_params (dict): Параметры MACD (fast, slow, signal)
zone_params (dict): Параметры зон (min_duration, min_amplitude)
Example (DEPRECATED):
>>> analyzer = MACDZoneAnalyzer() # ⚠️ Не рекомендуется
>>> result = analyzer.analyze_complete(data)
>>> print(f"Найдено зон: {len(result.zones)}")
Example (рекомендуемый):
>>> result = analyze_zones(data).with_indicator('custom', 'macd').build()
"""
def __init__(self, macd_params=None, zone_params=None):
"""
Инициализация анализатора.
Args:
macd_params (dict, optional): Параметры MACD.
Defaults to {'fast': 12, 'slow': 26, 'signal': 9}.
zone_params (dict, optional): Параметры зон.
Defaults to {'min_duration': 2, 'min_amplitude': 0.001}.
"""
def analyze_complete(self, data):
"""
Выполняет полный анализ данных.
⚠️ DEPRECATED: Используйте analyze_zones().build() вместо этого метода.
Args:
data (pd.DataFrame): OHLCV данные
Returns:
ZoneAnalysisResult: Результат анализа с зонами и статистикой
Raises:
DataError: Если данные некорректны
AnalysisError: Если анализ не может быть выполнен
"""
Структура документации функции
def load_ohlcv_data(file_path, **kwargs):
"""
Загружает OHLCV данные из файла.
Поддерживает различные форматы файлов: CSV, Excel, JSON.
Автоматически определяет формат и кодировку файла.
Args:
file_path (str): Путь к файлу с данными
**kwargs: Дополнительные параметры для pandas.read_csv/read_excel
Returns:
pd.DataFrame: DataFrame с OHLCV данными
Raises:
FileNotFoundError: Если файл не найден
DataError: Если данные некорректны
Example:
>>> data = load_ohlcv_data('data.csv')
>>> print(f"Загружено {len(data)} записей")
"""
🔗 Связанные разделы
User Guide - Руководство пользователя
Tutorials - Обучающие материалы
Examples - Примеры использования
Developer Guide - Для разработчиков
💡 Советы по использованию API
Начните с базовых модулей - изучите core и data
Используйте sample данные для экспериментов
Читайте docstrings - они содержат примеры использования
Изучайте типы данных - понимайте что возвращают функции
Обрабатывайте исключения - используйте try/except для ошибок
🚀 Расширение API
Хотите создать собственные индикаторы, анализаторы или визуализации? Изучите Extension Guide для подробного руководства по расширению BQuant.
Начать изучение: Core Modules 🏗️