您的位置:首页 > 编程语言 > PHP开发

(转)CTP: 平昨仓与平今仓,log轻轻告诉你.......

2015-07-17 15:43 603 查看
转自:http://blog.csdn.net/wowotuo/article/details/43242663

CTP的相关文档告诉我们,中金所和三大商品交易所中,只有上期所区分平今仓和平昨仓。也就是说,其它交易所没有closeToday。但,有二个方面值得我们注意:

1、这说得是交易所层次的委托,而不是CTP层次的委托,CTP层次并没有说,对上期所以外的委托不接受closeToday,或不存在CloseYesterday?

2、值得注意的是CloseYesterday好象被忽略了?

一、关于平仓委托的insert类别

请看CTP开平的类型:

// TFtdcOffsetFlagType是一个开平标志类型

public enum EnumOffsetFlagType

{

Open = 48,

Close = 49,

ForceClose = 50,

CloseToday = 51,

CloseYesterday = 52,

ForceOff = 53,

LocalForceClose = 54,

}

事实上,CTP层次:

(1)如果不是上期所,平今仓可用close或closeToday,平昨仓可用close或closeYesterday。

(2)如果是上期所, 平今仓只可用closeToday,平昨仓可用close或closeYesterday。

但有人认为,在发往相关交易所之前,CloseToday或CloseYesterday在CTP后台会进行相应的转化,尽管这种说法没被得到官方文档认同,但这种说法有实证数据支持。因此,上面的(1)(2)的确是可以用的。注意,上面的写法,也许不是推荐的规范的写法。

二、关于成交回报的委托类型

当然,我们也关心,那成交回报的流水回来的时侯,会有什么区分么?

大部分情况是:CloseYesterday=> insert
=>CloseYesterday;CloseToday=> insert
=>CloseToday; 当然,好象也有其它的成交回报方式,而且每个交易所的成交回报信息,还不太稳定,存在不同的时侯,返回信息不太一致的
情况。即存在:closeToday =>close或closeYesterday =>close的情况。

一个实盘测试账户的LOG数据说话:

(下面每条记录来自于真实的交易数据!)

2015-02-10 11:13:22,330 [5] INFO StrategyTrading.Logger - =>TA505 Sell inputOffset: Open => tradeOffset: Open

2015-02-10 10:00:20,906 [5] INFO StrategyTrading.Logger - =>rb1505
Buy inputOffset: CloseYesterday => tradeOffset: CloseYesterday

2015-02-10 11:13:21,909 [5] INFO StrategyTrading.Logger - =>TA505
Sell inputOffset: CloseYesterday => tradeOffset: Close

2015-02-10 21:59:20,021 [5] INFO StrategyTrading.Logger - =>ru1505 Buy CloseYesterday -> CloseYesterday

2015-02-10 21:59:20,114 [5] INFO StrategyTrading.Logger - =>TA505 Buy CloseYesterday -> Close

2015-02-11 01:54:26,377 [5] INFO StrategyTrading.Logger - => p1505 Sell CloseYesterday -> Close

规律:

(1)如果是上期所,CloseYesterday -> CloseYesterday 。其它:CloseYesterday -> Close 。

(2)如果是中金所:CloseToday -> Close. 其它的,好象不变。(还需进行证实!)

还有没有其它的比如,closeYesterday=>ForceClose 我们也不妨等待一下吧。有的话,我会收集放到这里来的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: