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