### Motivation

In this paper we use Monte Carlo simulation to show the relationship between the Information Coefficient (IC), correlation, decile returns, and linear regression.^{1} We can also gain insight into investment related questions, such as

- What level of IC is considered good?
- What effect does volatility have on the spread?
- What effect does universe size have on the hit rate?

We will start off by defining some terms so we are all on the same page.

- The
*Spread*is the difference between the average top decile return and the average bottom decile return. - The
*IC*is the correlation between two series, here the return series and the exposure series. The regular Pearson correlation can be used here, but most times Spearman’s Rank correlation is used because it is less effected by outliers. - A
*linear model*is the regression of one series versus another resulting in an intercept and a coefficients which describes the relationship between the two variables. *R-squared*measures the goodness of fit of the linear model. It is also referred to as the coefficient of determination.

### Simulation Process

We proceed by assuming asset returns are normally distributed and we generate two random series from a bivariate normal distribution with given mean and correlation. We will call the first random series the *returns* and call the second random series the *exposures*. The *exposures* represent the factor, which could be momentum, book to price, or any other factor.

As defined above, the correlation between the two random series is the IC. Here is how each simulation is performed

- Divide into deciles based on exposures
- Calculate spread between top decile and bottom decile
- Calculate the IC
- Run a linear regression

### Base case

To run the simulation we use the R programming language’s multivariate random number generator function *mvrnorm* from the MASS package to generate two series for each simulation. Both series have zero mean. They only thing they have in common is a correlation, which we vary from zero to twenty percent. Before going further into the details, let’s have a look at some simulations so we can describe how everything relates.

Correlation | Return.Vol | Exposure.Vol | Spread | Pct.Positive | IC | R.squared | R | Coef | Scaled.IC |
---|---|---|---|---|---|---|---|---|---|

0.00 | 0.08 | 0.08 | -0.638 | 0.500 | 0.000 | 0.001 | 0.025 | 0.000 | 0.000 |

0.01 | 0.08 | 0.08 | 28.493 | 0.597 | 0.010 | 0.001 | 0.027 | 0.010 | 0.010 |

0.02 | 0.08 | 0.08 | 58.468 | 0.692 | 0.019 | 0.001 | 0.031 | 0.020 | 0.019 |

0.03 | 0.08 | 0.08 | 83.163 | 0.762 | 0.028 | 0.002 | 0.035 | 0.030 | 0.028 |

0.04 | 0.08 | 0.08 | 112.369 | 0.846 | 0.038 | 0.003 | 0.043 | 0.040 | 0.038 |

0.05 | 0.08 | 0.08 | 142.996 | 0.895 | 0.048 | 0.004 | 0.052 | 0.051 | 0.048 |

0.06 | 0.08 | 0.08 | 169.838 | 0.937 | 0.058 | 0.005 | 0.061 | 0.060 | 0.058 |

0.07 | 0.08 | 0.08 | 198.313 | 0.956 | 0.067 | 0.006 | 0.071 | 0.071 | 0.067 |

0.10 | 0.08 | 0.08 | 286.839 | 0.993 | 0.097 | 0.011 | 0.101 | 0.101 | 0.097 |

0.20 | 0.08 | 0.08 | 562.637 | 1.000 | 0.192 | 0.041 | 0.201 | 0.201 | 0.192 |

You can see from the title of Table 1 that we run 3000 simulations, each with 1000 assets. By assets we mean how long each random series is and by simulations we mean how many random samples we draw. The values shown in the table are averages of all the simulations. The first column shows the correlation, which represents the *information*. The next two columns show the volatility of the *Returns* series and the *Exposures* series, which we have set to 8% for now, but will very later. The Spread shows one measure of the performance of the *factor*. The *Exposures* series is our *factor* and we create deciles based on that series. Once we have the deciles, we average the *Returns* for each decile. The spread is the difference between the top decile average return and the bottom decile average return. The percent positive column shows what proportion of the spreads are positive. Each simulation produces one spread, so since we have 3000 simulations, we have 3000 spreads. The average of these spreads is the spread column and the proportion positive is the percent positive column. The IC is the average correlation between the *exposures* and *returns* series and is another standard measure of the performance of a *factor*. Measuring the correlation between two factors is a quick and easy way to see how closely they are related, and how powerful the *exposures* may be in predicting *returns*. Another way to do so is to run a regression of the *exposures* on the *returns*. The regression function provides three main outputs, the y-intercept, the coefficient, and the R-squared measure. The R-squared is a measure of the goodness of fit of the regression equation. The square root of the R-squared statistic returns the IC (to a close approximation). In this simple one-variable linear regression framework the coefficient is equivalent to the correlation that was introduced to the two random series. Lastly, the coefficient can be approximated by the scaled IC as defined in the formula below:

\[Scaled.IC = \frac{\sigma_{returns}}{\sigma_{exposures}} * IC\]

In this table both the *returns* and *exposures* have the same standard deviation, so the volatility ratio is one, so it doesn’t seem very informative, but in the next table we will run simulations with a higher *returns* volatility and you will see the formula holds.

Remember that these are random series with zero mean, so the only information content is the correlation. By running enough simulations we can reliably approximate the true correlation by both the IC and the R (the square root of the regression R-squared statistic). We can also approximate the coefficient by calculating the scaled IC.

### Correlation, IC, and hit rate

As you can see from the base case simulation run, the correlation and the IC are closely linked. In these simulations the correlation is the given relationship between *returns* and *exposures* and the IC is a measurement of how well our signal (or rank in this case) works.^{2}

The percent positive (Pct.Positive) column shows the number of simulation runs (out of 3000) that the spread was positive. This number is often called the hit rate. If the factor has a zero correlation we would expect a hit rate of 0.5 (or 50%). A correlation of one percent bumps the hit rate up to almost 60% and two percent gets us to 68%. Usually ICs in the range of 5% to 10% are considered very good. The hit rate in that case would be between 89% and 99%, which is very good indeed. Note that this is on a large universe of 1000 assets. We will see later that the hit rate declines rapidly as the number of assets falls.

### Higher Return Volatility

In the next set of simulations we increase the return volatility from 8% to 16%.

Correlation | Return.Vol | Exposure.Vol | Spread | Pct.Positive | IC | R.squared | R | Coef | Scaled.IC |
---|---|---|---|---|---|---|---|---|---|

0.00 | 0.16 | 0.08 | 4.706 | 0.519 | 0.001 | 0.001 | 0.025 | 0.002 | 0.002 |

0.01 | 0.16 | 0.08 | 57.221 | 0.610 | 0.009 | 0.001 | 0.027 | 0.020 | 0.019 |

0.02 | 0.16 | 0.08 | 110.529 | 0.689 | 0.019 | 0.001 | 0.030 | 0.040 | 0.039 |

0.03 | 0.16 | 0.08 | 173.812 | 0.781 | 0.029 | 0.002 | 0.036 | 0.062 | 0.059 |

0.04 | 0.16 | 0.08 | 228.217 | 0.842 | 0.038 | 0.003 | 0.043 | 0.080 | 0.076 |

0.05 | 0.16 | 0.08 | 277.866 | 0.893 | 0.048 | 0.003 | 0.051 | 0.100 | 0.096 |

0.06 | 0.16 | 0.08 | 340.273 | 0.930 | 0.058 | 0.005 | 0.061 | 0.121 | 0.115 |

0.07 | 0.16 | 0.08 | 388.867 | 0.957 | 0.066 | 0.006 | 0.070 | 0.139 | 0.132 |

0.10 | 0.16 | 0.08 | 566.175 | 0.996 | 0.096 | 0.011 | 0.101 | 0.202 | 0.192 |

0.20 | 0.16 | 0.08 | 1123.468 | 1.000 | 0.192 | 0.041 | 0.201 | 0.402 | 0.384 |

Doubling the *returns* volatility basically doubles the spread. The IC and the regression R (the square root of R-squared) still match the actual correlation between the two random series, but the coefficient is twice as large as in the previous table. This is because the *returns* volatility is now twice as high as the *exposures* volatility. The regression coefficient is accurately estimated by the scaled IC measure.

### Lower Volatility

In the next table we simulate both series with only 2% volatility (for both *returns* and *exposures*). For a given correlation, the percent positive, IC, and coefficients are all comparable to the base case, but the spread is much lower. The *returns* volatility is what creates the opportunity to profit and if the correlation is high enough the investor can capitalize on the hit rate (percent positive).

Correlation | Return.Vol | Exposure.Vol | Spread | Pct.Positive | IC | R.squared | R | Coef | Scaled.IC |
---|---|---|---|---|---|---|---|---|---|

0.00 | 0.02 | 0.02 | -0.288 | 0.507 | 0.000 | 0.001 | 0.025 | 0.000 | 0.000 |

0.01 | 0.02 | 0.02 | 5.851 | 0.582 | 0.009 | 0.001 | 0.026 | 0.009 | 0.009 |

0.02 | 0.02 | 0.02 | 14.205 | 0.691 | 0.019 | 0.001 | 0.031 | 0.020 | 0.019 |

0.03 | 0.02 | 0.02 | 21.133 | 0.765 | 0.029 | 0.002 | 0.036 | 0.030 | 0.029 |

0.04 | 0.02 | 0.02 | 29.135 | 0.853 | 0.039 | 0.003 | 0.044 | 0.041 | 0.039 |

0.05 | 0.02 | 0.02 | 35.756 | 0.897 | 0.048 | 0.003 | 0.051 | 0.050 | 0.048 |

0.06 | 0.02 | 0.02 | 41.340 | 0.926 | 0.056 | 0.004 | 0.060 | 0.059 | 0.056 |

0.07 | 0.02 | 0.02 | 48.874 | 0.957 | 0.067 | 0.006 | 0.070 | 0.070 | 0.067 |

0.10 | 0.02 | 0.02 | 70.852 | 0.991 | 0.096 | 0.011 | 0.101 | 0.101 | 0.096 |

0.20 | 0.02 | 0.02 | 139.786 | 1.000 | 0.191 | 0.041 | 0.200 | 0.200 | 0.191 |

All the usual relationships hold. The only difference is that the spread is much lower due to the lower volatility of the *returns* series.

### Higher Exposure Volatility

Correlation | Return.Vol | Exposure.Vol | Spread | Pct.Positive | IC | R.squared | R | Coef | Scaled.IC |
---|---|---|---|---|---|---|---|---|---|

0.00 | 0.08 | 0.16 | -4.077 | 0.479 | 0.000 | 0.001 | 0.025 | 0.000 | 0.000 |

0.01 | 0.08 | 0.16 | 26.704 | 0.595 | 0.009 | 0.001 | 0.026 | 0.005 | 0.005 |

0.02 | 0.08 | 0.16 | 54.774 | 0.684 | 0.019 | 0.001 | 0.030 | 0.010 | 0.009 |

0.03 | 0.08 | 0.16 | 87.609 | 0.774 | 0.029 | 0.002 | 0.036 | 0.015 | 0.015 |

0.04 | 0.08 | 0.16 | 112.298 | 0.827 | 0.038 | 0.003 | 0.043 | 0.020 | 0.019 |

0.05 | 0.08 | 0.16 | 142.001 | 0.890 | 0.048 | 0.004 | 0.052 | 0.025 | 0.024 |

0.06 | 0.08 | 0.16 | 169.091 | 0.940 | 0.058 | 0.005 | 0.061 | 0.030 | 0.029 |

0.07 | 0.08 | 0.16 | 196.384 | 0.958 | 0.066 | 0.006 | 0.070 | 0.035 | 0.033 |

0.10 | 0.08 | 0.16 | 282.522 | 0.995 | 0.096 | 0.011 | 0.101 | 0.050 | 0.048 |

0.20 | 0.08 | 0.16 | 560.802 | 1.000 | 0.192 | 0.041 | 0.200 | 0.100 | 0.096 |

When the *exposures* volatility is twice as high as the *returns* volatility the spread remains comparable to the base case, but the scaled IC drops in half, as does the regression coefficient. Clearly, we want the volatility to be on the *returns* and not on the *exposures*.

### Non-zero Mean

Correlation | Return.Vol | Exposure.Vol | Spread | Pct.Positive | IC | R.squared | R | Coef | Scaled.IC |
---|---|---|---|---|---|---|---|---|---|

0.00 | 0.08 | 0.08 | -0.432 | 0.503 | 0.001 | 0.001 | 0.025 | 0.000 | 0.001 |

0.01 | 0.08 | 0.08 | 30.924 | 0.617 | 0.010 | 0.001 | 0.026 | 0.011 | 0.010 |

0.02 | 0.08 | 0.08 | 56.714 | 0.695 | 0.020 | 0.001 | 0.030 | 0.021 | 0.020 |

0.03 | 0.08 | 0.08 | 80.701 | 0.766 | 0.028 | 0.002 | 0.035 | 0.029 | 0.028 |

0.04 | 0.08 | 0.08 | 112.547 | 0.839 | 0.038 | 0.003 | 0.043 | 0.040 | 0.039 |

0.05 | 0.08 | 0.08 | 140.570 | 0.890 | 0.047 | 0.003 | 0.051 | 0.050 | 0.047 |

0.06 | 0.08 | 0.08 | 169.998 | 0.941 | 0.058 | 0.005 | 0.061 | 0.061 | 0.058 |

0.07 | 0.08 | 0.08 | 198.745 | 0.961 | 0.067 | 0.006 | 0.070 | 0.070 | 0.067 |

0.10 | 0.08 | 0.08 | 280.764 | 0.992 | 0.095 | 0.011 | 0.100 | 0.100 | 0.095 |

0.20 | 0.08 | 0.08 | 557.761 | 1.000 | 0.190 | 0.041 | 0.199 | 0.199 | 0.190 |

While generally a higher return is better, in this case we are measuring the spread, which is the difference between the average return in the top decile minus the average return in the bottom decile. So a higher return just increases the average return, but does not (necessarily) benefit the top decile more than the bottom decile, leaving the spread pretty much the same. As you can see, all the other metrics are comparable as well. The correlation and volatility are the two driving forces of factor performance.

### Small Number of Assets

Correlation | Return.Vol | Exposure.Vol | Spread | Pct.Positive | IC | R.squared | R | Coef | Scaled.IC |
---|---|---|---|---|---|---|---|---|---|

0.00 | 0.08 | 0.08 | 2.743 | 0.500 | 0.000 | 0.013 | 0.092 | 0.000 | 0.000 |

0.01 | 0.08 | 0.08 | 41.387 | 0.533 | 0.013 | 0.013 | 0.090 | 0.013 | 0.013 |

0.02 | 0.08 | 0.08 | 51.954 | 0.550 | 0.019 | 0.013 | 0.090 | 0.020 | 0.019 |

0.03 | 0.08 | 0.08 | 82.952 | 0.586 | 0.026 | 0.013 | 0.093 | 0.028 | 0.026 |

0.04 | 0.08 | 0.08 | 119.440 | 0.627 | 0.038 | 0.014 | 0.095 | 0.040 | 0.038 |

0.05 | 0.08 | 0.08 | 146.190 | 0.645 | 0.046 | 0.015 | 0.099 | 0.049 | 0.046 |

0.06 | 0.08 | 0.08 | 157.657 | 0.655 | 0.054 | 0.016 | 0.103 | 0.058 | 0.054 |

0.07 | 0.08 | 0.08 | 189.840 | 0.679 | 0.068 | 0.018 | 0.108 | 0.071 | 0.068 |

0.10 | 0.08 | 0.08 | 284.893 | 0.757 | 0.095 | 0.023 | 0.124 | 0.100 | 0.096 |

0.20 | 0.08 | 0.08 | 537.482 | 0.917 | 0.186 | 0.050 | 0.199 | 0.197 | 0.187 |

As mentioned earlier, when we lower the number of assets to 80 the hit rate (Pct.Positive) falls substantially. The rest of the metrics are similar to the base case. Quantitative investing is a numbers game, where is pays to have as much breadth as possible. With 5% correlation and 1000 assets the simulated hit rate was 89%. With only 80 assets the simulated hit rate falls to around 63%. 63% is not bad for a hit rate, but you have to make numerous “bets” to get that advertised number. If you are only investing in a small number of assets, you could get a resulting hit rate that is much worse (or better) than the advertised hit rate.

### Conclusion and Shiny App

This paper has explained the relationship between the Information Coefficient (IC) and linear regression model output. These simulations should help you understand the important of correlation in factor investing and what level of IC and/or correlation will yield acceptable results. We have shown that the larger the universe the better the expected hit rate (for a given correlation). We have shown that *returns* volatility is good and the *exposures* volatility is (relatively) bad. Average returns are not as important as the spread between the top and bottom deciles.

If you would like to change the parameters and run your own simulations, please visit this Shiny App link.

This paper was motivated by a short paper and slides by Oliver Buckley at Invesco which can be found here(https://www.northinfo.com/documents/88.pdf).↩︎

Since this is a simple one-factor (

*exposure*) model, the IC matches the correlation very close (we are able to capture the full signal). In a multi-factor context the IC will usually be lower than the correlation because the factors will not be perfectly uncorrelated.↩︎