У меня есть несбалансированный набор панельных данных с ежедневными данными, подобными этому, для n стран:
quarter date id trade trade_quarterly rank i
1 1 1 1 2 1 10
1 2 1 1 2 1 17
1 1 2 1 1 2 12
2 1 1 0 1 1 5
2 2 1 1 1 1 9
2 1 2 0 1 1 14
2 2 2 1 1 1 8
2 2 3 0 0 3 6
Даны первые 4 столбца.
Меня интересует информация: i, теперь я хотел бы сохранять только 2 идентификатора наиболее торгуемых акций за каждый квартал. Я агрегировал квартальные сделки с
bysort quarter id: egen trade_quarterly =sum(trade)
чтобы получить столбец 5.
Чтобы вычислить столбец 6, я попытался использовать
bysort quarter id : egen xx =rank(trade_quarterly), "option"
что не дает правильного решения.
(Обратите внимание, что, поскольку значения агрегированы внутри идентификаторов, ранжирование с rank(xx), field
приведет к неправильному ранжированию для следующего идентификатора)
collapse
другие переменные вместе сtrade
. 31.08.2015collapse
для любой переменной, я буду агрегировать i, что не является целью. Следует сохранять ежедневную структуру данных. Единственная цель процедуры - отфильтровать x наиболее торгуемых идентификаторов. 31.08.2015