TAS介绍
本文旨在介绍CTP API中与TAS(Trading at Settlement, TAS 盘中结算价交易机制)业务相关的内容,具体交易细则请参考交易所官方文档。
1. 报单
接口名称:ReqOrderInsert
合约(InstrumentID):填写TAS合约,如对sc1901进行TAS交易,则合约填写sc1911TAS
价格(LimitPrice):必须为0。
类型(OrderPriceType):只支持限价指令THOST_FTDC_OPT_LimitPrice。
其余字段与标的期货对应字段意义相同(买卖方向、平今平昨、投机套保等字段都需填写)。
TAS开仓,盘中成交后直接计入期货持仓;TAS平仓区分平今/平昨,平对应的期货持仓;平仓的仓位冻结按照标的合约进行冻结。
2. 成交
接口名称:OnRtnTrade
交易成交类型(TradeType):为普通成交THOST_FTDC_TRDT_Common。
成交价(Price):对于TAS成交,成交价无意义。
3. 持仓
接口名称:OnRspQryInvestorPositionDetail
- 持仓明细新增字段特殊持仓标志(SpecPosiType):标识该明细为tas衍生成交。
接口名称:OnRspQryInvestorPosition
持仓汇总新增字段tas持仓手数(TasPosition):记录该汇总中TAS开仓的数量。
持仓汇总新增字段tas持仓成本(TasPositionCost):记录该汇总中TAS持仓成本。
4. 手续费和保证金
开仓保证金和手续费冻结都按照标的合约停板价冻结。
保证金率和手续费率都按照标的合约计算。
5. 盈亏
计算持仓盈亏的时候,对于(总数量-TAS数量)部分计算持仓盈亏和保证金。对于TAS数量不计算盈亏。
6.合约行情
合约代码、合约状态、买卖方向、报单量、成交量、日期、时间等字段正常发布。其余字段无意义,均为空。
盘中TAS成交量、成交额不计入标的合约的成交量、成交额。
7.代码示例
void orderinsert()
{
CThostFtdcInputOrderField t = { 0 };
strcpy_s(t.BrokerID, "1007");
strcpy_s(t.InvestorID, "10000001");
strcpy_s(t.UserID, "10000001");
t.Direction = THOST_FTDC_D_Sell;
t.CombOffsetFlag[0] = THOST_FTDC_OF_Open;
t.CombHedgeFlag[0] = THOST_FTDC_HF_Speculation;
t.ContingentCondition = THOST_FTDC_CC_Immediately;
strcpy_s(t.InstrumentID, "sc2006TAS"); //tas合约代码
t.ForceCloseReason = THOST_FTDC_FCC_NotForceClose;;
t.LimitPrice = 0; //价格为0
t.StopPrice = 0;
t.OrderPriceType = THOST_FTDC_OPT_LimitPrice;
t.VolumeCondition = THOST_FTDC_VC_AV;
t.TimeCondition = THOST_FTDC_TC_GFD;
t.VolumeTotalOriginal = 10;
m_ptraderapi->ReqOrderInsert(&t, m_requestid++);
}