Розробка системи розрахунку позиції за ризиком

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи розрахунку позиції за ризиком
Середній
~3-5 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Розроблення системи розраховування позиції на основі ризику

Система розрахунку розміру позиції на основі ризику — основа професійного управління капіталом. Замість «купити на $1000», скажіть «ризикувати $100 при стопе на 5% нижче входу» та автоматично розрахувати обсяг.

Базова формула

Position Qty = Risk Amount / Risk Per Unit
Risk Amount = Portfolio Value × Risk Percent
Risk Per Unit = |Entry Price - Stop Loss Price|
def calculate_position_size(portfolio_value, risk_pct, entry_price, stop_price):
    risk_amount = portfolio_value * risk_pct
    risk_per_unit = abs(entry_price - stop_price)
    
    if risk_per_unit == 0:
        raise ValueError("Stop price equals entry price")
    
    qty = risk_amount / risk_per_unit
    position_value = qty * entry_price
    
    return {
        'qty': qty,
        'position_value': position_value,
        'position_pct': position_value / portfolio_value,
        'risk_amount': risk_amount,
        'risk_pct': risk_pct
    }

Приклад: портфель $50,000, ризик 1% ($500), вхід $45,000, стоп $43,200 (4% нижче). Risk Per Unit = $1,800. Qty = 500/1800 = 0.278 BTC. Вартість позиції = $12,500 (25% портфеля).

Розміщення стопу на основі ATR

Розмір стопу краще привязати до ATR, а не до довільного %:

def atr_based_sizing(portfolio_value, risk_pct, entry_price, atr, multiplier=2.0):
    stop_distance = atr * multiplier
    stop_price = entry_price - stop_distance  # для лонга
    return calculate_position_size(portfolio_value, risk_pct, entry_price, stop_price)

При ATR 2%: стоп = 4% нижче входу. При ATR 5%: стоп = 10% нижче. Розмір позиції автоматично зменшується при високій волатильності.

Обмеження та перевірки

Ліміт максимального розміру позиції: навіть якщо розрахунок за ризиком дає 50% портфеля, обмежити максимум 20%.

Мінімальний розмір позиції: нижче певного обсягу комісії не виправданні. Пропустити угоду.

Перевірка доступного балансу: наявність коштів на біржі.

Коригування рівня: при використанні плеча: effective_qty = calculated_qty, але margin_required = position_value / leverage.

Контекст портфеля

При кількох відкритих позиціях сукупний ризик не повинен перевищувати ліміт:

def portfolio_adjusted_size(base_size, current_total_risk, max_portfolio_risk, portfolio_value):
    remaining_risk_budget = max_portfolio_risk * portfolio_value - current_total_risk
    if remaining_risk_budget <= 0:
        return 0  # місця в портфелі немає
    max_new_risk = min(base_size['risk_amount'], remaining_risk_budget)
    scale_factor = max_new_risk / base_size['risk_amount']
    return base_size['qty'] * scale_factor

Розробляємо систему розрахунку позиції з ATR-розміром, контролем ризику портфеля, підтримкою плеча та налаштовуваними обмеженнями.