獲取歷史K線數據的幾個方法


1、通過已有的股票交易軟件下載數據,如果他們是開源結構的,就可以解析他們的K線數據。

2、在互聯網上抓取數據

int iStockCode;
CString strUrl;

通過OpenUrl、Read讀取網頁數據

1)從163下載K線數據

//fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

if (iStockCode >= 600000)
{
strUrl.Format(L"http://quotes.money.163.com/service/chddata.html?code=0%06d&start=%d&end=%d&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;VOTURNOVER;VATURNOVER", iStockCode, iCurStart, iCurEnd);
}
else
{
strUrl.Format(L"http://quotes.money.163.com/service/chddata.html?code=1%06d&start=%d&end=%d&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;VOTURNOVER;VATURNOVER", iStockCode, iCurStart, iCurEnd);
}

數據內容:獲取的是一個csv文件,直接讀取到buffer里面即可

日期,股票代碼,名稱,收盤價,最高價,最低價,開盤價,前收盤,成交量,成交金額
2014-03-28,'600000,浦發銀行,9.67,9.92,9.6,9.64,9.69,235609623,2299182855.0
2014-03-27,'600000,浦發銀行,9.69,9.94,9.48,9.53,9.58,310183453,3020967368.0

用boost庫進行字符串分割,分割string為\n,分割后對每個Item進行逗號分割,然后依次處理即可。

163下載的數據,包含非交易日的Item(Amount = 0),過濾掉。

2)從和訊網下載數據

if (iStockCode >= 600000)
{
strUrl.Format(L"http://flashquote.stock.hexun.com/Quotejs/DA/1_%06d_DA.html",iStockCode);
}
else
{
strUrl.Format(L"http://flashquote.stock.hexun.com/Quotejs/DA/2_%06d_DA.html",iStockCode);
}

數據內容:

refreshDataStr('600000','1','DA','[[19991110,10.00,29.50,29.80,27.00,27.75,174085055,4859102435],[19991111,27.75,27.58,28.38,27.53,27.71,29403491,821582199],[19991112,27.71,27.86,28.30,27.77,28.05,15007963,421591623],

...

[20140326,9.75,9.78,9.83,9.51,9.58,188654730,1813592755],[20140327,9.58,9.53,9.94,9.48,9.69,310183453,3020967368],[20140328,9.69,9.64,9.92,9.60,9.67,235609623,2299182855]]');

取 '[[ 和 ]]' 之間的string,進行],[的字符串分割,形成VecString,對每個Item String進行逗號分割,獲取【交易日期、昨收盤、開盤、最高、最低、最新價、成交量、成交額】等數據,自己去存儲吧。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM