-
Notifications
You must be signed in to change notification settings - Fork 58
/
config-example.yaml
215 lines (176 loc) · 7.92 KB
/
config-example.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
portfolios:
-
# Name which will identify your portfolio in commands
name: ib
# Specifies broker
broker: interactive-brokers
# Path to a directory with broker statements
statements: ~/Brokerage/Interactive Brokers/Statements
# Base currency of your account
currency: USD
# Tax remapping rules (https://github.com/KonishchevDmitry/investments/blob/master/docs/brokers.md#ib-tax-remapping)
#tax_remapping:
# - date: 2020.02.13
# description: BND(US9219378356) Cash Dividend 0.19834500 USD per Share - US Tax
# to_date: 2019.02.06
# Sometimes stocks are renamed without any corporate action (see https://github.com/KonishchevDmitry/investments/issues/29)
# Manual corporate action specification solves the issue.
#corporate_actions:
# - date: 2020.11.03
# symbol: CBL
# type: rename
# new_symbol: CBLAQ
# Specifies which instruments' performance should be merged into the specified instrument during performance
# analysis. This may be useful for example when you replace one ETF by another but very similar and want to know how
# performant is your choice over the all elapsed time.
#merge_performance:
# IGM: [VGT]
# When investments tries to rebalance your portfolio according to the specified weights it may lead to orders like
# "buy 1 XXX stock, sell 1 YYY stock" which may be too expensive in terms of commissions. This option sets minimum
# trade volume per stock which solves the issue.
min_trade_volume: 200
# Free cash assets that must left after portfolio rebalancing
min_cash_assets: 50
# restrict_selling/restrict_buying options may be applied to the whole portfolio, asset groups or individual stocks
# and restrict the specified action.
restrict_selling: true
# Describes your target assets allocation for portfolio rebalancing. Positions can be grouped with unlimited nesting
# level.
assets:
- name: Stocks
weight: 70%
assets:
- {name: Vanguard Total Stock Market ETF, symbol: VTI, weight: 75%}
- {name: Vanguard Total International Stock ETF, symbol: VXUS, weight: 25%}
- name: Bonds
weight: 30%
assets:
- {name: Vanguard Total Bond Market ETF, symbol: BND, weight: 50%}
- {name: Vanguard International Bond ETF, symbol: BNDX, weight: 50%}
- name: firstrade
broker: firstrade
statements: ~/Brokerage/Firstrade/Statements
# Firstrade may use outdated symbol names in broker statements. You can remap them to the actual ones.
symbol_remapping:
ISI: ITOT
# Some brokers don't provide instrument names or provide them in non-human-friendly form. You can specify your own
# instrument names.
instrument_names:
ITOT: iShares Core S&P Total U.S. Stock Market ETF
IXUS: iShares Core MSCI Total International Stock ETF
AGG: iShares Core U.S. Aggregate Bond ETF
IAGG: iShares Core International Aggregate Bond ETF
REET: iShares Global REIT ETF
- name: bcs
broker: bcs
plan: Инвестор
statements: ~/Brokerage/БКС/Отчеты Брокера
# For some instruments BCS shows ISIN or symbol with some exchange-specific suffixes instead of actual symbol name.
# This mapping allows you to manually remap BCS names to actual symbol names.
symbol_remapping:
RU000A101X76: TMOS
RU000A100HQ5: VTBE
# Configuration for Individual Investment Account (Type 2)
tax_exemptions: [tax-free]
tax_payment_day: on-close
- name: open
broker: open-broker
plan: Всё включено
statements: ~/Brokerage/Открытие/Отчеты Брокера
# Dividends and corporate actions are identified by some internal stock names in Open Broker statements. There is no
# any mapping of them to stock symbols in the statements, so we have to specify it manually.
instrument_internal_ids:
ROS AGRO PLC-GDR: AGRO
ГАЗПРОМ-ао-2: GAZP
# Configuration for Individual Investment Account (Type 1)
tax_payment_day: on-close
tax_deductions:
2018.09.25: 52000
currency: RUB
min_cash_assets: 250
restrict_selling: true
assets:
- name: Stocks
weight: 80%
assets:
- {name: FinEx MSCI USA UCITS ETF, symbol: FXUS, weight: 75%}
- name: Other world
weight: 25%
assets:
- {name: FinEx MSCI Germany UCITS ETF, symbol: FXDE, weight: 37%}
- {name: FinEx Russian RTS Equity UCITS ETF, symbol: FXRL, weight: 32%}
- {name: FinEx MSCI China UCITS ETF, symbol: FXCN, weight: 31%}
- {name: FinEx Tradable Russian Corporate Bonds UCITS ETF, symbol: FXRU, weight: 20%}
- name: sber
broker: sber
plan: Самостоятельный
statements: ~/Brokerage/Сбер/Отчеты Брокера
# Configuration for Individual Investment Account (Type 3):
tax_exemptions: [tax-free]
tax_payment_day: on-close
tax_deductions:
# Received tax deductions can be specified here and will be taken into account during portfolio performance analysis
2024.08.25: 52000
- name: tinkoff
broker: tinkoff
plan: Инвестор
statements: ~/Brokerage/Тинькофф/Отчеты Брокера
# Configures the account as account to which long-term ownership tax exemption can be applied
tax_exemptions: [long-term-ownership]
# Tinkoff doesn't provide any information about corporate actions, so we have to specify them manually
#corporate_actions:
# - {date: 2020.10.27, symbol: NEE, type: stock-split, ratio: 4:1}
# - {date: 2022.06.27, symbol: FXRB, type: delisting, quantity: 12460} # FinEx FXRB fund lost all its assets and has been closed
# - {date: 2023.03.24, symbol: "700", type: stock-dividend, stock: "3690", quantity: 14} # Tencent Holdings paid dividends with Meituan shares
# Starting from 2021 progressive tax rate has replaced the fixed one in Russia. Here you can specify your non-investment
# income by year to make investments calculate tax rate taking into account this tax base.
#
# Starting from 2025 we've got progressive tax rate with two separate tax bases for income from employment and
# investments, so for years starting from 2025 this configuration setting is ignored, since it's different tax base.
#taxes:
# income:
# 2021: 4_321_012
# 2022: 5_432_101
# Your individual broker + bank account configuration. For now specifies your bank commissions for transferring funds
# from your bank account to your broker account. Will be taken into account during portfolio performance analysis.
brokers:
firstrade:
deposit_commissions:
USD: {fixed_amount: 0}
interactive_brokers:
deposit_commissions:
RUB: {fixed_amount: 0}
USD: {fixed_amount: 0}
tinkoff:
# Sandbox token from https://tinkoff.github.io/investAPI/token/
#api_token: secret
# Stock quotes providers (see https://github.com/KonishchevDmitry/investments/blob/master/docs/quotes.md for details)
quotes:
fcsapi:
# Access key that must be obtained here - https://fcsapi.com/
access_key: secret
finnhub:
# API token that must be obtained here - https://finnhub.io/register
token: secret
#custom_provider:
# url: http://localhost/
#static:
# RSHE: 95.02 RUB
# 83010: 45.26 CNY
# This field is always ignored. You can place any data inside of it and use YAML anchors to refer repeatable
# configuration values from other places of the configuration file. For example, you may refer a single asset
# allocation configuration from multiple portfolios.
#anchors: {}
deposits:
- name: Тинькофф
open_date: 2019.01.31
close_date: 2019.07.31
amount: 190000
#currency: RUB
interest: 7
capitalization: true
contributions:
2019.02.05: 60000
2019.02.21: 50000
# Configures the number of days to notify before deposit closing (for --cron mode)
notify_deposit_closing_days: 10