Package: investments
InvestmentsБиблиотека для анализа брокерских отчетов + утилиты для подготовки налоговой отчетностиУстановка/обновление$ pip3 install investments --upgrade --userили с помощьюpoetryУтилита ibtaxРасчет прибыли Interactive Brokers для уплаты налогов для резидентов РФрасчет сделок по методу ФИФО, учет даты расчетов (settle date)конвертация по курсу ЦБподдержка валют USD, RUB, EUR, AUD, GBP, CAD, CZK, DKK, HKD, HUF, YEN, KRW, NOK, PLN, SGD, ZAR, SEK, CHF, TRYраздельный результат сделок по акциям и опционам + дивидендыучёт начисленных процентов на остаток по счетуучёт комисий по сделкампокаНЕподдерживаются валюты CNH, ILS, MXN, NZDпокаНЕподдерживаются сплитыпокаНЕподдерживаются сделки Forex, сделка пропускается и выводится сообщение о том, что это может повлиять на итоговый отчетПример отчета:Запуск$ 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) для резидентов РФвыводит отчёт по каждой валюте счёта отдельновывод максимально приближен к форме отчёта о ДДСПример отчета:Запуск$ 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для текущего года)Обязательно выгрузите отчеты за все время существования вашего счета!Trade ConfirmationДля загрузки нужно перейти вReports / Tax Docs>Flex Queries>Trade Confirmation Flex Queryи создать новый тип отчетов, выбрав вSections>Trade Confirmationвсе пункты в группеExecutions, остальные настройки - как на скриншоте:После этого вReports / Tax Docs>Custom Statementsвыгрузите отчетыза все время существования вашего счета, используяCustom date rangeпериодами по 1 году (больше IB поставить не дает):Разворачивание проекта для внесения измененийInstallpoetryClone & modify & run$ git clone https://github.com/cdump/investments

$ cd investments

$ poetry install
$ poetry 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

$ poetry run ibtax # run updated version