飛狐QRT格式解析
2010-10-31 20:44
經(jīng)過(guò)長(zhǎng)時(shí)間的網(wǎng)上搜索,自己摸索,找出來(lái)的飛狐QRT格式,請(qǐng)大家參考:0-文件頭 包含股票數(shù)量,記錄塊開(kāi)始位置1f8020。 0x20所有股票的頭信息,每個(gè)252字節(jié)。每個(gè)股票可能有0-33個(gè)記錄塊。 頭信息的0-8 字節(jié)為名稱(chēng)。 0xa是記錄總數(shù),short 0xe-0x4f為記錄塊索引,33個(gè)short。 0x1f8020 記錄塊開(kāi)始位置,每個(gè)記錄塊1200記錄,每個(gè)記錄36字節(jié)。 索引到記錄塊的計(jì)算是 0x1f8020+索引*1200*36 一個(gè)記錄塊有1200個(gè)記錄。 飛狐的分筆數(shù)據(jù)文件(*.qrt)格式如下: 1. Header 0000000: e0ff ffff 0601 0000 2100 0000 b004 0000 e0ff : 格式頭 0x0106=262 每個(gè)期貨編碼是252字節(jié)? 0x21 =33, 對(duì)應(yīng)shStockPosition數(shù)組最大容量? (記錄大小)(iRecordSize,0x4b0表示每個(gè)記錄塊有1200個(gè)數(shù)據(jù)) 0000010: 0020 0000 2080 1f00 1101 0000 6500 0000 0x2000 最大代碼容量 0x0111 實(shí)際記錄塊數(shù)量? (開(kāi)始位置)1f8020 (iRecordBeginPos) (實(shí)際future個(gè)數(shù)) 0x65 前32字節(jié)的定義如下: 2. Code header //Read position bellow: 0000020: 4346 3031 0000 0000 0000 4400 0000 a100 (期貨編碼“CF01”,7字節(jié)) (shStockPosition數(shù)組,33*2,表示33個(gè)記錄塊位置,從0x2e開(kāi)始,每個(gè)位置以short表示,相對(duì)于開(kāi)始位置,每個(gè)位置1200個(gè)記錄) for(j=0;j<33;j++) { iCodePosition[j] = iRecordBeginPos + (iRecordSize*36*shStockPosition[j]); 記錄塊開(kāi)始位置=0x1f8020+0x4b0 * 36 * 0xa1 然后針對(duì)每個(gè)iCodePosition[j]讀取36字節(jié)×記錄數(shù)的內(nèi)容。 } 0000030: ffff ffff ffff ffff ffff ffff ffff ffff 0000040: ffff ffff ffff ffff ffff ffff ffff ffff 0000050: ffff ffff ffff ffff ffff ffff ffff ffff 0000060: ffff ffff ffff ffff ffff ffff ffff ffff 0000070: 0000 0000 0000 6143 0000 0000 00e0 7146 0x70 iPriceType 股票2/基金3 0000080: 00b4 7046 0008 7246 00ec 6f46 0004 7146 0000090: 00c0 8f44 0000 8842 0070 2446 00dc 7046 00000a0: 0000 5cc2 7d41 5f3f 82e9 b5be 0000 c8c1 00000b0: 0000 00c0 c64f 823f 0000 4040 0000 a040 00000c0: 0068 7146 0008 7246 0000 9343 0000 5644 00000d0: 0000 0000 0000 4040 0000 0000 0000 0000 00000e0: 0068 7146 0000 0000 0000 0000 0000 a040 00000f0: 0000 0000 0000 0000 0008 7246 0000 0000 0000100: 0000 0000 0000 e2c4 3333 8d44 0000 0000 0000110: 0000 fe42 00b0 4046 0000 0000 該頭一共252字節(jié) 每個(gè)期貨編碼都是252字節(jié),連續(xù)排放,直到(future個(gè)數(shù))讀完。 |