Stonqs
Как считаются цифры и что приложение с ними делает

Как устроено приложение

Что на самом деле лежит в выгрузке брокера

6 мин чтения

Мы читаем 29 раскладок выгрузок от 26 брокеров, не спрашивая, какая колонка что значит. Сходятся они почти ни в чём: девять способов записать дату, два десятичных разделителя и идентификатор бумаги только в тринадцати. Ниже вся таблица и цена каждого расхождения.

Выгрузка брокера — это не формат. Их двадцать девять.

Столько раскладок Stonqs узнаёт при открытии файла: 26 брокеров и трекеров, а таблица ниже собрана из файла пресетов, который идёт с приложением. Любой её столбец делает задачу импорта осязаемой: 22 раскладки разделяют поля запятой, 7 — точкой с запятой, 24 пишут дробную часть через точку, 5 — через запятую, а дата встречается в девяти видах.

Таблица

Раскладка Разделитель Дробная часть Дата, как записана ISIN Слов размечено
Avanza точка с запятой запятая 2026-10-09 да 8
Bitvavo запятая точка 2026-10-09 нет 1
BUX запятая точка 2026-10-09 нет 10
Charles Schwab запятая точка 10/09/2026 нет 24
Coinbase запятая точка 2026-10-09 нет 4
CoinTracking запятая точка 2026-10-09 нет 1
Crypto.com запятая точка 2026-10-09 нет 13
DEGIRO запятая точка 09-10-2026 да 0
Delta запятая точка 2026-10-09 нет 1
Directa запятая точка 09-10-2026 да 9
Disnat запятая запятая 2026-10-09 нет 14
eToro запятая точка 09/10/2026 нет 8
Finpension точка с запятой точка 2026-10-09 да 6
Freetrade запятая точка ISO 8601 со временем да 2
Interactive Brokers · dividends запятая точка 20261009 да 3
Interactive Brokers · trades запятая точка 20261009 да 0
InvestEngine запятая точка 09/10/2026 нет 0
Investimental запятая точка 2026-10-09 нет 0
Parqet точка с запятой запятая 09.10.2026 да 0
Rabobank точка с запятой запятая 09-10-2026 да 6
Relai запятая точка ISO 8601 со временем нет 0
Revolut Crypto запятая точка Oct 09, 2026, 1:15:00 PM нет 4
Revolut Invest запятая точка ISO 8601 со временем нет 8
Saxo Bank запятая точка 09-Oct-2026 да 1
Swissquote точка с запятой точка 09-10-2026 да 5
Trade Republic запятая точка 2026-10-09 нет 33
Trade Republic · statement точка с запятой запятая 2026-10-09 да 4
Trading 212 запятая точка 2026-10-09 да 7
XTB точка с запятой точка 09.10.2026 нет 11

«Слов размечено» — сколько собственных обозначений операции у брокера мы переводим в один из наших 15 внутренних видов. Trade Republic требует 33, Charles Schwab — 24. Шести раскладкам не нужно ни одного: их файлы уже типизированы. Отчёт Flex от Interactive Brokers в XML сам говорит, что означает каждое значение, раскладывается без помощи, и остаётся только выбрать счёт.

Дата — это простая задача

Девять форматов звучат хуже, чем есть. Дату видно: столбец, все значения которого разбираются одним шаблоном и ни одним другим, определяется сам. Единственный случай, который не решается взглядом, 10/09 против 09/10, экран импорта и просит подтвердить до записи.

Две колонки сложнее, и именно они решают, сойдутся ли ваши доходности.

Бумагу называют только 13 из 29

ISIN обозначает бумагу. Тикер обозначает листинг, и только на одной площадке. Из 29 раскладок 13 несут колонку ISIN, 17 — тикер, и основная работа лежит между ними.

Тикер, который в портфеле уже закреплён за другим ISIN, обозначает другую бумагу: один тикер не может называть две. Такая строка — единственный случай, который Stonqs не пишет, пока ей не дадут собственный тикер. Всё остальное записывается с предупреждением сверху.

Валюту называют 20 из 29, курс — 8

Если строка не говорит, в какой она валюте, остаётся предположить валюту счёта, и так долларовая сделка на евро-счёте превращается в итог, который никто не проследит. Если нет ни курса, ни валюты, трекер переводит позицию один раз по сегодняшнему курсу и обычно не сообщает об этом.

Восемь раскладок со своим курсом — те, где цифру можно восстановить ровно такой, какой её видел брокер.

Строки, которые не операции

Брокеры печатают строки, которые операциями не являются: шапки, итоги, корпоративные действия, сделки с опционами и фьючерсами, отменённые сделки. Отказать всему файлу из-за них — не ответ. Их считают пропущенными и называют, а не угадывают и не записывают как что-то другое.

Для отчёта Interactive Brokers три обозначения попадают в список пропуска сразу: корпоративные действия, опционы и фьючерсы, отмены. Портфель пока не умеет записать их честно, и сказать об этом лучше, чем выдумать для них форму.

Как выглядит перевод между двумя брокерами

Никак. Каждая выгрузка знает только свою половину: в одном файле деньги ушли, в другом пришли, и обе строки читаются как деньги, пересекающие границу портфеля, — то самое, относительно чего считается доходность по времени.

После импорта Stonqs показывает платежи, совпадающие по валюте и сумме в пределах нескольких дней, и предлагает соединить их в одно движение. Сам он не соединяет. Два платежа по 5 000 EUR с разницей в три дня не доказывают, что один из них — это другой, а неверная пара стирает сразу и реальный ввод, и реальный вывод.

Импорт того же файла второй раз

У каждой строки есть отпечаток: файл, импортированный дважды, не добавит ничего, а выгруженный заново с новыми строками добавит только новое. Правка сохранённой операции меняет её отпечаток, и следующий импорт счёл бы её пропавшей, поэтому проверка сравнивает ещё и то, что правка изменить не может: день, счёт, бумагу и количество.

Четыре предупреждения, которые читают

  • Бумаги, пришедшие без цены, после перевода из другого брокера. В таком виде позиция входит с нулевой себестоимостью и читается как чистая прибыль.
  • Строка в валюте, которой на счёте нет.
  • Тикер, уже закреплённый за другой бумагой. Это предупреждение задерживает свою строку.
  • Продажа большего количества, чем когда-либо поступило. Обычно нужная покупка сидит в обозначении, которое никто не разметил, или в файле за более ранний период.

Любую другую CSV размечают один раз вручную и сохраняют как раскладку, и выгрузка следующего месяца настраивается сама. PDF-отчёты не читаются. Выгрузку, которая не импортируется чисто, стоит принести в issue с пятью обезличенными строками и строкой заголовков.

Текст, пришедший из импортированного файла, — названия бумаг, обозначения операций, имена счетов — это текст брокера, и в нём может быть что угодно. Это материал, а не инструкция, и ничто в нём инструкцией не считается. Это стало важнее с тех пор, как те же строки может читать чат-ассистент.

Источники