Lo que no dice Tinkoff Investments. Extraemos todos los datos de la cartera a través de la API en una gran tabla de Excel.

Tinkoff Investments es un corredor ruso popular con una aplicación cliente avanzada para dispositivos móviles y navegadores. La aplicación está diseñada para simplificar el proceso de negociación y reducir el umbral para ingresar inversiones a un mínimo como para capturar la audiencia más amplia posible.





Sin embargo, cuando las inversiones se vuelven serias, el inversor necesita datos precisos y detallados sobre su cartera, en particular, para evaluar la eficacia de la inversión. Y aquí es donde surgen las ambigüedades con la aplicación.





Descripción del problema

Lo consideraré usando el ejemplo de mi cartera (no IIS) en una aplicación móvil. (A partir de la fecha de publicación, la aplicación puede actualizarse).





En la pantalla principal, vemos significados alentadores:





Inmediatamente tengo preguntas aquí:





  • ¿Cómo se calculó esta cantidad verde y el 12,21%? Además, hace unos días tenía algo de + 17%, luego arreglé un valor con una ganancia, el valor de la cartera se mantuvo casi sin cambios, pero este "porcentaje total" verde cayó inmediatamente a 12,21.





  • Para todo el tiempo, ¿se trata de varios años de inversión? También hay una opción: por hoy. ¿Y qué porcentaje tengo, por ejemplo, durante un año?





  • Mi cartera está compuesta casi en su totalidad por valores extranjeros y USD. ¿Cómo se tradujo a rublos: al tipo de cambio del Banco Central o en el mercado?





  • ¿Cuánto de esta cantidad tendré realmente después de impuestos y comisiones si vendo la cartera completa y retiro el dinero?





, :





+955 644, 2 ?





, , , .





, .





! -.





. 4 +6,67%, 2020 , +31,41%. , , S&P 500 2020 16,26%. , , . , +12,21% , .. 2019 2018 . , , , .





, , :





  • , ,









  • ,





  • , ,





, , , , . , USD , .





  • , Excel, Excel Google Sheets.





, , . , .





Tinkoff API - , .





, API . , .





API

Open API :





https://tinkoffcreditsystems.github.io/invest-openapi/





SDK: Java, C#, Go, NodeJS.





: Python @daxartio,Python @Awethon, Python @Fatal1ty, PHP, Ruby.





, . , DIY Arduino- WiFi, , WEB- - . .., Arduino Wiring ( C++).





Python, - print('Hello World')



. , , API Python.





.





.





: , API.





, :





  • Python









  • PIP tinvest





, Idle, :





import tinvest







API:





client = tinvest.SyncClient(account_data['my_token'])







my_token API key, .





-, API .





:





positions = client.get_portfolio()



, .





. .





operations = client.get_operations(from_=account_data['start_date'], to=account_data['now_date'])







( ):





course_usd = client.get_market_orderbook(figi='BBG0013HGFT4', depth=20







course_eur = client.get_market_orderbook(figi='BBG0013HJJ31', depth=20)







, , :





currencies = client.get_portfolio_currencies()







print



, :





for pos in positions.payload.positions:







print('name:', pos.name)







print('ticker:', pos.ticker)







print('balance:', pos.balance)







print('currency:', pos.average_position_price.currency)







print('price:', pos.average_position_price.value)







print(' ')







- Excel . XlsxWriter:





https://xlsxwriter.readthedocs.io/





import xlsxwriter







excel . - . , , , / :





ecxelFileName = 'tinkoffReport_' + today + '.xlsx'







workbook = xlsxwriter.Workbook(ecxelFileName)







worksheet = workbook.add_worksheet()







, , , , API, :





, , , , , .





: .





Idle, - : ( !)





NO REPITAS

Python, , , -, .





, , .





Python

, PyCharm.





, PEP8 ( ).





Python : https://www.w3schools.com/





, .





, , . . , , - , , . , , . , https://stackoverflow.com/





3 ( .py) .txt .





main.py - , . , , . API .





data_parser.py - , , .





excel_builder.py - , , main.py .





-

:





(, API):





name -





ticker -





balance -





currency -





ave.price -





exp.yield - ( )





, , , 955 644 (+12,21%) - exp.yield .





, :





market price - (ave.price + exp.yield)





% change - (market_price / ave.price) * 100) - 100)





market value - (market_price * balance)





market value RUB - ( )





ave. % - % change. , . -, .





total value: - ( market value RUB)





, total value 8 782 836, : 8 782 160, --. 0,0077%. , , . - , , .





- !





, , , : .





CB value RUB - .





, 8 749 045 - , , 33 791 , .





ave.buy in RUB - . .





, , , . , , .





, (). , figi , , . , . . , .





, , Tinkoff API , , .





API , , . , , . 15 430 , 1 .





- , , , .





, :





sum.buy in RUB - (ave.buy in RUB * balance)





, 7 178 123 - , , .





tax base - (sum.buy in RUB - CB value RUB)





expected tax - 13%, , .





: 207 145 . - , .





-

, , Tinkoff API. , , :





. , . - .





( )





, , :





, , , !





, .





.





-

.





Investing period - , . , .





, , , - .





PayIn - PayOut - . 5 843 172 - .





Commissions payed - , . 17 315 , 2200 - 2% IPO , . , 15 000 , , , . $1000 18,22 .





, - "" IPO . API .





Taxes payed - , . , , , .





, W8BEN, , , , .





, 117 631 , , , 207, .





: , $100 60 , , 80, $100, 260 , , , 6000, 8000, $ .





Clean portfolio - . , , . , , . , $116000 , - 2000. , . , .





Profit - , . Clean portfolio - (PayIn - PayOut), .., , , . 2 732 519, " " " " , 207. 2500 . , .





-, , .





. , . , , , , , . - XIRR Excel, , . - , .





, , , .





, , , .





, , .





: Excel, Excel, Google Sheets, .





GitHub





.exe , Python , ( , , ).





Python .





Espero que la información sea útil para mejorar la interacción con las aplicaciones Tinkoff, trabajar con API y desarrollar programas similares, así como contribuir a una inversión más informada y, por lo tanto, aumentar su bienestar. Gracias por leer hasta el final.








All Articles