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 Pipeline

  • IndicatorFactory - Фабрика индикаторов (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

  1. Начните с базовых модулей - изучите core и data

  2. Используйте sample данные для экспериментов

  3. Читайте docstrings - они содержат примеры использования

  4. Изучайте типы данных - понимайте что возвращают функции

  5. Обрабатывайте исключения - используйте try/except для ошибок

🚀 Расширение API

Хотите создать собственные индикаторы, анализаторы или визуализации? Изучите Extension Guide для подробного руководства по расширению BQuant.


Начать изучение: Core Modules 🏗️