股票接口
首先我們需要得到所有的股票代碼,好在已經有網頁幫我們列出了所有的股票名稱和代碼,地址是:
http://quote.eastmoney.com/stocklist.html
通過這個頁面,就可以抓取了。抓取之后我們就可以存入mysql中,每一個股票可以存一張表,而每一張表中則可以存入股票的動態數據。
這里我們只能獲取到一些最簡單的數據,一些更加詳細的數據還需要獲取,這里需要使用一個騰訊財經的接口
http://qt.gtimg.cn/q=sz000858
該接口為獲取五糧液的股票數據,返回結果如下:
v_sz000858="51~五 糧 液~000858~52.79~53.70~53.50~63629~24808~38821~52.76~21~52.75~321~52.74~10~52.73~38~52.72~80~52.79~131~52.80~340~52.82~60~52.83~26~52.84~1~09:55:06/52.79/193/B/1018514/1168|09:55:03/52.79/121/S/638756/1166|09:55:00/52.79/48/S/253405/1165|09:54:57/52.79/3/S/15838/1162|09:54:54/52.79/151/B/796991/1160|09:54:51/52.78/105/S/554359/1158~20170615095507~-0.91~-1.69~53.71~52.60~52.79/63267/335599767~63629~33751~0.17~26.81~~53.71~52.60~2.07~2003.78~2003.89~3.95~59.07~48.33~1.99";
解析數據的時候需要按照~進行分割,分割之后數據含義如下
0: 未知,可能是在騰訊數據庫中的主鍵 1: 名字 2: 代碼 3: 當前價格 4: 昨收 5: 今開 6: 成交量(手) 7: 外盤 8: 內盤 9: 買一 10: 買一量(手) 11-18: 買二 買五 19: 賣一 20: 賣一量 21-28: 賣二 賣五 29: 最近逐筆成交 30: 時間 31: 漲跌 32: 漲跌% 33: 最高 34: 最低 35: 價格/成交量(手)/成交額 36: 成交量(手) 37: 成交額(萬) 38: 換手率 39: 市盈率 40: 41: 最高 42: 最低 43: 振幅 44: 流通市值 45: 總市值 46: 市凈率 47: 漲停價 48: 跌停價
通過這個接口我們就可以完善股票基礎數據了,從目前來看,我們僅僅需要這些數據。
struct stock{ id, #主鍵 code, #股票代碼,作唯一索引處理 type, #股票類型,有sz,hs分別表示深圳,滬深 name, #股票名稱,字符串類型 pe, #市盈率 pb, #市凈率 }
接着就是每日下午三點之后更新當日的數據,我們要做的就是對當天的數據進行分析,當日股票的數據結構如下
struct sotck_id{ code, #股票代碼 type, #股票類型 open_price, #開盤價 close_price, #收盤價 peak_price, #最高價 low_price, #最低價 main_inflow, #主力流入 main_outflow, #主力流出 main_net_inflow, #主力凈流入 }
騰訊還有一個獲取資金流向的接口,這讓我們很方便的看出主力的操作
接口地址
http://qt.gtimg.cn/q=ff_sz300658
獲取的數據結果如下
v_ff_sz300658="sz300658~5918.75~6913.40~-994.66~-4.97~14088.73~13094.08~994.65~4.97~20007.48~49843.378~46441.413~延江股份~20170616~20170615^12366.07^10534.77~20170614^9722.16^8610.57~20170613^12193.90^8315.81~20170612^9642.50^12066.86";
以~分割字符串,得到的結果以及含義如下
0: 股票代碼 1: 主力流入 2: 主力流出 3: 主力凈流入 4: 主力凈流入/資金流入流出總和 5: 散戶流入 6: 散戶流出 7: 散戶凈流入 8: 散戶凈流入/資金流入流出總和 9: 資金流入流出總和1+2+5+6 10: 未知 11: 未知 12: 名字 13: 日期
設定閾值
有了股票數據就好辦了,可以利用各種技術指標對股票進行篩選,每天只需要關注符合我們技術指標的股票就可以了,這種方法適合超短線。
常用有可以分析蠟燭圖,MACD,主力資金流向等等。這里就不詳細多說了,我也是個菜鳥,目前還正在學習。
歷史數據驗證
設定好了閾值,就可以進行歷史數據回測了,通過歷史數據來驗證我們的程序到底是不是准確。
獲取歷史數據我們選用鳳凰財經的接口,code表示股票的代碼。
http://api.finance.ifeng.com/akdaily/?code=sz002307&type=last
這個接口可以一次性獲取股票的歷史數據,其中每個數組里面的數據如下所示
["2017-06-16","18.180","19.290","18.300","17.400","1000574.62","0.420","2.35","16.614","16.121","16.023","644,057.57","537,300.99","490,775.52","17.95"]
通過與軟件的對比,可以得到這些數據的含義
0 日期 1 開盤價 2 最高價 3 收盤價 4 最低價 5 成交量 6 漲跌額 7 漲跌幅 8 5日均價 9 10日均價 10 20日均價 11 5日均量 12 10日均量 13 20日均量 14 換手率
漲跌家數
https://hq.sinajs.cn/rn=1587089097462&list=sh000002_zdp,sz399107_zdp,sh000003_zdp,sz399108_zdp,sz399102_zdp
返回
var hq_str_sh000002_zdp="961,427,113"; var hq_str_sz399107_zdp="1432,633,138"; var hq_str_sh000003_zdp="26,12,11"; var hq_str_sz399108_zdp="24,13,9"; var hq_str_sz399102_zdp="561,203,36";
sh000002 = 滬A
sz399107 = 深A
sh000003 = 全B
sz399102 = 創業
961是上漲家數
427是平家數
113是下跌家數