跳转至

ReqQryOptionInstrTradeCost

请求查询期权交易成本,该函数用于查期权保证金,对应响应OnRspQryOptionInstrTradeCost

保证金=max(权利金+FixedMargin,MiniMargin),用户可根据此公式计算实时保证金。

1. 函数原型

virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0;

2. 参数

pQryOptionInstrTradeCost:期权交易成本查询

字段类型字段名称含义是否可作为过滤条件
TThostFtdcBrokerIDType BrokerID 经纪公司代码
TThostFtdcInvestorIDType InvestorID 投资者代码
TThostFtdcInstrumentIDType InstrumentID 合约代码
TThostFtdcExchangeIDType ExchangeID 交易所代码
TThostFtdcInvestUnitIDType InvestUnitID 投资单元代码
TThostFtdcHedgeFlagType HedgeFlag 投机套保标志
TThostFtdcPriceType InputPrice 期权合约报价
TThostFtdcPriceType UnderlyingPrice 标的价格,填0则用昨结算价
TThostFtdcOldInstrumentIDType reserve1 保留的无效字段

nRequestID:请求ID,对应响应里的nRequestID,无递增规则,由用户自行维护。

3. 返回

0,代表成功。

-1,表示网络连接失败;

-2,表示未处理请求超过许可数;

-3,表示每秒发送请求数超过许可数。

4. 调用示例

CThostFtdcQryOptionInstrTradeCostField a = { 0 };
strcpy_s(a.BrokerID, "9999");
strcpy_s(a.InvestorID, "1000001");
strcpy_s(a.InstrumentID, "rb1809");
a.HedgeFlag = THOST_FTDC_HF_Speculation;
a.InputPrice = 300; 
m_pUserApi->ReqQryOptionInstrTradeCost(&a, nRequestID++);

5. FAQ

为什么我用这个接口算出来的保证金跟资金查询得到的保证金占用不一致?

ReqQryOptionInstrTradeCost计算出的期权保证金跟资金查询里的期权保证金的计算方式不一样。

ReqQryOptionInstrTradeCost只是估计计算,因为其使用的公式(保证金=max(权利金+FixedMargin,MiniMargin))中的权利金部分在计算时使用的期权价格是InputPrice。

而资金查询里的期权保证金计算公式中的期权价格是使用max算法(max(昨结算,最新价))得到的。

所以两者存在差别。