Skip to main content

Investments

Библиотека для анализа брокерских отчетов + утилиты для подготовки налоговой отчетности

Tests status

Установка/обновление

$ pip3 install investments --upgrade --user

или с помощью uv

Утилита ibtax

Расчет прибыли Interactive Brokers для уплаты налогов для резидентов РФ

  • расчет сделок по методу ФИФО, учет даты расчетов (settle date)
  • конвертация по курсу ЦБ
  • поддержка валют USD, RUB, EUR, CNH(CNY), AUD, GBP, CAD, CZK, DKK, HKD, HUF, YEN, KRW, NOK, PLN, SGD, ZAR, SEK, CHF, TRY
  • раздельный результат сделок по акциям и опционам + дивиденды
  • учёт начисленных процентов на остаток по счету
  • учёт комисий по сделкам
  • пока НЕ поддерживаются валюты ILS, MXN, NZD
  • пока НЕ поддерживаются сплиты
  • пока НЕ поддерживаются сделки Forex, сделка пропускается и выводится сообщение о том, что это может повлиять на итоговый отчет

Пример отчета: ibtax report example

Запуск

$ python3 -m investments.ibtax --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir

Отчеты activity & confirmation должны:

  • быть выгружены из IB в формате CSV
  • лежать в разных директориях (см. Подготовка отчетов Interactive Brokers)

Просмотр неокруглённых цифр в расчётах

$ python3 -m investments.ibtax --verbose --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir

Экспорт отчёта в pdf файл

$ python3 -m investments.ibtax --save-to /path/to/ibtax-report.pdf --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir

Утилита ibdds

Утилита для подготовки отчёта о движении денежных средств по счетам у брокера Interactive Brokers (USA) для резидентов РФ

  • выводит отчёт по каждой валюте счёта отдельно
  • вывод максимально приближен к форме отчёта о ДДС

Пример отчета: ibdds report example

Запуск

$ python3 -m investments.ibdds --activity-report-filepath /path/to/activity/report.csv

Отчет activity должен:

  • быть выгружен из IB в формате CSV
  • отражать активность за один год (см. Подготовка отчетов Interactive Brokers)

Подготовка отчетов Interactive Brokers

Для работы нужно выгрузить из личного кабинета два типа отчетов: Activity statement (сделки, дивиденды, информация по инструментам и т.п.) и Trade Confirmation (settlement date, необходимая для правильной конвертации сумм по курсу ЦБ)

Отчёты должны быть названы так, чтобы сортировались естественным образом по годам начиная от старого к новому. Такого можно достичь называя файлик номером года (например 2019.csv).

Activity statement

Для загрузки нужно перейти в Reports / Tax Docs > Default Statements > Activity

Выбрать Format: CSV и скачать данные за все доступное время (Perioid: Annual для прошлых лет + Period: Year to Date для текущего года)

Обязательно выгрузите отчеты за все время существования вашего счета!

Activity Statement

Trade Confirmation

Для загрузки нужно перейти в Reports / Tax Docs > Flex Queries > Trade Confirmation Flex Query и создать новый тип отчетов, выбрав в Sections > Trade Confirmation все пункты в группе Executions, остальные настройки - как на скриншоте:

Trade Confirmation Flex Query

После этого в Reports / Tax Docs > Custom Statements выгрузите отчеты за все время существования вашего счета, используя Custom date range периодами по 1 году (больше IB поставить не дает):

Trade Confirmation Statement

Разворачивание проекта для внесения изменений

  • Install uv
  • Clone & modify & run
$ git clone https://github.com/cdump/investments

$ cd investments

$ uv sync
$ uv run ibtax
usage: ibtax [-h] --activity-reports-dir ACTIVITY_REPORTS_DIR --confirmation-reports-dir CONFIRMATION_REPORTS_DIR [--cache-dir CACHE_DIR] [--years YEARS] [--verbose]
ibtax: error: the following arguments are required: --activity-reports-dir, --confirmation-reports-dir

$ vim investments/ibtax/ibtax.py # edit main file for example

$ uv run ibtax # run updated version

Metadata

Release files for investments 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for investments 0.3.1
File Size Uploaded
investments-0.3.1.tar.gz 508.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for investments 0.3.1
File Interpreter ABI Platform
investments-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 538.9 kB

Release files / investments-0.3.1.tar.gz

Download URL investments-0.3.1.tar.gz
Size 508.1 kB
Tags Source
SHA-256 checksum
How to use checksums
43f837f48bed70b57c72c5ee071f5f62fc342b6a7f21c021405ce831838c4c0f
BLAKE2b-256 checksum
How to use checksums
daf5d323345774acea928d5c5aa9892d85fb0e599bf687ea59926ac82cfe4bda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / investments-0.3.1-py3-none-any.whl

Download URL investments-0.3.1-py3-none-any.whl
Size 30.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a22bd987b8c9216cfc3d3b7eb0c0118dfa211f6d50f1603e85e07ee1731b795
BLAKE2b-256 checksum
How to use checksums
0a3507a8089ca87732faf8ac343a714a4cc630f3c0228653cbe014a83adc8b1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.28

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page