I'm attempting to prepare data in the same manner as section 2 of this paper.
I'm finding it a bit of a struggle. Could someone check (/improve upon) my interpretation regarding the 2 sections I have highlighted (below)?
In the first section (highlighted in yellow):
We note that price momentum is a cross-sectional phenomenon with winners having high past returns and losers having low past returns relative to other stocks. Thus we normalize each of the cumulative returns by calculating the z-score relative to the cross-section of all stocks for each month or day.
... I'm struggling to understand exactly what is being described.
As far as I can see, the process would be:
- For each day ...
- for each stock ...
- Assemble a trailing length-33 vector of past prices
- Use this to compute stock's mean & standard deviation
- Use today's price $x$ to compute stock's z-value: $z = \frac{x-\mu}{\sigma}$ (If I understand correctly, $z$ is a basic indication of momentum).
- Now we have a z-vector over all stocks for this day. Normalize it! (?)
- Now we have a vector indicating relative momentum for each stock for this day.
- for each stock ...
And the section (highlighted in green):
Finally we use returns over the subsequent month, t + 1, to label the examples with returns below the median as belonging to class 1 and those with returns above the median to class 2.
... I think translates as:
- get monthly returns for months t-13 through t+1 & compute median
- class = 1 if return for month t+1 < median else 2
So it looks as though class 2 stocks follow their normalised $z$ momentum-indicator, whereas class 1 don't.
Does this look correct?
PS No tag for 'data-processing'