讲股票每周内每日交易量累计、高低值比较取大小,好像逻辑很简单。但是自己写的的程式跑完结果就是没有累计和比较。。。。。。头大,求高手指教
②另外想希望写个程式串联数据集股东数hold和monthly、weekly和日交易A,实现以下逻辑:
求股票代码+日期,满足:月MACD连续增长2月&周boll上传中轨&当日股东数小于一年前和半年前;如果同一支股票得出一个日期后,后面20个交易日的日期不纳入结果。
得出股票代码和日期后,求其次日的涨幅、交易后一周的涨幅、交易后一月的涨幅;
并将结果生成在新的数据集中。
问题说明:
1. 附件说明:
数据集:
A.sas7bdat -几只股票2018.01.01-2022.01.13的基本交易数据
hold.sas7bdat -几只股票2018.01.01-2022.01.13的股东人数数据
Ymwd.sas7bdat -想在a上生成日对应的周、月交易数据-本次问题①
Weekly.sas7bd -只剩下每周最后一日交易数据-生产周MACD与周Boll指标
Monthly.sas7bdat -只剩下每月最后一日交易数据-生产月MACD与月Boll指标
SAS程式:
YMWD.sas -想在a上生成日对应的周、月交易数据-本次问题①
MW-BOLL-MACD.sas -用数据集a生成的月周BOLL和MACD的程式
图片:为YMWD.sas运行后得到的Ymwd.sas7bdat数据集问题数据画面
2. 问题:
①想每天的数据后面都延申周和月的(周月开盘、周月收盘、周月最高价、周月最低价、周月成交量、以及当日对应周月MACD 周月DIFF、周月DEA、周月BOLL、周月BOLL上轨、周月BOLL下轨)数据。以上对应程式里变量:
数据集A里日交易初始变量:
OPEN-开盘价HIGH-最高价 LOW-最低价close-收盘价 VOLUME-成交量 nclose-前除权后的收盘价
Wnopen WNCLOSE Wvolume WnHigh WnLow;
Mnopen MNCLOSE Mvolume MnHigh MnLow;
WMACD WDIFF WDEA WBOLL WUPPERWLOWER;
MMACD MDIFF MDEA MBOLL MUPPERMLOWER;
红色是目前程式测试失败的:
逻辑如下:排序每周第1交易日的周数据=日数据
Mnopen=nopen MNCLOSE=nclose Wvolume=volume;WnHigh=nHigh;WnLow=nLow;
后面若不为当周第一交易日则Mnopen不变retain下来,MNCLOSE始终=nclose;Wvolume需要上一日Wvolume+当日的volume, WnHigh需要上一交易日的Wnhign与当日nhigh取最大值,WnLow则取最小值;一直到本周最后一个交易日,可以做到每天的Mnopen都为当周第一交易日开盘,MNCLOSE始终为当日收盘价nclose,Wvolume为到当日为止的周交易量,WnHigh和WnLow为到当日为止的周最高价和最低价。
每个交易日假设为当周最后一天,对应的当天的WNCLOSE再加上之前各周最后一天的周收盘价都可以计算出当天的WMACD WDIFF WDEA WBOLL WUPPER WLOWER;只是要替换Weekly数据集中的当周Wclose即可计算出。需求在a自己的数据集里算出来。
自己写的的YMWD.sas 程式跑Wvolume WnHigh WnLow时结果不对,实际没有相加和比大小。。。。。。头
②希望写个程式串联数据集股东数hold和monthly、weekly和日交易A,实现以下逻辑:
求股票代码+日期,满足:月MACD连续增长2月&周boll上传中轨&当日股东数小于一年前和半年前;如果同一支股票得出一个日期后,后面20个交易日的日期不纳入结果。
得出股票代码和日期后,求其次日的涨幅、交易后一周的涨幅、交易后一月的涨幅;
并将结果生成在新的数据集中。
问题说明.rar
大小:(2.43 MB)
马上下载
本附件包括:
- ask.jpg
- ask-simple.jpg
- hold.sas7bdat
- monthly.sas7bdat
- MW-BOLL-MACD.sas
- weekly.sas7bdat
- YMWD.sas
- ymwd.sas7bdat
- 问题说明.docx
- a.sas7bdat