全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1299 3
2012-11-30
datebusamountbuspricebustimeremarkstkcdid
05Jun2007-3000015.2799987810:40:34 AM证券卖出000027001045
06Jun20071680017.379989621:11:24 PM证券买入000027001045
05Jul2007-2680020.069992072:34:18 PM证券卖出000027001045
05Jul2007-20000202:34:59 PM证券卖出000027001045






数据见上方表格。现在想计算每笔卖出交易的成本,成本为之前最后一笔相同股票的买入价。具体而言,要新建一个变量cost,针对每个卖出交易带有其相应的cost,值为之前最近的一笔相同股票的买入价。请问如何实现呢?而且要针对每个投资者的id都要这么做。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-3 10:05:09
很有价值的问题 同问
二维码

扫码加我 拉你入群

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

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

2012-12-3 12:31:11
mark一下
二维码

扫码加我 拉你入群

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

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

2012-12-3 15:09:31
可以先把所有的买单取出来

proc sql noprint;
create table buslist as
select * from data
where remark='证券买入';
quit;

然后用sql连接回原表

proc sql noprint;
create table result as
select A.*, B.busprice as busprice_pre,B.bustime as bustime_pre
from data as A left join buslist as B
on A.id=B.id and A.stkcd=B.stkcd and A.bustime>=B.bustime;
quit;

这时生成的表还是有点儿问题的,即把当前卖出交易前的所有的买入交易都取回来了,这时可以再加一个数据步或Sql步,对之前的买入交易进行选择,类似于存货的FIFO或LIFO选择合适的卖出股票成本,就不再多写了,仅供参考
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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