Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ошибка в TickersStorage #62

Open
RomanS2N opened this issue Jan 5, 2023 · 9 comments
Open

Ошибка в TickersStorage #62

RomanS2N opened this issue Jan 5, 2023 · 9 comments

Comments

@RomanS2N
Copy link

RomanS2N commented Jan 5, 2023

Приветствую!

У меня на отчётах за 2022 год, выводит ошибку, подскажите в чём может быть причина или как диагностировать её? замечу что на отчётах за 2021 г. всё работает!


>python -m investments.ibtax --activity-reports-dir D:\NDFL\Reports\ --confirmation-reports-dir D:\Config\

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\ibtax\__main__.py", line 3, in <module>
    main()
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\ibtax\ibtax.py", line 291, in main
    parser_object = parse_reports(args.activity_reports_dir, args.confirmation_reports_dir)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\ibtax\ibtax.py", line 263, in parse_reports
    parser_object.parse_csv(
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\report_parsers\ib.py", line 190, in parse_csv
    self._real_parse_activity_csv(csv.reader(ac_fh, delimiter=','), {
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\report_parsers\ib.py", line 260, in _real_parse_activity_csv
    parser_fn(fields)
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\report_parsers\ib.py", line 265, in _parse_instrument_information
    self._tickers.put(
  File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\report_parsers\ib.py", line 79, in put
    assert self._conid_to_ticker[conid] == ticker
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^
Указывает на ошибку conid: KeyError: '589316229' 

Заранее благодарен за ваш отзыв!

@RomanS2N
Copy link
Author

RomanS2N commented Jan 5, 2023

Здесь вижу ticker повторно появляется в записи и if ticker not in self._tickers: не срабатывает.

Поставил после ticker = Ticker(symbol, kind)

print ('Ticker = ', ticker, 'Conid = ', conid)

Вывело:

Ticker = AAPL (Stock) Conid = 416310868
if ticker not in self._tickers: - прошёл успешно

Ticker = AAPL (Stock) Conid = 589316229
if ticker not in self._tickers: - не прошёл, вызвал assert self._conid_to_ticker[conid] == ticker
программа свалилась ......

Непонятно, то ли в коде так должно быть, толи в файлах проблема. Как можно решить вопрос?

@esemi
Copy link
Contributor

esemi commented Jan 6, 2023

Привет!

Выглядит как-будто в отчёте что-то странное, может сплит акций эпла был в этом году?

@RomanS2N
Copy link
Author

RomanS2N commented Jan 6, 2023

Это я к сожалению, не знаю ... Т.е. вы считаете что Conid 589316229 нужно просто заменить на 416310868 в самом отчёте и это проблему вылечит, без каких либо дополнительных косяков?

@esemi
Copy link
Contributor

esemi commented Jan 6, 2023

Я просто предположил, что ошибка похожа на смену идишки тикера эпла и такое может быть если случился сплит акций. Сам эплом не владел, не слежу за ним)

Можете попробовать обезличенный отчёт закинуть сюда, я подебажу интересу ради)

@RomanS2N
Copy link
Author

RomanS2N commented Jan 6, 2023

Попробую, заменить Conid, может исправиться, чистить это целая работа , а Conid - это что за переменная?

@RomanS2N
Copy link
Author

В общем, замена не помогла, другую ошибку выкинул:
File "C:\Users\AppData\Roaming\Python\Python311\site-packages\investments\report_parsers\ib.py", line 231, in _parse_trade_confirmation_csv if f['LevelOfDetail'] != 'EXECUTION': ~^^^^^^^^^^^^^^^^^

Попытаюсь вырезать некорректный кусок и добавить здесь, а вы можете в свой шаблонный отчёт для дебарга добавить и откатать ...

@RomanS2N
Copy link
Author

RomanS2N commented Jan 17, 2023

esemi, как можно извлечь ошибочные записи из большого массива? Не получается запись с ошибкой вытащить из большого массива данных!

К примеру на такой сделки проблема в отчёте:
Financial Instrument Information,Data,Stocks,PT,PINTEC TECHNOLOGY HOLDINGS L,338719507,US72352G1076,NASDAQ,1,ADR,

В сделках:
XXXX,"","","USD","STK","PT","PINTEC TECHNOLOGY HOLDINGS L","338719507","US72352G1076","ISIN","72352G107","US72352G1076","NASDAQ","","","","","","1","","","","","ExchTrade","4545206975","2322341648","000.6229f848.01.01","004fa918.000.62299061.0001","","","","0","","","2022-03-10,10:14:02","2022-03-10,10:14:04","2022-03-10","2022-03-14","2022-03-10","ISLAND","BUY","300","0.5932","177.96","-177.96","-179.46","-1.5","-1.5","0","0","0","0","0","USD","0","C

конфликтует с записью:
Financial Instrument Information,Data,Stocks,PT,PINTEC TECHNOLOGY HOLDINGS L,559931429,US72352G2066,NASDAQ,1,ADR,

XXX,"","","USD","STK","PT","PINTEC TECHNOLOGY HOLDINGS L","559931429","US72352G2066","ISIN","72352G206","US72352G2066","NASDAQ","","","","","","1","","","","","ExchTrade","5029423077","2576325978","000.6346ad3b.01.01","004fa918.000.634645ce.0002","","","","0","","","2022-10-12,12:42:28","2022-10-12,12:42:28","2022-10-12","2022-10-14","2022-10-12","ISLAND","BUY","100","0.579","57.9","-57.9","-58.4","-0.5","-0.5","0","0","0","0","0","USD","0","C

Разница в conid 338719507 <> 559931429

Хотя может взять один отчёт с одной сделкой и копировать записи в пустой второй с заменой conid, так при помощи замены вызвать ошибку при которых в двух файлах разные conid стоять будут! И протестить ...

@RomanS2N
Copy link
Author

Если есть возможность в ручную подправить, не дожидаясь длинного фикса, буду так же рад!

@RomanS2N
Copy link
Author

RomanS2N commented Feb 6, 2023

Ребята, если будите фиксить, вот некоторые тикеты которые выдают ошибки:

HOTH Conid 353038807 vs 593821783 2022-01-03 <> 2022-01-06
AVCT Conid 416310868 vs 589316229 2022-08-28 <> 2022-10-11
PT Conid 338719507 vs 559931429 2022-03-09 <> 2022-10-11

не одно ошибки 2021, а в 2022 тикеры с разными Conid десятки появились.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants