METASTOCK数据文件格式解析


MetaStock具有完全面向对象的设计风格,广泛适用于股票、黄金、外汇、期货、期权、指数、权证等公共投资产品中,其中数据文档的格式在MetaStock和其它一众股软中间起到了相互沟通的桥梁作用。MetaStock数据以微软的二进制格式(QBasic)存储,被众多工具用于保存金融信息数据,比如股票行情。


对于目录结构,MetaStock市场数据称为券种,每个券种被存储在一个文件夹,该文件夹内包含一个EMASTER文件,一个MASTER文件,和最大256个Fx.dat文件,如果一个文件夹下存储的证券数目超过256个,取而代之的是一个XMASTER文件和许多Fn.MWD文件。 一个券种文件夹下会包含如下如同的文件:1、EMASTER:索引文件;2、MASTER:索引文件; 3、Fx.DAT:单个股票数据文件; 4、XMASTER:扩展索引文件(在股票数目超过256支的情况下); 5、Fn.MWD:单个股票数据文件。

(一)、EMASTER:索引文件

包含了所有该文件夹下证券信息的索引文件,主要信息有:股票名称,股票代码,起始日期,最后日期,文件号(Fx.DAT中的x)。第一条记录是一个header记录,第一个字节是记录总数。

Start ByteEnd ByteLengthDescriptionType
01234h 31h Version numberInt
221the value of x in Fx.DAT: from 0 to 255!Byte
3108Unknown
112414Stock symbol: ends with a byte 0String
25317Unknown
324716Stock name: ends with a byte 0String
486316Unknown
64674 First date format YYMMDDFloat CVS
68714Unknown
72754Last date format YYMMDDFloat CVS
7612550Unknown
1261294First date long format YYYYMMDDFloat CVL
1301301Unknown
1311344Last dividend paidFloat CVL
1351384Last dividend adjustment rateFloat CVS
13919153Unknown

(二)、MASTER:索引文件。其内容与EMASTER文件内容相同。

Start ByteEnd ByteLengthDescriptionType
001The value of x in Fx.DAT: from 0 to 255 !value
166Unknown
72216Stock name: ends with a byte 0股票名
23242Unknown
25284First date format YYMMDDdate
29324Last date format YYMMDDdate
33353Unknown
364914Stock symbol: ends with a byte 0股票代码
51523Unknown

(三)、Fx.DAT:单个股票数据文件

每个文件中包含了该股票的全部数据;第一条记录是一个header记录,头四个字节是记录总数。

Start ByteEnd ByteLengthDescriptionType
034Date format YYMMDDFloat
474OpenFloat
8114HighFloat
12154LowFloat
16194CloseFloat
20234VolumeFloat
24274interestFloat

(四)、XMASTER:扩展索引文件(在股票数目超过256支的情况下)

XMASTER文件是一个针对Fn.MWD数据文件的索引文件,每条记录150个字节,包括头记录和针对每个Fn.MWD文件的信息记录。 记录数是整数类型,采用INTL格式:short类型2个字节,int类型4个字节。头记录中包含Fn.MWD文件的数目:即第10、11个字节。

(五)、Fn.MWD:单个股票数据文件。格式与Fn.DAT文件相同。