本帖最后由 slimay 于 2021-8-9 14:15 编辑
内容格式:
每32个字节为一天数据
每4个字节为一个字段,每个字段内低字节在前。
00 ~ 03 字节:年月日, 整型
04 ~ 07 字节:开盘价
08 ~ 11 字节:最高价
12 ~ 15 字节:最低价
16 ~ 19 字节:收盘价
20 ~ 23 字节:成交额(元)
24 ~ 27 字节:成交量(手)
28 ~ 31 字节:保留,一般都是0
其中开盘价、最高价、最低价、收盘价, 在sh或sz 中是整数,其中基金或债券等需要除以1000,普通股票和指数等则除以100,而在扩展行情中则是浮点数。
特别需要解释的是:
在上证 sh\lday 中,sh204xxx 表示逆回购债券,sh5xxxxx 表示基金,sh88xxxx 表示上海板块指数,sh90xxxx表示上证B股,sh99xxxx表示指数,其余sh6xxxxx是上证A股,sh000xxx 上海指数,其中有几个指标需要注意,sh000001与sh999999其实都是上证指数,
在深证 sz\lday 中,sz2xxxxx深圳B股,sz1318xx 深圳逆回购债券,sz1xxxxx 表示债券、基金,sz0xxxx深圳A股,sz3xxxxx 创业板,
在扩展 ds\lday 中,文件格式为 xx#xxxxx.day , 其中#前2位代码分别表示属性,如31#xxxxx 表示港股主板,71#xxxxx 表示港股通,47#xxxx表示债券等。
几个重要的代码:
sh99999 sh000001 上证指数
sh39001 深证成指
27#HSI 港股恒生指数
47#00405 港股越秀房产基金
31#01810 港股小米集团
还是得用C语言搞定- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <io.h>
-
- union data
- {
- int n;
- float m;
- }
-
- int main()
- {
- FILE *fp;
- int nLen;
- int i=0;
- union data num[8];
- // 把任意一个day文件拷贝为s.day,并以二进制方式打开
- if( (fp=fopen("s.day","rb")) == NULL )
- {
- printf("Fail to open file!");
- exit(0);
- }
-
- while(!feof(fp))
- {
- nLen = fread(num, sizeof(int), 8, fp);
- for(i=0;i<8;i++)
- {
-
- printf("i=%d ",i);
- // 把day的数据显示出来,可看到具体的数据,分别显示原始16进制数据、整数型和浮点数
- printf("== %x and %d and %f \n",num[i].n,num[i].n,num[i].m);
-
- }
- }
-
- fclose(fp);
-
- return 0;
-
- }
复制代码
|