# Quick Start - Быстрый старт с BQuant

## 🚀 Установка

### Установка через pip

```bash
pip install bquant
```

### Установка из исходного кода

```bash
git clone https://github.com/your-username/bquant.git
cd bquant
pip install -e .
```

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

```python
import bquant
print(f"BQuant version: {bquant.__version__}")
```

## ⚡ Первый анализ за 5 минут

### 1. Импорт библиотек

```python
import bquant as bq
from bquant.data.samples import get_sample_data
from bquant.analysis.zones import analyze_zones
from bquant.visualization import FinancialCharts
```

### 2. Загрузка данных

```python
# Используем встроенные sample данные
data = get_sample_data('tv_xauusd_1h')
print(f"Загружено {len(data)} записей")
print(f"Период: {data.index[0]} - {data.index[-1]}")
```

### 3. Universal Zone Analysis

```python
# Universal Pipeline - работает с любым индикатором
result = (
    analyze_zones(data)
    .with_indicator('pandas_ta', 'rsi', length=14)
    .detect_zones('threshold', indicator_col='RSI_14',
                  upper_threshold=70, lower_threshold=30)
    .analyze(clustering=True)
    .build()
)
```

### 4. Анализ результатов

```python
# Получаем зоны
zones = result.zones
print(f"Найдено зон: {len(zones)}")

# Статистика
stats = result.statistics
print(f"Bull зон: {stats.get('bull_zones', 0)}")
print(f"Bear зон: {stats.get('bear_zones', 0)}")

# Доступ к features зон
for i, zone in enumerate(zones[:3]):  # Первые 3 зоны
    if zone.features:
        print(f"Зона {i}: {zone.features.get('zone_type', 'unknown')}")
```

### 5. Визуализация

```python
# Создаем график
from bquant.visualization.zones import ZoneVisualizer
import plotly.io as pio

pio.renderers.default = "json"  # Безопасный renderer для headless-среды
charts = FinancialCharts()
zone_viz = ZoneVisualizer()

# Candlestick график с RSI
fig_price = charts.create_candlestick_chart(
    data,
    title="XAUUSD 1H - RSI Zone Analysis"
)
fig_price.show()

# Зоны RSI на ценовом графике
fig_zones = zone_viz.plot_zones_on_price_chart(
    data,
    zones,
    title="XAUUSD 1H - RSI Zones"
)

# Показываем график
fig_zones.show()
```

### 6. Подключение внешних индикаторов одной командой

```python
from bquant.indicators import LibraryManager

# Загружаем внешние библиотеки (pandas-ta и TA-Lib при наличии)
LibraryManager.load_all_libraries()

# «Простой способ»: создаём индикатор pandas-ta без ручной регистрации
rsi = LibraryManager.create_indicator('pandas_ta', 'rsi', length=14)
rsi_result = rsi.calculate(data)

print(rsi_result.data[['RSI_14']].tail())
```

> ℹ️ Подробности и дополнительные примеры смотрите в разделе
> [LibraryManager — управление внешними индикаторами](../api/indicators/library_manager.md).

## 📊 Полный пример - Universal Pipeline

```python
import bquant as bq
from bquant.data.samples import get_sample_data, list_dataset_names
from bquant.analysis.zones import analyze_zones
from bquant.visualization import FinancialCharts
import plotly.io as pio

pio.renderers.default = "json"

def quick_analysis():
    """Быстрый анализ sample данных с Universal Pipeline"""
    
    # 1. Выбираем dataset
    datasets = list_dataset_names()
    print(f"Доступные datasets: {datasets}")
    
    dataset_name = datasets[0]  # Первый доступный
    print(f"Анализируем: {dataset_name}")
    
    # 2. Загружаем данные
    data = get_sample_data(dataset_name)
    print(f"Данные: {len(data)} записей")
    
    # 3. Universal Pipeline - RSI анализ
    result = (
        analyze_zones(data)
        .with_indicator('pandas_ta', 'rsi', length=14)
        .detect_zones('threshold', indicator_col='RSI_14',
                      upper_threshold=70, lower_threshold=30)
        .analyze(clustering=True)
        .build()
    )
    
    # 4. Результаты
    zones = result.zones
    stats = result.statistics
    
    print(f"\n📊 РЕЗУЛЬТАТЫ АНАЛИЗА:")
    print(f"   • Всего зон: {len(zones)}")
    print(f"   • Bull зон: {stats.get('bull_zones', 0)}")
    print(f"   • Bear зон: {stats.get('bear_zones', 0)}")
    
    # 5. Hypothesis tests (автоматически в pipeline)
    if result.hypothesis_tests:
        print(f"   • Статистические тесты: ✅ выполнено")
        for test_name, test_result in result.hypothesis_tests.results.items():
            print(f"     - {test_name}: p={test_result['p_value']:.4f}")
    else:
        print(f"   • Статистические тесты: ⚠️ не выполнено")
    
    # 6. Визуализация
    try:
        charts = FinancialCharts()
        fig = charts.create_candlestick_chart(
            data, 
            title=f"RSI Zone Analysis - {dataset_name}"
        )
        print(f"   • Визуализация: ✅ создана")
        return fig
    except Exception as e:
        print(f"   • Визуализация: ⚠️ {e}")
        return None

# Запускаем анализ
if __name__ == "__main__":
    fig = quick_analysis()
    if fig:
        fig.show()
```

## 🔄 Migration Guide - Legacy API

```python
# ⚠️ DEPRECATED: Старый способ
from bquant.indicators import MACDZoneAnalyzer

analyzer = MACDZoneAnalyzer()  # Deprecated wrapper
result = analyzer.analyze_complete(data)  # Delegates to analyze_zones()

# ✅ NEW: Universal Pipeline
from bquant.analysis.zones import analyze_zones

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')
    .analyze(clustering=True)
    .build()
)
```

## 🎯 Что дальше?

После освоения быстрого старта:

### 📚 Learning Path
1. **[Universal Pipeline API](../api/analysis/pipeline.md)** - Полная документация Universal Pipeline v2.1
2. **[Detection Strategies](../api/analysis/strategies.md)** - 5 типов стратегий детекции зон
3. **[Statistical Analysis](../api/analysis/statistical.md)** - Автоматические hypothesis tests
4. **[Examples](../examples/README.md)** - Готовые примеры для всех индикаторов

### 🔬 Advanced Features
5. **[Deep Dive Tutorial](../../research/notebooks/03_zones_universal.py)** - Comprehensive analysis (412 строк)
6. **[Advanced Features](../../research/notebooks/03_analysis_new_features.py)** - Swing, divergence, regression
7. **[Migration Guide](../../examples/02_macd_zone_analysis.py)** - Переход с deprecated API

### 🏗️ Developer Resources
8. **[Architecture Patterns](../developer_guide/README.md)** - Design Patterns, Extension Points
9. **[Testing Framework](../../tests/integration/)** - Integration tests, Backward compatibility
10. **[Visualization](../api/visualization/README.md)** - Zone visualization, Statistical plots

## 💡 Советы

- **Используйте sample данные** для экспериментов
- **Начните с простого** - один индикатор, один dataset
- **Изучайте результаты** - анализируйте статистику и зоны
- **Экспериментируйте** - пробуйте разные параметры

## 🆘 Если что-то не работает

1. **Проверьте установку:**
   ```python
   import bquant
   print(bquant.__version__)
   ```

2. **Проверьте sample данные:**
   ```python
   from bquant.data.samples import list_dataset_names
   print(list_dataset_names())
   ```

3. **Создайте issue** на GitHub с описанием проблемы

---

**Следующий шаг:** [Core Concepts](core_concepts.md) 🏗️
