stock - 如何将 tic 数据转换为 5 分钟 OHLC?

标签 stock kdb

我正在学习 KDB+ 并将 tic 数据加载到表 W 中,如下所示。我的问题是,如何将数据传输到 5(或 n)分钟 OHLCVA?

"Stk_ID","Date","Time","Price","Chg","Vol","Amt","Ty"
300032,2011-03-03,09:51:40,20.40,0.00,10.0,20400.0,S
300032,2011-03-03,09:51:30,20.40,-0.01,9.0,18360.0,S
300032,2011-03-03,09:51:00,20.41,0.01,2.0,4082.0,B
300032,2011-03-03,09:51:00,20.40,-0.01,115.0,234599.0,S
300032,2011-03-03,09:50:45,20.41,0.00,10.0,20410.0,S
300032,2011-03-03,09:50:45,20.41,-0.02,7.0,14287.0,S
300032,2011-03-03,09:50:20,20.43,-0.01,4.0,8172.0,S
300032,2011-03-03,09:50:05,20.44,0.01,25.0,51100.0,B
300032,2011-03-03,09:50:00,20.43,-0.01,28.0,57204.0,S

我用这样的Q码获取1分钟的数据,但不知道如何获取5分钟的数据。 :

select Open: first price,High: max price, Low: min price,Close: last price,Vol: sum vol, Amt: sum amt,Avg_Price: ((sum amt)%(sum vol))%100 by stk_id,time.hh,time.mm from asc W

结果:

stk_id hh mm| Open  High  Low   Close Vol  Amt           Avg_Price
------------| ----------------------------------------------------
000001 9  30| 16.24 16.24 16.22 16.24 3253 5282086       16.23758
000001 9  31| 16.22 16.24 16.21 16.21 1974 3204276       16.2324
000001 9  32| 16.23 16.23 16.2  16.2  3764 6102207       16.21203
000001 9  33| 16.21 16.21 16.19 16.2  4407 7143120       16.20858
000001 9  34| 16.2  16.2  16.19 16.19 1701 2756614       16.20584
000001 9  35| 16.19 16.21 16.19 16.21 2756 4466988       16.20823
000001 9  36| 16.22 16.25 16.22 16.24 3123 5076089       16.25389
000001 9  37| 16.25 16.27 16.25 16.27 1782 2897340       16.25892

最佳答案

我建议不要先按 time.hh 然后按 time.mm 分别进行分组:

by stk_id,time.minute

从那里开始,您只需使用 xbar 即可获得 5 分钟时间段:

by stk_id,5 xbar time.minute

关于stock - 如何将 tic 数据转换为 5 分钟 OHLC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322888/

相关文章:

unit-testing - 在 openerp/odoo 中以两种不同的单位显示可用的产品数量

stock - 这些简短的词是什么意思? (来自谷歌财经的返回值)

kdb - 如何保存具有不同文件名(KDB)的大文件?

kdb - [Q/KDB+] : wsfull when creating splayed table from csv using `.Q.fs`

c - 什么是 GTK "render detail"?

php - 单个库存单位的 Woocommerce 数量按钮消失

php - PHP-将独立记录的股票值(value)减少1

real-time - 如何在 KDB 中流式传输数据?

database - 将 CSV 导入 KDB 表

printing - 如何在 kdb+ 中格式化 double