我是个新手,现在将从Txt文本导入到数据库中的表中(高频金融时间数据,每天记录可能高达10-15万条记录),结构如下:
成交时间 成交价格 成交数量 成交金额
09:25:00 9.550 200 1910.000
09:30:00 9.540 500 4770.000
09:30:00 9.540 100 954.000
09:30:00 9.530 1000 9530.000
09:30:00 9.520 9000 85680.000
09:30:00 9.520 1000 9520.000
09:30:00 9.520 600 5712.000
09:30:00 9.530 2000 19060.000
09:30:00 9.540 1000 9540.000
09:30:01 9.540 900 8586.000
09:30:01 9.540 300 2862.000
09:30:01 9.540 500 4770.000
09:30:01 9.540 1500 14310.000
09:30:01 9.520 5000 47600.000
注意这个交易数据中的记录是按时间顺序排列,不能打乱,否则没有意义。
现在的要求是,要生成一个新的字段 :“实际成交”,实际成交值根据下面的原则产生:
1.比较时间相邻的二个交易价格,如果后一笔交易价格比前者高,那么实际成交=成交数量(此笔成交数量为正),
否则,实际成交=-成交数量(此笔成交数量为负)。
2.如果二者价格相等,则前面实际成交值为正,那么该笔实际成交也为正,如果为负,该笔实际成交也为负。
新表的根据上述原则,生成新字段如下:
成交时间 成交价格 成交数量 成交金额 实际成交
09:25:00 9.550 200 1910.000 200
09:30:00 9.540 500 4770.000 -500
09:30:00 9.540 100 954.000 -100
09:30:00 9.530 1000 9530.000 -1000
09:30:00 9.520 9000 85680.000 -9000
09:30:00 9.520 1000 9520.000 -1000
09:30:00 9.520 600 5712.000 -600
09:30:00 9.530 2000 19060.000 2000
09:30:00 9.540 1000 9540.000 1000
09:30:01 9.540 900 8586.000 900
09:30:01 9.540 300 2862.000 300
09:30:01 9.540 500 4770.000 500
09:30:01 9.540 1500 14310.000 1500
09:30:01 9.520 5000 47600.000 -5000
请问如何编写?是要用到sql过程和语句吗?(这个表的记录很大,超过了Excel的65525的记录了,不能在Excel里面做,Excel里面很简单)才能达到上述要求,写的比较啰嗦,尽量想比较详细,谢谢大家
成交时间 成交价格 成交数量 成交金额
09:25:00 9.550 200 1910.000
09:30:00 9.540 500 4770.000
09:30:00 9.540 100 954.000
09:30:00 9.530 1000 9530.000
09:30:00 9.520 9000 85680.000
09:30:00 9.520 1000 9520.000
09:30:00 9.520 600 5712.000
09:30:00 9.530 2000 19060.000
09:30:00 9.540 1000 9540.000
09:30:01 9.540 900 8586.000
09:30:01 9.540 300 2862.000
09:30:01 9.540 500 4770.000
09:30:01 9.540 1500 14310.000
09:30:01 9.520 5000 47600.000
注意这个交易数据中的记录是按时间顺序排列,不能打乱,否则没有意义。
现在的要求是,要生成一个新的字段 :“实际成交”,实际成交值根据下面的原则产生:
1.比较时间相邻的二个交易价格,如果后一笔交易价格比前者高,那么实际成交=成交数量(此笔成交数量为正),
否则,实际成交=-成交数量(此笔成交数量为负)。
2.如果二者价格相等,则前面实际成交值为正,那么该笔实际成交也为正,如果为负,该笔实际成交也为负。
新表的根据上述原则,生成新字段如下:
成交时间 成交价格 成交数量 成交金额 实际成交
09:25:00 9.550 200 1910.000 200
09:30:00 9.540 500 4770.000 -500
09:30:00 9.540 100 954.000 -100
09:30:00 9.530 1000 9530.000 -1000
09:30:00 9.520 9000 85680.000 -9000
09:30:00 9.520 1000 9520.000 -1000
09:30:00 9.520 600 5712.000 -600
09:30:00 9.530 2000 19060.000 2000
09:30:00 9.540 1000 9540.000 1000
09:30:01 9.540 900 8586.000 900
09:30:01 9.540 300 2862.000 300
09:30:01 9.540 500 4770.000 500
09:30:01 9.540 1500 14310.000 1500
09:30:01 9.520 5000 47600.000 -5000
请问如何编写?是要用到sql过程和语句吗?(这个表的记录很大,超过了Excel的65525的记录了,不能在Excel里面做,Excel里面很简单)才能达到上述要求,写的比较啰嗦,尽量想比较详细,谢谢大家
我想可能要用到Dif 差分的办法来实现,麻烦哪位高手能不能给个具体指导?



雷达卡



京公网安备 11010802022788号







