Tinkoff Investments adalah broker Rusia populer dengan aplikasi klien canggih untuk perangkat seluler dan browser. Aplikasi ini dirancang untuk menyederhanakan proses perdagangan dan mengurangi ambang batas untuk memasukkan investasi seminimal mungkin untuk menjaring audiens seluas mungkin.
Namun, ketika investasi menjadi serius, investor membutuhkan data portofolionya yang akurat dan rinci, khususnya untuk menilai efektivitas investasi. Dan di sinilah ambiguitas muncul dengan aplikasi tersebut.
Deskripsi masalah
Saya akan mempertimbangkannya menggunakan contoh portofolio saya (bukan IIS) di aplikasi seluler. (Dari tanggal publikasi, aplikasi dapat diperbarui).
Di layar utama, kami melihat arti yang menggembirakan:
Saya langsung punya pertanyaan di sini:
Bagaimana jumlah hijau dan 12,21% ini dihitung? Selain itu, beberapa hari yang lalu saya memiliki sesuatu tentang + 17%, kemudian saya memperbaiki satu sekuritas dengan keuntungan, nilai portofolionya hampir tidak berubah, tetapi "persentase total" hijau ini segera turun menjadi 12,21.
Untuk sepanjang waktu - apakah ini lebih dari beberapa tahun investasi? Ada juga opsi: untuk hari ini. Dan berapa persen yang saya miliki, misalnya, untuk satu tahun?
Portofolio saya hampir seluruhnya ada di sekuritas asing dan USD. Bagaimana itu diterjemahkan ke dalam rubel: dengan nilai tukar Bank Sentral atau di pasar?
Berapa banyak dari jumlah ini yang benar-benar akan saya miliki setelah pajak dan komisi jika saya menjual seluruh portofolio dan menarik uangnya?
, :
+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.
, :
-
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, - : ( !)
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, .
.exe , Python , ( , , ).
Python .
Saya berharap informasi ini berguna untuk meningkatkan interaksi dengan aplikasi Tinkoff, bekerja dengan API dan mengembangkan program serupa, serta berkontribusi pada investasi yang lebih terinformasi, dan karenanya, meningkatkan kesejahteraan Anda. Terima kasih sudah membaca sampai akhir.