飞狐日线文件的数据格式
其实这个工作做了至少一个月的时间了,分析的文档也写了相应的时间,放在桌面没整理,现在整理桌面,顺便贴上来:
飞狐的日线文件的下载地址是: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 成交次数
简单点说,就是先按股票读,在每个股票描述之后是该股票的日线数据。该股票所有日线数据结束之后是下一个股票的描述信息。
12月 22nd, 2009 at 9:09 下午
飞狐每个32位的数格式也不太简单,后16位表示整数部分,前16位以及后16位中未使用的位置表示小数部分。整数部分我搞定了,但是小数还没搞。
不过这个格式分析出来有什么用么?用于研究历史数据?
12月 22nd, 2009 at 10:11 下午
现在转行了,是没什么用,当时还是想做点小分析的
1月 21st, 2010 at 2:34 下午
请问飞狐的开、高、低、收的价格是如何转换的?比如3D 0A 5F 41如何转换成13.94?想了好几天了没想明白,希望能指点一二,多谢了。
1月 21st, 2010 at 9:20 下午
那个数本身就是个浮点数啊。。。
你不是用C/C++编程的吧?
1月 21st, 2010 at 9:44 下午
3D 0A 5F 41按照little-endian的规则应该是十六进制的0×415F0A3D
根据IEEE的浮点数规则,可以用下面这个url计算:
http://babbage.cs.qc.edu/IEEE-754/32bit.html
输入415F0A3D再compute,可以得到13.9399995803833