如何检查SAS连续10次交易中的价格是否上涨?
我有股票交易的日内价格数据,需要编写代码来确定满足以下条件的实例:价格至少应连续10次上涨 以下是我的数据示例时间是一天中的分钟数,如果是凌晨1点,我的时间将是60分钟,如果是凌晨2点,我的时间将是120分钟,以此类推:如何检查SAS连续10次交易中的价格是否上涨?,sas,Sas,我有股票交易的日内价格数据,需要编写代码来确定满足以下条件的实例:价格至少应连续10次上涨 以下是我的数据示例时间是一天中的分钟数,如果是凌晨1点,我的时间将是60分钟,如果是凌晨2点,我的时间将是120分钟,以此类推: Obs Time Symbol Price 1 288 AA 36.2800 2 304 AA
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
如何编写此代码?可能需要一个循环,但我想不出来。谢谢。假设没有缺失值,例如:
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 ;
这将标志着第十个增长趋势的记录,以及之后的所有记录。这就是你想要的吗?或者,您是否正在寻找一种方法来标记趋势中涉及的所有记录?或其他内容???可能重复的,请勿在同一主题上发布多个问题。抱歉。这只是另一个问题的一个组成部分,这个问题有三个组成部分。我只是希望有一个起点,这样我就可以更好地处理另一个问题中更复杂的问题。我将编辑另一个。谢谢,谢谢。这帮了大忙。我试图确定上升和下降趋势,并根据第1次和第10次交易找到回报率,所以第10次记录很好。