contact@digquant.com.cn
400-1860-552
官方群:463071731

数据提取

l   函数名称:traderGetCodeList

l   函数说明:获得指数(包含权重和成分股)、行业板块(没有权重,只有成分股)、地域板块(没有权重,只有成分股)、期权板块的信息,包括成分股及权重等信息

l   语法:

IDPWeightArray = traderGetCodeList(block,varargin)

l   用法:

输入参数:

block:板块或指数的名称,需要为字符型

可以直接输入找板块或指数列表:

Ø index:取所有指数

Ø plate_area:取所有地区板块

Ø plate_industry:取行业板块

Ø option:取期权

sse,szse,cffex,shfe,dce,czce:取各交易所品种代码

cffex000,cffex001,shfe000,shfe001等:取商品期货交易所主力,次主力合约代码表

index/plate_area/plate_industryBlockName:获取成分股

也可以输入具体的指数或板块查看成分股信息,比如已经知道沪深300BlockName'HS300',只需输入:

Ø IDPWeightArray = traderGetCodeList('HS300');

varargin:输入的时间 缺失时为当前时间点,时间格式与traderGetKData一样

输出参数:

IDPWeightArray:指数、行业板块、地域板块所对应的信息

包含5个字段:

Ø Market:市场

Ø Code:代码

Ø Name:板块或指数的详细名称

Ø BlockName:输入的板块或指数名称

Ø Weight:权重

l   示例:

查找沪深全市场当天发行的所有指数列表并赋值给A,从板块列表中查找沪深300指数的BlockName,查询对应的成分股为B

>>A= traderGetCodeList('index');

>>B= traderGetCodeList('HS300');

查找深圳证券交易所的所有股票

>>traderGetCodeList('szse');

查找沪深300201511日的成分股信息,赋值给A

>>A= traderGetCodeList('HS300',20150101);


l   函数名称:traderGetCurrentBar

l   函数说明:获得当前bar的信息

l   语法:      

[BarNumber,BarTime,BarOpen,BarHigh,BarLow,BarClose,BarVolume,BarTurnOver,BarOpenInterest] = traderGetCurrentBar(Market,Code)

l   用法:

输入参数:

Market :市场类型,字符串格式,允许值如下:

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘000002

输出参数:

BarNumber : double型数值,当前Bar位置

BarTime:当前Bar时间,以Matlab Datenum数值形式存储

BarOpendouble型数值,当前Bar开盘价

BarHighdouble型数值,当前Bar最高价

BarLowdouble型数值,当前Bar最低价

BarClosedouble型数值,当前Bar收盘价

BarVolumedouble型数值,当前Bar成交量

BarTurnoverdouble型数值,当前Bar成交金额

BarOpeninterestdouble型数值,当前Bar未平仓量

l   示例:

获取代码为600009的股票在当前Bar的信息

>>[BarNumber,BarTime,BarOpen,BarHigh,BarLow,BarClose,BarVolume,BarTurnOver,BarOpenInterest] = traderGetCurrentBar(SSE, 600009);


l   函数名称:traderGetCurrentBarV2

l   函数说明:获得当前bar的信息

l   语法:

[barNum,barTime]=traderGetCurrentBarV2();

l   用法

输入参数:

barNumberdouble型数值,当前Bar坐标位置

barTime:当前Bar时间,以Matlab Datenum数值形式存储。

l   示例:

获取当前bar信息

>>[BarNumber,BarTime]= traderGetCurrentBarV2();


l   函数名称:traderGetCurrentTick

l   函数说明:获取当前的tick的所有信息

l   语法:

[TickNumber,Time,Price,Volume,VolumeTick,OpenInterest,BidPrice,BidVolume,AskPrice,AskVolume] =

traderGetCurrentTick(Market,Code)

l   用法:

输入参数:

Market :市场类型,字符串格式,允许值如下:

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘000002

输出参数:

TickNumber : double型数值,当前tick位置

Time:当前tick时间,以Matlab Datenum数值形式存储

Pricedouble型数值,当前tick价格

Volumedouble型数值,交易日开始到当前tick的总成交量

VolumeTickdouble型数值,当前tick的成交量

OpenInterestdouble型数值,当前tick时间点的持仓量。

BidPrice:5*1double型数组,当前tick的买价,分为5

BidVolume5*1 整型数组,当前买价的交易量信息,分为5

AskPrice5*1double型数组,当前tick的卖价,分为5

AskVolume5*1 整型数组,当前卖价的交易量信息,分为5

l   示例:

获取当前的股指期货tick的所有信息

[TickNumber,Time,Price,Volume,VolumeTick,OpenInterest,BidPrice,BidVolume,AskPrice,AskVolume]= traderGetCurrentTick('CFFEX','IF0000');


l   函数名称:traderGetCurTickInfo

l   函数说明:获取当前的tick信息

l   语法:      

[curticknumber,curtime,curprice,curvolume,isTickEnd] = traderGetCurTickInfo(Market,Code)

l   用法:

输入参数:

Market :市场类型,字符串格式,允许值如下:

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘IF0000

输出参数:

curticknumber : double型数值,当前tick位置

curtime当前tick时间,以Matlab Datenum数值形式存储

curpricedouble型数值,当前tick价格

curvolumedouble型数值,当前tick成交量

isTickEnd:标记是否为当前分钟最后一个tick,若是,值为1,否则,为0

l   示例:

获取当前Tick的信息

>>[curticknumber,curtime,curprice,curvolume,isTickEnd] = traderGetCurTickInfo('CFFEX','IF0000');


l   函数名称:traderGetFutureInfo

l   函数说明:获取期货信息

l   语法:

l   [name,lastTD,Multiple,MinMove,TradingFeeOpen,TradingFeeClose,TradingFeeCloseToday,LongMargin,ShortMargin] = traderGetFutureInfo(Market,Code)

l   用法:

输入参数:

Market :市场类型,字符串格式,允许值如下:

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘IF0000

输出参数:

name : 对应的品种代码

lastTD: 最后交易日

Multiple:合约乘数

MinMove:最小变动单位

TradingFeeOpen:开仓手续费率

TradingFeeClose:平仓手续费率

TradingFeeCloseToday:当日平仓手续费

LongMargin:多方保证金率

ShortMargin:空方保证金率

l   示例:

获取期货IF1507的数据

>>[name,lastTD,Multiple,MinMove,TradingFeeOpen,TradingFeeClose,TradingFeeCloseToday,LongMargin,ShortMargin] = traderGetFutureInfo('CFFEX','IF1507');


l  函数名称:traderGetFutureInfoV2

l   函数说明:获取期货信息

l   语法:

[Multiple,MinMove,TradingFeeOpen,TradingFeeClose,TradingFeeCloseToday,LongMargin,ShortMargin] = traderGetFutureInfoV2(TargetIdx)

l   用法:

输入参数:

TargetIdx:交易标的索引序列号,可以为单个数字或一个序列。如3表示序列中第三个,(2,10)表示第二个和第十个,(3:7)表示从第三个到第七个

输出参数:

Multiple:合约乘数

MinMove:最小变动单位

TradingFeeOpen:开仓手续费率

TradingFeeClose:平仓手续费率,(平昨或者统一概括)

TradingFeeCloseToday:当日平仓手续费

LongMargin:多方保证金率

ShortMargin:空方保证金率

l   示例:

TargetList(1).code={600001},TargetList(2).code={‘IF0000’}, TargetList(3).code={IF1507’},TargetList(4).code={‘IH0000’}

获取期货IF1507的数据

>>[ Multiple,MinMove,TradingFeeOpen,TradingFeeClose,TradingFeeCloseToday,LongMargin,ShortMargin] = traderGetFutureInfoV2(3);


l   函数名称:traderGetKData

l   函数说明:根据起止时间点提取K线数据;可通过此函数获取该时段内重要的价量数据。

l   语法:

[time,open,high,low,close,volume,turnover,openinterest]=traderGetKData(Market,Code,KFrequency,KFreNum,BeginDate,EndDate,FilledUp,FQ)

l   用法:

输入参数:

Market :市场类型,字符串格式,允许值如下:

ØSZSE’:深圳股票

Ø SSE’ :上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘000002

KFrequencyK线的时间级别,如min , day

KFreNumK线的频率

BeginDate:开始日期,整型,如20140608

EndDate:结束日期,整型,如20140609,为0时取到当天

FilledUp:补齐类型,输入 false或者true false表示不补齐,true为补齐

FQ:复权类型,’NA’为不复权,’FWard’向前复权,’BWard’向后复权

输出参数:

time:时间列表,N×1 double型数组,以Matlab日期数字形式存储。

open:开盘价数据,N×1 double型数组,每个元素对应time中时间点的开盘价。

high:最高价数据,N×1 double型数组,每个元素对应time中时间点的最高价。

low:最低价数据,N×1 double型数组,每个元素对应time中时间点的最低价。

close:收盘价数据,N×1 double型数组,每个元素对应time中时间点的收盘价。

volume:成交量数据,N×1 double型数组,每个元素对应time中时间点的成交量。

turnover:成交金额,N×1 double型数组,每个元素对应time中时间点的换手率。

openinterest:持仓量数据,N×1 double型数组,每个元素对应time中时间点的持仓量。 

l   示例:

获取代码为IF0000的股指期货主力合约在2014年的1分钟,补齐的不复权K线数据

[time,open,high,low,close,volume,turnover,openinterest]=traderGetKData('CFFEX', 'IF0000', 'min', 1, 20140101, 20141231,true,'NA');

获得代码为000002的股票的201467月份不补齐的向前复权的1K线数据

[time,open,high,low,close,volume,turnover,openinterest]=traderGetKData('SZSE', '000002', 'day', 1, 20140601, 20140731,false, 'FWard');


l   函数名称:traderGetRegKData

l   函数说明:根据已注册的数据序列获取K线数据;可通过此函数获取该时段内重要的价量数据。

l   语法:

OutMatrix = traderGetRegKData(Idx,len,FilledUp,bpPFCell)

l   用法:

输入参数:

Idx:注册数据时返回的索引序列号

len:序列长度,数值类型。例120,表示返回从当前开始往前的120个数据序列。

FilledUp:补齐类型,输入 false或者true false表示不补齐,true为补齐

bpPFCell:函数固定结构,并行计算中的入参模式。有函数入参时必须将该参数入参。

输出参数:

OutMatrix:返回K线数据价量的信息,包含:

Øtime:时间列表,N×1 double型数组,以Matlab日期数字形式存储。

Ø open:开盘价数据,N×1 double型数组,每个元素对应time中时间点的开盘价。

Ø high:最高价数据,N×1 double型数组,每个元素对应time中时间点的最高价。

Ø low:最低价数据,N×1 double型数组,每个元素对应time中时间点的最低价。

Ø close:收盘价数据,N×1 double型数组,每个元素对应time中时间点的收盘价。

Ø volume:成交量数据,N×1 double型数组,每个元素对应time中时间点的成交量。

Ø turnover:成交金额,N×1 double型数组,每个元素对应time中时间点的换手率。

Ø openinterest:持仓量数据,N×1 double型数组,每个元素对应time中时间点的持仓量。

l   示例:

>> KIdx=traderRegKData(‘day’,5);

>> TL=traderGetRegTimeLine();

以不补齐方式获取上述已注册数据

>> KMatrix= traderGetRegKData(KIdx,length(TL),false)

 


l   函数名称:traderGetRegTimeLine

l   函数说明:获取注册数据的时间序列。

l   语法:

TimeLine=traderGetRegTimeLine();

l   用法:

输出参数:

TimeLine:时间轴序列,MATLABdatetime类型。

l   示例:

T(1)=datenum(2015,1,10,23,59,59); T(1)=datenum(2015,1,16,23,59,59);D(1)=2.6;D(2)=3.8

>> Idx=traderRegUserData(T,D);

>> TL=traderGetRegTimeLine();


l   函数名称:traderGetRegUserData

l   函数说明:根据已注册的用户自行导入的外部数据获取K线数据;可通过此函数获取该时段内重要的价量数据。

l   语法:

value= traderGetRegUserData(Idx,len,bpPFCell);

l   用法:

输入参数:

Idx:用户注册外部导入数据时返回的索引序列号

len:序列长度,数值类型。例120,表示返回从当前开始往前的120个数据序列。

bpPFCell:函数固定结构,并行计算中的入参模式。有函数入参时必须将该参数入参。

输出参数:

value:自定义输出值。

l   示例:

T(1)=datenum(2015,1,10,23,59,59); T(1)=datenum(2015,1,16,23,59,59);D(1)=2.6;D(2)=3.8

>> Idx=traderRegUserData(T,D);

>> TL=traderGetRegTimeLine();

>> Value= traderGetRegUserData (Idx,length(TL));

 

l   函数名称:traderGetRegUserIndi

l   函数说明:根据已注册的用户自建因子序列获取数据索引序列

l   语法:

value= traderGetRegUserIndi(Idx,len,bpPFCell);

l   用法:

输入参数:

Idx:用户注册自建因子时返回的索引序列号

len:序列长度,数值类型。例120,表示返回从当前开始往前的120个数据序列。

bpPFCell:函数固定结构,并行计算中的入参模式。有函数入参时必须将该参数入参。

输出参数:

value:自定义输出值。

l   示例:

T(1)=datenum(2015,1,10,23,59,59); T(1)=datenum(2015,1,16,23,59,59);D(1)=2.6;D(2)=3.8

>> Idx=traderRegUserData(T,D);

>> TL=traderGetRegTimeLine();

>> Value= traderGetRegUserIndi(Idx,length(TL));


l   函数名称:traderGetRtDataMulti

l   函数说明:获取多组股票或期货实时报价,品种类型需保持一致,全为股票或全为期货

l   语法:

RtDataList = traderGetRtDataMulti(IDList)

l   用法:

输入参数:

IDList为编码结构体数组,结构如下

Market :市场类型,字符串格式,允许值如下:

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘000002

输出参数:

RtDataList:实时数据结构体,结构如下:

Ø'Market': 市场

Ø'Time': 时间

Ø'Code': 代码

Ø'CurrentPrice': 当前价

Ø'CurrentQuantity': 当前成交量

l   示例:

获得3支期货合约的实时报价数据

>> FuturesList(1).Market='CFFEX';

>> FuturesList(1).Code='IF0000';

>> FuturesList(2).Market='shfe';

>> FuturesList(2).Code='ag0000';

>> FuturesList(3).Market='shfe';

>> FuturesList(3).Code='al0000';

>> RtData = traderGetRtDataMulti(FuturesList);


l   函数名称:traderGetTickData

l   函数说明:根据某一时间点提取Tick数据。

l   语法:

[time,price,volume,volumetick,openinterest,bidprice1,bidvolume1,askprice1,askvolume1]= traderGetTickData(Market,Code,Date,FQ);

l   用法

输入参数:

Market :市场类型,字符串格式,允许值如下:

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘IF0000

Date:提取数据的日期,整型,如20140608

FQ:复权类型,’NA’为不复权,’FWard’向前复权,’BWard’向后复权

输出参数:

time:时间列表,N×1 double型数组,以Matlab 日期数字形式存储。

price:成交价数据, N×1 double型数组,每个元素对应time中时间点的成交价。

volume:成交量数据,N×1 double型数组,每个元素对应time中时间点的成交量。

volumetick:当前tick的成交量

openinterest:持仓量数据,N×1 double型数组,每个元素对应time中时间点的持仓量。

bidprice1:1

bidvolume1:1

askprice1:1

askvolume1:1

l   示例:

获取股指期货主力合约2015518日的Tick数据

>>[time,price,volume,volumetick,openinterest,bidprice1,bidvolume1,askprice1,askvolume1] = traderGetTickData('cffex', 'IF0000',20150518);


l   函数名称:traderGetTickDataV2

l   函数说明:提取某一时间段的Tick数据

l   语法:

[Time,Price,Volume,VolumeTick,TurnOver,OpenInterest,BidPrice,BidVolume,AskPrice,AskVolume]=traderGetTickDataV2(Market,Code,BeginDate,EndDate,FQ);

l   用法:

输入参数

Market :市场类型,字符串格式,允许值如下:

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

Code:交易品种代码,字符串格式,如‘IF0000

BeginDate:提取数据的开始日期,整型,如20140608

EndDate:提取数据的结束日期,整型,如20140609

FQ:复权类型,’NA’为不复权,’FWard’向前复权,’BWard’向后复权

输出参数:

Time:时间列表,N×1 double型数组,以Matlab 日期数字形式存储。

Price:价格,此处为成交价数据, N×1 double型数组,每个元素对应time中时间点的成交价。

Volume:成交量数据,N×1 double型数组,每个元素对应time中时间点的成交量。

Volumetick:当前tick的成交量

Openinterest:持仓量数据,N×1 double型数组,每个元素对应time中时间点的持仓量。

BidPrice5个档位的买价

BidVolume5个档位的买量

AskPrice5个档位的卖价

AskVolume5个档位的卖量

l   示例:

获取股指期货主力合约2015518日的Tick数据

>>[ Time,Price,Volume,VolumeTick,TurnOver,OpenInterest,BidPrice,BidVolume,AskPrice,AskVolume] = traderGetTickDataV2('cffex', 'IF0000',20150518,20150518,’NA’);


l   函数名称:traderGetTradingDays

l   函数说明:获取交易日期。

l   语法:

Days=traderGetTradingDays(BeginDay,EndDay);

l   用法:

输入参数:

BeginDay:开始日期,整型,如20170216

EndDay:结束日期,整型,如20170222

输出参数:

Days:日期,整型,如20170217

l   示例:

获取从2017021620170221中的交易日期。

>>Days= traderGetTradingDays (20170216,20170221); Days返回:20170216,20170217,20170220,20170221

 

l   函数名称:traderGetTradingTime

l   函数说明:获取交易时间。

l   语法:

 [Time,DayPos]=traderGetTradingTime(TargetList,freq,BeginDay,EndDay);

l   用法:

输入参数:

TargetList:策略标的列表,为结构体类型,格式为:

ØMarket :市场类型,字符串格式

ØCode:交易品种代码,字符串格式,如‘000002’

freq:返回的时间精细级别,如secmin

BeginDay:开始日期,整型,如20170216

EndDay:结束日期,整型,如20170222

输出参数:

Time:时间,MATLAB时间格式。

DayPos:该时间在所属日期的bar序列数。

l   示例:

获取IF00002017021620170217中的交易时间。

>> [Time,DayPos]= traderGetTradingTime (TargetList, 'min', 1, 20170216, 20170217);