作者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