I got a problem when calculating the out-of-sample performance of my model. I have the following settings:

  1. I have daily data.

  2. I use a rolling window of 1 week.

  3. I use the previous six months of data to estimate my model parameters.

Thus, the model parameters are estimated every week using the previous 6 month of data. Each time the parameters are estimated the investment control remains fixed for 1 week (I do not rebalance) until the parameters are next updated.

My question is: How do I calculate performance/return including transaction cost? When I have estimated the parameters and make a trade to rebalance at day 1, do I then need to

  1. Calculate the daily return of the portfolio in the 1 week window and sum it to get the return for the week.

  2. Compute the new positions from the new estimated parameters.

  3. Compute the total expected trading cost from step 2).

  4. Subtract the total expected trading cost from the portfolio return calculated in 1.


1 Answer 1

  1. Holding period return would be more appropriate. Calculate your one week return by using your ending portfolio NAV. The easiest way to do this would to be to store number of shares in each position and multiply by price after one week to obtain your new NAV.

  2. Yes.

  3. Yes.

  4. No, subtract it from your ending portfolio NAV. The process is as follows:

    • Estimate parameters/train model
    • Determine positions through model
    • Calculate trades by netting new portfolio with current portfolio.
    • Determine position sizes in terms of % of pre-trade NAV. Add trading costs as % of pre-trade NAV. The total sum of the pre-trade position sizes will now exceed 100%. Proportionally resize such that the new positions plus trading costs sum to 100%.
    • Execute trades. Recalculate NAV at end of the week and restart.

Total period return minus trading costs is obviously $ \cfrac{{NAV}_{end}}{NAV_{start}}-1$. It's easier to keep everything in terms of NAV until you want to calculate a period return, since your trades will be calculated off of NAV.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.