目前我从国泰安上下载了上市公司分析师预测的数据,有证券代码stkcd、分析师预测报告公布日Rptdt、分析师预测的盈利指标到期日Fenddt和预测的净利润Fnetpro,但是这个不同的上市公司有不同数量的分析师跟踪,和不同数量的分析师预测值,并且一个预测报告公布日Rptdt报告了好几个年度的净利润预测值(比如2013-1-14报告了A公司2012、2013和2014的净利润预测值)。我有找到一个rangestat滚动计算的命令:rangestat(mean) Fnetpro,interval(ymd -90 -1)by(stkcd),但是interval(ymd -90 -1)好像不能计算公司年报发布前90天内所有分析师对该公司盈余预测值的平均值,请问该如何写命令去限制公司年报发布前90天内呢?
我的原始数据部分如下表,我想的是,如果要求公司年报发布前90天内,是不是还得匹配每个公司每年年报发布的日期,然后减去90天,去找属于那个范围内的报告公布日再去滚动计算平均值呢?比如stkcd为000001的公司,报告公布日为2013-01-11的话,那预测终止日为2013-12-31就不符合公司年报发布前90天的要求了,就得剔除,留下2012-12-31的数据。stata小白,求大佬帮助。
<
| stkcd | Rptdt | Fenddt | ReportID | Fnetpro |
| 证券代码 | 报告公布日 | 预测终止日 | 研究报告ID | 净利润 |
| 000001 | 2013-01-11 | 2012-12-31 | 1483751 | 11966000000 |
| 000001 | 2013-01-11 | 2013-12-31 | 1483751 | 14056000000 |
| 000001 | 2013-01-14 | 2012-12-31 | 1493471 | 13200000000 |
| 000001 | 2013-01-14 | 2013-12-31 | 1493471 | 15300000000 |
| 000001 | 2013-01-14 | 2014-12-31 | 1493471 | 17800000000 |
| 000001 | 2013-01-15 | 2012-12-31 | 1497819 | 12805000000 |
| 000001 | 2013-01-15 | 2013-12-31 | 1497819 | 14316000000 |
| 000001 | 2013-01-15 | 2014-12-31 | 1497819 | 16330000000 |
| 000001 | 2013-01-29 | 2012-12-31 | 1544531 | 12793000000 |
| 000001 | 2013-01-29 | 2013-12-31 | 1544531 | 13962000000 |
| 000001 | 2013-01-29 | 2014-12-31 | 1544531 | 15358000000 |
| 000001 | 2013-02-04 | 2012-12-31 | 1563103 | 12805000000 |


雷达卡


京公网安备 11010802022788号







