股票获取接口

股票接口

首先我们需要得到所有的股票代码,好在已经有网页帮我们列出了所有的股票名称和代码,地址是:

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是下跌家数








原文地址:https://www.cnblogs.com/ilovecpp/p/12717697.html