FX adjusted returns and cost of portfolio

Hi, I’m pretty new to stockscafe and I apologize if the phrasing of my question cannot be easily understood, but I will try my best.

May I know how stockscafe records and adjusts for FX rates for foreign investments (e.g. for USD), to SGD as displayed in portfolio performance, capital cost of portfolio etc? If i do not enter a locked FX rate when adding a buy transaction in USD, will stockscafe lock the fx rate for that particular transaction with the fx rate for the transaction date given?

Is the portfolio performance adjusted daily to the current fx rate to sgd, using an aggregation of all the “locked fx rates” in each of my buy transactions in foreign currencies? Will my cost of portfolio be tied to this aggregation of fx rates in my buy transactions, or just dependent on the current fx rates?

I am having difficulty understanding how to keep track of the fx adjusted returns of my foreign investments, in relation to the fx rate I have used to transact them. I dont find it feasible to manually track at the exact rates and amounts I exchange my SGD to USD/HKD at, as i change them on a monthly basis and might only use the full exchanged amount sporadically over the next few weeks to months.


Please give me some time to answer the questions neatly. Likely will write up a tutorial for this.


Hi Evan,

Thanks for the response, will be looking forward to it.

Song Yang


Thank you for waiting. I almost forgot about it :frowning:

It is converted with rates from here -> https://stocks.cafe/exchangerate

I did not display historical data but I do have them.

Yes, it will use the rate that I have for that particular date.

Yes, it is split into Current Value and Cost Value and then converted accordingly.
e.g. Current Value in USD100 would be converted using current FX to SGD. Then Cost Value will be based on the purchased dates’ FX.
Note: These implementation are rather new and there is a known issue at this point is that if you are short-selling, it might have some issues but I am working on it as we speak. If you noted others, do let me know.

Yes, I implemented it to be an aggregation of FX rates (either that you have determined or for that day). The way I am doing it is that there are two values stored for every transactions, Foreign currency value (e.g. USD) and Base currency value (e.g. SGD) and any operation on these transactions will continue to propagate these two values.

I totally agree with what you are saying. It is pretty difficult because you can exchange them numerous times back and forth, use a portion of it to buy stocks and when you sell stocks, it get replenished or not depending on trading platforms etc etc. Definitely a headache.
This is the reason I am not going to support that (at least not yet) else I will get lots of questions on it and bug reports.

There are three solutions in my opinion.

  1. Just use StocksCafe FX for that day. This is easiest for everyone. (I mostly default to this for my own transactions)

  2. Just use whatever rates that your trading platform is providing you on that day because in theory, you could have converted those amount back to your base currency (e.g. SGD) if you wanted so they are the ‘cost’ of FX for transactions on that day. (I use this when I exchange money specifically to make that trade)

  3. Manually track it yourself which can be tedious as you mentioned.

If you can think of any other good solutions, please let me know.

ps: As I am replying this, I think one simple solution for me to maintain and to help users would be to have a separate tool where user can enter each BUY/SELL FX transactions (with amount and rates) and StocksCafe would tell users based on that what is the average rate they currently have.
(Oh man… Guess I am digging a hole for myself for more work :frowning: )

Hi Evan,

Thanks for your helpful reply, I understand you must be swamped with requests/bugs/upkeeping of the website!

After your explanation, it seems that the 1st solution you mentioned would be the most appropriate right now, as many trading platforms have hidden fx rates, and we can only figure it out by doing a backward calculation of the foreign currency received in our accounts. However, the stock transaction date would still be on different dates, thus it would still boil down to a manually tracking them.

I feel that displaying the average FX rates (aggregation of the locked StocksCafe FX rate and manually entered FX rates for a particular stock) for stocks/portfolio denominated in foreign currencies along with the current StockCafe’s FX rate in the portfolio tab would definitely help investors have a better idea on how much unrealized gain/loss they made due to currency pair fluctuations! Or does stockcafe already have this option available? Perhaps I missed it under settings.

ps. Your idea of having a separate tool to track users’ FX transactions would definitely be the most accurate and viable for the long term, I really hope to see this in the future! Hesitant to raise a ticket for this, as I get that you are really swamped. :zipper_mouth_face:


Sure. I am happy with displaying them but not sure where and how is the best way to do it. It can be quite complex if it is shown for too aggregated number.

It is okay. Please create a ticket for it so that we can track it. Although I cannot promise for it to be around soon. I have quite a few things I wanted to work on but kept getting delays due to bugs and stuff :frowning:

I was thinking, how about here, after P&L+Div%? A.FX for average FX rate user has for the particular stock, C.FX for the current StocksCafe FX rates and FX.P&L% for their FX profit/loss %, with the option of customizing in the settings. While most users would probably just add the FX P/L% column, i guess the ability to view their average FX cost when desirable.

I guess the downside would be that while it might be useful when viewing portfolios denominated solely in one foreign currency, it will be messy when viewing the combined/overall portfolio where the stocks are not segregated by currency denomination.

If a particular stock/ETF counter is denominated in a certain currency while its underlying asset(s) and dividend distributed is actually in another currency, the FX P&L% might mislead people into thinking they have a unrealized FX gain/loss on that particular investment while in actuality they should be tracking a different currency pair.

Perhaps the best solution would simply be a column for the average FX rate user transacted in for a particular counter?

I have raised a ticket for this, thank you!

Hmmm… You can actually personalize your columns and choose their ordering as well -> https://stocks.cafe/user/toupdateportfoliopreferences

So, I guess I just need to create a few more columns to be “added” if user wants. Created a ticket for that -> https://stocks.cafe/friend/viewissue?issue_id=1842

Saw it. Thanks.