python读取大智慧数据_大智慧数据格式
大智慧day數據格式
日線數據放在目錄dzhDATASHaseDay以及dzhDATASZnseDay下,分別是上海和深圳。
里邊每個文件就是個股的數據了。
每個文件一開頭就是日數據,不像有些股軟數據開始有一些格式。
每日數據一共為40個字節。
第一個四字節:日期,轉換為十進制即可。
第二個四字節:開盤,除以1000
第三個四字節:最高,除以1000
第四個四字節:最低,除以1000
第五個四字節:收盤,除以1000
第六個四字節:成交額,除以10
第七個四字節:成交量
第八個四字節:散戶線
第九個四字節:似乎無用
第十個四字節:似乎與散戶線有關
下邊以601988為例說明:
打開文件601988.day,看到最后四十個字節為:
EC 1A 32 01 C6 0C 00 00
DA 0C 00 00 BC 0C 00 00 D0 0C 00 00 A9 5D 01 00
02 2C 04 00 D3 00 00 00 00 00 00 00 00 00 00 00
第一個四字節:EC 1A 32 01,十六進制為0x01321AEC,轉換為十進制就是20060908,是日期
第二個四字節:C6 0C 00 00,十六進制為0x0CC6,轉換為十進制就是3270,除以1000為3.27,是開盤價
第三個四字節:DA 0C 00 00,十六進制為0x0CDA,轉換為十進制就是3290,除以1000為3.29,是最高價
第四個四字節:BC 0C 00 00,十六進制為0x0CBC,轉換為十進制就是3260,除以1000為3.26,是最低價
第五個四字節:D0 0C 00 00,十六進制為0x0CD0,轉換為十進制就是3280,除以1000為3.28,是收盤價
第六個四字節:A9 5D 01 00,十六進制為0x00015DA9,轉換為十進制就是89513,除以10為8951.3,是成交額
第七個四字節:02 2C 04 00,十六進制為0x00042C02,轉換為十進制就是273410,是成交量
第八個四字節:D3 00 00 00,十六進制為0xD3,轉換為十進制為211,散戶線(這個好像不太正確,不知道為什么,可能分析有誤)
___________
大智慧5.60經典版
數據格式分析與程序接口開發(一)
作者:百度斑泥狼 更新時間:2008-5-8
1代碼表
1.1證券代碼列表
證券代碼列表對應文件為 dzh安裝目錄 internet tcpipdata index.dat 文件,該文件在大智慧每次啟動時被刪除,并重新從服務器上下載。
文件結構描述如下:
(1)文件大小 =證券數量 × 9字節(每個證券占用 9 字節)
(2)每個證券內容描述
(2.1)1~2字節:排序序號,從0開始編號計數 == 2字節的整數
(2.2)3~8字節:證券代碼 == 6字節的ASCII字符串
(2.3)9~9字節:統一為0x00,無特殊意義,可能是作為分隔符
1.2證券名稱列表
證券名稱列表對應文件為 dzh安裝目錄 internet tcpipdata init.dat 文件,該文件在大智慧每次啟動時被刪除,并重新從服務器上下載。
文件結構描述如下:
(1)文件大小 =頭部字段28字節 + 證券數量 × 32字節(每個證券占用 32 字節)
(2)頭部字段
(2.1) 1~8字節:大智慧最后一次聯網的日期,8字節ASCII字符串
(2.2) 9~10字節:未知
(2.3)11~12字節:證券數量
(2.4)13~28字節:未知
(3)每個證券內容描述
(3.1)1~8字節:證券名稱
(3.2)9~14字節:證券代碼
(3.3)15~16字節:證券代碼類型
(3.3.1)0x1F 0x00一般證券(場內交易的股票和基金等)
(3.3.2)0x1E 0x00 證券指數(上證指數、深圳)
(3.3.3) 0x20 0x00 證券指數(滬深300指數等)
(3.4)17~32字節:未知
2自選股
自選股文件保存位置:dzh安裝目錄 CFG netwrkic.bk2
文件結構描述如下:
(1)文件最開始的4字節:自選股板塊的數目
(2)后面是每個板塊的內容按順序描述如下(長度不定):
(2.1)4字節:板塊編號,4字節整數
(2.2)1字節:板塊名稱的長度(單位為字節,一個漢字占用兩個字節),1字節整數
(2.3)20字節:板塊名稱,20字節字符串。板塊名稱最長20字節,默認名稱為“自選”加序號,所以修改名稱后,在二進制文件中可能出現Love11的情況(04 4C 6F 76 65 31 31),這種情況不用理會后面的兩個31,直接根據名稱長度04取四個字節即可。
(2.4)4字節:該板塊中證券的數目,4字節整數
(2.5)14字節:板塊中證券的內容
(2.5.1)2字節:證券類型 0x00 0x06 上海股票;0x01 0x06 深圳股票
(2.5.2)6字節:證券代碼,6字節字符串
(2.5.3)6字節:未知
3日線文件
日線文件保存位置:
上海:dzh安裝目錄 DATA SHase Day ,深圳:dzh安裝目錄 DATA SZnse Day ,名稱為“證券代碼.day”。
文件結構描述如下:
(1)文件大小 =證券數量 × 40字節(每個證券占用 40 字節)
(2)每個證券內容描述
(2.1)1~4字節:日期 == 4字節的整數
(2.2)5~8字節:開盤價 == 4字節的整數(數值=真實開盤價×1000)
(2.3)9~12字節:最高價 == 4字節的整數(數值=真實最高價×1000)
(2.4)13~16字節:最低價 == 4字節的整數(數值=真實最低價×1000)
(2.5)17~20字節:收盤價 == 4字節的整數(數值=真實收盤價×1000)
大智慧數據目錄解讀
cfg 主頁
Data(數據目錄)
---$$(大盤指數)
------day.dat(日線數據)
------min1.dat(一分鐘數據)
------min.dat(五分鐘數據)
------extday.dat(擴展數據)
------report.dat(當天的分筆數據)
------stkinfo.dat(代碼表/即時行情數據/財務數據/除權數據)
---B$(板塊數據)
---DC()
---Extra(擴展數據)
---FI()
---HK(香港市場)
---HS()
---IX()
---ListPage(平臺數據)
---SC()
---SF(上海金融期貨指數)[只是一個模擬平臺,要看行情每天要執行收盤,第二天要下載數據再看]
---SG()
---SH(上海市場)
------day.dat(日線數據)[多個股票日線出現錯誤可刪除,再重新下載數據]
------min1.dat(一分鐘數據)[多個股票一分鐘線出現錯誤可刪除,再重新下載數據]
------min.dat(五分鐘數據)[多個股票日線出現錯誤可刪除,再重新下載數據]
------extday.dat(擴展數據)
------report.dat(當天的分筆數據)
------stkinf060.dat(代碼表/即時行情數據/財務數據/除權數據)[多個股票財務數據出現錯誤可刪除,再重新下載數據]
------abh.txt(A股B股H股相關信息)
------*.prp(歷史回憶文件,一天一個文件)[只能通過每天執行收盤獲得該文件,從別的機器拷貝及網上下載軟件均不能識別]
---SZ(深圳市場)
------day.dat(日線數據)
------min1.dat(一分鐘數據)
------min.dat(五分鐘數據)
------extday.dat(擴展數據)
------report.dat(當天的分筆數據)
------stkinfo060.dat(代碼表/即時行情數據/財務數據/除權數據)
------abh.txt(A股B股H股相關信息)
------*.prp(歷史回憶文件,一天一個文件)[只能通過每天執行收盤獲得該文件,從別的機器拷貝及網上下載軟件均不能識別]
---ZC()
---ZI()
---Deflayout(默認方案布局)[與文件夾Layout內容一樣,但Layout文件夾不能刪除,因為系統不能自動生成Layout文件夾,而可以生成Deflayout文件夾。]
[如果軟件中股票價格或dde決策數據不對,建議刪除DATA文件夾里(除*.prp)所有文件夾及文件,再重新下載數據。]
Drvdata(實時數據目錄)
---sh(接收上海股票實時數據)
---sz(接收深圳股票實時數據)
---hk(接收香港股票實時數據)
[如果在電腦時間年月日正確及網絡狀態良好的情況下,分時線出現一條直線或紊亂現象,刪除該文件夾,重新開啟大智慧軟件就可解決。]
Drvuser()
Face(圖片文件)---廣告類的圖形 [可刪除,軟件不會自動生成,但影響不大,未遇到這方面的問題]
INFCATCH(地雷信息目錄)---[每只股票都有相對應的信息地雷,文件格式為*.IDX]
Layout(布局方案設計)---有七種窗口方案 [刪除后只有默認方案,且頁面類型不能切換,軟件不能自動生成,不能刪除該文件夾]
log()
NEWs(新聞)---[作用不大,遇到問題幾乎為零]
pushinfo()
Update(系統自動更新目錄)
--- Level-2指標(新).FNC [新一代的特色指標,如果軟件沒有DDE決策系統,做公式引入即可;如刪除,將不會自動生成,丟失特色指標]
---zb.reg(注冊表文件) [當沒有香港股票時,導入該注冊表即可]
Upgrade(升級文件目錄)
---UpdateFiles.ini(升級文件)
---update.log(升級日志)
Userdata(用戶目錄)
---SELFN.DTA(存入用戶自編的公式)
---FREQ.IND(常用指標)
---AUTOBLK.CFG(自動板塊設定)
---Attention()
---block(板塊定義,包括板塊數據/自選股)
---bmp()
---DefaultList()
---import()
---IndiTemp()
---ListFilter()
---note(備忘錄) [即便自己加了備忘,該文件夾里也不保存文件]
---param(參數指引)
---pattern(模式匹配設計)
---pool()
---poolsys()
---posible(預測分析設計)
---relate(相關性分析保存結果)
---self(用戶自定義數據,用戶自定義函數)
------dde決策.xml(動態顯示牌中頁面布局文件) [刪除后軟件重啟兩次可自動恢復]
------*.xml(用戶自己新增的頁面)
------*.wsv(保存頁面文件)
------*.cep(保存組合條件選股條件)
------*.tpt(保存指標模板)
------*.inv(個人理財文件)
------self年月日.DTA(每日自動公式備分文件)
------ALERT.DAT(歷史預警紀錄)
---selfdata(自定義數據)
---selfline(用戶畫線文件) [保存的文件格式是:SH*.LIN、SZ*.LIN]
---spotana(定位分析保存結果)
---star()
---table(數據保存結果)
---temp()
---test(系統測試、優化保存結果)
---workspace()
*.XML(動態顯示牌不同頁面布局文件,如:行情、擴展、財務、統計)
FxjHqServer.ini(該文件保存了各主站的名稱和IP地址)
dzhinfo.txt()
autoupdate.ini(軟件自動升級文件)
fxj.reg(注冊表項文件)[如果沒有鍵盤精靈、沒有股票代碼、開機菜單點擊無效、F10資料欄和菜單欄重合時導入注冊表;一般是軟件安裝或升級出錯要導入;英文版的XP安裝好后一定要導入注冊表]
證券代碼init.dat文件結構:
頭部字段(28字節)
1~8:大智慧最后一次聯網的日期,字符串
9~28:未知,但猜測應該和A股,B股等的證券數目有關
證券內容描述(每個證券占用 32 字節)
1~8:證券名稱
9~14:證券代碼
15~16:證券代碼類型
0x1F 0x00一般證券(場內交易的股票和基金等)
0x1E 0x00 證券指數(上證指數、深圳)
0x20 0x00 證券指數(滬深300指數等)
17~20:昨天收盤(*1000)
21~24:昨天的5日平均成交量(單位手,奇怪,記錄這個數據干嘛? 估計和量比數據有關,量比是一個衡量相對成交量的指標,它是開市后每分鐘的平均成交量與過去5個交易日每分鐘平均成交量之比。量比數值大于1,說明當日每分鐘的平均成交量大于過去5個交易日的平均數值,成交放大;量比數值小于1,表明現在的成交比不上過去5日的平均水平,成交萎縮。)
25~28:總股本(單位手)
17~20:流通股(單位手)
******************************例子**********************************************************
32 30 31 30 30 32 30 33 2 FFFFFFA5 2A F 3A 2 FFFFFFB2 2 C 3 FFFFFF84 3 53 48 FFFFFFFE 7 53 5A 2C 7
20100203
C9 CF D6 A4 D6 B8 CA FD 30 30 30 30 30 31 1E 0 B9 C7 2C 0 54 AC 87 5 1 DA D9 1 36 2F BE 1
上證指數 000001 30 2934713 92777556 31054337 29241142
C6 D6 B7 A2 D2 F8 D0 D0 36 30 30 30 30 30 1F 0 28 4B 0 0 AB 60 9 0 A8 5B 43 5 F1 64 B9 4
浦發銀行 600000 31 19240 614571 88300456 79258865
C9 EE B7 A2 D5 B9 A3 C1 30 30 30 30 30 31 1F 0 7A 53 0 0 62 7F 4 0 1 DA D9 1 36 2F BE 1
深發展A 000001 31 21370 294754 31054337 29241142
********************************************************************************************
權息數據 .wgt的數據格式
每次權息變化一個記錄,第一個記錄中的日期為上市日期。每一記錄占36個字節。unsigned long wgt[9]
wgt[0]: 日期(解碼見CCheck::CheckWgt)
wgt[1]: 送股數(每10股送股數*10000)
wgt[2]: 配股數(每10股配股數*10000)
wgt[3]: 配股價(* 1000)
wgt[4]: 紅利(每10股分價格*1000)
wgt[5]: 轉增數(*10000)
wgt[6]: 總股本(萬股)
wgt[7]: 流通股數(萬股)
wgt[8]: 備注
日線數據 .day的數據格式
每一條記錄的長度為40字節, unsigned long Day[10]
Day[0]:日期
Day[1]:開盤價*1000
Day[2]:最高價*1000
Day[3]:最低價*1000
Day[4]:收盤價*1000
Day[5]:成交量(手)
Day[6]:成交金額(*1000)
Day[7]-Day[9]:未知 (早期是0,現在被加入了某些信息,但尚未理解)
超高頻數據 .tic的數據格式
頭部字段(8字節):意義未知,可能是對應于成交量的存儲代碼
交易記錄(每次記錄用 13*4 字節),unsigned long tic[13]
tic[0]:交易序號,0為集合競價
tic[1]:交易時間和交易性質(解碼見Ccheck::checktic,交易性質0未確定,FF內盤,01 外盤)
tic[2]:成交價(*1000)
tic[3]:未知
tic[4]:成交量(解碼見Ccheck::checktic)
tic[5]:委買價(*1000)
tic[6]:委賣價(*1000)
tic[7]:成交筆數(上海未給出)
tic[8-13]:未知
大智慧文件格式
說明:
這是上個月為天涯股市論談版薦股大賽做的排名程序用的,排名程序調用大智慧的日線數據來進行排名,但大智慧每天要到下午4點左右才生成日線數據,而之前早有人貼出了排名,所以寫的排名程序也沒派上什么用場。文件格式并沒有分析的全,只分析了當時用到的數據。文章寫于11月4日。
股票代碼信息:
滬市在DATAShaseSTKINFO.DTA文件中。深市在DATASZnseSTKINFO.DTA文件中。
格式:
文件首220字節,意義未知。
結構:
未知:(4字節)
股票代碼:字符串(6字節,例’600001’)
未知:(2字節)
股票名稱:字符串,股票名稱(8字節)
未知:(216字節)
日線數據:
滬市在DATA Shase Day目錄下,以股票代碼命名的的文件。深市在DATASZnseDay目錄下。
格式:
無文件首信息。
結構:
日期:4字節,整型表示的日期,例2005-11-01表示為20051101。
開盤價:4字節,整型,為實際價格乘1000。例4.75元保存的是4750。
最高價:4字節,同上。
最低價:4字節,同上。
收盤價:4字節,同上。
成交額:4字節整型,為實際成交客*10。
成交量:4字節,整型。
散戶數:4字節,整型
未知:8字節。
除權信息:
除權股票代碼在zhdocbaserights.ctf文件中。除權數據在zhdocbaserights.cxt文件中。
除權股票代碼文件(rights.ctf)格式:
文件首:380字節,意義未知。
結構:
除權記錄數:2字節,整型
股票代碼:4字節,整型(例’600036’的值為600036)。
未知:4字節
除權記錄起始記錄號:4字節(對應rights.cxt中的記錄號)
除權記錄結束記錄號:4字節(對就rigths.cxt中的記錄號)
除權股票數據記錄文件(rights.cxt)格式:
文件首:46字節,意義未知。
結構:
未知:2字節
除權時間:4字節。整型表示的日期,例2005-11-01表示為20051101。
每10股送股數:4字節,同開盤價格格式。
每10股配股送:4字節,同開盤價格格式。
配股價:4字節,同開盤價格格式。
每10股派息數:4字節,同開盤價格格式。
除權前流通股:4字節整型,(萬股)
除權后流通股:同上。
除權前總股本:同上。
除權后總股本:同上。
大智慧數據文件和數據結構
大智慧數據文件和數據結構:(假設大智慧股票行情軟件安裝在D:gpdzh目錄下)
上海日線存儲路徑為:D:gpdzhDATASHaseDay,文件擴展名為:.day
上海周線存儲路徑為:D:gpdzhDATASHaseweek,文件擴展名為: .wek
上海月線存儲路徑為:D:gpdzhDATASHasemonth,文件擴展名為: .mnt
深圳日線存儲路徑為:D:gpdzhDATASZnseDay
深圳周線存儲路徑為:D:gpdzhDATASZnseweek
深圳月線存儲路徑為:D:gpdzhDATASZnsemonth
周線,月線格式與日線格式一致.
每一條記錄的長度為40字節:
1-4字節為日期,轉換為十進制格式如下:19910102
5-8字節=開盤價(元)*1000
9-12字節=最高價(元)*1000
13-16字節=最低價(元)*1000
17-20字節=收盤價(元)*1000
21-24字節=成交金額(元)/1000
25-28字節=成交量(手)
其余12字節未使用
自己寫了個C語言的小程序,奉獻給大家,希望有人有用。
實現步驟:
定義一個股票價格的數據結構 gpjg
用fread函數讀文件
用fprintf函數寫文件
程序執行的結果即將二進制文件轉換成逗號分割文本文件,由于后綴名為.csv,可以用excel打開,或后續處理。
程序如下:
#include
#include
struct gpjg
{
unsigned long int rq ;
unsigned long int kp ;
unsigned long int zg ;
unsigned long int zd ;
unsigned long int sp ;
unsigned long int cjje ;
unsigned long int cjl ;
unsigned long int l1 ;
unsigned long int l2 ;
unsigned long int l3 ;
}gpjg1;
main()
{FILE *fp;
FILE *fp1;
int i;
if ((fp=fopen("D:\gp\dzh\DATA\SZnse\Day\184721.day","rb"))==NULL)
{printf("cannot open filen");
return;
}
if ((fp1=fopen("184721.csv","w"))==NULL)
{printf("cannot open filen");
return;
}
for (i=0;i<10000;i++) {
fread(&gpjg1,sizeof(struct gpjg),1,fp);
if feof(fp) { return; }
printf("%lu,%lu,%lu,%lu,%lu,%lu,%lun",gpjg1.rq,gpjg1.kp,gpjg1.zg,gpjg1.zd,gpjg1.sp,gpjg1.cjje,gpjg1.cjl);
fprintf(fp1,"%lu,%lu,%lu,%lu,%lu,%lu,%lun",gpjg1.rq,gpjg1.kp,gpjg1.zg,gpjg1.zd,gpjg1.sp,gpjg1.cjje,gpjg1.cjl);
}
}
總結
以上是生活随笔為你收集整理的python读取大智慧数据_大智慧数据格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌地图离线包-尝试
- 下一篇: 惊!使用nw.js将vue项目打包为可在