Skip to content
All library documents

Calculating Time-Weighted Returns with Irregular Cash Flows and FX

Article Quant Q&A · Author: finstats

Summary

The document explains how to calculate account performance when deposits, withdrawals, and currency conversions can occur at any time. It recommends treating the account like a fund: track the number of units outstanding and the net asset value per unit in a chosen base currency. At each cash flow, value the portfolio, then issue or cancel units at the prevailing unit value so that the flow itself does not distort the investment return.

Returns between valuations or cash flows are measured as percentage changes in unit value, with period returns geometrically linked for longer horizons. This produces a time-weighted return when portfolio values are available at each relevant point. The approach is accurate but requires frequent valuation and recordkeeping. Modified Dietz is presented as a less demanding approximation when full valuation is too labor-intensive, for example when valuations are less frequent. The answer does not compare the methods numerically or prescribe exchange-rate sources.

Key ideas

  • Track account units and base-currency net asset value per unit to isolate investment performance from cash flows.
  • Issue units for deposits and cancel units for withdrawals at the relevant unit value.
  • Calculate time-weighted returns from changes in unit value and geometrically link periods.
  • Frequent valuation supports accurate daily returns but increases the accounting workload.
  • Modified Dietz is offered as an approximation when full valuation is impractical.

Tags

Full text
# How to calculate the daily rate of return for an actively traded account


# How to calculate the daily rate of return for an actively traded account












I have a spot currency exchange account where the base currency is USD and where I can deposit and/or withdraw money from the account in any currency at any point in time. I can also exchange any currency to another at the market spot rate.

What is the best performance measurement to calculate the daily rate of return given that I can deposit/withdraw at any time, and can partially or completely trade an investment in one currency into another?

I have been looking at the time-weighted return (TWR), Modified Dietz method, and the IRR. However, I am not entirely sure which (if any) is the best way to calculate a daily rate of return series.

## Answer by nbbo2 (score 1)

https://quant.stackexchange.com/a/44596

I think the best way to handle this is to pretend that your account is a Mutual Fund or other collective investment vehicle that is in principle available for others to invest (even though in practice, for now, you are the only investor).

This means keeping track of two things, the number of "shares" outstanding and the Net Asset Value per share on a daily basis. (The NAV should be expressed in your "base currency", which is the currency you use on a daily basis to buy food, pay taxes, etc.).

The initial number of shares can be arbitrary (such as 10000 shares).

On any day in which you invest additional funds, at the close of business you compute the NAV/sh by valuing all securities in the portfolio (other thn the incoming cash) and dividing by the (previous) number of shares outstanding. You then issue yourself new shares in the amount of your investment divided by the NAV. You update the number of shares outstanding.

Vice versa when you withdraw money from the account you decrease the number of shares outstanding.

To compute returns between any two times of cash inflow/outflow (or two periods of complete portfolio valuation) you use the percentage change in NAV. For longer periods you can link the returns by the usual geometric linking formula.

This method will give you a perfectly accurate Time Weighted rate of return. On problem is that it is a lot of work, especially if you want daily NAVs. The other method you mention, the modified Dietz method could be used as an approximation if you think the full NAV method is too labor intensive. For example you could value the portfolio only on a monthly or quarterly basis. So it depends how much work you want to do.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.