|
| 1 | +// Опциональные поля, не содержащие значения, равные 'null' или пустой строке, должны отсутствовать. |
1 | 2 | {
|
2 |
| - "version": "1.0.0", // версия формата, строка, в формате "x.y.z" |
| 3 | + "version": "1.1.0", // версия формата, строка, в формате "x.y.z", в потоке байтов или в файле это поле должно встречаться первым в объекте |
3 | 4 | "end": 1607817600, // дата-время конца периода (включительно), который покрывается файлом (int, unix timestamp)
|
4 | 5 | "start": 1577836800, // опционально дата-время начала периода (включительно), который покрывается файлом (int, unix timestamp)
|
5 | 6 | "generated": 1623082700, // дата-время создания (int, unix timestamp)
|
6 | 7 | "generated-by": "investbook", // предлагаю использовать как заголовок и заодно отметку об источнике данных
|
7 | 8 |
|
| 9 | + "accounts": [ // Счета, встречающиеся в файле |
| 10 | + { |
| 11 | + "id": 1, |
| 12 | + "account-number": "U7654321", // опционально, номер счёта в финансовой организации |
| 13 | + "type": "investment", // тип счёта (законченный список): "investment", "bank", "savings" (домашние наличные накопления) |
| 14 | + "valuation": 0.0, // оценка стоимости активов на конец периода |
| 15 | + "valuation-currency": "RUB" // символьный код валюты оценки ISO 4217 |
| 16 | + } |
| 17 | + ], |
| 18 | + |
8 | 19 | "assets": [ // Активы, встречающиеся в файле
|
9 | 20 | {
|
| 21 | + // одно или более из полей: symbol, name, isin - должно присутствовать обязательно |
10 | 22 | "id": 1, // уникальный для данной выгрузки идентификатор id (int)
|
11 |
| - "type": "stock", // тип актива, str: 'money', 'stock', etf', 'adr', 'bond', 'futures', 'option', 'warrant', 'security' (if unknown stock, etf of bond), 'derivative' (if unknown futures or 'option) |
12 |
| - "symbol": "AMZN", // тикер, краткое имя, для money - символьный код по ISO 4217 |
13 |
| - "name": "AMAZON.COM INC", // полное наименование |
14 |
| - "isin": "US0231351067", |
| 23 | + "type": "stock", // тип актива (законченный список): 'money', 'stock', etf', 'adr' (depositary receipt), 'gdr', 'bond', 'futures', 'option', 'fx-contract' (foreign exchange market contracts), 'warrant', 'security' (if unknown: stock, etf or bond), 'derivative' (if unknown futures or option), 'asset' (for common goods, use if none of prev items is suitable) |
| 24 | + "symbol": "AMZN", // тикер, краткое имя, для money - символьный код по ISO 4217 (для срочных и валютных контрактов, а также money - обязательно, для остальных - опционально) |
| 25 | + "name": "AMAZON.COM INC", // опционально, полное наименование |
| 26 | + "isin": "US0231351067", // опционально |
15 | 27 | "exchange": "NASDAQ" // опционально, где торгуется, 'NASDAQ', 'NYSE', 'MOEX', 'TSX', 'LSE' etc
|
16 | 28 | },
|
17 | 29 | {
|
18 | 30 | "id": 2,
|
19 | 31 | "type": "money",
|
20 | 32 | "symbol": "RUB",
|
21 |
| - "name": "Российский рубль", |
22 |
| - } |
23 |
| - ], |
24 |
| - |
25 |
| - "accounts": [ // Счета |
26 |
| - { |
27 |
| - "id": 1, |
28 |
| - "account-number": "U7654321", // опционально, номер счёта в финансовой организации |
29 |
| - "type": "investment", // тип счёта: "investment", "bank", "savings" (домашние наличные накопления) |
30 |
| - "valuation": 0.0, // оценка стоимости активов на конец периода |
31 |
| - "valuation-currency": "RUB" // символьный код валюты оценки ISO 4217 |
| 33 | + "name": "Российский рубль" |
32 | 34 | }
|
33 | 35 | ],
|
34 | 36 |
|
35 |
| - "cash-balances": [ // Денежные остатки на конец периода |
| 37 | + "cash-balances": [ // Денежные остатки на конец периода (на момент, указанный в поле 'end') |
36 | 38 | {
|
37 | 39 | "account": 1,
|
38 | 40 | "cash": [
|
|
52 | 54 | "settlement": 1548447900, // дата-время поставки (int, unix timestamp), может отсутствовать, если есть timestamp
|
53 | 55 | "account": 2, // на каком счете из раздела 'accounts' учитывать
|
54 | 56 | "asset": 3, // с каким активом из раздела 'assets' заключена
|
55 |
| - "count": 0.567, // количество, если '+' то это покупка, если '-' то это продажа |
56 |
| - "price": 69.2215, // цена одной ЦБ в валюте сделки, для облигации - без НКД, для деривативов в валюте - опционально |
57 |
| - "quote": 123.17, // котировка для облигации в процентах, для деривативов в пунктах |
58 |
| - "accrued-interest": 11.12, // НКД для облигаций в валюте |
59 |
| - "currency": "USD", // символьный код валюты сделки ISO 4217 |
60 |
| - "fee": 0.0, // комиссия. Если отрицательное значение, значит возврат комиссии |
| 57 | + "count": 5, // количество, если '+', то это покупка, если '-' то это продажа, может быть целым числом или вещественным в случае дробных акций |
| 58 | + "price": 69.2215, // цена бумаги/контракта (за единицу) в валюте сделки, для облигации - без НКД (для деривативов - опциональное) |
| 59 | + "accrued-interest": 11.12, // НКД одной облигации на момент сделки в валюте (обязательное поле для облигаций) |
| 60 | + "currency": "USD", // символьный код валюты сделки ISO 4217 (может отсутствовать, если значение price равно null или поле price отсутствует) |
| 61 | + "quote": 123.17, // котировка. Для облигации в процентах, для деривативов в пунктах (для облигаций - опциональное, для деривативов - обязательное) |
| 62 | + "fee": 0.0, // комиссия сделки. Если отрицательное значение, значит возврат комиссии |
61 | 63 | "fee-currency": "RUB", // символьный код валюты комиссии ISO 4217
|
62 | 64 | "description": "Исполнение опциона" // опционально
|
63 | 65 | }
|
|
69 | 71 | "payment-id": "С123", // опционально, строка, идентификатор выплаты в системе учета брокера
|
70 | 72 | "account": 1, // на какой счёт выплачено (из таблицы 'accounts')
|
71 | 73 | "asset": 1, // бумага, по которой произведена выплата (из таблицы 'assets'), если неизвестно, выплата должна быть сохранена в 'cash-flows'
|
72 |
| - "type": "dividend", // тип выплаты: 'dividend', 'coupon', 'bond-amortization' (амортизация, но не погашение облигации), 'variation-margin', 'fee' (комиссия брокера, например депозитарная, привязанная к бумаге), 'interest' (процентный доход, например по вкладу), other |
73 |
| - "count": 10, // количество бумаг, по которым произведена выплата |
| 74 | + "type": "dividend", // тип выплаты (законченный список): 'dividend', 'coupon', 'bond-amortization' (амортизация, но не погашение облигации, погашения должны учитываться в 'trades'), 'variation-margin', 'fee' (комиссия брокера, например депозитарная, привязанная к бумаге), 'interest' (процентный доход, например по вкладу), other |
| 75 | + "count": 10, // количество бумаг (шт), по которым произведена выплата, положительное или отрицательное число (например, для деривативов), может быть целым числом или вещественным в случае дробных акций |
74 | 76 | "timestamp": 1578082800, // дата-время выплаты (unix timestamp)
|
75 | 77 | "amount": 1600.20, // сумма выплаты (до выплаты налога), отрицательное значения для удержания (например вариационной маржи)
|
76 | 78 | "currency": "USD", // символьный код валюты ISO 4217
|
77 | 79 | "tax": 208.00, // (опционально) размер уплаченного налога
|
78 |
| - "tax-currency": "RUB", // символьный код валюты ISO 4217 |
79 |
| - "description": "Дивиденды за 2021 год" // произвольный комментарий |
| 80 | + "tax-currency": "RUB", // (опционально, если отсутствует поле tax) символьный код валюты ISO 4217 |
| 81 | + "description": "Дивиденды за 2021 год" // опционально, произвольный комментарий |
80 | 82 | }
|
81 | 83 | ],
|
82 | 84 |
|
83 | 85 | "cash-flows": [ // Списания-зачисления денег по неторговым операциям
|
84 | 86 | {
|
85 | 87 | "id": 1,
|
86 | 88 | "flow-id": "B178", // опциональный идентификатор в системе учета брокера/банка
|
87 |
| - "account": 1, |
| 89 | + "account": 1, // на какой счёт выплачено (из объекта 'accounts') |
88 | 90 | "timestamp": 1578073286, // дата-время операции
|
89 | 91 | "amount": -43.21, // положительные числа для зачисления, отрицательные - для списаний
|
90 | 92 | "currency": "RUB", // символьный код валюты ISO 4217
|
91 |
| - "type": "tax", // withdrawal, deposit, fee, tax, bond-amortization, bond-redemption, coupon, dividend, variation-margin, interest, other |
| 93 | + "type": "tax", // тип операции (законченный список): cash, fee, tax, bond-amortization, bond-redemption, coupon, dividend, variation-margin, interest, other |
92 | 94 | "description": "Описание, например, кто списал" // опционально
|
93 | 95 | }
|
94 | 96 | ],
|
95 | 97 |
|
96 |
| - "transfers": [ // Ввод, вывод ценных бумаг, сплиты акций |
| 98 | + "transfers": [ // Ввод, вывод ценных бумаг, сплиты акций, обмен валюты не биржевым способом (например банковской операцией) |
| 99 | + // Если выполняется сплит акций, то нужно сохранять 2 (или более) объекта с одинаковым transfer-id на каждый сплит (событие списания и зачисления) |
97 | 100 | {
|
98 | 101 | "id": 1,
|
99 |
| - "transfer-id": "A123", // опционально, строка, идентификатор операции в системе учета брокера/банка |
100 |
| - "withdrawal-account": 1, // счет списания актива (опционально, если зачисляется из-вне) |
101 |
| - "withdrawal-asset": 10, // идентификатор списанного актива (опционально, если зачисляется из-вне) |
102 |
| - "withdrawal": 1, // списано (опционально, если зачисляется из-вне), целое (шт) |
103 |
| - "deposit-account": 2, // счет зачисления актива (опционально, если выводится из системы) |
104 |
| - "deposit-asset": 2, // идентификатор зачисленного актива (опционально, если выводится из системы) |
105 |
| - "deposit": 2, // зачислено (опционально, если выводится из системы), целое (шт) |
| 102 | + "transfer-id": "A123", // строка, идентификатор операции (обязательное для сплитов, для остальных событий - опциональное) |
| 103 | + "account": 1, // счёт из объекта 'accounts' |
106 | 104 | "timestamp": 1581322108, // дата-время операции
|
107 |
| - "fee-account": 1, // счет списания комиссии (опционально) |
108 |
| - "fee": 35.12, // комиссия (опционально) |
109 |
| - "fee-currency": "RUB", // символьный код валюты ISO 4217 (опционально) |
110 |
| - "description": "Произвольное описание" |
111 |
| - }, |
112 |
| - { // зачисление бумаг со счета, который не учитывается в системе учета |
113 |
| - "id": 2, |
114 |
| - "deposit-account": 2, |
115 |
| - "deposit-asset": 2, |
116 |
| - "deposit": 100, |
117 |
| - "timestamp": 1581322108 |
118 |
| - }, |
119 |
| - { // вывод бумаг на счет депо, который не учитывается в системе учета |
120 |
| - "id": 3, |
121 |
| - "withdrawal-account": 2, |
122 |
| - "withdrawal-asset": 2, |
123 |
| - "withdrawal": 50, |
124 |
| - "timestamp": 1581322108 |
| 105 | + "asset": 10, // идентификатор актива |
| 106 | + "count": 1, // количество бумаг, '+' для зачисления на счет, '-' для списания со счета, может быть целым числом или вещественным в случае дробных акций (шт) |
| 107 | + "fee-account": 1, // (опционально) счет списания комиссии |
| 108 | + "fee": 35.12, // (опционально) комиссия |
| 109 | + "fee-currency": "RUB", // (опционально) символьный код валюты ISO 4217 |
| 110 | + "description": "Произвольное описание" // опционально |
125 | 111 | }
|
126 | 112 | ],
|
127 | 113 |
|
128 |
| - "money-exchange": [ // Обмен валюты не биржевым способом, например банковской операцией |
129 |
| - { |
130 |
| - "id": 1, |
131 |
| - "exchange-id": "A123", // опционально, строка, идентификатор операции в системе учета брокера/банка |
132 |
| - "withdrawal-account": 1, // счет списания валюты |
133 |
| - "withdrawal-currency": "RUB", // символьный код валюты списания ISO 4217 |
134 |
| - "withdrawal": 75.36, // списано |
135 |
| - "deposit-account": 2, // счет зачисления валюты |
136 |
| - "deposit-currency": "USD", // символьный код зачисленной валюты ISO 4217 |
137 |
| - "deposit": 1.12, // зачислено |
138 |
| - "timestamp": 1581322108, // дата-время операции |
139 |
| - "fee-account": 1, // счет списания комиссии (опционально) |
140 |
| - "fee": 35.0, // комиссия (опционально) |
141 |
| - "fee-currency": "RUB", // символьный код валюты комиссии ISO 4217 (опционально) |
142 |
| - "description": "Произвольное описание" |
143 |
| - } |
144 |
| - ], |
145 |
| - |
146 |
| - "corporate-actions": [ // Корпоративные действия (незавершенная спецификация, не действующая) |
147 |
| - ], |
148 |
| - |
149 | 114 | "vnd-ABC": { // vnd-investbook, vnd-jal, vnd-izi-invest и т.п.
|
150 | 115 | // Поля специфичные для ПО ABC, где ABC - произвольное наименование приложения, выполняющего экспорт полей.
|
151 | 116 | // Поля могут парситься приложениями, отличными от ABC, на свой страх и риск.
|
|
0 commit comments