我有股票交易的日内价格数据,需要编写代码来确定满足以下条件的实例:价格应该至少连续10次交易。
以下是我的数据样本(时间是当天的分钟数,如果是凌晨1点,我的时间将是60,如果是凌晨2点,我的时间将是120等):
Obs Time Symbol Price
1 288 AA 36.2800
2 304 AA 36.2800
3 305 AA 36.3400
4 307 AA 36.2800
5 311 AA 36.1500
6 337 AA 36.2000
我该如何编写此代码?可能循环是必要的,但我无法弄清楚。谢谢。
答案 0 :(得分:3)
假设没有缺失值,例如:
data want ;
set have ;
lagPrice=lag(Price) ;
if Price>lagPrice and not missing(lagPrice) then Increasing ++ 1 ;
else Increasing=0 ;
if Increasing > 10 then Trend=1 ;
run ;
这将标志着增长趋势的第10个记录,以及之后的所有记录。那是你要的吗?或者您正在寻找一种方法来标记趋势中涉及的所有记录?或其他什么?