portfolio-performance / portfolio

Track and evaluate the performance of your investment portfolio across stocks, cryptocurrencies, and other assets.
http://www.portfolio-performance.info
Eclipse Public License 1.0
2.76k stars 579 forks source link

0€ Inbound delivery (or: How to handle scrip dividends?) #3365

Open edemiguel opened 1 year ago

edemiguel commented 1 year ago

Would it be possible to allow a free inbound delivery? It would be great for my scrip dividends and the way the tax authorities want me to account for the new shares. I'm currently accounting 0,01€ but it souldn't be like that and I'm sure that the comunity would mind to allow 0€ inbounds deliveries. It's also a minor change and it would help many other users. Thanks!!!

Nirus2000 commented 1 year ago

0,00 €/$ transactions are worthless transactions and are not imported. Also, worthless transactions make the performance calculation useless and that is the main content of PP. Therefore I can take away any hope that this will ever be integrated into PP.

edemiguel commented 1 year ago

It's not a worthlesss transaction, I just have to accounted it as 0€. However it lets you account a "-1,00€" Inbound delivery. Does it make any sense? I don't really know how it would affect calculation but I don't think that PP should be so strict in this case. If that validation still exists I'll have to account those inbound deliveries as 0,01 €/$

buchen commented 1 year ago

@edemiguel the problem with an inbound delivery of 0 is that it makes the downstream calculations difficult. The performance of something that was delivered with a value 0 is always infinite. Even if you get just 1 cent dividend on something that was valued at 0. And then I cannot properly calculated TTWROR or IRR.

It would be great for my scrip dividends and the way the tax authorities want me to account for the new shares.

One thing of course would be to support scrip dividends in PP natively.

But for now, I think the fairer way would be to record dividends (on a cash account) and then have a purchase of shares for exactly this amount. The "value" of the dividends would be the value of those shares at that point in time.

If you record an inbound delivery, it is performance neutral. But it should be reflected in the performance (it was earned dividend).

What do you think?

edemiguel commented 1 year ago

@buchen thank you for your helpful anwer. That's what I really want "support scrip dividends in PP natively". I just thought that with that minor change it would be faster.

miniwark commented 1 year ago

Maybe similar to #1506 ?

starze commented 1 year ago

Hi @buchen, I was referred to this Issue from Nirus in https://forum.portfolio-performance.info/t/interactive-brokers/276/268,

as long as #1334 is not implemented, it would be helpful for me to allow importing of 0$ transactions (for Options) again.

I understand, that the calculation of TTWR and IRR is in some cases difficult (division by 0) but I was wondering it this is also a problem for the following Use-Case:

Datum Typ Wertpapier Stück Kurs Betrag Gebühr Steuern Gesamtpreis
24.04.2023, 14:55 Verkauf DIS 28APR23 100 C 100 USD 0,92 USD 92,00 USD 1,05 USD 90,95
28.04.2023, 16:20 Kauf DIS 28APR23 100 C 100 USD 0,00 USD 0,00 USD 0,00 USD 0,00

In this case the "gain" is the first transaction (Selling -100 peaces for a price -90,95$ makes a direct "income" of 90,95$. This is no profit as long as the share price is at the same level. But the share price decreases over time so the (virtual) profit will rice until (in the good-case scenario) the expire-Date of 28APR23 is reached. Brokers (i.e. Interactive-Brokers, Captrader, ...) handle expired Options as a Buy-Order with no fees and a price of 0$.

I like this mental model because it is easy to understand and exactly the same behavior as the transaction-details overview of Brokers like IB.

So I was wondering if it is somehow possible to handle these transactions in Portfolio-Performance the same way as Interactive-Brokers does?

PP < 0.63 accepted 0$ transactions in this use-case. But I am not sure if the TTWR and IRR calculations reflected everything properly? So I somehow understand, that we need to block 0$ importings for scrip dividends. But isn't it still a valid solution for Option-sellers? If yes, maybe we could introduce a warning message in the Flex-Query-Import-Dialog and maybe only when there is no matching short-position. Another Idea would be a Import-Dialog warning that can be overwritten by option-selling users.

Kind regards, and thx for all your hard work!

Nirus2000 commented 1 year ago

Understandable... but we have to consider not only the IB-Flex-Query Importer, but also the CSV-Importer, the PDF-Importers and of course the manual import. Then there are the key figure calculations and the evaluations.