全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
642 6
2022-01-19
悬赏 50 个论坛币 已解决

自同一个stockcode开始,前4周WMA5取空值;在第5周开始,第1天以收盘价nclose和前4周最后一天的nclose取均值为该日的wma5;次日则仍用最新收盘价nclose和前4周的最后一日nclose取均值。

到了第6周逻辑同,只是把第1周最后日nclose改用第5周的nclose替代


月也一样。



另外查询逻辑:

如何查询:连续10周股价>wMA5的股票代码和日期?


希望直接的逻辑nclose>当天对应WMA5&前面9周的周收盘价>当周MA50

新建位图图像.bmp

new.xls
大小:(326.5 KB)

 马上下载


新建位图图像.bmp

原图尺寸 1.72 MB

新建位图图像.bmp

最佳答案

HXAI102230 查看完整内容

proc sort data=stock.b out=b; by stockcode wk date; run; data bx; set b; by stockcode wk date; retain wn1 wn2 wn3 wn4; array wn{4}; if first.stockcode then nw=0; if first.wk then nw+1; if last.wk then do; wnclose=nclose; if nw=5 & ^(last.wk) then wma5=mean(of wn1-wn4,nclose); drop wn: nnw; run; _______________________________________________________________ 再 ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-1-19 09:34:02
proc sort data=stock.b out=b;
  by stockcode wk date;
run;

data bx;
  set b;
        by stockcode wk date;
        retain wn1 wn2 wn3 wn4;
        array wn{4};
        if first.stockcode then nw=0;
        if first.wk then nw+1;
        if last.wk then do;
    wnclose=nclose;
                if nw<=4 then wn{nw}=wnclose;
                else do;
                  wma5=mean(of wn1-wn4,nclose);
                  nnw=mod(nw,4);
                        if nnw=0 then nnw=4;
      wn{nnw}=wnclose;
                end;
  end;
        if nw>=5 & ^(last.wk) then wma5=mean(of wn1-wn4,nclose);
        drop wn: nnw;
run;

_______________________________________________________________
再来挣个币
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-1-20 23:07:46
HXAI102230 发表于 2022-1-19 09:34
proc sort data=stock.b out=b;
  by stockcode wk date;
run;
大神,再请教以下,如何给每个观测新增一个变量NF20close,赋值为该观测在该组stockcode该日期后面第20个观测的nclose值并.如果后面的观测数<20,则返回空值。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-1-21 00:50:48
HXAI102230 发表于 2022-1-19 09:34
proc sort data=stock.b out=b;
  by stockcode wk date;
run;
大神,看看这个怎么才能实现
所有STOCKCODE中求满足以下4个条件的日期,以及该日期后面20个同stockcode里日期顺序后第20个nclose并定义为变量NF20close.
1.自2021/01/01日后选择
2.前7周内出现过HighLight为'Y',     ('000002'在wk=3192周的2021/2/25日出现过,如下图)
3.在本周之前连续2周内:上周Wboll<前周Wboll且两周的Wboll均小于当周的Nclose
4.当天的收盘价nclosel为3周内第一次连续2天<当天对应的周BOLL


以上面4个条件搜索'000002'只有2021/04/07日符合,然后再求其后紧挨着20交易日为2021/5/10,返回这一天的nclose为输出

STOCKCODE         date                     Nclose         NF20close
000002           2021/04/07             28.08728      26.04457


求收益.jpg

附件列表
求收益.jpg

原图尺寸 473.88 KB

求收益.jpg

求收益.jpg

原图尺寸 473.88 KB

求收益.jpg

求收益.jpg

原图尺寸 300.2 KB

求收益.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-1-21 00:51:41
SQL.xls
大小:(1.13 MB)

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群