楼主: hurley18
411 6

[技术讨论与投票] 股票的查询功能如何实现(日&周) [推广有奖]

  • 0关注
  • 0粉丝

本科生

51%

还不是VIP/贵宾

-

威望
0
论坛币
12 个
通用积分
0.0073
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
143 点
帖子
44
精华
0
在线时间
121 小时
注册时间
2022-1-7
最后登录
2023-10-22

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; _______________________________________________________________ 再 ...
关键词:如何实现 Close Stock Lose 股票代码
沙发
HXAI102230 在职认证  发表于 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;

_______________________________________________________________
再来挣个币

使用道具

藤椅
hurley18 发表于 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,则返回空值。

使用道具

板凳
hurley18 发表于 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

使用道具

报纸
hurley18 发表于 2022-1-21 00:51:41 |只看作者 |坛友微信交流群
SQL.xls (1.13 MB)

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 16:13