Is there a way of simply seeing what percentage of my holdings are held in certain currencies?
i.e. 30% in USD 70% in GBP?
Is there a way of simply seeing what percentage of my holdings are held in certain currencies?
i.e. 30% in USD 70% in GBP?
Does this already exist in the app or is there a way of working this figure out?
@iAndy, sorry for the delayed reply. There isn’t such an option, but I understand how it would provide valuable insights about the portfolio, and I’ll pass your feedback on for consideration.
There is a way to do it semi-automatically with a reasonably recent copy of Excel. Older versions can work, too, but you’ll need to put more effort into it.
History button right at the very bottom of the pie page, then the page with down-arrow at the top right.=SORT(UNIQUE(T[Ticker]))=SUBSTITUTE(IF((SUM(FILTER(T[No. of shares],ISNUMBER(SEARCH("buy",T[Action]))*(T[Ticker]=A2)),0)-SUM(FILTER(T[No. of shares],ISNUMBER(SEARCH("sell",T[Action]))*(T[Ticker]=A2),0)))>0.00000001,XLOOKUP(A2,T[Ticker],T[Currency (Price / share)]),""),"GBX","GBP")=SUBSTITUTE(SORT(UNIQUE(B:B)),0,"")=COUNTIF(B:B,D2) — No, the 2 is not a typo, D1 contains an empty cell that is an artefact of UNIQUE()Alt+= to sum the column and note the row number you’re in=E2/E$6 — substitute the 6 for the row you just notedNB: this result isn’t weighted by value. You can adapt the formula to do that, if that’s what you want. Ping me if you need help.
It relies on spill formulae and Excel table intersection references which old versions of Excel might not support. SUBSTITUTE() is used to map GBX to GBP and to get rid of the errant 0 that you get from including empty cells. The rest of it should be fairly self-explanatory except for the big one in B2. Here’s it broken down:
=IF(..., XLOOKUP(A2,T[Ticker],T[Currency (Price / share)]),"") fetches the currency symbol associated with each ticker, or returns nothing for symbols no longer held, where ... isSUM(FILTER(T[No. of shares],ISNUMBER(SEARCH("buy",T[Action]))*(T[Ticker]=A2)),0) counts the number of shares bought for each symbol named in the cell to the leftSUM(FILTER(T[No. of shares],ISNUMBER(SEARCH("sell",T[Action]))*(T[Ticker]=A2),0) counts the number of shares sold for each symbol named in the cell to the leftIF( shares_bought - shares_sold > 0.00000001, symbol_currency, "" ) returns the symbol currency only if you still hold a position. The reason for the > 0.00000001 rather than comparing with 0 has to do with floating point rounding errors and how very, very small residual differences can sometimes be evaluated as #TRUE rather than #FALSE.Thanks for this. I will give it a go.