Hi I'm currently backtesting an event-driven strategies. Unlike factor strategy which has a regular rebalancing interval, event-driven strategy is conducted whenever there is an event. Since we do not know how many signals would pop up in the future in the past timepoint, I defined unit position size per one in-out betting.

I think there can be 2 possible ways to backtest such strategy.

  1. (I think this would be a common case) Align every event-driven signal into one single timeline and check the mean return of the event. For example, if I want to test buyback event driven strategy, regardless of the announcement of the buyback event, set announcement date as 0 and last holding moment as 20 (1-month holding strategy, for example). And average the returns per day and check how long does buyback alpha persist from the announcement date.
  2. (This is the case where I get confused) I want to calculate cumulative return of this strategy. (Final amount of money I can earn by conducting this strategy) However, since there is no fixed seed money at the very first time of the backtest, how can I calculate the return? Currently, I'm tracking
  • unrealized return(evaluated return)
  • realized return
  • unit position price(number of currently held position * unit position size)
  • unit position price averaged

and final return is calculated as (unrealized return + realized return) / unit position price averaged. But is it right way to calculate cumulative return of such strategy? How can I backtest cumulative return of a strategy without fixed seed money but flexible in-out position?


1 Answer 1

  1. Typically events like those last a quarter or some variable time period. Then your position may get stop lossed half way through. So instead of forcing an alignment, just simulate a portfolio.
  2. Your strategy must start with some seed money, otherwise how can you calculate a return or do a trade? You start with some capital, and then simulate daily NAVs for your strategy and then link the daily returns to create a backyesr
  • $\begingroup$ Thanks for the answer. For the 2nd answer, I mean if I started with a seed amount of 100 then I started betting "10" per position, how should I deal with the 11th position if it is realized? | If I really want to know 'expected return per betting of the strategy", I'm curious whether such methodology is still available $\endgroup$
    – geonhwa
    Jun 30 at 7:23
  • $\begingroup$ By the way, this is how it’s done in real trading. If you want to make a new position, your code has to either sell one or resize them to fit (or borrow). Dealing with real world constraints is very important to developing a successful backtest $\endgroup$ Jul 1 at 12:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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