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

账户信息获取

l   函数名称:traderGetAccountConfig

l   函数说明:获取当前账户的配置信息。

l   语法:      

Config=traderGetAccountConfig(HandleIdx,TargetIdx);

l   用法:

输入参数:

HandleIdx:账户句柄索引序列号,可以为单个数字或一个序列。如3表示序列中第三个,(2,10)表示第二个和第十个,(3:7)表示从第三个到第七个。

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

输出参数:

Configdouble数值型,当-1时,数值表示配资百分比;当config>=1,或config<=-1时,表示数量基本单位。

l   示例:

HandleList(1)={FutureSimAcc},HandleList(2)={‘StockSimAcc’}, TargetList(1).code={600001’},TargetList(2).code={IF0000’}

>> traderConfigTo(1,2,-0.57);

获取账户FutureSimAccIF0000的配置状况

>> Config=traderGetAccountConfig (1,2);   此时Config=-0.57

 


l   函数名称:traderGetAccountInfoV2

l   函数说明:通过账户句柄索引序列号获得账户当前资金情况。

l   语法:      

[ValidCash,HandListCap,OrderFrozen,MarginFrozen,PositionProfit]=traderGetAccountInfoV2(HandleIdx)

l   用法:

输入参数:

HandleIdx:账户句柄索引序列号,可以为单个数字或一个序列。如3表示序列中第三个,(2,10)表示第二个和第十个,(3:7)表示从第三个到第七个。

输出参数:

ValidCashdouble型数值,账户当前可用资金

MarketCapdouble型数值,账户当前持有股票或期货的动态权益

OrderFrozendouble型数值,下单冻结资金总额

MarginFrozendouble型数值,保证金冻结资金总额

PositionProfitdouble型数值,持仓盈亏

l   示例:

HandleList(1)={FutureSimAcc},HandleList(2)={‘StockSimAcc’},HandleList(3)={FutureSimAcc2}

获取FutureSimAcc2的当前资金情况;

>> [ValidCash,MarketCap,OrderFrozen,MarginFrozen] = traderGetAccountInfoV2(3);

 


l   函数名称:traderGetAccountInfo

l   函数说明:通过账户句柄获得账户当前资金情况。

l   语法:      

[ValidCash,MarketCap,OrderFrozen,MarginFrozen,PositionProfit] = traderGetAccountInfo(Handle)

l   用法:

输入参数:

Handle:账户句柄,double型数值

输出参数:

ValidCashdouble型数值,账户当前可用资金

MarketCapdouble型数值,账户当前持有股票或期货的市值总和

OrderFrozendouble型数值,下单冻结资金总额

MarginFrozendouble型数值,保证金冻结资金总额

PositionProfitdouble型数值,持仓盈亏

 

对于实盘和回放

MarketCap计算方法:

期货账号:

MarketCap = ValidCash+OrderFrozen+MarginFrozen+PositionProfit

股票账号:

MarketCap = ValidCash+OrderFrozen+MarginFrozen+持仓市值

ValidCash算方法:

PositionProfit<0

ValidCash = ValidCash-PositionProfit

 

对于回测

回测是toolbox管理帐号的持仓,这与实盘和回放是有一定区别

ValidCash:表示回测当前账户可用资金[不统计回测结束后还有持仓部分的相应资金]

MarketCap:表示回测当前账户动态权益[不统计回测结束后持仓部分的相应资金]

OrderFrozen:表示回测当前账户下单冻结资金总额

MarginFrozen:表示回测当前账户保证金冻结资金总额

PositionProfit:表示回测当前账户的持仓盈亏

当可用资金为负时,可用资金显示0

账号包含期货持仓:

MarketCap = ValidCash+OrderFrozen+MarginFrozen+PositionProfit

账号包含现货持仓:

MarketCap = ValidCash+OrderFrozen+MarginFrozen+持仓市值

 

l   示例:

获取当前的资金情况

1.     直接在matlab命令行中获取指定账号的当前资金情况

>>HandleList = atgettradeaccounthandle('StockSimAcc02')

>> [ValidCash,MarketCap,OrderFrozen,MarginFrozen,PositionProfit] = traderGetAccountInfo(HandleList);

2.     在策略中使用时:

>>HandleList = traderGetHandleList();

    >> [ValidCash,MarketCap,OrderFrozen,MarginFrozen,PositionProfit] = traderGetAccountInfo(HandleList(1));

 


l   函数名称:traderGetAccountPosInfo

l   函数说明:获取指定帐号当前所有持仓信息

l   语法:

PositionInfo = traderGetAccountPosInfo(Handle)

l   用法:

输入参数:

Handle:账户句柄,double型数值,并非任意double都可以

输出参数:

PositionInfo:结构体,每一个结构体包含如下信息:

Position.Market    市场

Position.Code      合约代码

Position.Direction 期权合约:认沽为:P,认购为:C;非期权类合约:多头('Long'),空头('Short')

Position.Position  持仓量

Position.Frozen    冻结持仓量

Position.AvgPrice  持仓均价

l   示例:

获得股票帐号当前持仓信息

Handle = atgettradeaccounthandle('FutureSimAcc');

PositionInfo = traderGetAccountPosInfo(Handle);

 


l   函数名称:traderGetAccountPositionV2

l   函数说明:获得当前仓位信息。

l   语法:      

[Position,Frozen,AvgPrice] = traderGetAccountPositionV2(HandleIdx,TargetIdx)

l   用法:

输入参数

HandleIdx:账户句柄索引序列号,可以为单个数字或一个序列。如3表示序列中第三个,(2,10)表示第二个和第十个,(3:7)表示从第三个到第七个。

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

输出参数:

Positiondouble型数值,当前多头或者空头持仓

Frozendouble型数值,当前多头或者空头冻结持仓

AvgPricedouble型数值,当前多头或者空头平均价格

l   示例:

HandleList(1)={FutureSimAcc},HandleList(2)={‘StockSimAcc’}, TargetList(1).code={600001},TargetList(2).code ={‘IF0000’}

获得代码为600001的股票的持仓

>>Pos = traderGetAccountPositionV2(2, 1);

获得股指期货主力合约IF0000的持仓信息

>>[Position,Frozen,AvgPrice] = traderGetAccountPositionV2(1,2); 



l   函数名称:traderGetAccountPosition

l   函数说明:获得当前仓位信息。

l   语法:

[Position,Frozen,AvgPrice] = traderGetAccountPosition(Handle,Market,Code)

l   用法:

输入参数:

Handle:账户句柄,double型数值

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

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

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

输出参数:

Positiondouble型数值,当前持仓

Frozendouble型数值,冻结持仓

AvgPricedouble型数值,平均价格

l   示例:

获得代码为600009的股票的持仓量

>>Pos = traderGetAccountPosition(Handle, 'SSE', '600009');

获得股指期货主力合约IF0000的持仓信息

>>[Position,Frozen,AvgPrice] = traderGetAccountPosition(HandleList, 'CFFEX ', 'IF0000');

 


l   函数名称:traderGetAccountPositionDir

l   函数说明:获得当前多头或者空头的仓位信息。

l   语法:

[Position,Frozen,AvgPrice] = traderGetAccountPositionDir(Handle,Market,Code,LongShort)

l   用法:

输入参数:

Handle:账户句柄,double型数值

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

ØSZSE’:深圳股票

Ø SSE’:上海股票

Ø SHFE’:上海期货

Ø DCE’ :大连商品

Ø CZCE’:郑州商品

Ø CFFEX’:中金所

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

LongShort:输入为‘Long’或者‘Short’,分别表示多头和空头

输出参数:

Positiondouble型数值,当前多头或者空头持仓

Frozendouble型数值,当前多头或者空头冻结持仓

AvgPricedouble型数值,当前多头或者空头平均价格

l   示例:

获得代码为600009的股票的持仓量

>>Pos = traderGetAccountPositionDir(Handle, 'SSE', '600009'‘Long’);

获得股指期货主力合约IF0000的空头持仓信息

>>[Position,Frozen,AvgPrice] = traderGetAccountPositionDir(HandleList, 'CFFEX ', 'IF0000'‘Short’);



l   函数名称:traderGetAccountPositionDirV2

l   函数说明:获得当前多头或者空头的仓位信息。

l   语法:      

[Position,Frozen,AvgPrice] = traderGetAccountPositionDirV2(HandleIdx,TargetIdx,LongShort)

l   用法:

输入参数:

HandleIdx:账户句柄索引序列号,可以为单个数字或一个序列。如3表示序列中第三个,(2,10)表示第二个和第十个,(3:7)表示从第三个到第七个。

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

LongShort:输入为‘Long’表示多头或者‘Short’表示空头

输出参数:

Positiondouble型数值,当前多头或者空头持仓

Frozendouble型数值,当前多头或者空头冻结持仓

AvgPricedouble型数值,当前多头或者空头平均价格

l   示例:

HandleList(1)={FutureSimAcc},HandleList(2)={‘StockSimAcc’}, TargetList(1).code={600001},TargetList(2).code ={‘IF0000’}

获得StockSimAcc中代码为600009的股票的持仓量

>>Pos = traderGetAccountPositionDirV2(2, 1,Long);

获得FutureSimAcc中股指期货主力合约IF0000的空头持仓信息

>>[Position,Frozen,AvgPrice] = traderGetAccountPositionDirV2(1, 2,Short);


 

l   函数名称:traderGetAlgoFinished

l   函数说明:获取算法下单时当前母单里已经完成的子单数目

l   语法:

[HasFinished]=traderGetAlgoFinished()

l   用法:

输出参数:

HasFinished:当前母单里已经完成的子单数目

l   示例:

获取当前母单里已经完成的子单的数目

>>[HasFinished]=traderGetAlgoFinished();

 


l   函数名称:traderGetHandleList

l   函数说明:获得账户句柄

l   语法:      

HandleList = traderGetHandleList()

l   用法:

输入参数:

输出参数:

Handledouble型数值,账户句柄

l   示例:

获得当前的账户句柄

>> HandleList = traderGetHandleList();

 


l   函数名称:traderGetParentOperation

l   函数说明:获取当前正在执行的母单信息

l   语法:      

[Handle,Market,Code,Contracts,Price,OrderCtg,OrderAct,OffsetFlag,OrderTag] = traderGetParentOperation()

l   用法:

输出参数:

Handle:当前执行的账户句柄

Market :母单操作的市场类型,字符串格式

Code:母单操作的交易品种代码,字符串格式

Contracts :下单数量

Price:下单价格

OrderCtg:下单类型,’market/limit

OrderAct:买卖类型,’sell/buy

OffsetFlag:开平仓类型,’open/close

OrderTag:订单标记,字符串类型

l   示例:

获取当前正在执行的母单的信息

>>[Handle,Market,Code,Contracts,Price,OrderCtg,OrderAct,OffsetFlag,OrderTag] = traderGetParentOperation()