SAS中文论坛
标题:
有一个问题请教
[打印本页]
作者:
shiyiming
时间:
2008-5-28 23:46
标题:
有一个问题请教
现有一个交易数据集如下,
rq name zjfss cjsl zqdm zqmc
19970318 ZZTC090100000001 -133168.95 9000 600738 兰州民百
19970321 ZZTC090100000001 59498.7 4000 600738 兰州民百
19970324 ZZTC090100000001 81039.76 5000 600738 兰州民百
想进行以下操作,如果当天有交易,则按照每一项计算,如果当天没有交易则复制前一天的仓位,既由上面的交易数据集得到下面的持仓数据集;
同时注意rq是按照股票时间来的,并非每天都交易
股票交易数据集:
rq
19970318
19970319
19970320
19970321
19970324
19970325
想要得到的持仓数据集如下:
rq name zjfss cjsl sysl zqdm zqmc
19970318 ZZTC090100000001 -133168.95 9000 9000 600738 兰州民百
19970319 ZZTC090100000001 -133168.95 9000 9000 600738 兰州民百
19970320 ZZTC090100000001 -133168.95 9000 9000 600738 兰州民百
19970321 ZZTC090100000001 59498.7 4000 5000 600738 兰州民百
19970324 ZZTC090100000001 81039.76 5000 0 600738 兰州民百
谢谢各位大大
作者:
shiyiming
时间:
2008-5-30 18:51
标题:
Re: 有一个问题请教
帮你写好了,发给你
作者:
shiyiming
时间:
2008-5-30 19:25
标题:
to byes
谢谢。我的邮箱:rainsoft.wang@gmail.com
作者:
shiyiming
时间:
2008-5-30 21:22
标题:
Re: 有一个问题请教
真是好人多呀,我要多多学习,早日为论坛做贡献呀
作者:
shiyiming
时间:
2008-6-4 01:18
标题:
Re: 有一个问题请教
byes同学写完后,能否将code公开阿,让大家也学习下嘛!
作者:
shiyiming
时间:
2008-7-28 14:30
标题:
Re: 有一个问题请教
真不简单呢,弄了半天 <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
data a;
length name $ 16;
length zjfss $ 10;
input rq yymmdd8. name $ zjfss $ cjsl zqdm ;
cards;
19970318 ZZTC090100000001 -133168.95 9000 600738
19970321 ZZTC090100000001 59498.7 4000 600738
19970324 ZZTC090100000001 81039.76 5000 600738
;
run;
data b(keep=rq name zjfss cjsl zqdm);
set a nobs=totobs;
if (_n_=1) then output;
i=lag1(rq);
j=rq-lag1(rq);
zj=lag(zjfss);
c =lag1(cjsl);
zq=lag1(zqdm);
if (_n_>1) then do;
do while ( j>0);
output;
zjfss=zj;
cjsl=c;
zqdm=zq;
j=j-1;
rq=i+1;
i=i+1;
end;
end;
run;
proc sort data=b;
by rq;
run;
proc print data=b;
format rq yymmdd10.;
var rq name zjfss cjsl zqdm;
run;
作者:
shiyiming
时间:
2008-7-30 13:19
标题:
Re: 有一个问题请教
你的程序好像不对
作者:
shiyiming
时间:
2008-7-30 15:10
标题:
Re: 有一个问题请教
麻烦你稍微解释下那几个变量,对这个不是很熟悉,没办法解决问题。
作者:
shiyiming
时间:
2008-7-30 19:14
标题:
Re: 有一个问题请教
[quote="lili83xu":3a7955vh]byes同学写完后,能否将code公开阿,让大家也学习下嘛![/quote:3a7955vh]
[color=#0000FF:3a7955vh]本来想公开的,但是想来想去不舍得啊,虽然不是什么好东西,但毕竟是自己的劳动所得,那时候写了2个方法。呵呵[/color:3a7955vh]
作者:
shiyiming
时间:
2008-7-30 20:14
标题:
Re: 有一个问题请教
byes你能不能发给我一份。谢谢。
rq表示交易日期
name表示账户
zjfss表示本次成交额,卖出为正,买入为负
cjsl表示本次的成交数量
sysl表示本次成交以后,还剩余的数量
zqdm为证券代码
zqmc为证券名称
作者:
shiyiming
时间:
2008-7-30 20:17
标题:
Re: 有一个问题请教
rq表示交易日期
name表示账户
zjfss表示本次成交额,卖出为正,买入为负
cjsl表示本次的成交数量
sysl表示本次成交以后,还剩余的数量
zqdm为证券代码
zqmc为证券名称
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2