K线图如何对接第3方数据4-流通股本数据
协议名称-流通股本数据
对应代码的类名和函数名:KLineChartContainer::RequestFlowCapitalData
用来计算换手率,流通市值等很股本市值有关的数据,目前取的历史所有的流通A股的股本(注: 不是一天一条记录(这样太浪费了),而是变动才生成1条记录的。一般在4大报,分红送股等股本变动的时候有一条记录)
协议日志截图
Request 字段说明
Request是需要请求的数据, field是需要请求的数据
symbol
股票代码
field
需要返回的数据
- 股票代码
- 日期
- 流通A股股本
orderfield
返回数据排序, 根据日期排序
返回json数据结构
数据截图
stock
存放所有请求的股票数据,1个股票一条数据, 这里我们就请求了一个股票 所以数组就是1.
count
数据个数(看截图只有20几条数据, 比每天返回一条数据节约了很多流量)
symbol
股票代码
stockday
所有的流通A股股本数据
date
流通股本变动日期
capital.a
流通股本
注:流通股本下载完以后是由前端拟合到K线对应的日期上。所以如何股本变动日期不在K线日期内,会丢数据,这种请求出现在比如周6发了一个季报公布了股本,这是时候需要把股本变动日期需要改成周五的日期,这样才能对上K线的日期,K线上节假日,周末都是没有的。
由于文章里面不能上传附件,样本数据请去群里文件中下载,
文件名: KLineChartContainer-RequestFlowCapitalData 样本数据.txt
数字货币下载流通股
默认数字货币不下载流通股, 如果要下载流通股可以通过setoption强制下载流通股。
var option=
{
Type:'历史K线图', //创建图形类型
........
EnableFlowCapital:
{
BIT:true, //强制下载数字货币流通股
},
}
忽略流通股本
如果不需要流通股本,直接截获这个事件,然后返回空数据
this.NetworkFilter=function(data, callback)
{
console.log('[NetworkFilter] data', data);
switch(data.Name)
{
.......
case 'KLineChartContainer::RequestFlowCapitalData': //流通股本
this.RequestFlowCapitalData(data,callback);
break;
}
}
//流通股本
this.RequestFlowCapitalData=function(data,callback)
{
data.PreventDefault=true;
var hqChartData={code:0, stock:[]}; //如果没有数据就填空
callback(hqChartData);
}
样本数据
https://github.com/jones2000/HQChart/blob/master/教程/数据样例/流通股本.json