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"
Related Documentation¶
- Investment Flow — User journey
- Withdrawal Flow — Exit process
- API Endpoints — Full API reference