I have been looking through / using Quantopians' Alphalens library to measure/create new factors, and I had some questions in evaluating the credibility of the factor.

This is what I have:

  • I have created a factor that ranks stocks from ranking 1 to 10.
  • Each factor is supposed to have a predictive power for 5-day total return for groups of stocks in each score.

These are the statistics that I have gathered using above score's return over 3-year period.

  • factor with score = 1

  • number of data points = 12,659

  • number of trading days: 850

  • average return over 5 days: 0.0026

  • standard deviation of return over 5 days: 0.06

  • factor with score = 10

  • number of data points = 11,397

  • number of trading days: 850

  • average return over 5 days: -0.01

  • standard deviation of return over 5 days: 0.058

From the above, I am not sure what is the correct way of measuring the effectiveness of the factor. I know that t-statistics can be calculated using:

sqrt[number_of_samples] * (average return over horizon) / (sample standard deviation over horizon)

However, from the strategy's sharpe-ration perspective, below are used:

sqrt[252 trading days / 5 - because we are talking about 5 day return?] * (average return over 5 days) / (sample standard deviation over 5 days).

Is this correct way of evaluating the signal in above example?

To summarize, my question is the confusion coming in the process of identifying / validating the effectiveness of the factor that I have constructed.

I appreciate your time and help in advance.

  • $\begingroup$ So extending above, what is the t-stat for this factor for factor with score = 10? Is it going to be sqrt(12659) * (-0.01) / (0.058) ? Or, is it going to be: sqrt(252/5) * (-0.01) / (0.058)? $\endgroup$ – curiousquant Oct 29 '20 at 14:17
  • $\begingroup$ Why 5 days? It sounds like that's part of your strategy (ie, determine direction, take position, cover five days later), in which case it's better if you simply calculate PnL inclusive of your strategy and simply calculate Sharpe, etc from that. Quick and dirty though, return/SD gives you a quick proxy for Sharpe. $\endgroup$ – Chris Oct 29 '20 at 16:31

Your Answer

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

Browse other questions tagged or ask your own question.