Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Daily returns of a strategy definition

Hi,
I am currently working on trying to generate quantitative strategy reports using pyfolio. I particularly found the bayesian tear sheet generation to be quite a handy tool for the same, I however cannot seem to come up with a logical definition of the daily returns of a strategy, it is easy to define the same for a single symbol, how is it defined for a strategy? Also there are bound to be days when the strategy does not take any new positions/does not have ANY open positions, how do we define the returns in such a case?

Any help would be appreciated, thanks!

4 responses

The daily returns for a strategy, or more precisely, the daily returns of the portfolio simulated by an algo backest, are simply the gain in portfolio value from yesterday close to today. It's calculated after the close each day. Can be represented like this

portfolio_value = sum_of_long_positions + sum_of_short_positions + cash  
daily_return = (portfolio_value_today - portfolio_value_yesterday) / abs(portfolio_value_yesterday)

Notice this is an arithmetic return and not a log return. To sum up the total return of the portfolio one would need to change to log return before summing.

This definition of 'daily returns' is independent from whether the strategy trades or even if it has any positions. In fact, if the portfolio didn't trade at all and was always in cash, then the daily return would be zero. One other point to notice. Dividends are automatically added to the portfolio by the backtest engine which increases cash. Likewise, commissions are subtracted from cash.

Hope that helps.

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

Thanks for replying Dan
I had suspected something along those lines as well. So this means if the strategy had no open positions the return is 0, but if it has any open position, we compare the returns with respect to the 'valuation' of these open positions on the previous day (not taking into account corporate actions and such), am I understanding things right in saying this?

Thanks in advance!

@Nipun Gupta Yes, your statement above is mostly correct. 'Valuation' is simply the close price of the security times the number of shares held. 'Corporate actions' are taken into consideration. Specifically, stock splits, delistings, and dividends are accounted for. Stock splits will impact the number of shares held. Delistings will reduce the shares to zero but then increase the cash by the last known value of the shares. Dividends are added as cash to ones portfolio (and therefore increase returns) on the 'pay date' BUT only if the security was held on the 'ex date'. These are all meant to reflect what would happen in a real brokerage account.

Note that one doesn't need to hold the security on the pay date to receive the dividend. Again, this is exactly the behavior in a real brokerage account. This results in the potential for having no open positions but having a positive, non-zero, return on the security's dividend 'pay date'.

Hope that makes it clearer.

Thanks for the explanation Dan,
This makes everything a lot clearer!