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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

investments-0.3.1.tar.gz (508.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

investments-0.3.1-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file investments-0.3.1.tar.gz.

File metadata

  • Download URL: investments-0.3.1.tar.gz
  • Upload date:
  • Size: 508.1 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for investments-0.3.1.tar.gz
Algorithm Hash digest
SHA256 43f837f48bed70b57c72c5ee071f5f62fc342b6a7f21c021405ce831838c4c0f
MD5 14d7c60abc0964255ca563f776f7163a
BLAKE2b-256 daf5d323345774acea928d5c5aa9892d85fb0e599bf687ea59926ac82cfe4bda

See more details on using hashes here.

File details

Details for the file investments-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: investments-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for investments-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a22bd987b8c9216cfc3d3b7eb0c0118dfa211f6d50f1603e85e07ee1731b795
MD5 21d7358bd364e524acf29df4f7428226
BLAKE2b-256 0a3507a8089ca87732faf8ac343a714a4cc630f3c0228653cbe014a83adc8b1d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.28

2 files

0.1.27

2 files

0.1.26

2 files

0.1.25

2 files

0.1.24

2 files

0.1.23

2 files

0.1.22

2 files

0.1.21

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page