portfolio icon indicating copy to clipboard operation
portfolio copied to clipboard

Dividends paid not in fiat but in the asset itself

Open NicolaiSchmid opened this issue 4 years ago • 4 comments

I would like to implement a new feature for dividends. Currently, you can only create dividends which add a transaction balance to the reference account. With cryptocurrencies however, you can stake your assets ("stocks") and earn directly on them. For example, if I'm staking Bitcoin with BlockFi, I earn a 6% APY interest on my assets, paid out in Bitcoin itself each month.

I'm now looking to implement such a feature, where I can create a dividend, not only in the base currency (EUR, USD, ...) but in the stock/asset itself where after the dividend is booked I don't have any additional fiat in my reference account, but more of the asset in the security account.

An example:

deposit account: 0 EUR securities account: 5 BTC

I stake my 5 BTC. I get an APY of 6%.

Each month I create a manual dividend on the BTC asset, where I add 5 BTC * 1.004868 (12th root of 1.06, each month) as a dividend payout.

Now the balances are: deposit account: 0 EUR securities account: 5.02434 BTC

I don't mind implementing this feature myself, but I'm very inexperienced with this code base and Java applications in general, so I would need a little guidance where to look and how to design the architecture.

NicolaiSchmid avatar Jan 31 '21 21:01 NicolaiSchmid

Maybe easier would be to add Bitcoin or generally other currencies as currency. Then an account can be denominated in BTC for example and a dividend as well. :thinking:

stp-ip avatar Feb 05 '21 19:02 stp-ip

It's an option, but then many new issues arise. For example, an account should then be able to hold multiple currencies: EUR, USD, BTC, ETH, which you can exchange freely and whose exchange rates are fetched from data providers. But I assume that this would require a complete overhaul of the architecture and thus not viable

NicolaiSchmid avatar Feb 05 '21 19:02 NicolaiSchmid

I would love this feature and I'm wondering why that should lead to other issues. The currencies are defined in the currency section which I can not edit. As I see new exchange rates, e.g. USD/BTC, should be easily added to the list. I could define the base currency of my account as USD and buy into that account with different currencies, as I can also now with non-USD/EUR stocks?

curbaczek avatar Feb 06 '21 09:02 curbaczek

I've got securities where I prefer to get the dividends paid in fiat, and others that are re-invested into the fund. These simply show up as Dividend-only, or Dividend+Buy in the statements and are imported accordingly into Portfolio Performance.

Due to the fluctuation of price when the 'Buy' is executed this is not something you can automate easy.

At the risk of extra time inputting, would it not be easier for you to enter the data manually or find a way where it is properly listed on your statement to import?

This way you have the benefit that any fees your exchange might grab can be easily defined as well in the existing fields.

RoChess avatar Feb 08 '21 21:02 RoChess