Как система защищает ваши деньги
Никакая одна сделка не должна уничтожить счёт. Максимальный риск на сделку: 3% от капитала.
Все параметры рассчитаны на исторических данных 2022-2025. Нет "магических чисел".
Система учится на своих сделках и адаптирует риск под каждую монету.
Сколько может "просесть" сделка до закрытия
Вы купили BTC по $100,000. В течение сделки цена падала до $95,000 (MAE = -5%), потом выросла, и вы закрыли по $103,000 (+3% профит).
Итог: Сделка прибыльная (+3%), но MAE был -5%. Если бы вы не выдержали просадку — потеряли бы деньги.
Зная MAE, мы можем рассчитать: "Сколько денег поставить, чтобы при худшем сценарии потерять не более X%"
Если MAE монеты -30%, плечо 3x = потенциальная ликвидация (-90%). Плечо должно соответствовать волатильности!
Worst MAE по монетам (2024-2025). Чем выше столбик — тем рискованнее монета.
# Период прогрева: 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
Реальная торговля хуже бэктеста:
| Монета | 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 ⚠️ |
Сколько можно занять у биржи безопасно
Вы хотите купить квартиру за $300,000, но у вас только $100,000. Банк даёт кредит — это "плечо" 3x. Вы контролируете актив на $300k, но если цена упадёт на 33%, вы потеряете весь свой взнос.
⚠️ При 10x и движении -10% вы теряете 100% маржи (ликвидация)
# 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
Одинаковое плечо для всех монет.
leverage = 2 # Всегда 2x
⚠️ Не учитывает разную волатильность монет
Плечо рассчитывается по историческому MAE.
leverage = 45 / worst_mae
⚠️ Адаптируется, но может быть агрессивным
Плечо задано вручную после анализа.
TIERED_LEVERAGE = {
'BTC': 3, 'ETH': 3,
'AVAX': 2, 'DOGE': 2,
'SOL': 1
}
✓ Консервативное, проверенное на данных
SOL показал MAE -38.6% за период тестирования. При плече 2x это -77% от маржи. При плече 3x = ликвидация (-115.8%, но биржа закроет позицию на -80%).
Решение: SOL торгуется с плечом 1x. Медленнее растёт, но не ликвидируется.
Сколько денег ставить на каждую сделку
equity = $1000 # Ваш капитал
risk_pct = 3.0 # Риск 3%
risk_amount = equity * (risk_pct / 100)
# risk_amount = $30 — максимум, что мы готовы потерять
symbol = "ETH"
expected_mae = 0.162 # 16.2% (с буфером)
leverage = 3 # Для ETH разрешено 3x
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 ✓
max_margin = equity * 0.20
margin = min(margin, max_margin)
Даже если формула говорит "ставь больше", мы ограничиваем позицию 20% от капитала.
if notional < 5.0:
continue # Пропускаем
Биржа не принимает ордера меньше $5. Слишком маленький капитал = меньше сделок.
| Режим | Формула | Плюсы | Минусы |
|---|---|---|---|
| Compound | risk = current_equity × 3% | Рост ускоряется с капиталом | После просадки позиции меньше |
| Fixed | risk = initial_capital × 3% | Стабильный размер позиций | Не использует рост капитала |
Защита от катастрофических потерь
Крипто-рынок высоко коррелирован. Когда BTC падает на 20%, ETH падает на 25%, SOL на 35%, DOGE на 40%.
Если у вас 5 позиций по 3% риска каждая — это не 3% риск. Это 15% риск, который реализуется одновременно!
| Открытых позиций | Множитель | Новая позиция |
|---|---|---|
| 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
Все 5 позиций — LONG. Рынок падает. Все 5 позиций в убытке одновременно.
MAX_DIRECTION_RISK_PCT = 15.0 # Макс. 15% в одном направлении
if same_direction_risk + new_risk > max_direction_risk:
margin *= 0.5 # Режем позицию вдвое
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 # Не открываем новую позицию
Когда убыток по позиции съедает всю маржу, биржа принудительно закрывает позицию. Вы теряете 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 # Полная потеря маржи
Как всё работает вместе
Система обрабатывает события в хронологическом порядке:
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
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)
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
| Метрика | Значение | Что означает |
|---|---|---|
| Total Trades | 452 | ~1.1 сделка в день на 5 монет |
| Win Rate | 77.4% | 3 из 4 сделок прибыльные |
| Max Drawdown | -0.9% | Худший момент потерял меньше 1% |
| Worst Portfolio MAE | -13.8% | Максимальная просадка внутри дня |
Честность системы и её ограничения
Система не заглядывает в будущее. MAE рассчитывается только по закрытым сделкам. Это честный бэктест.
Везде заложены буферы: MAE +15%, ликвидация на 80% вместо 95%, tail slippage +0.2%. Реальность будет лучше, не хуже.
Защита не одна, а несколько слоёв: размер позиции, корреляция, направление, общий лимит. Каждый слой независим.
2024-2025 включает крах апреля 2024, рост октября-ноября, волатильность января 2025. Система прошла разные условия.
Результаты бэктеста не гарантируют будущую прибыль. Рынок может измениться, волатильность может вырасти, корреляции могут сломаться.
При $100 и минимуме $5 на позицию, система пропускает часть сигналов. При $1000+ эффективность выше.
Система не защищает от событий типа краха 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% |