JerBouma / FinanceToolkit

Transparent and Efficient Financial Analysis
https://www.jeroenbouma.com/projects/financetoolkit
MIT License
2.99k stars 361 forks source link

Clarification on Calculating Excess Returns in Non-US Markets with Different Currencies #126

Closed kurucan closed 8 months ago

kurucan commented 8 months ago

Could you provide a detailed explanation to the documentation that elaborates on how excess returns are calculated for non-US markets in currencies other than USD? I am particularly interested in any adjustments or considerations made to account for currency differences. I would like to understand the assumptions for the risk-free rate when calculating excess returns in other currencies?

northern-64bit commented 8 months ago

Hello @kurucan !

I'm not the maintainer, but I have checked the code. Excess returns are defined as returns minus risk free rate. By default the package doesn't define a risk free rate, thus not defining the excess returns.

You should set the risk free rate to the one of the currency that you are denominating the returns/your portfolio in. So if you have your portfolio denominated in EUR and have the returns of a stock in EUR, then you should use the risk free rate "set" by the ECB, in order to calculate the excess returns. If you have a stock in EUR, but you measure your performance in USD (since this is the base currency for you), then you should convert the returns into USD returns and then use the risk free rate of the FED.

As for how currency differences are handled, all currencies must be the same to ensure accurate results, as noted in the models controller: https://github.com/JerBouma/FinanceToolkit/blob/5be9ddd31f60e9da6f7fbf91adbd2fd7544b6998/financetoolkit/models/models_controller.py#L319 Automatic conversion is only done in the financial statements: https://github.com/JerBouma/FinanceToolkit/blob/5be9ddd31f60e9da6f7fbf91adbd2fd7544b6998/README.md?plain=1#L290

So for now you have to convert all the returns into one currency and then do the calculations.

I hope that this helps!

JerBouma commented 8 months ago

Thanks for the remarks @northern-64bit but it's good to note that by default the risk free rate is set to the 10 year US Government Bond rate. Whether that makes sense for companies listed in e.g. Euro is up to you.

kurucan commented 8 months ago

Thanks for clarifying.