根据楼上的要求,写出以下程序:
data result(drop=close_1-close_3 signal_buy);
set temp;
format Profitability 5.2;
/*求前3天收盘价最大值*/
close_1=lag(close);
close_2=lag2(close);
close_3=lag3(close);
max_close=max(close,close_1,close_2,close_3);
/*根据给定的条件,计算买入信号*/
if close>0.95*max_close then signal_buy=1;
signal_buy_1=lag(signal_buy);
/*根据买入信号,确定买入价*/
retain buy_price;
if signal_buy_1=1 then buy_price=close;
/*根据给定的条件,确定买入价*/
if close<ma5 or ma5<ma10 or close<buy_price*0.97 then sell_price=close;
/*根据条件,前4天,不发生买卖,所以前4天的买卖价应该为空值*/
if _n_<5 then do ;
buy_price=.;
sell_price=.;
end;
/*计算收益率*/
Profitability=(sell_price/buy_price-1)*100;
run;