Управляемые инвестиции
Одна сторона обеспечивает капитал, другая обеспечивает работу. Прибыль делится на согласованное соотношение. Убыток падает на капитал.
Суть в том, что менеджер, который теряет деньги предприятия, теряет работу, вложенную в него, и уходит, ничего не имея; инвестор теряет деньги. Ни один из результатов не является штрафом — это разделение риска, на которое фактически согласились обе стороны. API Принудить его: record_loss Никогда не трогайте бухгалтерскую книгу менеджера, и прибыль менеджера не является платой, которая выживает в плохой год.
Базовый путь: /api/v1/pfp/managed-investments · Религиозное чтение: Мудараба
Два мандата
mandate_type | Менеджер может |
|---|---|
restricted (по умолчанию) | Инвестировать только в заявленное поле и внутри business_restrictions |
unrestricted | Инвестировать по собственному усмотрению |
business_restrictions является перечнем строк и учитывается при выполнении мандата restrictedЭто отчет о соглашении, а не механизм исполнения — платформа хранит его и отчитывается о нем; она не проверяет индивидуальные инвестиции против него.
Статус
draft ──submit──> under_review ──review──> review_passed
│ │ │
│ └──reject──> rejected │
│ │
└──────────────── fund ───────────────────────┘
│
v
funded ──activate──> active
│ │
└────── complete ────┴──> completed
│
loss wipes out │ current_value
v
liquidated
| статус | Значение |
|---|---|
draft | Записанные термины |
under_review | Представлен на утверждение |
review_passed | Заключение прилагается |
rejected | Терминал. Требуется а reason |
funded | Капитал передан управляющему |
active | Менеджер управляет предприятием; прибыль и убыток могут быть зарегистрированы. |
completed | Устанавливается на срок |
liquidated | Столица была уничтожена |
completed и liquidated Предприятие, которое потеряло свой капитал, не является тем же событием, что и предприятие, которое провело свой срок и урегулировало, и крах этих двух сделает неудачный контракт неотличимым от успешного в любом отчете, построенном на статусе.
Нет никакого liquidate Конечная точка: платформа устанавливает liquidated момент, когда зарегистрированная потеря приводит к current_value до нуля. actual_end_date устанавливается одновременно.
В светском чтении fund досягаемости от draft а также как и review_passed.
Создать контракт
POST /api/v1/pfp/managed-investments
{
"customer_id": "8f2a1c44-0b6e-4d51-9a3f-1c8e5b7d2a90",
"region": "RU",
"currency": "RUB",
"capital_amount": "2000000000",
"business_type": "Wholesale distribution of building materials",
"business_description": "Regional distribution across Tatarstan and Mari El",
"mandate_type": "restricted",
"business_restrictions": ["No trade financing", "No FX positions"],
"profit_sharing_ratio": { "bank": 30, "customer": 70 },
"term_months": 24,
"reporting_frequency": "quarterly"
}
| Полное поле | Тип | Требуемый | Заметки |
|---|---|---|---|
customer_id | uuid | ✅ | Менеджер |
region | string | ✅ | Контрактный регион |
currency | string | ✅ | ISO 4217 |
capital_amount | string | ✅ | Небольшие единицы. bank боковая сторона |
business_type | string | ✅ | Предприятие, которым будет управлять менеджер |
profit_sharing_ratio | object | ✅ | {"bank": n, "customer": m}Целый процент, Должен суммировать 100 |
term_months | integer | ✅ | 1–120 |
mandate_type | enum | — | restricted (по умолчанию) | unrestricted |
business_restrictions | array | — | Струны |
business_description | string | — | Бесплатный текст |
reporting_frequency | enum | — | monthly | quarterly | semi_annually | annually |
metadata | object | — | Возвращение нетронутых |
Обратите внимание на соотношение в примере: менеджер берет 70 Это нормально для этого продукта — вклад менеджера — это работа, и она оценивается в доле прибыли.
Переходы жизненного цикла
POST /api/v1/pfp/managed-investments/{id}/submit # no body
POST /api/v1/pfp/managed-investments/{id}/review # approved_by required
POST /api/v1/pfp/managed-investments/{id}/reject # reason required
POST /api/v1/pfp/managed-investments/{id}/fund # no body
POST /api/v1/pfp/managed-investments/{id}/activate # no body
fund Записи о том, что столица была передана. activate Записи о том, что менеджер начал торговать — прибыль и убыток принимаются только от active.
прибыль
POST /api/v1/pfp/managed-investments/{id}/profit
{
"gross_profit": "180000000",
"period_end_date": "2026-12-31"
}
Требуются оба поля. Валовая прибыль делится на profit_sharing_ratio и Доля менеджера перемещается на него путем публикации в бухгалтерской книге датированный period_end_dateЭто не начисление на бумаге.
Каждый дистрибутив прилагается к истории:
{
"profit_distributions": [
{
"date": "2026-12-31",
"gross_profit": "180000000",
"bank_share": "54000000",
"customer_share": "126000000"
}
]
}
current_value — позиция инвестора — растет на долю инвестора, а не на валовую.
Нуль - это законный отчет. Период, который ничего не заработал, все еще закрывается: отправьте "0" Отрицательная валовая прибыль отклоняется — убыток представляет собой другой переход с другой арифметикой.
Потеря
POST /api/v1/pfp/managed-investments/{id}/loss
{
"amount": "40000000",
"period_end_date": "2027-03-31"
}
Убыток применяется к current_value капиталом, находящимся под угрозой, и вертеться в немВы не можете потерять больше, чем было вложено. Убыток, превышающий оставшуюся стоимость, регистрируется по стоимости, которая действительно существовала, и current_value Вместо отрицательного он идет к нулю.
Сторона менеджера не тронута. Не существует когтей ранее распределенных акций прибыли и долгов, созданных против менеджера.
История уходит в metadata.losses не в своей области, в отличие от profit_distributions:
{
"metadata": {
"losses": [
{ "date": "2027-03-31", "loss_amount": "40000000", "new_value": "1960000000" }
]
}
}
В отличие от прибыли, в убытке ноль отказано: записывать нечего.
Убыток также авансирует отчетную дату точно так же, как и распределение прибыли. Период, закрытый в убыток, по-прежнему является отчетным периодом.
Урегулировать в срок
POST /api/v1/pfp/managed-investments/{id}/complete
{ "final_value": "2200000000" }
Достижимый от funded и activeНаборы actual_end_date, пишет current_value to final_valueи фиксирует расчеты в metadata.final_settlement:
{
"final_settlement": {
"returned_to_bank": "2014000000",
"total_profit": "180000000",
"total_loss": "40000000"
}
}
returned_to_bank is capital_amount + bank_profit_share − total_loss — возврат капитала, плюс накопленная инвестором доля прибыли, за вычетом понесенных убытков.
Перечислить и прочитать
GET /api/v1/pfp/managed-investments
| Параметр запроса | ценности |
|---|---|
status | любой статус выше |
region | Контрактный регион |
type | restricted | unrestricted |
customer_id | uuid |
env | test | prod |
GET /api/v1/pfp/managed-investments/{id}