🎓 Управление рисками

Как система защищает ваши деньги

Что вы узнаете:

  • Как рассчитывается размер каждой позиции
  • Почему используется плечо и когда оно безопасно
  • Как система защищает от катастрофических потерь
  • Что такое MAE и почему это ключевая метрика

Философия системы

💡 Главный принцип: Мы не пытаемся максимизировать прибыль. Мы контролируем риск, а прибыль приходит сама.

🛡️ Защита капитала

Никакая одна сделка не должна уничтожить счёт. Максимальный риск на сделку: 3% от капитала.

📊 Основано на данных

Все параметры рассчитаны на исторических данных 2022-2025. Нет "магических чисел".

🔄 Адаптивность

Система учится на своих сделках и адаптирует риск под каждую монету.

Архитектура системы

📈 MAE
Оценка риска
⚖️ Плечо
Leverage
📐 Sizing
Размер позиции
🚨 Лимиты
Контроль риска
🎮 Торговля
Исполнение

📈 Максимальный убыток (MAE)

Сколько может "просесть" сделка до закрытия

Что такое MAE?

Максимальный убыток (MAE)
Максимальный убыток внутри сделки
до того, как сделка закрылась (в плюс или минус)
🎯 Пример из жизни

Вы купили BTC по $100,000. В течение сделки цена падала до $95,000 (MAE = -5%), потом выросла, и вы закрыли по $103,000 (+3% профит).

Итог: Сделка прибыльная (+3%), но MAE был -5%. Если бы вы не выдержали просадку — потеряли бы деньги.

Почему MAE критически важен?

🎯 Для размера позиции

Зная MAE, мы можем рассчитать: "Сколько денег поставить, чтобы при худшем сценарии потерять не более X%"

⚖️ Для выбора плеча

Если MAE монеты -30%, плечо 3x = потенциальная ликвидация (-90%). Плечо должно соответствовать волатильности!

MAE разных монет

-14.6%
BTC
-14.1%
ETH
-19.3%
AVAX
-30.3%
DOGE
-38.6%
SOL

Worst MAE по монетам (2024-2025). Чем выше столбик — тем рискованнее монета.

Как система использует MAE

Как рассчитывается MAE

# Период прогрева: 10-25 сделок

if достаточно_данных:
    # Используем Q80 (80-й перцентиль)
    base_mae = percentile(closed_maes, 80)
else:
    # Мало данных — консервативный default
    base_mae = default_mae[symbol]  # ~20%

# Добавляем буфер безопасности +15%
final_mae = base_mae × 1.15
💡 Ключевой принцип: NO LOOK-AHEAD (нет заглядывания в будущее). Система использует только данные о закрытых сделках. Это честный бэктест.

Safety Factor — Буфер безопасности

⚠️ Почему +15%?

Реальная торговля хуже бэктеста:

  • Проскальзывание: цена исполнения отличается от ожидаемой
  • Гэпы: цена может "прыгнуть" через ваш стоп-лосс
  • Ликвидность: большой ордер двигает рынок
Монета MAE бэктест После Safety Factor Используемое плечо
BTC -14.6% -16.8% 3x ✓
ETH -14.1% -16.2% 3x ✓
AVAX -19.3% -22.2% 2x
DOGE -30.3% -34.8% 2x
SOL -38.6% -44.4% 1x ⚠️

⚖️ Расчёт плеча (Leverage)

Сколько можно занять у биржи безопасно

Что такое плечо (leverage)?

Плечо = Заёмные средства
Notional = Margin × Leverage
$50 маржи × 3x плечо = $150 позиция
🎯 Аналогия: ипотека

Вы хотите купить квартиру за $300,000, но у вас только $100,000. Банк даёт кредит — это "плечо" 3x. Вы контролируете актив на $300k, но если цена упадёт на 33%, вы потеряете весь свой взнос.

Как плечо влияет на риск

Убыток при движении цены -10%

-10%
1x
-20%
2x
-30%
3x
-50%
5x

⚠️ При 10x и движении -10% вы теряете 100% маржи (ликвидация)

Формула безопасного плеча

Цель: при худшем MAE потерять максимум 45% маржи
Max Leverage = 45% ÷ (MAE × Safety Factor)

Пример расчёта для BTC

# MAE BTC = -14.6%, Safety Factor = 1.15
worst_mae = 14.6 * 1.15  # = 16.8%
max_leverage = 45 / worst_mae  # = 2.68

# Округляем вниз → 2x... но BTC стабильный, разрешаем 3x
# В конфиге: TIERED_LEVERAGE['BTC'] = 3

Три режима плеча

🔢 Fixed (фиксированное)

Одинаковое плечо для всех монет.

leverage = 2  # Всегда 2x

⚠️ Не учитывает разную волатильность монет

📊 Tiered (динамическое)

Плечо рассчитывается по историческому MAE.

leverage = 45 / worst_mae

⚠️ Адаптируется, но может быть агрессивным

⚙️ Tiered Config (рекомендуемое)

Плечо задано вручную после анализа.

TIERED_LEVERAGE = {
    'BTC': 3, 'ETH': 3,
    'AVAX': 2, 'DOGE': 2,
    'SOL': 1
}

✓ Консервативное, проверенное на данных

Почему SOL торгуется без плеча?

🚨 Исторический факт

SOL показал MAE -38.6% за период тестирования. При плече 2x это -77% от маржи. При плече 3x = ликвидация (-115.8%, но биржа закроет позицию на -80%).

Решение: SOL торгуется с плечом 1x. Медленнее растёт, но не ликвидируется.

📐 Размер позиции (Position Sizing)

Сколько денег ставить на каждую сделку

Главная формула

Риск должен быть фиксированным
Margin = Risk Amount ÷ (MAE × Leverage)
Если рискуем $3 при MAE 15% и плече 2x: Margin = 3 ÷ (0.15 × 2) = $10
💡 Идея: Мы не думаем "сколько поставить". Мы думаем "сколько готовы потерять" и от этого считаем размер позиции.

Пошаговый расчёт

Шаг 1: Определяем риск

equity = $1000         # Ваш капитал
risk_pct = 3.0           # Риск 3%
risk_amount = equity * (risk_pct / 100)
# risk_amount = $30 — максимум, что мы готовы потерять

Шаг 2: Получаем MAE и плечо

symbol = "ETH"
expected_mae = 0.162      # 16.2% (с буфером)
leverage = 3              # Для ETH разрешено 3x

Шаг 3: Считаем маржу

margin = risk_amount / (expected_mae * leverage)
margin = 30 / (0.162 * 3)
margin = $61.73

# Проверка:
notional = margin * leverage  # $61.73 × 3 = $185.19
potential_loss = notional * expected_mae  # $185.19 × 0.162 = $30 ✓

Интерактивный калькулятор

Рассчитайте размер позиции

Маржа: $100
Размер позиции: $200 | Макс. убыток: $30

Защитные ограничения

📏 Максимум 20% капитала

max_margin = equity * 0.20
margin = min(margin, max_margin)

Даже если формула говорит "ставь больше", мы ограничиваем позицию 20% от капитала.

💵 Минимум $5 (Bybit)

if notional < 5.0:
    continue  # Пропускаем

Биржа не принимает ордера меньше $5. Слишком маленький капитал = меньше сделок.

Компаундинг vs Фиксированный риск

Режим Формула Плюсы Минусы
Compound risk = current_equity × 3% Рост ускоряется с капиталом После просадки позиции меньше
Fixed risk = initial_capital × 3% Стабильный размер позиций Не использует рост капитала
💡 Рекомендация: Используйте компаундинг (use_compound=True). На длинной дистанции это даёт экспоненциальный рост: $100 → $2,363 за год.

🚨 Лимиты риска (Risk Limits)

Защита от катастрофических потерь

Почему нужны дополнительные лимиты?

🔥 Проблема корреляции

Крипто-рынок высоко коррелирован. Когда BTC падает на 20%, ETH падает на 25%, SOL на 35%, DOGE на 40%.

Если у вас 5 позиций по 3% риска каждая — это не 3% риск. Это 15% риск, который реализуется одновременно!

Защита #1: Штраф за корреляцию

Чем больше открытых позиций — тем меньше новая
Multiplier = max(0.30, 1 - 0.15 × N)

Как работает

Открытых позиций Множитель Новая позиция
0 1.00 (100%) Полный размер
1 0.85 (85%) Немного меньше
2 0.70 (70%) На треть меньше
3 0.55 (55%) Почти вдвое
4 0.40 (40%) Меньше половины
5+ 0.30 (30%) Минимум (floor)
📝 Пример

Формула говорит открыть позицию на $100 маржи. Но уже открыто 3 позиции.

original_margin = $100
n_positions = 3
multiplier = max(0.30, 1 - 0.15 * 3) = 0.55
final_margin = $100 * 0.55 = $55

Защита #2: Лимит направления

Проблема

Все 5 позиций — LONG. Рынок падает. Все 5 позиций в убытке одновременно.

Решение

MAX_DIRECTION_RISK_PCT = 15.0  # Макс. 15% в одном направлении

if same_direction_risk + new_risk > max_direction_risk:
    margin *= 0.5  # Режем позицию вдвое

Защита #3: Общий лимит портфеля

Суммарный риск всех позиций ограничен
Σ Risk ≤ 10% от капитала
MAX_PORTFOLIO_RISK = 10.0  # %

current_risk = sum(pos.actual_risk_usd for pos in open_positions)
current_risk_pct = current_risk / equity * 100

if current_risk_pct + new_risk_pct > MAX_PORTFOLIO_RISK:
    continue  # Не открываем новую позицию
💡 Результат: Даже если ВСЕ позиции сработают по максимальному MAE одновременно, потеря не превысит 10% капитала.

Защита #4: Ликвидация

🚨 Что такое ликвидация?

Когда убыток по позиции съедает всю маржу, биржа принудительно закрывает позицию. Вы теряете 100% вложенных в эту позицию денег.

Консервативный порог

LIQUIDATION_THRESHOLD = 0.80  # 80% маржи

# Реальные биржи ликвидируют на 90-95%, но мы считаем 80%
# Это буфер на случай проскальзывания

liq_threshold = -LIQUIDATION_THRESHOLD / leverage
# Для 3x: -80% / 3 = -26.7% движения цены

if mae_pct < liq_threshold:
    pnl = -margin  # Полная потеря маржи

Все защиты вместе

Рассчитали
позицию
Штраф за
корреляцию
Проверка
направления
Лимит
портфеля
Открываем
позицию ✓

🎮 Симуляция портфеля

Как всё работает вместе

Event-based симуляция

Принцип работы

Система обрабатывает события в хронологическом порядке:

  1. Собираем все события (входы и выходы всех сделок)
  2. Сортируем по времени
  3. Обрабатываем одно за другим

На вход (ENTRY)

if event_type == 'entry':
    # 1. Рассчитать риск
    risk_amount = available_equity * risk_pct

    # 2. Получить MAE и плечо для монеты
    leverage = get_coin_leverage(symbol)
    mae = get_mae_estimate(symbol)

    # 3. Рассчитать маржу
    margin = risk_amount / (mae * leverage)

    # 4. Применить все защиты
    margin = apply_correlation_penalty(margin, n_positions)
    margin = apply_direction_check(margin, direction)

    # 5. Проверить лимиты
    if portfolio_risk_ok and margin <= available:
        # 6. Заблокировать маржу
        available_equity -= margin
        open_positions[trade] = position_info

На выход (EXIT)

if event_type == 'exit':
    # 1. Проверить ликвидацию
    if check_liquidation(trade.mae_pct, leverage):
        pnl = -margin  # Полная потеря
    else:
        # 2. Рассчитать PnL с учётом проскальзывания
        net_pnl = trade.pnl_pct - slippage * 2
        pnl = notional * net_pnl

    # 3. Вернуть маржу + PnL
    available_equity += margin + pnl
    total_equity += pnl

    # 4. Обновить историю MAE (для будущих расчётов)
    mae_tracker.add(symbol, trade.mae_pct)

Bar-by-bar MAE

Зачем нужен?

Event-based симуляция показывает итоговый PnL каждой сделки. Но что происходило внутри сделки? Какой был максимальный убыток портфеля?

Как работает

for timestamp in all_bars:
    # Для каждого часа (бара)
    total_unrealized = 0

    for position in open_positions:
        # Считаем нереализованный убыток
        if position.direction == 'LONG':
            worst_price = bar.low * (1 - tail_slippage)
        else:
            worst_price = bar.high * (1 + tail_slippage)

        unrealized = (worst_price - entry_price) / entry_price
        total_unrealized += notional * unrealized

    portfolio_mae = total_unrealized / equity

Результаты симуляции

$100 → $2,363 за 13 месяцев

$100
Январь 2024
$2,363
Январь 2025
+2,263% return | Max Drawdown: -0.9% | Win Rate: 77.4%
Метрика Значение Что означает
Total Trades 452 ~1.1 сделка в день на 5 монет
Win Rate 77.4% 3 из 4 сделок прибыльные
Max Drawdown -0.9% Худший момент потерял меньше 1%
Worst Portfolio MAE -13.8% Максимальная просадка внутри дня

🔒 Почему можно доверять?

Честность системы и её ограничения

Что делает систему надёжной

✅ No Look-Ahead

Система не заглядывает в будущее. MAE рассчитывается только по закрытым сделкам. Это честный бэктест.

✅ Safety Buffers

Везде заложены буферы: MAE +15%, ликвидация на 80% вместо 95%, tail slippage +0.2%. Реальность будет лучше, не хуже.

✅ Multiple Protections

Защита не одна, а несколько слоёв: размер позиции, корреляция, направление, общий лимит. Каждый слой независим.

✅ Tested on Real Data

2024-2025 включает крах апреля 2024, рост октября-ноября, волатильность января 2025. Система прошла разные условия.

Ограничения (важно понимать!)

⚠️ Прошлое ≠ Будущее

Результаты бэктеста не гарантируют будущую прибыль. Рынок может измениться, волатильность может вырасти, корреляции могут сломаться.

⚠️ Маленький капитал = Меньше сделок

При $100 и минимуме $5 на позицию, система пропускает часть сигналов. При $1000+ эффективность выше.

⚠️ Black Swan Events

Система не защищает от событий типа краха FTX (мгновенное падение на 50%+). При таком событии потери будут значительными.

Рекомендации

💰 Начните с малого

Запустите систему на $100-500. Убедитесь, что понимаете как она работает. Постепенно увеличивайте капитал.

📊 Мониторьте метрики

Следите за win rate, drawdown, MAE. Если метрики сильно отличаются от бэктеста — что-то изменилось на рынке.

🔄 Диверсификация

Не кладите все деньги в одну стратегию. Это одна из многих. Крипто — высокорисковый актив.

🧘 Не паникуйте

Просадки будут. -5%, -10% — это нормально. Система рассчитана на долгосрочный рост, а не на линейный график.

Итоговая таблица защит

Риск Защита Параметр
Большая позиция Фиксированный % риска 3% на сделку
Неизвестная волатильность MAE-based sizing Q80 + 15% буфер
Слишком высокое плечо Tiered leverage 1-3x по монетам
Корреляция позиций Correlation penalty -15% за позицию
Одностороннее направление Direction limit Max 15% в одну сторону
Общий риск портфеля Portfolio limit Max 10% суммарно
Ликвидация Conservative threshold 80% вместо 95%
🎯 Главный вывод: Система не обещает богатство. Она обещает контролируемый риск и статистическое преимущество на длинной дистанции.