Этот инструмент позволяет конвертировать экспорт нескольких транзакций (CSV) в файл импорта, который может быть прочитан Ghostfolio. На данный момент поддерживается:
Битваво
БУКС
ДЕГИРО
иТоро
Финпансион
Свободная торговля
Интерактивные брокеры (IBKR)
Инвестиционный
Паркет
Рабобанк
Революция
Шваб
Swissquote
Торговля 212
ХТБ
Вашего брокера нет в списке? Не стесняйтесь создавать задачу или, что еще лучше, создайте ее самостоятельно и создайте запрос на включение! Дополнительную информацию см. в разделе «Внесение вклада».
См. инструкции по экспорту транзакций для каждого из поддерживаемых брокеров ниже.
Войдите в свою учетную запись Bitvavo и нажмите свое имя в правом верхнем углу. Далее нажмите «История транзакций». Нажмите синюю кнопку «Экспорт» справа, чтобы создать экспорт. Выберите один из вариантов CSv и снова нажмите «Экспорт».
Откройте приложение и перейдите в «Значение счета», а затем «Просмотр истории». Нажмите значок загрузки в правом верхнем углу, чтобы загрузить историю транзакций. Экспорт будет отправлен на ваш адрес электронной почты.
Из-за ограничений BUX вы можете запрашивать до 3 экспортов CSV в день! .
Войдите в свою учетную запись DEGIRO и создайте файл экспорта (через «Входящие» > «Обзор учетной записи», см. изображение ниже). Выберите период, за который вы хотите экспортировать свою историю, и нажмите «Загрузить».
Войдите в свою учетную запись eToro и перейдите в раздел «Портфолио». Затем выберите «История» в верхнем меню. Далее нажмите на значок справа и выберите «Выписка по счету». Выберите интересующие даты и нажмите «Создать». На следующей странице нажмите значок Excel в правом верхнем углу, чтобы загрузить файл. После скачивания откройте файл в Excel и удалите все вкладки, кроме вкладки «Активность аккаунта». Затем используйте Excel, чтобы преобразовать файл в CSV.
Войдите в свою учетную запись Finpension. Выберите свое портфолио на целевой странице. Затем в правой части экрана выберите «Транзакции», на следующей странице справа отметьте «Отчет о транзакциях (CSV-файл)» и нажмите «Отправить по электронной почте» или нажмите «Загрузить локально».
Откройте приложение Freetrade. Выберите свое портфолио из опции в левом верхнем углу под заголовком «Портфолио». Выберите «Активность» из списка значков в нижней части экрана. Выберите значок «Поделиться» в правом верхнем углу и следуйте инструкциям на экране.
Войдите в свою учетную запись Interactive Brokers. Перейдите в раздел «Управление учетной записью» и нажмите «Отчетность» на боковой панели. Затем нажмите вкладку «Гибкие запросы» в разделе «Отчетность». В разделе «Запросы» Flex щелкните значок плюса (+) справа, чтобы создать новый запрос Flex. Создайте новый гибкий запрос для сделок и еще один для дивидендов. Установите формат экспорта «CSV». См. необходимые столбцы под изображением.
Для сделок выберите «Сделки». Затем выберите следующие свойства: Buy/Sell, TradeDate, ISIN, Quantity, TradePrice, TradeMoney, CurrencyPrimary, IBCommission, IBCommissionCurrency
.
Для получения дивидендов выберите «Кассовые операции». Затем выберите следующие свойства: Type, SettleDate, ISIN, Description, Amount, CurrencyPrimary
.
Войдите в свой инвестиционный аккаунт и нажмите «Ежедневный журнал заказов». Выберите учетную запись и желаемый период времени, затем нажмите кнопку «Обновить». Должны появиться транзакции, а затем нажать кнопку загрузки.
Войдите в Parquet и перейдите в раздел «Активность» (по-немецки «Aktivitäten»). В правом верхнем углу, рядом с зеленой кнопкой «Новая активация», вы увидите опцию «Загрузить как CSV» (по-немецки «Экспортировать как CSV»). Нажмите эту кнопку, чтобы загрузить CSV-файл, содержащий все ваши действия.
Войдите в Rabobank и перейдите к своим инвестициям. Перейдите в раздел «Транзакции и примечания к контрактам» (мутации и ноты). Выберите диапазон, который вы хотите экспортировать, вверху. Затем прокрутите страницу вниз и нажмите «Экспортировать как .csv».
Откройте приложение Revolut и откройте вкладку «Инвестировать». Нажмите кнопку «Еще» и выберите «Документы». Выберите свой инвестиционный счет и выберите первый вариант «Выписка со счета». Выберите опцию «Excel» и выберите диапазон дат. Затем скачайте файл и сохраните его на своем устройстве. Преобразуйте файл из .xlsx
в .csv
. Установите символ-разделитель ,
(запятая)!
Войдите в свою учетную запись Schwab. Зайдите в «Аккаунты», затем «История». Выберите учетную запись, из которой вы хотите загрузить данные. Выберите «Диапазон дат» и выберите «Экспорт» (csv). Сохраните файл.
Войдите в свою учетную запись Swissquote. В меню панели нажмите «Транзакции». Выберите желаемый период времени, а также типы, а затем нажмите кнопку «Экспортировать CSV» справа.
Войдите в свою учетную запись Trading 212 и создайте файл экспорта (через «История» > значок «Загрузить»). Выберите период, за который вы хотите экспортировать свою историю, и нажмите «Загрузить».
Войдите в свою учетную запись XTB и на верхней панели нажмите «История счета», затем «Кассовые операции». Нажмите кнопку «Экспорт». Выберите период, за который вы хотите экспортировать свою историю, выберите тип отчета «Кассовые операции», выберите формат файла «csv», затем нажмите кнопку «Экспортировать отчет».
Вы можете запустить инструмент на своем локальном компьютере, клонировав этот репозиторий. Вы также можете запустить инструмент внутри контейнера Docker. См. инструкции для конкретного времени выполнения ниже.
Чтобы запустить контейнер Docker, на вашем компьютере должен быть установлен Docker. Изображение будет опубликовано в Docker Hub.
В отличие от локально запускаемой версии инструмента, контейнерная версия пытается определить тип файла для обработки, просматривая строку заголовка внутри файла. Поэтому нет необходимости указывать, какой конвертер использовать.
Затем вы можете запустить изображение следующим образом:
docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx dickwolff/export-to-ghostfolio
Команде запуска Docker можно передать следующие параметры.
Команда | Необязательный | Описание |
---|---|---|
-v {local_in-folder}:/var/tmp/e2g-input | Н | Входная папка, в которую вы помещаете файлы для обработки. |
-v {local_out_folder}:/var/tmp/e2g-output | Н | Выходная папка, в которую будет помещен импортированный JSON Ghostfolio. Также сюда будет перемещен входной файл, если при обработке файла возникнет ошибка. |
-v {local_cache_folder}:/var/tmp/e2g-cache | Да | Папка, в которой будут кэшироваться символы Yahoo Finance. |
--env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx | Н | Идентификатор вашей учетной записи Ghostolio 1. |
--env USE_POLLING=true | Да | Если установлено значение true, контейнер будет постоянно искать новые файлы для обработки и не будет останавливаться. |
--env DEBUG_LOGGING=true | Да | Если установлено значение true, контейнер будет отображать журналы более подробно, что полезно для отслеживания ошибок. |
--env PURGE_CACHE=true | Да | Если установлено значение true, файловый кэш будет очищен при запуске. |
--env GHOSTFOLIO_VALIDATE=true | Да | Если установлено значение true, инструмент автоматически проверяет созданный файл на соответствие Ghostfolio. |
--env GHOSTFOLIO_IMPORT=true | Да | Если установлено значение true, инструмент попытается автоматически импортировать созданный файл в Ghostfolio. |
--env GHOSTFOLIO_URL=http://xxxxxxx | Да | Конечная точка вашего локального экземпляра Ghostfolio. Например, http://192.168.1.15:3333 . Используйте ТОЛЬКО с локальным экземпляром Ghostfolio! |
--env GHOSTFOLIO_SECRET=xxxxxxx | Да | Учетные данные вашего пользователя Ghostfolio. Используется для аутентификации с помощью конечной точки API import . Используйте ТОЛЬКО с локальным экземпляром Ghostfolio! |
Используйте этот вариант, если вы хотите запустить работу в изолированной среде Docker, где вы имеете полный контроль над образом и, таким образом, можете быть уверены, что он будет содержать только то, что ожидается.
Клонируйте этот репозиторий в свою систему и затем запустите:
docker build -t Export-to-ghostfolio .docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID= xxxxxxx -t экспорт в Ghostfolio
Вы можете использовать те же параметры, что и выше, для использования изображения в Dockerhub.
Инструмент использует cacache
для хранения данных, полученных из Yahoo Finance, внутри контейнера. Таким образом снижается нагрузка на Yahoo Finance, и инструмент должен работать быстрее. Кэшированные данные хранятся внутри контейнера в /var/tmp/e2g-cache
. Если вы чувствуете, что вам необходимо аннулировать свой кеш, вы можете сделать это, добавив --env PURGE_CACHE=true
к команде запуска. Это очистит кеш при запуске контейнера, и инструмент заново создаст кеш при следующем получении данных из Yahoo Finance.
Инструмент требует установки последней LTS-версии Node, которую вы можете скачать здесь. Инструмент может работать на любой ОС, на которой вы можете установить Node.
Затем клонируйте репозиторий на свой локальный компьютер и откройте его в выбранном вами редакторе (например, Visual Studio Code).
Запустите npm install
чтобы установить все необходимые пакеты.
Репозиторий содержит образец файла .env
. Переименуйте это из .env.sample
.
Поместите путь к файлу экспорта в переменную INPUT_FILE
. Это должно быть относительно корня проекта.
Укажите имя учетной записи Ghostfolio, в которой вы хотите, чтобы ваши транзакции заканчивались, в GHOSTFOLIO_ACCOUNT_ID
Его можно получить, перейдя в «Учетные записи» > выберите свою учетную запись и скопировав идентификатор из URL-адреса.
При желании вы можете установить для переменной GHOSTFOLIO_UPDATE_CASH
значение TRUE
, чтобы автоматически обновлять баланс денежных средств на вашем счете Ghostfolio после обработки действий.
При желании вы можете включить ведение журнала отладки, установив для переменной DEBUG_LOGGING
значение TRUE
.
Теперь вы можете запустить npm run start [exporttype]
. См. таблицу с командами запуска ниже. Инструмент откроет ваш экспорт и преобразует его. Он извлекает символы, которые поддерживаются YAHOO Finance (например, для европейских акций, таких как ASML
, он извлекает ASML.AS
по соответствующему ISIN).
Экспортер | Команда запуска |
---|---|
Битваво | run start bitvavo (или bv ) |
БУКС | run start bux |
ДЕГИРО | run start degiro |
иТоро | run start etoro |
Финпансион | run start finpension (или fp ) |
Свободная торговля | run start freetrade (или ft ) |
ИБКР | run start ibkr |
Инвестиционный | run start investimental |
Паркет | run start pareqt |
Рабобанк | run start rabobank |
Революция | run start revolut |
Шваб | run start schwab |
Swissquote | run start swissquote (или sq ) |
Торговля 212 | run start trading212 (или t212 ) |
ХТБ | run start xtb |
Инструмент использует cacache
для хранения данных, полученных из Yahoo Finance, на диске. Таким образом снижается нагрузка на Yahoo Finance, и инструмент должен работать быстрее. Кэшированные данные хранятся в /var/tmp/e2g-cache
. Если вы чувствуете, что вам необходимо сделать свой кеш недействительным, вы можете сделать это, удалив папку, и инструмент заново создаст кеш при следующем запуске.
Теперь файл экспорта можно импортировать в Ghostfolio, перейдя в «Портфолио» > «Действия» и нажав 3 точки в правом верхнем углу таблицы. Начиная с Ghostfolio 1.221.0, теперь вы можете просмотреть импорт и убедиться, что данные были преобразованы правильно. Когда все вас удовлетворит, нажмите «Импорт», чтобы добавить мероприятия в свое портфолио.
Существует экспериментальная функция (начиная с версии 0.12.0), с помощью которой вы можете автоматически проверять и импортировать созданный файл в Ghostfolio! Чтобы использовать это, установите соответствующие переменные среды:
Переменная | Описание |
---|---|
--env GHOSTFOLIO_VALIDATE=true | Если установлено значение true, инструмент автоматически проверяет созданный файл на соответствие Ghostfolio. |
--env GHOSTFOLIO_IMPORT=true | Если установлено значение true, инструмент попытается автоматически импортировать созданный файл в Ghostfolio. |
--env GHOSTFOLIO_URL=http://xxxxxxx | Конечная точка вашего локального экземпляра Ghostfolio. Например, http://192.168.1.15:3333 . Используйте ТОЛЬКО с локальным экземпляром Ghostfolio! |
--env GHOSTFOLIO_SECRET=xxxxxxx | Учетные данные вашего пользователя Ghostfolio. Используется для аутентификации с помощью конечной точки API import . Используйте ТОЛЬКО с локальным экземпляром Ghostfolio! |
Мы приветствуем любой вклад в репозиторий. Не стесняйтесь создавать задачу или, что еще лучше, создайте ее самостоятельно и создайте запрос на включение!
Инструмент можно запустить двумя способами: вручную и через Docker. Обе точки входа инструмента можно найти в папке «src/». Инструмент использует макет в тестах, что позволяет выполнять тесты последовательно и повторяемо. Таким образом, нет необходимости использовать действующую службу Yahoo Finance. Макет был добавлен из-за несоответствий между тестовыми запусками и проблем с ограничением скорости в Yahoo Finance (с несколькими последовательными запусками, особенно при локальном запуске).
Всякий раз, когда вы добавляете новый конвертер или создаете исправление для существующего, обратитесь к Wiki за инструкциями о том, как расширить макет с помощью тестовых данных.
Вы можете получить идентификатор своей учетной записи Ghostfolio, перейдя в «Учетные записи» > «Изменить» для своей учетной записи и скопировав поле «Идентификатор учетной записи» ↩.