全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1210 3
2014-05-10
悬赏 30 个论坛币 未解决
如附件,表a中从左到有是最后交易日依次递增的合约,每一列对应的是该合约自起始日到最终交易日的价格。我希望能够能在每一天选出该日最近到期的合约和最远到期的合约,或者是第二近到期的合约。。请问有什么方法。(最近到期的合约即最左边的合约,最远到期的合约为最右的合约)

另说明一下,表b是这些合约的最后交易日,从上到下的合约对应的是表a从左到右的合约,一一对应。我希望在选出每天最近和最远到期合约后,能用该两个合约对应的最后交易日减去该天的日期,得到其剩余到期天数。另外我也需要其价格。

再说明一下,表a和表B对应的是一个商品期货品种的,而我有N个品种需要处理,所以最好能把代码写成宏的形式,方便批量处理。


当然,最基本的要求就是能选出每天的最近到期合约和最远到期合约。。。

求指教a:。 捕获.PNG
b。

捕获1.PNG

二维码

扫码加我 拉你入群

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

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

全部回复
2014-5-11 11:15:20
没人回答吗。。好吧,那简化一下问题,有没有相对简便的方法能将表啊中的数据形式转化成两列。即将4,5列的数据接到1,2列后面,再把7,8列的也接在后面,依次类推,直到所有数据都汇总到时期和价格的两列?
求指教啊?
二维码

扫码加我 拉你入群

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

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

2014-5-11 17:09:47
描述不清楚~~~无法回答。
二维码

扫码加我 拉你入群

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

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

2014-5-12 08:54:59
我大概看明白了你的意图,你的表格如果是列数固定,每行一个合约,每两列是该合约的一个日期和相应的结算价的话,可以用下面的方法来把原始表格转换为每行有三个变量(分别是合约ID,日期和结算价)的形式,举的例子比较简单,但你试下应该就能明白:

data x;
input a b @@;
datalines;
1 5 1 6 1 7
2 1 2 2 2 4
;

data x;
set x;
id=INT((_N_-1)/3)+1;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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