Random correlation matrices can be generated using an algorithm due to Pourahmadi and Wang [1] based on the hyperspherical parametrization.
This algorithm relies internally on a procedure to generate random samples from a specific probability density, for which Makalic and Schmidt [2] initially proposed an efficient rejection sampling algorithm.
Later, Opdyke [3] introduced an analytical expression for the c.d.f. of this probability density as well as an analytical expression for its inverse function. This allows in particular to use the inverse transform method instead of the rejection sampling algorithm, thus improving the performances of Pourahmadi and Wang's algorithm to generate random correlation matrices.
This repository contains a Jupyter notebook comparing the practical performances of these two sampling algorithms.
To be noted, though, that Opdyke's derivation of the inverse c.d.f. of Makalic and Schmidt's probability density allows for much more advanced use-cases, detailled in his presentation.