Редакция 1.3.8 от 15.04.2025
Связаться: support@trackrecords.ru
Дата | Информация |
---|---|
27.02.2025 | Обновлен список классов активов и их id |
26.02.2025 | Для таблицы portfolio поле isin_or_code изменено на code , amount на quantity , price на price_dirty . Добавлены поля price_dirty_currency , currency_rate , value_in_portfolio_currency , account_number , account_currency |
26.02.2025 | Для таблицы portfolio добавлены столбцы account_number и account_currency . Для таблиц nav, porfolio, prices, results, transactions введены необязательные поля sub_portfolio , sub_portfolio_id |
26.02.2025 | Для таблицы portfolio поле isin_or_code изменено на code , amount на quantity , price на price_dirty . Добавлены поля price_dirty_currency , currency_rate , value_in_portfolio_currency |
14.02.2025 | Для таблицы transactions поле transaction изменено на transaction_type |
24.03.2025 | Для таблицы instruments поле yield_or_divident_rate изменено на yield_or_dividend_rate , поле yield_or_divident_freq изменено на yield_or_dividend_freq |
24.03.2025 | Для таблицы transactions поля money , securities , debt теперь обязательные |
25.03.2025 | Для таблицы results поле sucess_fees изменено на success_fees |
25.03.2025 | Для таблицы prices поле boardid изменено на board_id |
25.03.2025 | Для таблицы instruments поле colleteral изменено на collateral |
Документ содержит требования к отчетности о составе инвестиционных портфелей и результатах управления, используемых в ТрэкРекордс для портфельной аналитики. В документе содержится информация о требованиях к составу и структуре такой отчетности, рекомендациях по заполнению, форматах файлов, типов данных, рекомендациях к регулярности предоставления.
Документ будет полезен для инвестиционных компаний, страховых компаний, управляющих компаний, банков, фондов, брокеров, а также для разработчиков ПО для учета инвестиционных портфелей.
Файлы JSON и Excel с требуемым набором и форматом данных представляют собой стандарт, благодаря которому программное обеспечение ТрэкРекордс позволяет пользователю провести подробный анализ его результатов управления, информацию о рисках портфеля буквально в несколько кликов. Эта отчетность также используется для контрибутивного и атрибутивного анализа результатов управления инвестиционными портфелями.
Примеры отчетов и дашбордов, которые можно построить с помощью этой отчетности и инструментов ТрэкРекордс смотрите здесь: Скачать пример
ТрэкРекордс делит отчетность на несколько разделов/категорий:
Для проверки корректности заполнения файла отчетности в формате JSON, мы предлагаем воспользоваться программой для валидации. Программа проверяет структуру файла, наличие обязательных полей, типы данных и формат дат.
Программа позволяет посмотреть данные из каждой таблицы файла и сохранить их в формате Excel
Требования: ОС Windows 10 и выше, 64-разрядная. Программа работает в оффлайн режиме, не требует установки и доступа в интернет.
Необходимо скачать архив, распаковать все файлы (в т.ч. сертификаты) в одну папку и запустить файл tr_validator.exe
. После запуска программы, выберите файл отчетности в формате JSON (кнопка Load Json) и нажмите кнопку "Открыть". Программа выведет результат проверки файла и список ошибок, если они есть.
Программа доступна для скачивания по ссылке: Скачать программу
ТрэкРекордс предлагает использовать единый формат файла отчетности в формате JSON для всех типов отчетности. Это позволяет упростить процесс обмена данными между участниками процесса, уменьшить количество ошибок и упростить процесс аналитики и контроля.
Файл JSON может содержать часть данных, относящихся к одному типу отчетности, или все типы отчетов одновременно. Например файл отчета может содержать метаинформацию, данные о составе портфеля на начало и конец периода (portfolio) и результаты управления, без данных по транзакциям. Тогда можно будет проанализировать состав портфеля и оценить данные о результатах УК, но пересчитать доходность и провести контрибутивный анализ не получится. При наличии данных о транзакциях и ценах, можно будет перепроверить и пересчитать результаты управления и провести контрибутивный анализ.
Пример файла отчетности в формате JSON:
Примеры | Ссылка на скачивание файла |
---|---|
Пример файла отчетности в формате JSON с транзакциями и ценами (для анализа доходности портфеля, атрибутивного и контрибутивного анализа) | standard_example.json |
Отчетность о составе портфеля и инструментах (без транзакций для анализа состава портфеля и его характеристик) | portfolio_example.json |
Для просмотра примеров в Excel воспользуйтесь программой TR-Validator (см выше). Загрузите файл отчетности в формате JSON и сохраните любую таблицу в Excel.
Пример файла отчетности в формате JSON:
{
"meta": {
"portfolio_name": "УК-Инвест-Стратегический",
"description": "Портфель для стратегических инвестиций",
"manager": "УК Инвест",
"owner": "ООО НПФ",
"portfolio_id": "ДУ-01/2024",
"portfolio_type": 2,
"currency": "RUB",
"reported_date": "2023-12-31",
"start_date": "2022-12-31",
"created_at": "2024-11-01"
},
"portfolio": {
"columns": ["stated_at", "sub_portfolio", "sub_portfolio_id", "account_number", "account_currency", "asset_class", "asset_class_id", "code_type", "code", "asset_name", "quantity", "price_dirty", "price_dirty_currency", "currency_rate", "value_in_portfolio_currency", "price_type", "pif"],
"data": [
["2022-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "ГЦБ РФ", 5, "ISIN", "RU000A0ZYZ26", "ОФЗ-52002-ИН", 500, 1343.26, "RUB", 12.0, 8059559.999999999, 1, ""],
["2022-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Облигации корпоративные", 1, "ISIN", "RU000A104TD0", "Ростелеком-002P-07R", 15000, 1016.09, "USD", 100.0, 1524135000.0, 0, "ОПИФ Космос"],
["2022-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Денежные средства на расчетных счетах", 13, "CASH", "RUB", "Сбербанк", 1, 105025.54, "CNY", 12.0, 1260306.48, 1, ""],
["2022-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Акции", 10, "ISIN", "RU0007661625", "Газпром-2-ао", 1005, 162.69, "RUB", 1.0, 163503.45, 1, ""],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "ГЦБ РФ", 5, "ISIN", "RU000A0ZYZ26", "ОФЗ-52002-ИН", 500, 1357.96, "RUB", 12.0, 16295520.0, 1, ""],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Облигации корпоративные", 1, "ISIN", "RU000A104TD0", "Ростелеком-002P-07R", 16000, 1065.42, "RUB", 1.0, 26635500.0, 0, "ОПИФ Космос"],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Депозиты", 11, "INSTRUMENT", "1791_0077/0012/235_АБВ", "Сбербанк", 0, 1000000.0, "USD", 100.0, 100000000.0, 1, ""],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Денежные средства на расчетных счетах", 13, "CASH", "RUB", "Сбербанк", 1, 105025.54, "USD", 100.0, 5502525.0, 1, ""],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Акции", 10, "ISIN", "RU0007661625", "Газпром-2-ао", 1005, 159.64, "RUB", 1.0, 407880.19999999995, 1, ""],
["2022-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Дебиторская задолженность по РЕПО", 19, "INSTRUMENT", "repo_nkc", "РЕПО с НКЦ", 1, 1000000.0, "RUB", 1.0, 1000000.0, 1, ""],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Дебиторская задолженность по РЕПО", 19, "INSTRUMENT", "repo_nkc", "РЕПО с НКЦ", 1, 1000000.0, "RUB", 1.0, 1000000.0, 1, ""],
["2022-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Кредиторская задолженность", 28, "INSTRUMENT", "credit_other", "РЕПО с прочими контрагентами", 1, -1000000.0, "RUB", 1.0, -1000000.0, 1, ""],
["2023-12-31", "ПН", "1007253", "30601810000000001234", "RUB", "Кредиторская задолженность", 28, "INSTRUMENT", "credit_other", "РЕПО с прочими контрагентами", 1, -1000000.0, "RUB", 1.0, -1000000.0, 1, ""]
]
},
"instruments": {
"columns": ["stated_at", "asset_class", "asset_class_id", "instrument_code", "asset_name", "inn", "currency", "start_date", "maturity_date", "nominal", "yield_or_dividend_rate", "yield_or_dividend_freq", "collateral"],
"data": [
["2023-12-31", "Депозиты", 11, "1791_0077/0012/235_АБВ", "Сбербанк", "7707083893", "RUB", "2023-12-31", "2025-12-31", 1000000.0, 5.3, 0, 23.3],
["2023-12-31", "Денежные средства на расчетных счетах", 13, "Расчетный БАНК ГПБ (АО) / ДУ-29 / RUB", "Газпромбанк", "7744001497", "RUB", null, null, null, null, null, null],
["2023-12-31", "Дебиторская задолженность по РЕПО", 19, "repo_nkc", "РЕПО с НКЦ", "7707083893", "RUB", null, null, null, null, null, null],
["2023-12-31", "Кредиторская задолженность", 28, "credit_other", "Прочая кредиторка", "7707083893", "RUB", null, null, null, null, null, null],
["2023-12-31", "Денежные средства на брокерских счетах", 12, "30601810000000001234", "Сбербанк", "7707083893", "RUB", null, null, null, null, null, null],
["2023-12-31", "Денежные средства на брокерских счетах", 12, "40802810500000000001", "Газпромбанк", "7744001497", "RUB", null, null, null, null, null, null]
]
},
"results": {
"columns": ["period_id", "period_name", "sub_portfolio", "sub_portfolio_id", "start_date", "end_date", "income_currency", "income_gross", "income_net", "mwr_gross", "mwr_net", "twr_gross", "twr_net", "start_nav", "end_nav", "inflows", "outflows", "avg_nav", "aic", "management_fees", "success_fees", "other_fees"],
"data": [
[1, "YTD", "ПН", "1007253", "2023-01-01", "2023-12-31", "RUB", 8162039.47, 7857683.45, 15.5, 15.5, 15.4, 15.4, 52000000.25, 60008000.29, 1526235.23, 0, 58000000.58, 53000256.29, 152000.5, 152355.52, 15265.25],
[2, "2023", "ПН", "1007253", "2023-01-01", "2023-12-31", "RUB", 8162039.47, 7857683.45, 15.5, 15.5, 15.4, 15.4, 52000000.25, 60008000.29, 1526235.23, 0, 58000000.58, 53000256.29, 152000.5, 152355.52, 15265.25],
[3, "3M", "ПН", "1007253", "2023-10-01", "2023-12-31", "RUB", 8162039.47, 7857683.45, 15.5, 15.5, 15.4, 15.4, 52000000.25, 60008000.29, 1526235.23, 0, 58000000.58, 53000256.29, 152000.5, 152355.52, 15265.25]
]
},
"nav": {
"columns": ["sub_portfolio", "sub_portfolio_id", "date", "nav", "net_flows", "currency"],
"data": [
["ПН", "1007253", "2023-01-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-02-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-03-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-04-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-05-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-06-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-07-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-08-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-09-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-10-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-11-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-12-01", 52000000.25, 0, "RUB"],
["ПН", "1007253", "2023-12-31", 60008000.29, 1526235.23, "RUB"]
]
},
"transactions": {
"columns": ["sub_portfolio", "sub_portfolio_id", "account_number", "account_currency", "currency_rate", "date_transaction", "date_settlement", "transaction_id", "connected_transaction_id", "code_type", "code", "transaction_type", "securities", "money", "debt", "comment", "exchange_id", "fee_category", "other"],
"data": [
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "1", "", "ISIN", "RU000A0JX0J2", "trade", 1, -1017.8, 0, "", "", "", ""],
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "2", "", "ISIN", "RU000A0JX0J2", "trade", -1, 1017.8, 0, "", "", "", ""],
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "3", "", "ISIN", "RU000A0JX0J2", "coupon", 0, 17.8, 0, "", "", "", ""],
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "4", "", "ISIN", "RU000A0JX0J2", "amortisation", 0, 1500, 0, "", "", "", ""],
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "4", "", "ISIN", "RU0007661625", "amortisation", 0, 500, 0, "", "", "", ""],
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "4", "", "ISIN", "RU000A104TD0", "transfer_external", 1000, 0, 0, "", "", "", ""],
["ПН", "ДУ-01/2024", "40802810500000000001", "RUB", 1, "2023-12-31", "2023-12-31", "4", "", "ISIN", "RU000A0ZYZ26", "other", 0, -2017.8, 0, "", "", "", ""]
]
},
"prices": {
"columns": ["sub_portfolio", "sub_portfolio_id", "stated_at", "code_type", "code", "price_clean_percent", "price_clean", "price_clean_currency", "facevalue", "facevalue_currency", "accint", "accint_currency", "price_dirty", "price_dirty_currency", "exchange_id", "board_id", "source_price_type"],
"data": [
["ПН", "ДУ-01/2024", "2023-12-31", "ISIN", "RU000A0JX0J2", 101.78, 1017.8, "RUB", 1000, "RUB", 0, "RUB", 1017.8, "RUB", "", "", ""],
["ПН", "ДУ-01/2024", "2024-01-01", "ISIN", "RU000A0JX0J2", null, null, null, null, null, 0.5, "RUB", 1018.8, "RUB", "", "", ""],
["ПН", "ДУ-01/2024", "2024-01-02", "ISIN", "RU000A0JX0J2", null, null, null, null, null, 0.95, "RUB", 1019.8, "RUB", "", "", ""],
["ПН", "ДУ-01/2024", "2024-01-02", "ISIN", "RU0007661625", null, null, null, null, null, 0.95, "RUB", 1019.8, "RUB", "", "", ""],
["ПН", "ДУ-01/2024", "2024-01-02", "ISIN", "RU000A104TD0", null, null, null, null, null, 0.95, "RUB", 1019.8, "RUB", "", "", ""],
["ПН", "ДУ-01/2024", "2024-01-02", "ISIN", "RU000A0ZYZ26", null, null, null, null, null, 0.95, "RUB", 1019.8, "RUB", "", "", ""]
]
}
}
Информация о портфеле, дате и периоде отчетности и прочие метаданные. Позволяет идентифицировать портфель, управляющего и другие параметры:
Колонка | Описание | Пример | Тип |
---|---|---|---|
portfolio_name* | Произвольное название портфеля | УК-Инвест-Стратегический | string |
description | Произвольное описание или комментарий | - | string |
owner | Владелец портфеля, клиент/учредитель управления | ООО "НПФ" | string |
manager | Название брокера, доверительного управляющего, фонда и др | УК Инвест | string |
portfolio_id | Номер договора ДУ, номер брокерского счета или другой идентификатор портфеля | ДУ-01/2024 | string |
portfolio_type | Тип портфеля в системе ТрэкРекордс: 2 - Портфель на срезах, 3 - Портфель на транзакциях. | 2 | int32 |
currency* | Базовая валюта портфеля. Указывает в какой валюте отображается стоимость позиций и СЧА портфеля. Используется буквенный код в формате ISO 4217. | RUB | string |
reported_date* | Дата, на которую построен отчет и актуальны данные по портфелю или транзакциям. В формате yyyy-mm-dd | 2023-12-31 | date |
start_date* | Начальная дата отчета, обозначающая начало периода отчетности. В формате yyyy-mm-dd | 2021-12-31 | date |
created_at | Дата создания отчета | 2024-11-01 | date |
*Обязательное поле
Отчетность о составе инвестиционных портфелей на определенную дату. Включает в себя информацию о структуре портфеля, активах, их стоимости. Позволяет проанализировать текущий состав портфеля, характеристики его активов, провести стресс-тестирование и оценку рисков. Не позволяет рассчитать доходность портфеля или оценить результаты управления.
Колонка | Описание | Пример | Тип поля |
---|---|---|---|
stated_at* | Дата состава в формате yyyy-mm-dd | 2023-12-31 | date |
sub_portfolio | Произвольное название подпортфеля. Позволяет в одном портфеле учесть несколько. | ПН | string |
sub_portfolio_id | Номер портфеля/ДУ | АБС-1007253 | string |
account_number* | Номер брокерского/банковского счета | 30601810000000001234 | string |
account_currency* | Код валюты счета в формате ISO 4217 | RUB | string |
asset_class* | Класс актива/обязательства из списка (типы инструментов) | ГЦБ РФ | string |
asset_class_id* | ID класса актива/обязательства(тип инструмента) | 1 | int32 |
code_type* | Тип кода: ISIN, INSTRUMENT, CASH | ISIN | string |
code* | Код актива, в соответствии с типом | RU000A0JX0J2 | string |
asset_name | Название актива (эмитента) | ОФЗ-24019-ПК | string |
quantity* | Количество активов в портфеле | 10 | decimal |
price_dirty* | Цена 1 актива в указанной валюте. Для облигаций указывается грязная цена с учетом НКД. Для кредиторской задолженности указывается со знаком минус! | 1017,80 | decimal |
price_dirty_currency* | Валюта цены. Используется буквенный код в формате ISO 4217 | RUB | string |
currency_rate* | Курс валюты (Соотношение price_dirty_currency/валюта портфеля) | 100,00 | decimal |
value_in_portfolio_currency* | **Цена активов в валюте портфеля с учетом количества (price_dirty * currency_rate * quantity) ** Для кредиторской задолженности указывается со знаком минус! | 101780,00 | decimal |
price_type | Тип цены для облигаций, в зависимости от сроков владения (1- справедливая, 0 - амортизационная или до погашения) | 1 | int32 |
pif | Название ПИФ, если актив находится в ПИФ (для принципа look through) | ОПИФ "Космос" | string |
*Обязательное поле
Названия классов активов/обязательств (типы инструментов) и их ID ограничены следующим списком:
Категория | asset_class | asset_class_id |
---|---|---|
Долевые активы | Акции | 10 |
Долевые активы | ИСУ | 22 |
Долевые активы | Фонды | 26 |
Долевые активы | ETF | 42 |
Долевые активы | REIT | 43 |
Долевые активы | ADR/GDR | 49 |
Облигации | Облигации корпоративные | 1 |
Облигации | Облигации с ипотечным покрытием | 2 |
Облигации | Облигации субъектов РФ | 3 |
Облигации | Облигации муниципальные | 31 |
Облигации | ОВОЗ | 4 |
Облигации | ГЦБ РФ | 5 |
Облигации | Еврооблигации | 6 |
Облигации | Облигации | 7 |
Облигации | Структурные облигации | 9 |
Депозиты и деньги | Депозиты | 11 |
Депозиты и деньги | Денежные средства на брокерских счетах | 12 |
Депозиты и деньги | Денежные средства на расчетных счетах | 13 |
Депозиты и деньги | Денежные средства в ГО | 23 |
Депозиты и деньги | Депозиты субординированные | 38 |
РЕПО | Дебиторская задолженность по РЕПО | 19 |
РЕПО | Кредиторская задолженность по РЕПО | 20 |
Задолженность | Прочая дебиторская задолженность | 17 |
Задолженность | Дебиторская задолженность | 18 |
Задолженность | Кредиторская задолженность | 28 |
Задолженность | Прочая кредиторская задолженность | 30 |
Недвижимость | Недвижимость жилая | 15 |
Недвижимость | Недвижимость коммерческая | 16 |
Недвижимость | Земельные участки | 25 |
Производные | Фьючерсы | 34 |
Производные | Опционы | 39 |
Производные | Процентный своп | 40 |
Производные | Валютный своп | 41 |
Расходы и вознаграждения | Расходы административные и прочие | 36 |
Расходы и вознаграждения | Вознаграждение управляющего | 37 |
Индексы | Индексы | 35 |
Прочие | Займы | 14 |
Прочие | ЦБ МФО | 21 |
Прочие | Прочие активы | 24 |
Валюта и Forex | Валютные пары | 44 |
Валюта и Forex | Криптовалюта | 45 |
Ставки и индикаторы | Ставки и индикаторы | 46 |
Ставки и индикаторы | Макроиндикаторы | 47 |
Товарные рынки | Биржевые товары | 48 |
Публичные активы (акции, облигации, фонды) будут определены автоматически на основании ISIN или другого типа кода (при наличии другого типа кода в базе данных). Характеристики прочих активов должны быть указаны в таблице Инструменты (instruments)
Требования к заполнению данных по инструментам:
Колонка | Описание | Пример | Тип |
---|---|---|---|
stated_at* | Дата записи / Дата создания инструмента | 2023-12-31 | date |
asset_class | Класс актива/обязательства(тип инструмента) | Депозиты | string |
asset_class_id* | ID класса актива/обязательства(тип инструмента) | 11 | int32 |
instrument_code* | Уникальный код инструмента | 1791_0077/0012/235_АБВ | string |
asset_name | Название актива (эмитента) | Сбербанк | string |
inn* | ИНН эмитента (при отсутствии указать уникальный числовой код) | 7707083893 | string |
currency* | Валюта (буквенный код в формате ISO 4217) Например: RUB, USD, EUR, CNY | RUB | string |
start_date | Дата начала начисления процентов | 2023-12-31 | date |
maturity_date | Дата погашения | 2025-12-31 | date |
nominal | Номинал (указывается в валюте актива) | 1000000.00 | decimal |
yield_or_dividend_rate | Дивидендная/процентная доходность, % год. (Например 5.3%) | 5.3 | decimal |
yield_or_dividend_freq | Частота выплат: 0 - в конце срока, 1 - раз в год, 2- раз в пол года, 4 - раз в квартал, 12 - раз в год | 0 | int32 |
collateral | Размер обеспечения (указывается в валюте актива) | 0 | decimal |
*обязательное поле. Для депозитов и РЕПО заполнять все поля.
В данном разделе представлена информация о результатах управления, рассчитанная при подготовке отчетности создателем отчетности.
Таблица предполагает возможность представить расчет дохода/доходности и прочих показателей за любые периоды и в любой валюте по решению составителя отчетности.
Колонка | Описание | Пример | Тип |
---|---|---|---|
period_id | Номер периода (порядковый номер записи) | 1 | int32 |
period_name | Произвольное название периода (Например: YTD, 2024, С начала управления) | YTD | string |
sub_portfolio | Название подпортфеля | ПН | string |
sub_portfolio_id | Номер портфеля/ДУ | 1007253 | string |
start_date | Дата начала периода в формате yyyy-mm-dd | 2022-12-31 | date |
end_date | Дата окончания периода в формате yyyy-mm-dd | 2023-12-31 | date |
income_currency | Валюта, в которой рассчитан доход. Буквенный код в формате ISO 4217) Например: RUB, USD, EUR, CNY** |
RUB | string |
income_gross | Доход портфеля за период в валюте income_currency до выплаты вознаграждения | 8162039.47 | decimal |
income_net | Доход портфеля за период в валюте income_currency после выплаты/начисления вознаграждения | 7857683.45 | decimal |
mwr_gross | Money weighted return в простых % до выплаты вознаграждения | 15.5 | decimal |
mwr_net | Money weighted return в простых % после выплаты/начисления вознаграждения | 15.5 | decimal |
twr_gross | Time weighted return в простых % до выплаты вознаграждения | 15.4 | decimal |
twr_net | Time weighted return в простых % после выплаты/начисления вознаграждения | 15.4 | decimal |
start_nav | СЧА на начало периода, в валюте income_currency | 52000000.25 | decimal |
end_nav | СЧА на конец периода, в валюте income_currency | 60008000.29 | decimal |
inflows | Сумма внешних поступлений в портфель в валюте income_currency | 1526235.23 | decimal |
outflows | Сумма внешних выводов из портфеля в валюте income_currency | 0 | decimal |
avg_nav | Средняя сча за период, в валюте income_currency | 58000000.58 | decimal |
aic | Среднеинвестированный капитал портфеля в валюте income_currency | 53000256.29 | decimal |
management_fees | Сумма вознаграждений за управление за период | 152000.50 | decimal |
success_fees | Сумма вознаграждений за успех за период | 152355.52 | decimal |
other_fees | Прочие расходы на управление (комиссия брокера, депозитария, биржи, аудитора) | 15265.25 | decimal |
Дополнительная отчетность, позволяющая рассчитать TWR и MWR доходность портфеля, а также оценить влияние вводов и выводов на доходность портфеля на совокупном уровне.
В случае включения данной информации в отчетность в идеале предоставить динамику СЧА и вводов/выводов на все дни периода. Минимально необходимый набор дат: начало и окончания периода, а также на даты, где были внешние поступления и выводы.
Колонка | Описание | Пример | Тип |
---|---|---|---|
sub_portfolio | Название подпортфеля | ПН | string |
sub_portfolio_id | Номер портфеля/ДУ | 1007253 | string |
date* | Дата в формате yyyy-mm-dd | 2023-12-31 | date |
nav* | СЧА на дату в валюте income_currency | 60008000.29 | decimal |
net_flows* | Сумма внешних поступлений и выводов в портфель в валюте income_currency | 1526235.23 | decimal |
currency* | Валюта сча и внешних поступлений и выводов. Буквенный код в формате ISO 4217) Например: RUB, USD, EUR, CNY** |
RUB | string |
Таблица транзакций портфеля состоит из движений денежных средств, ценных бумаг и изменения в дебиторской/кредиторской задолженности портфеля. Транзакции включает не только сделки, но также все движения денежных средств, обязательств и ценных бумаг. ТрэкРекордс объединил все эти движения в одну таблицу, чтобы упростить загрузку данных и уменьшить количество ошибок за счет ввода дополнительных проверок.
Под транзакцией ТрэкРекордс понимает действие, которое приводит к изменению баланса по деньгам, ценным бумагам и инструментам и/или задолженности. Транзакции - это не только сделки! Таблицу транзакций можно трактовать как отчет о движении ценных бумаг, денег и задолженности по счетам портфеля. В таблице отображаются эти движения со знаком + или -
Поле | Описание | Опции | Обязательное | Тип |
---|---|---|---|---|
sub_portfolio | Название портфеля/УК | string | ||
sub_portfolio_id | Номер портфеля/ДУ | string | ||
account_number* | Номер брокерского/банковского счета | Да | string | |
account_currency* | Код валюты счета в формате ISO 4217 | Да | string | |
currency_rate | Курс валюты при совершении транзакции | decimal | ||
date_transaction* | Дата транзакции | Да | datetime | |
date_settlement | Дата расчета | datetime | ||
transaction_id* | Код транзакции (уникальный) | Да | string | |
connected_transaction_id | Номер связанной сделки | string | ||
code_type* | Тип кода | ISIN INSTRUMENT CASH |
Да | string |
code* | Код актива/обязательства/инструмента. Для code_type = CASH, поле code = коду валюты (USD,RUB,CNY...) | Да | string | |
transaction_type* | Тип транзакции | **Типы операций из таблицы transaction_types ** | Да | string |
securities* | Изменение баланса ценных бумаг на счете. Со знаком минус при выбытии, со знаком плюс при поступлении! | decimal | ||
money* | Изменение баланса денег на счете. Со знаком минус при выбытии, со знаком плюс при поступлении! | decimal | ||
debt* | Изменение баланса долга не счете. Со знаком минус при выбытии, со знаком плюс при поступлении! | decimal | ||
comment | Комментарий | string | ||
exchange_id | Код биржи/площадки | int | ||
fee_category | Указание типа комиссии, для transaction = fee | depositary brokerage exchange bank management success |
string | |
other | Поле про запас с доп информацией | jsonb |
*обязательное поле
Колонки securities, money, debt таблицы транзакций отражают изменение баланса значений, а не фактическое значение позиции на дату транзакций. Чтобы не внедрять дополнительные поля для определения направления транзакций, в формате транзакций ТрэкРекордс необходимо указывать направление изменения баланса позиции путем изменения знака для значений в этих колонках. Для отрицательных значений предполагается выбытие ценных бумаг, депозитов, денег, дебиторской задолженности и др. Для положительных значений - поступление.
Обратите внимание, что для сделок продажи акций, например, движение по securities будет с отрицательным знаком, в по колонке money будет положительным, т.к. акции выбыли из портфеля, и наоборот, пришли денежные средства от продажи.
Таким образом, колонки securities, money, debt таблицы транзакций отражают изменение баланса активов, денег и долга!
При определении типов транзакций нужно руководствоваться следующей таблицей сопоставления транзакций.
id | name | name_rus | description |
---|---|---|---|
1 | trade | Сделка с ЦБ | Сделки по покупке и продаже ценных бумаг, фьючерсов. Направление сделки определяется знаком (-/+) для столбцов securities, money |
2 | dividend | Дивиденды | Дивиденды по акциям, выплаты по паям |
3 | interest | Проценты по депозитам и РЕПО | Проценты по депозитам и РЕПО |
4 | coupon | Купоны по облигациям | Купоны по облигациям |
5 | maturity | Погашение облигаций | Поступление средств от погашения облигаций |
6 | amortisation | Частичное погашение облигаций | Частичное погашение |
7 | deposit | Депозиты (открытие/закрытие) | Перечисление денежных средств банку по договору депозита, возврат банком основного долга по депозиту |
8 | margin | Маржа | Поступление или выплата вариационной маржи по расчетному фьючерсному контракту |
9 | forex | Обмен валюты | Сделка по покупке/продаже валюты |
10 | transfer_internal | Перевод внутренний | Переводы ценных бумаг, денег внутри портфеля со счета на счет |
11 | transfer_external | Перевод внешний | Переводы ценных бумаг, денег внешние |
12 | fee | Комиссия | Банка, брокера, биржи, депозитария, управляющего активами |
13 | other | Прочие платежи | Все, что не смогли идентифицировать |
14 | repo_l1 | РЕПО Нога 1 | |
15 | repo_l2 | РЕПО Нога 2 | |
16 | debt | Списание/начисление задолженности | Формирование/списание кредиторской/дебиторской задолженности |
17 | cash_interest | Проценты на неснижаемый остаток | Проценты на неснижаемый остаток на расчетном счете |
18 | split | Сплит по акциям | Увеличение количества бумаг компании-эмитента в обращении с пропорциональным снижением их стоимости. В транзакциях отображается как увеличение кол-ва бумаг в портфеле (разница между новым и старым кол-вом бумаг). Например для учета сплита акций 1000:100 необходимо отразить транзакцию с типом split где поле securities = 900. |
19 | consolidation | Консолидация по акциям | Уменьшение количества бумаг компании-эмитента в обращении с пропорциональным увеличением их стоимости (обратный сплит). В транзакциях отображается как уменьшение кол-ва бумаг в портфеле (разница между новым и старым кол-вом бумаг). Например для учета сплита акций 100:1000 необходимо отразить транзакцию с типом consolidation где поле securities = -900. |
№ | Таблица | Поле | Ответ при ошибке |
---|---|---|---|
1 | Все таблицы | currency | Используйте только коды валют ISO_4217 |
2 | transactions | securities | Поле securities не может быть нулевым для transaction_type = ('trade', 'transfer') и code_type != 'CASH' |
3 | transactions | money | Поле money не может быть нулевым для transaction_type = ('coupon', 'dividend', 'interest', 'amortisation', 'deposit', 'margin','forex', 'fee', 'other', 'repo_l1', 'repo_l2') |
4 | transactions | debt | Поле debt не может быть нулевым для transaction_type = 'debt' |
5 | transactions | money, securities | Поля money и securities должны быть с разными знаками для transaction_type = 'trade' (кроме случая когда оба или их произведение равны нулю). Если securities со знаком минус, значит money должен быть положительным или 0. |
6 | transactions | code_type | Поле code_type не должно быть = 'ISIN' для transaction_type = ('deposit', 'interest'), используйте 'INSTRUMENT' вместо этого |
7 | transactions | code | Используйте только коды валют ISO_4217 для code_type = 'CASH' |
8 | transactions | account_number | Один account_number должен иметь только одну валюту. Если у вас мультивалютные счета, делайте составной код Например 1010101010USD, 1010101010RUB |
9 | transactions | code_type, transaction_type | Для code_type = 'CASH' используйте transaction_type = ('forex', 'transfer_internal', 'transfer_external', 'cash_interest', 'fee') |
10 | transactions, instruments | code | Указан code, который не находится в таблице инструментов в поле instrument_code (для типа кода INSTRUMENT) |
11 | transactions, portfolio, prices | code | В таблице transactions или portfolio указан code, который не находится в таблице prices в поле code, при asset_class_id = (10,22,26,42,43,49,1,2,3,31,4,5,6,7,9,34,39,35,44,45,48) и code_type != ('CASH', 'INSTRUMENT') |
12 | instruments, portfolio | asset_class, asset_class_id | Для полей asset_class, asset_class_id используйте только названия классов активов/обязательств и id из списка указанных в стандарте |
13 | prices | price_clean, price_clean_currency | Если заполняется поле price_clean, то поле price_clean_currency должно быть обязательно заполнено |
14 | prices | facevalue, facevalue_currency | Если заполняется поле facevalue, то поле facevalue_currency должно быть обязательно заполнено |
15 | prices | accint, accint_currency | Если заполняется поле accint, то поле accint_currency должно быть обязательно заполнено |
16 | transactions, portfolio, meta | money | Сумма денег на счете становится отрицательной (portfolio.price_dirty на meta.start_date + transactions.money < 0) |
17 | transactions, portfolio, meta | securities | Кол-во активов на счете становится отрицательным (portfolio.price_dirty на meta.start_date + transactions.securities < 0) |
18 | portfolio, instruments | code | Указан code, который не находится в таблице инструментов в поле instrument_code (для типа кода INSTRUMENT) |
19 | instruments, transactions, portfolio | code | В таблице instruments в поле code при asset_class_id = (12, 13, 23)(Денежные средства) нет информации об account_number из таблиц transactions и portfolio |
20 | portfolio | code_type, code | Для asset_class_id = (12, 13, 23)(Денежные средства) должно быть: code_type = 'CASH', code = account_currency |
21 | portfolio | price_dirty, value_in_portfolio_currency | Для asset_class_id = (20, 28, 30)(Кредиторская задолженность) должно быть: price_dirty <= 0 и value_in_portfolio_currency <= 0 |
22 | instruments | * | Для asset_class_id = (11, 38) (Депозиты) должны быть обязательно заполнены все поля |
23 | portfolio, transactions, meta | securities | Кол-во активов в портфеле на meta.start_date(начало отчета) + transactions.securities(изменение баланса ценных бумаг на счете) не равно кол-ву активов в портфеле на meta.reported_date(конец отчета) |
24 | portfolio, transactions, meta | money | Сумма денег на счете из таблицы portfolio на дату из meta.start_date(начало отчета) + transactions.money не равна сумме денег на счете из таблицы portfolio на дату meta.reported_date(конец отчета) |
25 | portfolio, transactions, meta | debt | Сумма долга в портфеле из таблицы portfolio на meta.start_date(начало отчета) + transactions.debt(изменение баланса debt) не равна сумме долга в портфеле на meta.reported_date(конец отчета) |
26 | instruments | stated_at, instrument_code | Не должно быть 2х строк с одинаковыми значениями stated_at, instrument_code одновременно |
27 | portfolio, meta | stated_at | В поле stated_at таблицы portfolio нет данных на дату start_date или end_date |
28 | transactions, portfolio, prices, meta | date_settlement, stated_at, code | По данному code не найдено цен в таблице prices на дату date_settlement(stated_at) |
29 | transactions, instruments, prices | currency_rate, account_currency | Заполните курс валюты, отличный от 0, 1 или null для транзакции с активом в валюте, отличной от валюты транзакции |
Для сделок покупки ценных бумаг в поле securities указывается изменения баланса ценных бумагу со знаком +, в поле money указывается сумма сделки со знаком минус. В данном случае не требуется указывать цену сделки, поскольку сервис ее может вычислить самостоятельно путем простого деления. Мы также избегаем необходимости задумываться про тип цены сделки в случае облигаций (грязная цена/чистая цена сделки), т.к. даже если это чистая цена, упалеченный нкд будет либо включен в сумму сделки, либо должен быть отражен отдельной строкой.
sub_portfolio | account_number | account_currency | date_settlement | transaction_id | code | code_type | transaction | money | securities |
---|---|---|---|---|---|---|---|---|---|
ЦК1 | 30601810000000001234 | RUB | 2023-01-20 | 7188687288 | RU000A101NZ2 | ISIN | trade | -16,49 | 15 |
В случае продажи ценных бумаг, знаки для столбцов money и securities меняются местами.
Задача завести начальные значения позиций портфеля возникает, когда нет полной истории транзакций за предыдущие периоды.
Для этого необходимо использовать транзакции типов external_transfer.
Вот пример заведения начальных позиций портфеля на отчетную дату. Обратите внимание, что для остатков на счетах мы указываем суммы в валюте счета (account_number), а для таблицы securities мы указываем только остатки ценных бумаг на отчетную дату без цен или стоимостей. Цены на активы хранятся в таблице цен, поэтому нам не важно их хранить в таблице транзакций. Мы сможем рассчитаться СЧА портфеля используя таблицу транзакций и таблицу цен.
sub_portfolio | sub_portfolio_id | account_number | account_currency | date_settlement | transaction_id | code | code_type | transaction | money | securities |
---|---|---|---|---|---|---|---|---|---|---|
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 2 | RU000A102S15 | ISIN | transfer | 3500 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 3 | RU0009024277 | ISIN | transfer | 1226 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 4 | RU0009084396 | ISIN | transfer | 90000 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 5 | RU0007775219 | ISIN | transfer | 17890 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 6 | RU000A0DKVS5 | ISIN | transfer | 3634 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 7 | RU000A0JNAA8 | ISIN | transfer | 1063 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 8 | RU000A0JQ9P9 | ISIN | transfer | 11280 | |
ЦК1 | ЦК1 | 30601810000000000453 | RUB | 2022-12-31 | 72 | RUB | CASH | transfer | 1527843 | |
ЦК1 | ЦК1 | 30601810900000000171 | RUB | 2022-12-31 | 74 | RUB | CASH | transfer | 40106,94 | |
ЦК1 | ЦК1 | 30601840800000000296 | USD | 2022-12-31 | 71 | USD | CASH | transfer | 340,2 | |
ЦК1 | ЦК1 | 30601840900000000099 | USD | 2022-12-31 | 73 | USD | CASH | transfer | 673,77 | |
ЦК1 | ЦК1 | 40701810624000000458 | RUB | 2022-12-31 | 68 | RUB | CASH | transfer | 68337,89 | |
ЦК1 | ЦК1 | 40701810700000000559 | RUB | 2022-12-31 | 70 | RUB | CASH | transfer | 1061,16 | |
ЦК1 | ЦК1 | 40701840600000000292 | USD | 2022-12-31 | 69 | USD | CASH | transfer | 271000 |
Для этого используется тип операции debt и поле debt для отражения изменения баланса. В поле code_type указывается значение 'INSTRUMENT' для начисления дебиторской/кредиторской задолженности по непубличным инструментам и ISIN или другие типы кодов для публичных инструментов (акции, облигации и т.п.).
Вот пример начисления дебиторской задолженности c 0 до 1 млн, и последующее его списание до 0:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | debt |
---|---|---|---|---|---|---|---|---|
30601810900000000171 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | instr1_debt | INSTRUMENT | debt | 1000000,0 |
30601810900000000171 | RUB | 2023-09-30 | 2023-09-30 | 2246_81203 | instr1_debt | INSTRUMENT | debt | -1000000,0 |
В случае с кредиторской задолженностью будет так (меняется только знак). Мы сперва начислили долг в -1 млн. А потом списали в ноль:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | debt |
---|---|---|---|---|---|---|---|---|
30601810900000000171 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | instr1_credit_debt | INSTRUMENT | debt | -1000000,0 |
30601810900000000171 | RUB | 2023-09-30 | 2023-09-30 | 2246_81203 | instr1_credit_debt | INSTRUMENT | debt | 1000000,0 |
Пример начисление дебиторской задолженности по выплате купонов, которые уже должны были быть выплачены но еще не выплачены:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | debt |
---|---|---|---|---|---|---|---|---|
30601810900000000171 | RUB | 2024-05-03 | 2024-05-03 | 2246_81203 | RU000A0JWYJ0 | ISIN | debt | 239950 |
Если отнести транзакцию по выплате нкд/дивидендов к отдельно созданному общему инструменту с code_type = INSTRUMENT (например code_type='INSTRUMENT', code='accint_debits'), вместо отнесения долга к конкретному ISIN, то нкд не будет участвовать в оценке самого инструмента и будет учтен отдельно. На уровне совокупного портфеля все будет ок, но при расчете дохода по инструменту не будет учтен нкд, который должен быть выплачен (не путать с оценкой нкд в ценах). По этому задолженность по конкретным активам нужно учитывать на уровне этих активов.
Операции РЕПО подразумевают 2 сделки/2 ноги. Для операций РЕПО необходимо использовать типы транзакций repo_l1 и repo_l2. В поле connected_transaction_id указывается номер связанной транзакции. В поле code_type указывается значение 'INSTRUMENT'. Не указывается ISIN в поле code_type, т.к. мы рассматриваем операцию РЕПО как сделку по денежным средствам, а не по ценным бумагам. Мы предполагаем что РЕПО это аналог дебиторской/кредиторской задолженности с начислением процентов. Параметры РЕПО (процентная ставка, дата погашения) задаются в данных Инструменты.
Для каждой отдельной ноги РЕПО необходимо указывать сумму сделки в поле money. Поле securities заполняется число 1 для первой ноги РЕПО, а для второй ноги РЕПО заполняется число -1.
Вот пример учета операций РЕПО:
account_number | account_currency | date_transaction | date_settlement | transaction_id | connected_transaction_id | code | code_type | transaction | money | securities |
---|---|---|---|---|---|---|---|---|---|---|
30601810900000000171 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | 2246_81204 | instr1_repo | INSTRUMENT | repo_l1 | 1000000,0 | 1 |
30601810900000000171 | RUB | 2023-06-30 | 2023-06-30 | 2246_81204 | 2246_81203 | instr1_repo | INSTRUMENT | repo_l2 | -1000000,0 | -1 |
Для операции с депозитами используется тип транзакции deposit. В поле code_type указывается значение 'INSTRUMENT'. Параметры депозита (процентная ставка, дата погашения) определяются в разделе "Инструменты".
При открытии депозита в поле money указывается сумма депозита со знаком минус, а в поле securities указывается число 1. При закрытии депозита в поле money указывается сумма депозита со знаком плюс, а в поле securities указывается число -1.
Накопленный процентный доход по депозиту отражается в виде операций interest. В поле money отражается сумма процентов. В поле code_type указывается значение 'INSTRUMENT' с кодом соответствующего инструмента (депозита).
Вот пример учета операций депозитов:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | money | securities |
---|---|---|---|---|---|---|---|---|---|
30601810900000000173 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | dep123 | INSTRUMENT | deposit | -1000000,0 | 1 |
30601810900000000173 | RUB | 2023-09-30 | 2023-09-30 | 2246_81204 | dep123 | INSTRUMENT | deposit | 1000000,0 | -1 |
30601810900000000173 | RUB | 2023-09-30 | 2023-09-30 | 2246_81205 | dep123 | INSTRUMENT | interest | 10000,0 |
Для операций по купле/продаже валюты используется тип транзакции forex. В данном случае подразумевается фактическая поставка денежных средств на валютный счет и списание денежных средств с рублевого или другого валютного счета. В поле code_type указывается значение 'CASH'. В поле code указывается код валюты (USD, EUR, CNY, GBP и т.д.). В поле money указывается сумма списания или начисления денежных средств. Поле securities не заполняется.
При продаже валюты в поле money указывается сумма сделки со знаком минус на счете, откуда списываются деньги для покупки другой валюты, а на счете, куда поступает валюта, указывается сумма денег со знаком плюс.
В данном случае мы не указываем курс валюты, т.к. он будет вычислен автоматически. Для нас важно понимать изменение баланса денежных средств в исходных валютах каждого счета.
Вот пример учета операций по продаже валюты USD за RUB:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | money | securities |
---|---|---|---|---|---|---|---|---|---|
30601810900000000173 | USD | 2023-06-30 | 2023-06-30 | 2246_81203 | USD | CASH | forex | -12990,71 | |
30601810900000000174 | RUB | 2023-09-30 | 2023-09-30 | 2246_81204 | RUB | CASH | forex | 1000000,0 |
Для этого необходимо создать 2 транзакции с типом trade. Лучшим решением будет сделать продажу/покупку по цене 100% от номинала. В этом случае мы зафиксируем виртуальный доход по замещенной бумаге и начнем считать заново доход по новой бумаге.
Вот пример учета операций по замещению ценных бумаг:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | money | securities |
---|---|---|---|---|---|---|---|---|---|
30601810900000000173 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | XS000A102S15 | ISIN | trade | 1000 | -1 |
30601810900000000173 | RUB | 2023-06-30 | 2023-06-30 | 2246_81204 | RU000A102S15 | ISIN | trade | -1000 | 1 |
Для этого необходимо создать 2 транзакции с типом internal_transfer с разными номерами счетов. Для перевода позиций ценных бумаг нужно указать только код ценной бумаги и количество ценных бумаг. Для перевода денежных средств нужно указать только код валюты и сумму денежных средств. Для счетов где происходит выбытие знак суммы должен быть минусовым, а для счетов где происходит поступление знак суммы должен быть положительным.
Для этого необходимо использовать типы транзакций fee и относить их к отдельно созданным инструментам, с классом активов "Вознаграждение управляющего". Данная конструкция позволит в дальнейшем анализе выделить отдельно выплаты вознаграждений и представить результаты их влияния на доходность портфеля. Также это позволит провести взаимоучет фактических выплат и начислений задолженности по выплате вознаграждений и не отражать их отдельно.
Пример начисления кредиторской задолженности по выплате вознаграждения и дальнейшее ее фактическое списание с расчетного счета:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | money | securities | debt | fee_category |
---|---|---|---|---|---|---|---|---|---|---|---|
30601810900000000173 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | sucess_fee1 | INSTRUMENT | debt | -1000000,0 | |||
30601810900000000173 | RUB | 2023-07-10 | 2023-07-10 | 2246_81203 | sucess_fee1 | INSTRUMENT | debt | 1000000,0 | |||
30601810900000000173 | RUB | 2023-07-10 | 2023-07-10 | 2246_81204 | sucess_fee1 | INSTRUMENT | fee | -1000000,0 | success |
По дивидендам может быть следующий подход. После даты фиксации реестра создается запись по увеличению баланса задолженности в поле debt c положительным знаком. Code и code_type указывают на акцию, по которой начисляются дивиденды. После выплаты дивидендов создается запись по списанию задолженности с отрицательным знаком, а также транзакция по начислению дивидендов с положительным знаком в поле money.
Пример начисления дивидендов и их фактического списания:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | money | securities | debt |
---|---|---|---|---|---|---|---|---|---|---|
30601810900000000173 | RUB | 2024-07-08 | 2024-07-08 | 2246_81203 | RU0009062467 | ISIN | debt | 19,48 | ||
30601810900000000173 | RUB | 2024-08-12 | 2024-08-12 | 2246_81203 | RU0009062467 | ISIN | debt | -19,48 | ||
30601810900000000173 | RUB | 2024-08-12 | 2024-08-12 | 2246_81204 | RU0009062467 | ISIN | dividend | 19,48 |
Таким образом, в СЧА портфеля будут учтены дивиденды, начиная с даты фиксации реестра, а не с даты фактической выплаты.
Таблица цен определяет динамику котировок для каждого актива в портфеле и нужна для оценки активов и расчета стоимости портфеля на любой день в периоде. Загрузка собственных цен на активы позволяет учесть ценовую политику клиента/отдельного портфеля. Цены на активы обязательно должны включать нкд и указание на используемую валюту котировки.
В таблицу включаются котировки по всем активам из портфеля, на все дни, на которые активы присутствовали в портфеле.
Таблица prices
Колонка | Описание | Опции | Тип |
---|---|---|---|
sub_portfolio | Название портфеля/УК | string | |
sub_portfolio_id | Номер портфеля/ДУ | string | |
stated_at* | Дата | date | |
code_type* | Тип кода | ISIN INSTRUMENT |
string |
code* | Код актива | string | |
price_clean_percent | Чистая цена в процентах от номинала | decimal | |
price_clean | Чистая цена в деньгах в валюте котировки | decimal | |
price_clean_currency | Валюта чистой цены | string | |
facevalue | Номинал непогашенный в валюте номинала | decimal | |
facevalue_currency | Валюта номинала | string | |
accint | НКД в валюте нкд | decimal | |
accint_currency | Валюта НКД | string | |
price_dirty* | Грязная цена в деньгах в валюте котировки с НКД | decimal | |
price_dirty_currency* | Валюта грязной цены | string | |
exchange_id | Код биржи | int | |
board_id | Код режима торгов | string | |
source_price_type | Тип цены в источнике (Close, Last bid, ...) | string |
*Обязательное поле
В таблице предусмотрено указание валюты для каждого типа цены, нкд и номинала инструмента. В идеале, если все цены и нкд указаны в валюте номинала, однако часто встречаются ситуации, когда цены указаны в одной валюте, нкд в другой. Это зависит от площадки, на которой торгуется инструмент. Например, на Московской бирже торгуется много инструментов с номиналом в валюте USD, но нкд указан в валюте RUB.
Для оценки стоимости портфеля используется поле price_dirty, которое содержит цену в валюте котировки с учетом нкд. По этому поля price_dirty и price_dirty_currency заполняются обязательно, и при этом валюта котировки может отличаться валюты номинала. Конвертация по курсу при расчете СЧА и стоимости портфеля должна происходит на программном уровне.
Для долевых инструментов котировки и валюта заполняется только поле price_dirty и price_dirty_currency. Поля с другими типами цен, номиналом и нкд заполнять не нужно.
Можно использовать любой из предложенных вариантов. По умолчанию используйте класс актива "Дебиторская задолженность". Если у вас есть необходимость разделить дебиторскую задолженность на несколько категорий, то вы можете использовать класс актива "Прочая дебиторская задолженность".
Тот же принцип используется и для Кредиторской задолженности.
Это специальный класс актива (или скорее тип инструмента), который позволяют идентифицировать:
Для таблицы Portfolio указывается задолженность по выплате/возврату вознаграждения управляющего. Для таблицы portfolio указывается только кредиторская/дебиторская задолженность по вознаграждению по состоянию на отчетную дату. Фактические выплаты/возвраты вознаграждения управляющего отражаются в таблице Transactions.
Для таблицы Transactions указывается фактическая сумма списания/возврата вознаграждения в поле money с типом операции fee, или сумма начисленной/списанной задолженности в поле debt с типом операции debt
Это специальный класс актива (или скорее тип инструмента), который позволяют идентифицировать:
Для таблицы Portfolio указывается задолженность по выплате/возврату расходов административных и прочих (аудиторы, ведение счетов, оплаты прочим контрагентам, и другие начисления, относящие к административным расходам ведения деятельности на усмотрение составителя отчетности). Для таблицы portfolio указывается только кредиторская/дебиторская задолженность по расходам административным и прочим.
Для таблицы Transactions указывается фактическая сумма списания/возврата расходов административных и прочих в поле money с типом операции fee, или сумма начисленной/списанной задолженности в поле debt с типом операции debt.
Да. В таблице portfolio указываются только кредиторская/дебиторская задолженность по вознаграждению управляющего на отчетную дату, если таковая имеются. Т.е. указываем позицию, если это учтено в бэкофисе на уровне расчета СЧА портфеля. Аналитические данные по вознаграждению управляющего (начисления, списания) отображать не нужно!
Если при составлении отчетности на конец года (например 31.12.2023) произведен пересчет вознаграждения управляющего и выявлено, что ранее уплаченные авансы по вознаграждению управляющего превышают фактическое вознаграждение, то в таблице portfolio на дату 31.12.2023 указывается дебиторская задолженность по вознаграждению управляющего. Сделать это можно путем отображения инсторумента с типом актива "Вознаграждение управляющего" и указанием суммы дебиторской задолженности в поле price_dirty.
Пример отображения дебиторской задолженности по вознаграждению управляющего на 31.12.2023 в таблице portfolio:
stated_at | stated_at | account_number | account_currency | asset_class | asset_class_id | code_type | code | asset_name | quantity | price_dirty | price_dirty_currency | currency_rate | value_in_portfolio_currency | price_type | pif |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023-12-31 | ЦК1 | 30601810000000001234 | RUB | Вознаграждение управляющего | 37 | INSTRUMENT | fee_am | ООО "Управляющая компания" | 1 | 100000,0 | RUB | 1,0 | 100000,0 | 1 | 0 |
По умолчанию минимальный набор дат для таблицы portfolio: даты начала и конца периода. Начало периода - это как правило дата конца предыдущего года (Например 31.12.2023). Обратите внимание, что 01.01.2024 в этом примере не будет началом периода, т.к. результаты управления за текущий год считаются от СЧА на дату конца предыдущего года.
Мы рекомендуем заполнять таблицу portfolio на даты окончания каждого календарного месяца в отчетном периоде, в т.ч. на дату начала периода (дата конца предыдущего года (Например 31.12.2023))
Да, для этого нужно создать 2 транзакции с изменением баланса по полю debt для созданного инструментам. Пример создания и списания КЗ:
account_number | account_currency | date_transaction | date_settlement | transaction_id | code | code_type | transaction | debt |
---|---|---|---|---|---|---|---|---|
30601810900000000171 | RUB | 2023-06-30 | 2023-06-30 | 2246_81203 | instr1_debt | INSTRUMENT | debt | -1000000,0 |
30601810900000000171 | RUB | 2023-09-30 | 2023-09-30 | 2246_81204 | instr1_debt | INSTRUMENT | debt | 1000000,0 |
Таким образом 2023-06-30 будет отражено начисление КЗ, а 2023-09-30 списание КЗ.