Question: I see some missing values at the begging of the file generated by asm.ado. I am using 12-months of formation and 9-months of holding periods. Why the length of the gap equal to 9 months (k, holding period ), rather than 12 (J, formation period)?

As mentioned in the Jegadesh and Titman (1992) paper, the momentum portfolios are developed in an overlapping fashion. Here is one example of overlapping portfolios.

Momentum Portfolio format and testing examples

Let us use a three-period example. Assume that we have 6 currencies, aud, zar, cad, sek, nok, and eur. Now:

Period 1: 

Formation 1: assume that ranking returns of the 6 currencies yield the following ranking:

Highest returns: aud zar cad

Lowest returns: sek nok eur

Period 2: 

Long in: aud zar cad

Short in: sek nok eur

Formation 2: Assume that our ranking in period 2 yield that following:

Highest returns: nzd aud nok

Lowest returns: chf eur sek

Period 3:

Long in: aud zar cad. (position is now closed)

Also long in: nzd aud nok. (opens new position)

Short in: sek nok eur. (position is now closed)

Also short in: chf eur sek. (opens new position)

Formation 3: Assume that our ranking in period 3 yield the following ranking:

Highest returns: cad aud nzd

Lowest returns: chf sek eur

Period 4:

Long in: nzd aud nok. Position taken in period-3 that was based on period-2 ranking is now closed

Also long in: cad aud nzd. opens new position based on period-3 ranking

Short in: sek nok eur. Position taken in period-3 that was based on period-2 ranking is now closed)

Also short in: chf sek eur. (opens new position)

How asm works?

 In the example where we use 12 months of formation and 9 months of holding periods, asm will rank stocks on their past 12-months returns. However, if not all 12 months are available, then whatever number is available, it will use those, therefore, for month 10, we have 9 months available for formation. asm uses those to rank stocks.

Similarly, for the holding periods, asm will not wait until the end of the 9 months and will find average monthly returns for available months up to a maximum of 9 months. Therefore, in month number 10, asm finds average returns (i.e. this average is based just on one month). In month 11, asm uses the last 10 months for the formation period and an average of two months for holding period i.e. month 10 and month 11.

To get asm, visit this page