作者mathshadow (活死人)
看板Statistics
标题Re: [程式] 利用SAS合并两种商品交易资料
时间Wed Jun 27 15:38:16 2012
※ 引述《socery (keep going!)》之铭言:
: ※ 引述《mathshadow (活死人)》之铭言:
: : 碰到如果当一个商品A在某一个时间点有交易时,另一个商品B却没有,
: : 要找商品B最接近商品A交易时间的资料合并。
: : 假设A是选择权资料
: : date time strike volume
: : 20110101 1200 50 50
: : 20110101 1201 40 40
: : 20110101 1202 45 45
: : B是期货资料
: : date time price
: : 20110101 1159 51
: : 20110101 1201 41
: : 20110101 1202 44
: : 希望合并的结果是
: : date time strike volume price
: : 20110101 1200 50 50 51
: : 20110101 1201 40 40 41
: : 20110101 1202 45 45 44
: : 我已经有爬文一段时间,不过还没看到合适的方法,
: : 所以才想说也PO文询问看看,
: : 麻烦版上比较对SAS处里比较有经验的人,能否给些建议。
: : 谢谢
: data c(drop = price rename = (price1=price));
: merge a(in=a) b(in=b);
: by date time;
: if first.date then price1=price;
: else if ^missing(price) then price1=price;
: retain price1;
: if a;
: run;
谢谢 socery 的指导
我会遇到多对多合并的问题,
用 merge 会有问题,我看板上用
proc sql 的方法可以解决多对多的问题,
可是判断条件的地方我目前也只能用到利用 date 与 time 相同
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.128.194.213
1F:推 west1996:"最接近"的定义是什麽?有需要限制早於A商品的时间吗? 06/27 18:22
2F:推 tew:大概是还要加上产品吧 但其实就是在加入该条件即可 06/27 23:56
3F:推 mamaka:那是否考虑算一个时间差的栏位才能算到底哪笔才最接近 06/29 11:34
4F:推 tew:不需要 只要有好好排序就可以了 06/29 12:40