konishchevdmitry / investments Goto Github PK
View Code? Open in Web Editor NEWHelps you with managing your investments
Helps you with managing your investments
Привет! Сразу спасибо за работу, тул выглядит очень многообещающе. Проблема: последний билд Windows 4.3.1 не запускается, проверил на нескольких ПК. Просто ничего не происходит. Если билдить самому по инструкции, та же история. В чем может быть проблема?
First of all, thanks for the app, it's really helpful and I've been using it for the past year.
I'm trying to import a statement from Interactive Brokers, but I get the following error:
E: Error while reading "/home/rsa/.investments/statements/U4182902_20220103_20220201.csv" broker statement: Failed to parse ("Net Asset Value", "Data", "Cash Collateral", "0", "1124", "0", "1124", "1124") record: Unsupported asset class: "Cash Collateral".
Проблема с функционалом "merge_performance", прописал в конфиге:
merge_performance: VOO: [XLP]
В итоге XLP из "analyse ib" уходит, но в суммы расчетов по VOO не включается и не добавляется, цифры остаются те же.
Hi Dmitry!
Thank you for such interesting and useful application (especially tax-statement
part)!
During import IB statements I faced an issue "Unexpected dividend description" when report has lines like this:
Dividends,Data,USD,2019-04-15,UNIT(US91325V1089) Payment in Lieu of Dividend (Ordinary Dividend),0.35
Withholding Tax,Data,USD,2019-04-15,UNIT(US91325V1089) Payment in Lieu of Dividend - US Tax,-0.03,
To fix it I've changed regular expressions from
r"^(?P<issuer>[A-Z]+) ?\([A-Z0-9]+\) Cash Dividend ").unwrap();
to
r"^(?P<issuer>[A-Z]+) ?\([A-Z0-9]+\) (?:Cash Dividend |Payment in Lieu of Dividend )").unwrap();
but after that I though that maybe we should change them like this:
r"^(?P<issuer>[A-Z]+) ?\([A-Z0-9]+\) ").unwrap();
and don't check message at all?
What do you think @KonishchevDmitry?
Приветствую Дмитрий! Еще раз спасибо большое за прогамму и с новым годом!
Не выходит наполнить отчет в формате программы "Декларация 2021"
При попытке наполнить файл "blank.dc1" вылазет следующая ошибка, см. скриншот.
При том что сам tax-statement за 2021 год (без наполнения файла) формирует корректно, без ошибок.
Файл blank.dc1 формировал по инструкции.
Так же, корректно наполняются и файлы "*.dc0" для "Декларации 2020"
Версия программы investment - 3.11.1, версия "Декларация 2021" - 1.0.0 от 30.12.2021
Сам файлик blank.dc1 выслал по почте.
Приветствую. Подаю декларацию за 2020 год. При расчете налогов имеется проблема с учетом дивидендов от REIT ETF'ов как пример (VNQ) и расчетом доплаты.
По отчету IB:
13.03 начислен дивиденд 183.51 USD (VNQ)
13.03 удержан налог -18.14 USD (VNQ)
По формируемому отчету командой tax-statement видно учитывается что уплачено только 10.59$ (в отчете -18.14)
Дата Эмитент Валюта Сумма Курс руб. Сумма (руб) Налог Уплачено Уплачено (руб) К зачету К доплате Реальный доход
13.03.2020 VANGUARD REAL ESTATE ETF (VNQ) USD $181.41 74.0274 13,429.31₽ 1,746₽ $10.59 783.95₽ 784₽ 962₽ 11,683.36₽
С другими эмитентами всё впорядке, проблема только с VNQ по всем строкам с дивидендами, почему то с отчетом не совпадает
Error while executing command:
investments tax-statement ib 2021 statement.dc0
Error:
Got a stock symbol with an unsupported format: "U.UN"
Error while reading "/home/ubuntu/Brokerage/Interactive Brokers/Statements": Error while reading "/home/ubuntu/Brokerage/Interactive Brokers/Statements/2021_Trade_Confirmation.csv": Failed to parse ("U0000000", "XXXXXX", "", "CAD", "STK", "U.UN", "SPROTT PHYSICAL URANIUM TRUS", "503299503", "CA85210A1049", "ISIN", "", "CA85210A1049", "TSE", "", "", "", "", "", "1", "", "", "", "", "ExchTrade", "4060338060", "2058458591", "0000d8c0.6138944c.01.01", "004d0452.00022e64.6136ee12.0001", "", "", "", "0", "", "", "2021-09-07 20:52:42", "2021-09-08 09:30:00", "2021-09-08", "2021-09-10", "2021-09-08", "TSE", "BUY", "10", "14.8", "148", "-148", "-0.755", "-0.755", "0", "0", "0", "0", "0", "CAD", "0", "O", "LMT", "EXECUTION", "", "N", "", "0", "", "", "", "", "0.0", "0.0 ()") record: Got a stock symbol with an unsupported format: "U.UN".
Пробую эту функциональность:
$ investments simulate-sell ib
W: The broker statement misses trade settle date information. First occurred trade - EXH4d at 16.04.2020. All calculations for such trades will be performed in T+0 mode.
E: Unable to find quotes for following symbols: EXV8d, EXH4d.
Похоже европейских ETF нет на бесплатных аккаунтах finnhub и twelvedata.
Поэтому два вопроса:
FIXP — тикер компании FixPrice на московской бирже
https://www.moex.com/ru/issue.aspx?board=TQBR&code=FIXP
но его нет ни на finnhub.io
, ни на twelvedata.com
Обращение к пользователям
В данный момент брокерские отчеты Тинькофф содержат недостаточное количество информации по дивидендам зарубежных эмитентов, чтобы по ним можно было автоматически заполнять налоговую декларацию.
Ниже - запрос, который я отправил в поддержку Тинькова, и их ответ. Если вы заинтересованы в том, чтобы с помощью investments можно было декларировать доход с дивидендов иностранных эмитентов, предлагаю и вам отправить похожий запрос в поддержку. Брокерские отчеты раньше тоже были только в *.pdf, но люди просили - и они в итоге добавили *.xlsx, который несравнимо лучше с точки зрения парсинга.
Добрый день.
Я являюсь разработчиком https://github.com/KonishchevDmitry/investments, и ко мне приходят клиенты Тинькофф, которые хотят в автоматическом режиме генерировать налоговую декларацию по дивидендам зарубежных эмитентов, но пока что я вынужден им отвечать, что в брокерских отчетах Тинькофф не хватает всей необходимой информации.
Сейчас, если дивиденд поступил от зарубежного эмитента (СПБ биржа), в брокерском отчете виден только результирующий размер за вычетом налога (обычно 10%, но может быть и другой), и по данной информации невозможно понять, сколько еще нужно доплатить. Я знаю, что можно скачать Справку о доходах за пределами РФ, и там эта информация должна быть, но данная справка доступна только в pdf-формате, который очень плохо подходит для автоматизированного парсинга (в отличие от *.xslx, в котором можно скачать брокерские отчеты).
Не могли бы вы добавить в брокерский отчет информацию о изначальном размере дивиденда? Эту информацию вполне можно было бы добавить в колонку "Примечание" - там, где сейчас указывается название эмитента. Ну или хотя бы сделать возможным скачать Справку о доходах за пределами РФ в *.xslx-формате.
Здравствуйте!
Я передал разработчикам, чтобы рассмотрели возможность добавить формат xslx для справки с расшифровкой иностранных дивидендов и добавить в брокерский отчет информацию о изначальном размере дивиденда.
Спасибо, что помогаете улучшать наш сервис!
Пытаюсь сгенерировать метрики:
$ investments metrics ./metrics.txt
E: Error while reading "/home/rom/Brokerage/Открытие/Отчеты Брокера": No such file or directory (os error 2).
У меня пока IB только, и нет открытия брокера и остальных.
Не очень понятно как отключить остальных брокеров в этом случае?
Пробовал подсунуть пустую директорию, но не помогает, требует отчеты :)
Здравствуйте, Дмитрий!
Благодарю Вас за эту нужную людям работу. К сожалению, пока сам не смог воспользоваться вашей программой.
Я человек, которого страшит слово компилятор, поэтому прошу не судить строго ).
При попытке сформировать отчет сначала возникла ошибка при обработке файла флекс-отчета.
Я в файле руками поменял тикеры с цифрами и строчными буквами на тикеры без таковых.
Но далее возникла ошибка, с которой я не знаю, что делать.
Flex-отчет формировал строго в соответствии с инструкцией.
Если больше тысячи акций, то ставятся запятая в csv отчете, программа этого не поддерживает
E: Error while reading "/Users/nmassalitin/.investments/statements/U3432304_U3432304_20200106_20210105_AS_Fv2_fcf9c2c767f3ead1e979c867a1a756e8.csv" broker statement: Failed to parse ("Trades", "Data", "Order", "Stocks", "CAD", "VLNS", "2020-11-18, 09:30:00", "-1,020", "1.863333333", "1.74", "1900.6", "-10.2", "-3503.8", "-1613.4", "125.8", "C;P") record: Got an unexpected VLNS trade quantity: -1,020.
Hello,
Are you planning to introduce options transactions support?
Такое корпоративное действие не парсится
E: Error while reading ... broker statement: Failed to parse ("Corporate Actions", "Data", "Stocks", "USD", "2020-06-03", "2020-06-03, 20:20:00", "MAC (US5543821012) Cash Dividend USD 0.10, STOCK DIVIDEND US5543821012 548275673 FOR 10000000000 (MAC, MACERICH CO/THE, US5543821012)", "5", "0", "42.95", "0", "") record: Unsupported corporate action: "MAC (US5543821012) Cash Dividend USD 0.10, STOCK DIVIDEND US5543821012 548275673 FOR 10000000000 (MAC, MACERICH CO/THE, US5543821012)".
3.06.2020 MAC выплачивало дивиденды в размере 0.5$ на акцию в форме 0.1$ на акцию плюс 0.4$ в форме акций MAC с округлением до целых акций и дозачислением остатка тоже в форме $$
Вот здесь подробности https://money.tmx.com/en/quote/MAC:US/news/8482400016399050/Macerich_Announces_Results_Of_Dividend_Payable_On_June_3_2020
В отчете броке в итоге есть две строки:
Хотя это наверное не частое явление но хорошо бы поддержать и такие корп действия. Иначе невозможно пользоваться программой
Обнаружился такой нюанс. Вот данные раздела Fees (ниже).
Там видно, что были начисления и списания В ОДИН ДЕНЬ. В activity report эти начисления и списания не попали в раздел "Cash Report", видимо т.к. это было в один день. Однако
investments cash-flow ib 2020
учитывает эти данные, например в строчках "Зачисления". В итоге цифры investments cash-flow не бьются с цифрами в разделе "Cash Report" activity report.Чтобы совпадали, наверно нужно чтобы начисления и списания Fees в один день объединялись до попадания в "Зачисления", или лучше сделать настройку на этот случай.
Fees Header Subtitle Currency Date Description Amount Fees Data Other Fees USD 2020-05-05 P******88:GLOBAL SNAPSHOT FOR APR 2020 -0.09 Fees Data Other Fees USD 2020-05-05 P******88:GLOBAL SNAPSHOT FOR APR 2020 0.09 Fees Data Other Fees USD 2020-05-05 P******88:US CONSOLIDATED SNAPSHOT FOR APR 2020 -0.01 Fees Data Other Fees USD 2020-05-05 P******88:US CONSOLIDATED SNAPSHOT FOR APR 2020 0.01 Fees Data Total 0 Fees Notes Market data is provided by Global Financial Information Services (GmbH). Your local broker collects amounts owed for fees and tax for such data on behalf of Global Financial Information Services (GmbH). Note, you are responsible for any applicable taxes relating to the provision of these services.
Похоже что не парсятся строки когда у символа в имени есть пробел:
E: Error while reading ... broker statement: Failed to parse ("Dividends", "Data", "USD", "2020-06-22", "RDS B(US7802591070) Cash Dividend USD 0.32 per Share (Ordinary Dividend)", "48") record: Unexpected dividend description: "RDS B(US7802591070) Cash Dividend USD 0.32 per Share (Ordinary Dividend)".
Unsupported stock split src/broker_statement/ib/corporate_actions.rs:53
VISL(US92836Y2019) Split 1 for 6 (VISL, VISLINK TECHNOLOGIES INC, US92836Y2019)
Ссылка на реверс сплит.
https://www.streetinsider.com/Corporate+News/Vislink+Technologies+%28VISL%29+Announces+1-for-6+Reverse+Stock+Split/17178419.html
Добрый день, Дмитрий!
В первую очередь, спасибо за Вашу, столь полезную программу для расчета налогов!
Я столкнулся со следующей проблемой, компания Pfizer (PFE) выделела из себя свое подразделение в отдельную компанию - Viatris (VTRS) и все держатели акций Pfizer (PFE) получили акции этой компании. Этот процесс называется спин-офф или spin-off https://ru.wikipedia.org/wiki/Выделение_организации
Со мной так и произошло, но к сожалению программа не хочет счтать налог из-за этих новых акций.
Можете ли исправить этот недочет? Отчеты отправил по почте.
Огромная благодарность!
Support long-term ownership tax exemption for Russian brokers.
$ ls /media/t/fin/investments-data
config.yaml
$ investments -c /media/t/fin/investments-data tax-statement ib
E: Error while reading "/home/rom/investments-data": No such file or directory (os error 2).
The path in the error message does not match the specified path.
Спасибо за программу.
Иностранные бонды IB не планируется поддерживать?
Есть опыт работы с Rust, могу сам попробовать допилить, но не знаком со структурой проекта и методом расчета для бондов.
Если подскажите куда смотреть за методикой расчета - будет здорово.
Добрый день, Дмитрий!
Сегодня обновил Вашу программу до последней версии 1.3.1, продолжаю тестировать её на живом счете и выявил еще одну ошибку.
Я завел второй аккаунт в IB и переместил все акции и наличные средства на него.
Tax-statement на новом аккаунте благополучно формировался до того момента, как я продал один тикер (а куплен он был на старом аккаунте), после продажи программа выводит следующую ошибку (см. скриншот)
А так полагаю, что программа не считала информацию о перемещении данного тикера на новый аккаунт. Факта покупки в файлах нового аккаунта естественно нет, но есть информация о перемещении тикера с аккаунта на аккаунт его стоимости и прибыле/убытке по этому инструменту.
Если есть возможность, исправьте пожалуйста данный баг.
Заранее Спасибо!
P.S. Файлы с активностью по старому и новому аккаунту выслал на почту.
It would be easier to build on windows if it had something like this:
diesel = { version = "1.4.4", features = ["sqlite"] }
libsqlite3-sys = { version = ">=0.8.0, <0.13.0", features = ["bundled"] }
Здравствуйте Дмитрий. Спасибо за ваш труд и интересную консольную утилиту.
При импорте данных появилась ошибка "Unable to find quotes for following symbols: CELG".
Дело в том что CELG тикер больше не торгуется, компания была куплена другой.
Как добавить возможность обработки такого случая?
На текущий момент при попытке обработать отчеты IB Margin-счета похоже не поддерживаются:
Failed to parse ("Account Information", "Data", "Account Capabilities", "Margin") record: Unsupported account type: Margin.
Подскажите, есть ли принципиальная проблема в том, что Margin счета сейчас не обрабатываются? Там другой формат или есть принципиальные отличия в обработке сделок по Margin счетам?
$ investments tax-statement ib
W: The broker statement misses trade settle date information. First occurred trade - EXH4d at 16.04.2020. All calculations for such trades will be performed in T+0 mode.
E: Error while reading "/media/t/fin/investments-data/en-activity-U3594789_2020_2020.csv" broker statement: Failed to parse ("Dividends", "Data", "EUR", "2020-07-15", "EXH4(DE000A0H08J9) Cash Dividend EUR 0.013046 per Share (Mixed Income)", "1.71") record: Unexpected dividend description: "EXH4(DE000A0H08J9) Cash Dividend EUR 0.013046 per Share (Mixed Income)".
I have the following entries in the description columns:
EXH4(DE000A0H08J9) Cash Dividend EUR 0.013046 per Share (Mixed Income)
EXH4(DE000A0H08J9) Cash Dividend EUR 0.162923 per Share (Mixed Income)
EXV8(DE000A0H08F7) Cash Dividend EUR 0.140474 per Share (Mixed Income)
SOXX(US4642875235) Cash Dividend USD 1.069314 per Share (Ordinary Dividend)
SOXX(US4642875235) Cash Dividend USD 0.746891 per Share (Ordinary Dividend)
Так как нужна эта утилита только для резидентов РФ ;)
Привет!
После крайнего обновления при попытке сделать анализ портфеля выдает ошибку парсинга курса валют на текущую дату
investments analyse ib E: Failed to calculate results of VWO selling order from 11.01.2021: Unable to find USD/RUB currency rate for 11.01.2021 with 3 days precision.
Вот еще такая ошибка возникает:
E: Calculated open positions don't match declared ones in the statement: CBL PRD: 500 vs 0.
Вероятно вследствие переименования инструмента "CBL PRD" в "CBLDQ" и такая операция в приложении не правильно обрабатывается.
Добрый день, Дмитрий!
Продолжаю тестировать Вашу программу на живом счете и обнаружил еще одну ошибку.
Программа ругается на выплату дивидендов одним тикером - ETN (Eaton Corporation), компания самая обычная, сделка - лонг. Я так думаю программа не воспринимает вот эти символы в отчете Interactive Brokers - ETN(IE00B8KQN827). То есть код ISIN отличный от начинающегося с US.
Сама компания из Ирландии, но торгуется на NYSE, причем напрямую - не ADR (если не ошибаюсь) и дивиденты выплачивает так же в USD.
Можете пофиксить этот баг, что бы программа могла считывать ISIN-коды IE и другие, по возможности.
Заранее большое спасибо!
Свои отчеты из Interactive Brokers прилагаю.
ActivityRUB.zip
Получаю такую ошибку:
E: Error while reading "/Users/maxpon/Brokerage/Тинькофф/Отчеты Брокера/broker-report-2020-05-01-2020-05-31.xlsx" broker statement: Unable to find "Ставка РЕПО(%)" column - got "Комиссия биржи" instead.
Пример отчёта: broker-report-2020-05-01-2020-05-31.xlsx
При сборке по инструкции выдает:
` = note: LINK : fatal error LNK1181: cannot open input file 'sqlite3.lib'
error: aborting due to previous error
error: could not compile migrations_macros
.`
MS VS SDK установлен, но может нужно еще что-то или дополнительные пути прописать?
...
программа, как я понял не умеет видеть выходные дни между csv-отчетами. У меня есть csv-отчет по старому аккаунту заканчивающийся 19.06.2020 (это пятница), в IB я могу сформировать новый csv-отчет (по новому аккаунту, но это не важно) только с 22.06.2022 (понедельник) или с 19.06.2020 (пятница), то есть по рабочим дням. И если я их "скармливаю" Вашей программе, то она выдает ошибку (см. скриншот)Получается, что приходится править csv-отчет в любом случае, редактируя начальную дату на следующий день 20.06.2020 (суббота), даже если он нерабочий.
Другими словами, программа не может мержить отчеты одни из которых заканчиваются в пятницу, а другие начинаются в понедельник.
Originally posted by @IlyaKarpelyuk in #13 (comment)
Добрый день!
При обновлении приложении возникла проблема. Вытянул изменения с репы через git pull
, попытался запустить из папки cargo install --path . --bin investments --force
однако вывалилась ошибка:
error: /Users/worm/investments
is not a crate root; specify a crate to install from crates.io, or use --path or --git to specify an alternate source
Caused by:
failed to parse manifest at /Users/worm/investments/Cargo.toml
Caused by:
the default-run
manifest key is unstable
Caused by:
feature default-run
is required
this Cargo does not support nightly features, but if you switch to nightly channel you can add
cargo-features = ["default-run"]
to enable this feature
Пробовал поставить nightly и добавить строку cargo-features = ["default-run"]
в начало файла Cargo.toml. Однако так и не смог пересобрать.
По итогу удалил строку default-run = "investments"
из файла Cargo.toml, билд пошел но в итоге снова вывалило кучу ошибок:
error[E0658]: use of unstable library feature 'alloc': this library is unlikely to be stabilized in its current form or name (see issue #27783)
error[E0658]: use of unstable library feature 'maybe_uninit' (see issue #53491)
error[E0599]: no function or associated item named uninit
found for type core::mem::MaybeUninit<_>
in the current scope
error: Could not compile smallvec
Help pls
Добрый день, Дмитрий!
Как всегда, продолжаю тестировать Вашу программу. :)
Купил вчера дробные акции и столкнулся с проблемой, что программа не понимает покупку дробных акций (fractional shares), отраженных в отчете. Сама продажа дробных акций не осуществлялась, так же дивиденды по ним не приходили. Более того, в этот же день (вчера) я докупил дробные доли до целых чисел и с того дня у меня в портфеле все акции целые.
Сам отчет направляю по почте, так же прикладываю отчет со старого счета, для совместимости (как Вы помните, я перевел акции с одного счета на другой; старый отчет заканчивается 19.06.2020, а новый начинается с 22.06.2020 (следующим рабочим днем)).
Буду крайне признателен, если получиться добавить возможность учета дробных акций (fractional shares).
Заранее спасибо!
P.S. Дивиденды рассчитываются очень просто, вот официальный ответ и формула IB (аналогичный метод вероятно можно экстраполировать и на расчет налога):
https://www.interactivebrokers.com/lib/cstools/faq/#/content/faq%3A%2F%2FpageId%3D84609891?articleId=83261303
P.P.S. Еще, я так понял, дробные акции не могут быть больше чем десятитысячные доли (то есть не более 4-х знаков после запятой, например 3.5649)
https://www.banki.ru/forum/?PAGE_NAME=message&FID=21&TID=377500&MID=8558603#message8558603:
Сегодня стал доступен мартовский отчет, и там появились возвраты удержанного налога с дивидендов за 2020 год. В отличие от IB, тут все даты видны, и формально это выглядит как "доход" за 2021 год.
E: Failed to process dividend income: Failed to get currency rates from the Central Bank of the Russian Federation: CAD currency is not supported yet..
←[31mE: Error while reading "broker-report-2020-07-01-2020-12-31.xlsx" broker statement: The row contains non-empty cells between column cells: [String("10 из "), Empty].←[0m
привет. спасибо за полезную тулзу. в общем не пашет с тиньковым. засунул брокерский отчет - выдает ошибку. походу опять они формат поменяли.
A this time cash-flow
command is not suitable out of the box for cash flow tax statement, but we can either roughly deduce reclassification dates by looking on statement period or require Custom Activity Statement which has Statement of Funds
with all the dates specified.
Why not? :)
But in
$ investments rebalance tinkoff
• ETFs - 99.8% (…₽) → 99% (…₽) / 99% (…₽):
• …
• Stocks - 0.4% (…₽) → 1% (…₽) / 1% (…₽):
• …
Проблема при установке из за нехватки прав на subomule investments-testdata.git:
➜ investments git:(master) cargo install --git https://github.com/KonishchevDmitry/investments.git --bin investments --force Updating git repository
https://github.com/KonishchevDmitry/investments.git`
error: failed to update submodule testdata
Caused by:
failed to fetch submodule testdata
from [email protected]:investments-testdata.git
Caused by:
failed to authenticate when downloading repository
attempted ssh-agent authentication, but none of the usernames git
succeeded
Caused by:
no authentication available`
Добрый день! Хочу воспользоваться Вашим скриптом, всё установил, пробую использовать, однако не хватает примера конфига config.yaml, который требуется для использования скрипта. Прошу сбросить хоть какой то пример. Заранее огромное спасибо
$ investments sync tinkoff
E: Error while reading "/Users/maxpon/Brokerage/Тинькофф/Отчеты Брокера/broker-report-2021-04-01-2021-04-30.xlsx" broker statement: Starting from #27 row: [String("15.04.2021"), Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, String("16:51:25"), Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, String("20.04.2021"), Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, String("Вывод средств"), Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, String("0"), Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, String("454474,17"), Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty]: Unsupported cash flow operation: "Налог".
Пример отчёта: broker-report-2021-04-01-2021-04-30.xlsx
Доходы от сделок с ЦБ можно уменьшить на прочие комиссии на аккаунте. В случае с IB это наверное чаще всего комиссия за неактивность аккаунта при балансе меньше $100k.
Было бы логично вывести сумму комиссий за отчётный год отдельной табличкой
Добрый день, @KonishchevDmitry
попробовал сегодня запустить с дефолтным конфигом (добавлены токены, добавлены файлы отчетов из тинькофф)
investments analyse tinkoff
E: Unable to calculate trade commission: Commission currency doesn't match trade currency: RUB vs USD.
На счете только иностранные акции.
Дмитрий, добрый день!
Видел в описании, что вы не делали анализ иностранных дивов у наших брокеров, так как у вас нет примеров файлов брокерских отчетов.
А если вам предоставить образцы файлов, то вы бы стали такой функционал добавлять?
$ investments --config /media/t/fin/investments-data tax-statement ib 2020 /media/t/fin/investments-data/tax-return-2020.dc0
W: The broker statement misses trade settle date information. First occurred trade - EXH4d at 16.04.2020. All calculations for such trades will be performed in T+0 mode.
E: Failed to process dividend income: Unable to add EXH4 dividend from 15.07.2020 to the tax statement: EUR currency is not supported yet.
:(
Добрый день, Дмитрий!
Предыстория (возможно имеет смысл дополнить инструкцию по установке, так как строго следовал ей сначала):
Изначально у меня не компилировалась Ваша программа investments, на свежеразвернутый Ubuntu Server 20.04 LTS, вылетала ошибка error E0658, вылечил установкой rustc nightly.
Далее у меня никак не хотел считываться statement экспортированный (согласно Вашей инструкции) из Interactive Brokers (E: "/root/ib" doesn't contain any broker statement.), оказалось, что необходимо открыть этот statement в MS Office Excel и пересохранить в том же формате (CSV разделители - запятые), после чего Ваша программа начинает видеть сохраненные таким образом statements.
Но вот уже несколько дней я бьюсь над следующей проблемой: Ваша программа при попытке прочитать statements Interactive Brokers, выдает следующую ошибку E: Error while reading "/root/ib": Error while reading "/root/ib/empty-trade-confirmation.csv": "Trade confirmation" record doesn't have "AssetClass" field. Я уже всё перепробывал, даже взял Ваш файл из ~/investments/src/broker_statement/ib/testdata/empty-trade-confirmation.csv, добавил в него пару сделок, что бы он небыл пустым, но Ваша программа продолжает ругаться на Trade confirmation" record doesn't have "AssetClass" field.
P.S. В конфигурационном файле единственное что я поменял, это путь к statements.
empty-trade-confirmation.zip
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.