飞狐日线文件的数据格式

其实这个工作做了至少一个月的时间了,分析的文档也写了相应的时间,放在桌面没整理,现在整理桌面,顺便贴上来:

飞狐的日线文件的下载地址是:http://down.88158.cn/

下载了的日线文件的后缀名一般是打包的rar,解开之后得到一个Quote.QDA

下面是这个Quote.QDA的数据格式:
文件头:
int32 header = 0xFFFFFFE2
int32 type   = 0×00000101
int32 stockcount

用UE看就是E2FFFFFF 01010000[stockcount],这里的header是区分一个文件是日线数据还是其他数据的标志,如果是五分钟线,header=0xFFFFFFE1。

stockcount就是包含的股票数量了。

文件头12个字节之后就是数据区了。

数据区按股票排列,一共有stockcount个股票,每个股票的格式如下:

股票日线:

char[12] stockid 股票ID

char[12] stockname 股票中文名称

int32 daycount 该股票一共有日线的个数

每日数据[daycount] 一个每日数据的数组

每日数据的格式:

int32 UTC_time 这个可真是用UTC算的东八区时间,有点啰嗦,应该转换的时候出的问题,不描述了,如果要转成真正的东八区时间的话,要把这个时间减个8小时。
float open 开盘价
float high 最高价
float low 最低价
float close 收盘价
float volume 成交量
float amount 成交金额
int32 dealcount 成交次数

简单点说,就是先按股票读,在每个股票描述之后是该股票的日线数据。该股票所有日线数据结束之后是下一个股票的描述信息。

Tags: ,

5 Responses to “飞狐日线文件的数据格式”

  1. Caligula Says:

    飞狐每个32位的数格式也不太简单,后16位表示整数部分,前16位以及后16位中未使用的位置表示小数部分。整数部分我搞定了,但是小数还没搞。
    不过这个格式分析出来有什么用么?用于研究历史数据?

  2. polo Says:

    现在转行了,是没什么用,当时还是想做点小分析的

  3. Stanford Says:

    请问飞狐的开、高、低、收的价格是如何转换的?比如3D 0A 5F 41如何转换成13.94?想了好几天了没想明白,希望能指点一二,多谢了。

  4. polo Says:

    那个数本身就是个浮点数啊。。。
    你不是用C/C++编程的吧?

  5. polo Says:

    3D 0A 5F 41按照little-endian的规则应该是十六进制的0×415F0A3D

    根据IEEE的浮点数规则,可以用下面这个url计算:
    http://babbage.cs.qc.edu/IEEE-754/32bit.html
    输入415F0A3D再compute,可以得到13.9399995803833

Leave a Reply

Spam Protection by WP-SpamFree