Перейти к содержанию
Версия: 3.3.51 Обновлено: 2026-01-23

Strategy Selection Guide

Executive Summary: Руководство по инвестиционным стратегиям Saga — выбор, валидация, API интеграция.

⚠️ MVP NOTICE (2025-11): В текущей MVP версии платформа использует ЕДИНСТВЕННУЮ стратегию 10% APY (conservative/balanced). Multi-strategy функциональность (5%/10%/20%) описанная ниже запланирована для Phase 2 и НЕ доступна пользователям сейчас. API возвращает все 3 стратегии для backward compatibility, но UI показывает только 10% APY.


Available Strategies

Saga предлагает 3 инвестиционные стратегии с разным балансом риска и доходности:

Стратегия APY Риск Минимум Максимум Рекомендация
Conservative 5% Низкий $10 $10,000 Новички, консервативные инвесторы
Balanced 10% Средний $10 $10,000 Опытные пользователи
Aggressive 20% Высокий $10 $10,000 Опытные трейдеры

Strategy Deep Dive

1. Conservative Strategy (5% APY)

Характеристики:

  • Целевая доходность: 5% годовых
  • Профиль риска: Низкий
  • Волатильность: Минимальная
  • Ликвидность: Высокая (вывод в любое время)

Для кого:

  • Новые пользователи платформы
  • Консервативные инвесторы
  • Пользователи с низкой толерантностью к риску
  • Долгосрочное стабильное накопление

Capital Allocation (Operator-Managed):

  • Pendle PT tokens: ~70%
  • Curve stable pools: ~30%
  • Minimal protocol complexity

2. Balanced Strategy (10% APY)

Характеристики:

  • Целевая доходность: 10% годовых
  • Профиль риска: Средний
  • Волатильность: Умеренная
  • Ликвидность: Высокая

Для кого:

  • Опытные пользователи
  • Умеренная толерантность к риску
  • Средне-срочные инвестиции (6-12 месяцев)

Capital Allocation (Operator-Managed):

  • Pendle PT tokens: ~50%
  • Curve/Convex boosted pools: ~50%

3. Aggressive Strategy (20% APY)

Характеристики:

  • Целевая доходность: 20% годовых
  • Профиль риска: Высокий
  • Волатильность: Значительная
  • Ликвидность: Высокая

Для кого:

  • Опытные DeFi трейдеры
  • Высокая толерантность к риску
  • Максимизация доходности

Capital Allocation (Operator-Managed):

  • Pendle YT tokens: ~30%
  • Convex boosted strategies: ~50%
  • Advanced DeFi protocols: ~20%

Strategy Selection Decision Tree

flowchart TB
    A[Новый в DeFi?] -->|Да| B[Conservative 5%]
    A -->|Нет| C{Толерантность к риску?}

    C -->|Низкая| B
    C -->|Средняя| D{Срок инвестиции?}
    C -->|Высокая| E{Опыт DeFi?}

    D -->|< 6 месяцев| B
    D -->|6-12 месяцев| F[Balanced 10%]

    E -->|< 1 года| F
    E -->|> 1 года| G[Aggressive 20%]

    style B fill:#90EE90
    style F fill:#FFD700
    style G fill:#FF6B6B

Selection Recommendations

Scenario 1: First-Time User

Рекомендация: Conservative (5%)

Обоснование:

  • Минимальный риск для знакомства с платформой
  • Понятная математика доходности
  • Психологический комфорт от стабильности

Пример:

Параметр Значение
Начальный капитал $100
Период 3 месяца
Ожидаемая доходность ~$1.25
Следующий шаг Переход на Balanced

Scenario 2: Experienced Investor

Рекомендация: Портфолио из нескольких стратегий

Пример распределения:

Стратегия Доля Сумма Назначение
Conservative 30% $3,000 Безопасная база
Balanced 50% $5,000 Основная доходность
Aggressive 20% $2,000 Максимизация profit
Итого 100% $10,000 ~10.5% weighted APY

Scenario 3: Risk-Seeking Trader

Рекомендация: Aggressive (20%) с активным мониторингом

Risk-менеджмент:

  • Не более 30% портфеля в Aggressive
  • Еженедельный мониторинг доходности
  • Диверсификация с Conservative/Balanced

API Integration

Get Available Strategies

GET /api/strategies

Response:
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Conservative",
      "apy": 5.0,
      "risk_level": "low",
      "min_amount": "10.00",
      "max_amount": "10000.00"
    },
    {
      "id": 2,
      "name": "Balanced",
      "apy": 10.0,
      "risk_level": "medium",
      "min_amount": "10.00",
      "max_amount": "10000.00"
    },
    {
      "id": 3,
      "name": "Aggressive",
      "apy": 20.0,
      "risk_level": "high",
      "min_amount": "10.00",
      "max_amount": "10000.00"
    }
  ]
}

Create Investment

POST /api/investments
Authorization: Bearer <jwt_token>
Content-Type: application/json

{
  "strategy_id": 2,
  "amount": "1000.00"
}

Response:
{
  "success": true,
  "data": {
    "investment_id": "inv_abc123",
    "strategy": "Balanced",
    "amount": "1000.00",
    "apy": 10.0,
    "daily_yield": "0.27",
    "status": "active"
  }
}

Switch Strategy

POST /api/investments/{investment_id}/switch
Authorization: Bearer <jwt_token>

{
  "new_strategy_id": 3
}

Response:
{
  "success": true,
  "data": {
    "investment_id": "inv_abc123",
    "old_strategy": "Balanced",
    "new_strategy": "Aggressive",
    "amount": "1034.25",
    "new_apy": 20.0,
    "effective_from": "2026-01-24T00:00:00Z"
  }
}

Backend Implementation

Strategy Validation

// backend/shared/services/investment_service.go
func (s *InvestmentService) ValidateStrategy(strategyID int, amount SafeDecimal) error {
    strategy := s.config.GetInvestmentStrategy(strategyID)
    if strategy == nil {
        return errors.New("invalid strategy ID")
    }

    if amount.LessThan(strategy.MinAmount) {
        return fmt.Errorf("amount below minimum: $%s (min: $%s)",
            amount.String(), strategy.MinAmount.String())
    }

    if amount.GreaterThan(strategy.MaxAmount) {
        return fmt.Errorf("amount exceeds maximum: $%s (max: $%s)",
            amount.String(), strategy.MaxAmount.String())
    }

    return nil
}

Frontend Component

// Example strategy selector
interface Strategy {
  id: number;
  name: string;
  apy: number;
  risk: 'Low' | 'Medium' | 'High';
}

const strategies: Strategy[] = [
  { id: 1, name: 'Conservative', apy: 5, risk: 'Low' },
  { id: 2, name: 'Balanced', apy: 10, risk: 'Medium' },
  { id: 3, name: 'Aggressive', apy: 20, risk: 'High' }
];

Configuration

Strategy parameters defined in config/limits.yaml:

limits:
  investment_strategies:
    - id: 1
      name: "Conservative"
      apy: 5.0
      risk_level: "low"
      min_amount: "10.00"
      max_amount: "10000.00"

    - id: 2
      name: "Balanced"
      apy: 10.0
      risk_level: "medium"
      min_amount: "10.00"
      max_amount: "10000.00"

    - id: 3
      name: "Aggressive"
      apy: 20.0
      risk_level: "high"
      min_amount: "10.00"
      max_amount: "10000.00"