ctp 期货ctp是什么意思开平标志写错怎么办

一个电话,一个垂询,一份财富
想理财?从咨询开始!
5分钟快速响应,100%回复率
推荐理财顾问HOT 月积分
手机:积分:0
手机:积分:3823
手机:积分:330
手机:积分:156
最新理财产品
最新理财文章
全国找理财顾问用CTP接口实现期货交易明细分析(2)a year agoTick间哪些数据会发生变化?为什么要关注发生变化了的数据呢?我想是因为在编写tick级策略时,当每个tick数据到来时肯定是在发生了变化的数据上做文章,所以关注这一块数据肯定是没错的,而且看期软的成交明细数据,每一条记录的每一种数据都在发生变化,对的,变化才意味着价值。怎么去找?其实是可以直接拿期软里面显示的数据来得到结果的,但是我为了科学的去得到结果,我还是在程序里面是写了一个函数去作比对,少拍脑袋多用科学的方式找数据会比较好。def CompareDepthMarketData(self, data):
"""做tick数据的前后比较"""
if self.PreDepthMarketData is not None:
for key, value in self.PreDepthMarketData.items():
if value != data[key]:
print key + ': pre-&' + str(value) + " now-&" + str(data[key])
self.PreDepthMarketData = data
我在实盘时打了很多的数据,然后综合期软明细数据的需求,得出了图中的结果。哪些数据可以应用到成交明细的显示?其实就是上一步分析出来的数据,但是成交性质可没有哦?请看下一节# 最终需要的tick方向 (output1)
tick_type_enum = enum(OPENLONG="OpenLong", OPENSHORT="OpenShort", OPENDOUBLE="OpenDouble",
CLOSELONG="CloseLong", CLOSESHORT="CloseShort", CLOSEDOUBLE="CloseDouble",
EXCHANGELONG="ExchangeLong", EXCHANGESHORT="ExchangeShort",
OPENUNKOWN="OpenUnkown", CLOSEUNKOWN="CloseUnkown", EXCHANGEUNKOWN="ExchangeUnkown",
UNKOWN="Unkown", NOCHANGE="NoChange")
成交性质是啥?有现成的数据可以直接使用吗?这里就会涉及到一些期货的基础知识了,我不引述太多。我直接说结论:成交性质有8种多开(OpenLong),空开(OpenShort),双开(OpenDouble),多平(CloseLong),空平(CloseShort),双平(CloseDouble),多换(ExchangeLong),空换(ExchangeShort)如果是股票就简单多了,但是期货中引入了开仓和平仓的概念,所以这一块会复杂一些,话说我花了几个晚上的时间才搞清楚。举一个 双平 和 多平 的实例的实例(商品期货,成交量是双边统计),其他就可以引申(这里可以分析出持仓量和成交量的关系):成交2
双平就是说,有2手成交(成交量),这2手的仓差都是“—”的,也就是都是平仓单,其中1手多头平仓,1手空头平仓。(双边统计?)
双平意思好理解,这个都懂,但红色和蓝色是有区别的,红色的是空头主动平仓,和挂单平多仓的成交,对价格上涨有促进作用;蓝色的是多头主动平仓,对价格下跌有好处。举个通俗的例子:你有两手多玉米,想平仓,此时状态:
你如果想立刻平仓,可以按报1756市价成交,如果正好卖给那个平空仓的,就显示这种状态:
价格 现手 状态 仓差
1766 4 双平(绿色) -4
内盘增加4,外盘不动
你也可以挂单平仓,可以报1767,这样要等一会,因为执行价格优先,平仓优先,时间优先的原则
如果你的卖出去时是一个空头主动平仓买走的
显示这种状态:
价格 现手 状态 仓差
1767 4 双平(红色) -4
这时是外盘增加4,内盘不动
多平如果是双边统计,那么应该是92/2=46手单边,主动发起的动作是多平,而且为46手,这样对手单肯定也为46手,加起来就是92手,这就是双边统计,两边的成交都算做成交量,这点和股票和股指期货是不一样的。
这时候想想,哪种类型的单可以和多平进行成交?
多开 和 空平 (我怎么知道?看此段分析的最后)
如果对手单全部是多开,这样持仓量是不变的,成交性质应该是多换。但是这里持仓量少了62手,除了多平会导致减少46手,对手单也导致减少了(62-46)=16手,这里可以判定肯定会有空平的单子夹在里面,有多少呢?
X 多开手数 Y 空平手数
x + y = 46
x - y = -62 + 46 = -16
附:我怎么知道多平的对手单由多开和空平组成?
这里是我自己的一个小诀窍,其实期货买卖只有4种动作:
多开(买合约),多平(卖合约),空开(卖合约),空平(买合约)
这样多平是卖合约,对手就是买合约:多开和空平
持仓量变化和成交量有什么关系?持仓量变化有3种(input1)开仓(持仓量增加),空仓(持仓量减少),换仓(持仓量不变)@staticmethod
def get_open_interest_delta_forward(open_interest_delta, volume_delta):
"""根据成交量的差和持仓量的差来获取仓位变化的方向
return: open_interest_delta_forward_enum
if open_interest_delta == 0 and volume_delta == 0:
local_open_interest_delta_forward = open_interest_delta_forward_enum.NONE
elif open_interest_delta == 0 and volume_delta & 0:
local_open_interest_delta_forward = open_interest_delta_forward_enum.EXCHANGE
elif open_interest_delta & 0:
if open_interest_delta - volume_delta == 0:
local_open_interest_delta_forward = open_interest_delta_forward_enum.OPENFWDOUBLE
local_open_interest_delta_forward = open_interest_delta_forward_enum.OPEN
elif open_interest_delta & 0:
if open_interest_delta + volume_delta == 0:
local_open_interest_delta_forward = open_interest_delta_forward_enum.CLOSEFWDOUBLE
local_open_interest_delta_forward = open_interest_delta_forward_enum.CLOSE
return local_open_interest_delta_forward
持仓量与成交量的关系貌似在上一节已经分析出来了,但是持仓量和成交价格(多空)的关系又如何呢?如果我现在通过持仓量的增加来判断是开仓,没问题,那是多开还是空开呢?这时候需要了解下期货订单撮合成交的机制。参考:简单来讲就是(input2):价格在ask1 price或者ask1 price之上,则为买合约(多开,空平)价格在bid1 price或者bid1 price之下,则为卖合约(多平,空开)清晰了之后才能用代码写出来,注意我做这个计算时,是以上个tick的数据为准,再以该tick数据为参考,由于我们的tick只是快照,这个算法其实是不准确的。@staticmethod
def get_order_forward(last_price, ask_price1, bid_price1, pre_last_price, pre_ask_price1, pre_bid_price1):
"""获取成交的区域,根据当前tick的成交价和上个tick的ask和bid价格进行比对
return: order_forward_enum
if TickAnalysis.float_bigger_equal(last_price, pre_ask_price1):
local_order_forward = order_forward_enum.UP
elif TickAnalysis.float_smaller_equal(last_price, pre_bid_price1):
local_order_forward = order_forward_enum.DOWN
if TickAnalysis.float_bigger_equal(last_price, ask_price1):
local_order_forward = order_forward_enum.UP
elif TickAnalysis.float_smaller_equal(last_price, bid_price1):
local_order_forward = order_forward_enum.DOWN
local_order_forward = order_forward_enum.MIDDLE
return local_order_forward
其实分析到这里,我们可以发现从成交量,持仓量,还有成交价格可以算出那8种成交性质,代码请看本文最后一段。对手单是什么?为什么要分析他,期软上都没有?啥呀?上面的两部分已经把这个问题已经分解完了,我还说啥...为什么要分析他?我是这么想的,这个行业是精细活,不分析清楚我不舒服。哈哈# 只与计算对手单的组成相关,只有4种tick类型才需要计算对手单的组成
handicap_dict = {tick_type_enum.OPENLONG: {opponent_key_enum.OPPOSITE: tick_type_enum.CLOSELONG,
opponent_key_enum.SIMILAR: tick_type_enum.OPENSHORT},
tick_type_enum.OPENSHORT: {opponent_key_enum.OPPOSITE: tick_type_enum.CLOSESHORT,
opponent_key_enum.SIMILAR: tick_type_enum.OPENLONG},
tick_type_enum.CLOSELONG: {opponent_key_enum.OPPOSITE: tick_type_enum.OPENLONG,
opponent_key_enum.SIMILAR: tick_type_enum.CLOSESHORT},
tick_type_enum.CLOSESHORT: {opponent_key_enum.OPPOSITE: tick_type_enum.OPENSHORT,
opponent_key_enum.SIMILAR: tick_type_enum.CLOSELONG}
用Python的字典把对手单的对应关系做了描述最后这部分代码是核心,简单来讲就是 f (input1, input2) = output1:根据成交量和持仓量的变化算出仓位变化性质根据价格算出多空根据仓位变化性质和多空算出那8种成交性质# 根据 open_interest_delta_forward_enum 和 order_forward_enum 计算出tick类型的字典
tick_type_cal_dict = {
open_interest_delta_forward_enum.NONE:
order_forward_enum.UP: {tick_type_key_enum.TICKTYPE: tick_type_enum.NOCHANGE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE},
order_forward_enum.DOWN: {tick_type_key_enum.TICKTYPE: tick_type_enum.NOCHANGE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE},
order_forward_enum.MIDDLE: {tick_type_key_enum.TICKTYPE: tick_type_enum.NOCHANGE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE}
open_interest_delta_forward_enum.EXCHANGE:
order_forward_enum.UP: {tick_type_key_enum.TICKTYPE: tick_type_enum.EXCHANGELONG,
tick_type_key_enum.TICKCOLOR: tick_color_enum.RED},
order_forward_enum.DOWN: {tick_type_key_enum.TICKTYPE: tick_type_enum.EXCHANGESHORT,
tick_type_key_enum.TICKCOLOR: tick_color_enum.GREEN},
order_forward_enum.MIDDLE: {tick_type_key_enum.TICKTYPE: tick_type_enum.EXCHANGEUNKOWN,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE}
open_interest_delta_forward_enum.OPENFWDOUBLE:
order_forward_enum.UP: {tick_type_key_enum.TICKTYPE: tick_type_enum.OPENDOUBLE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.RED},
order_forward_enum.DOWN: {tick_type_key_enum.TICKTYPE: tick_type_enum.OPENDOUBLE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.GREEN},
order_forward_enum.MIDDLE: {tick_type_key_enum.TICKTYPE: tick_type_enum.OPENDOUBLE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE}
open_interest_delta_forward_enum.OPEN:
order_forward_enum.UP: {tick_type_key_enum.TICKTYPE: tick_type_enum.OPENLONG,
tick_type_key_enum.TICKCOLOR: tick_color_enum.RED},
order_forward_enum.DOWN: {tick_type_key_enum.TICKTYPE: tick_type_enum.OPENSHORT,
tick_type_key_enum.TICKCOLOR: tick_color_enum.GREEN},
order_forward_enum.MIDDLE: {tick_type_key_enum.TICKTYPE: tick_type_enum.OPENUNKOWN,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE}
open_interest_delta_forward_enum.CLOSEFWDOUBLE:
order_forward_enum.UP: {tick_type_key_enum.TICKTYPE: tick_type_enum.CLOSEDOUBLE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.RED},
order_forward_enum.DOWN: {tick_type_key_enum.TICKTYPE: tick_type_enum.CLOSEDOUBLE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.GREEN},
order_forward_enum.MIDDLE: {tick_type_key_enum.TICKTYPE: tick_type_enum.CLOSEDOUBLE,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE}
open_interest_delta_forward_enum.CLOSE:
order_forward_enum.UP: {tick_type_key_enum.TICKTYPE: tick_type_enum.CLOSESHORT,
tick_type_key_enum.TICKCOLOR: tick_color_enum.RED},
order_forward_enum.DOWN: {tick_type_key_enum.TICKTYPE: tick_type_enum.CLOSELONG,
tick_type_key_enum.TICKCOLOR: tick_color_enum.GREEN},
order_forward_enum.MIDDLE: {tick_type_key_enum.TICKTYPE: tick_type_enum.CLOSEUNKOWN,
tick_type_key_enum.TICKCOLOR: tick_color_enum.WHITE}
20收藏分享举报{&debug&:false,&apiRoot&:&&,&paySDK&:&https:\u002F\u002Fpay.zhihu.com\u002Fapi\u002Fjs&,&wechatConfigAPI&:&\u002Fapi\u002Fwechat\u002Fjssdkconfig&,&name&:&production&,&instance&:&column&,&tokens&:{&X-XSRF-TOKEN&:null,&X-UDID&:null,&Authorization&:&oauth c3cef7c66aa9e6a1e3160e20&}}{&database&:{&Post&:{&&:{&isPending&:false,&contributes&:[],&title&:&用CTP接口实现期货交易明细分析(2)&,&author&:&QuantM&,&content&:&接着上篇:\u003Ca href=\&https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F\& class=\&internal\&\u003E用CTP接口实现期货交易明细分析(1)\u003C\u002Fa\u003E\u003Cp\u003E上一篇文章发出了代码,这一篇文章分析一下为什么这么写。\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-eb310b5a0c85afa3405b42_b.jpg\& data-rawwidth=\&986\& data-rawheight=\&762\& class=\&origin_image zh-lightbox-thumb\& width=\&986\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-eb310b5a0c85afa3405b42_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='986'%20height='762'&&\u002Fsvg&\& data-rawwidth=\&986\& data-rawheight=\&762\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&986\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-eb310b5a0c85afa3405b42_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-eb310b5a0c85afa3405b42_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E这张图把我整个分析过程画出来了,从提出疑问到解决。那我就按上图的顺序一个一个来把问题解决掉。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E成交明细需要哪些数据?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E从期软上找吧,结果就是图上显示的那些数据。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003ETick数据长啥样?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E把SDK下载下来什么都知道了,我是直接在vn.py项目当中找的头文件,在ThostFtdcUserApiStruct.h文件中找到名为CThostFtdcDepthMarketDataField的结构体,里面的解释已经很详细了。\u003C\u002Fp\u003E\u003Cp\u003E我把下面段代码放在了python文件的注释里面了,方便编写时查看\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-cpp\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F深度行情\u003C\u002Fspan\u003E\n\u003Cspan class=\&k\&\u003Estruct\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ECThostFtdcDepthMarketDataField\u003C\u002Fspan\u003E\n\u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F交易日\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcDateType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ETradingDay\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F合约代码\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcInstrumentIDType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EInstrumentID\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F交易所代码\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcExchangeIDType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EExchangeID\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F合约在交易所的代码\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcExchangeInstIDType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EExchangeInstID\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F最新价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ELastPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F上次结算价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EPreSettlementPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F昨收盘\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EPreClosePrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F昨持仓量\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcLargeVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EPreOpenInterest\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F今开盘\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EOpenPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F最高价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EHighestPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F最低价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ELowestPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F数量\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EVolume\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F成交金额\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcMoneyType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ETurnover\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F持仓量\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcLargeVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EOpenInterest\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F今收盘\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EClosePrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F本次结算价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ESettlementPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F涨停板价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EUpperLimitPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F跌停板价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ELowerLimitPrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F昨虚实度\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcRatioType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EPreDelta\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F今虚实度\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcRatioType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003ECurrDelta\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F最后修改时间\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcTimeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EUpdateTime\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F最后修改毫秒\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcMillisecType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EUpdateMillisec\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买价一\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidPrice1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买量一\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidVolume1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖价一\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskPrice1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖量一\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskVolume1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买价二\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidPrice2\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买量二\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidVolume2\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖价二\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskPrice2\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖量二\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskVolume2\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买价三\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidPrice3\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买量三\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidVolume3\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖价三\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskPrice3\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖量三\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskVolume3\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买价四\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidPrice4\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买量四\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidVolume4\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖价四\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskPrice4\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖量四\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskVolume4\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买价五\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidPrice5\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申买量五\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EBidVolume5\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖价五\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskPrice5\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F申卖量五\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcVolumeType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAskVolume5\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F当日均价\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcPriceType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EAveragePrice\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&c1\&\u003E\u002F\u002F\u002F业务日期\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&n\&\u003ETThostFtdcDateType\u003C\u002Fspan\u003E\t\u003Cspan class=\&n\&\u003EActionDay\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E;\u003C\u002Fspan\u003E\n\u003Cspan class=\&p\&\u003E};\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003ETick间哪些数据会发生变化?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E为什么要关注发生变化了的数据呢?我想是因为在编写tick级策略时,当每个tick数据到来时肯定是在发生了变化的数据上做文章,所以关注这一块数据肯定是没错的,而且看期软的成交明细数据,每一条记录的每一种数据都在发生变化,对的,变化才意味着价值。\u003C\u002Fp\u003E\u003Cp\u003E怎么去找?其实是可以直接拿期软里面显示的数据来得到结果的,但是我为了科学的去得到结果,我还是在程序里面是写了一个函数去作比对,少拍脑袋多用科学的方式找数据会比较好。\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&k\&\u003Edef\u003C\u002Fspan\u003E \u003Cspan class=\&nf\&\u003ECompareDepthMarketData\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&sd\&\u003E\&\&\&做tick数据的前后比较\&\&\&\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EPreDepthMarketData\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Eis\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Enot\u003C\u002Fspan\u003E \u003Cspan class=\&bp\&\u003ENone\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Efor\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ekey\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evalue\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Ein\u003C\u002Fspan\u003E \u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EPreDepthMarketData\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eitems\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E():\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evalue\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E!=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ekey\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]:\u003C\u002Fspan\u003E\n\t\t\t\t\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ekey\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E': pre-&'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Evalue\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&s2\&\u003E\& now-&\&\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ekey\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E])\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EPreDepthMarketData\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E我在实盘时打了很多的数据,然后综合期软明细数据的需求,得出了图中的结果。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E哪些数据可以应用到成交明细的显示?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E其实就是上一步分析出来的数据,但是\u003Cb\u003E成交性质\u003C\u002Fb\u003E可没有哦?请看下一节\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&c1\&\u003E# 最终需要的tick方向 (output1)\u003C\u002Fspan\u003E\n\u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eenum\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENLONG\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&OpenLong\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003EOPENSHORT\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&OpenShort\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003EOPENDOUBLE\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&OpenDouble\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003ECLOSELONG\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&CloseLong\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ECLOSESHORT\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&CloseShort\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ECLOSEDOUBLE\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&CloseDouble\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003EEXCHANGELONG\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&ExchangeLong\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003EEXCHANGESHORT\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&ExchangeShort\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003EOPENUNKOWN\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&OpenUnkown\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ECLOSEUNKOWN\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&CloseUnkown\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003EEXCHANGEUNKOWN\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&ExchangeUnkown\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003EUNKOWN\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&Unkown\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ENOCHANGE\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&s2\&\u003E\&NoChange\&\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E成交性质是啥?有现成的数据可以直接使用吗?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E这里就会涉及到一些期货的基础知识了,我不引述太多。我直接说结论:\u003C\u002Fp\u003E\u003Cblockquote\u003E成交性质有8种\u003C\u002Fblockquote\u003E\u003Cp\u003E多开(OpenLong),空开(OpenShort),双开(OpenDouble),多平(CloseLong),空平(CloseShort),双平(CloseDouble),多换(ExchangeLong),空换(ExchangeShort)\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E如果是股票就简单多了,但是期货中引入了开仓和平仓的概念,所以这一块会复杂一些,话说我花了几个晚上的时间才搞清楚。\u003C\u002Fp\u003E\u003Cp\u003E举一个 \u003Cu\u003E双平 \u003C\u002Fu\u003E和 \u003Cu\u003E多平\u003C\u002Fu\u003E 的实例的实例(商品期货,成交量是双边统计),其他就可以引申(这里可以分析出持仓量和成交量的关系):\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E成交2
双平\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E就是说,有2手成交(成交量),这2手的仓差都是“—”的,也就是都是平仓单,其中1手多头平仓,1手空头平仓。(双边统计?)\n双平意思好理解,这个都懂,但红色和蓝色是有区别的,红色的是空头主动平仓,和挂单平多仓的成交,对价格上涨有促进作用;蓝色的是多头主动平仓,对价格下跌有好处。举个通俗的例子:你有两手多玉米,想平仓,此时状态:\n卖1:1767\n买1:1766\n你如果想立刻平仓,可以按报1756市价成交,如果正好卖给那个平空仓的,就显示这种状态:\n价格 现手 状态 仓差 \n1766 4 双平(绿色) -4 \n内盘增加4,外盘不动\n你也可以挂单平仓,可以报1767,这样要等一会,因为执行价格优先,平仓优先,时间优先的原则\n如果你的卖出去时是一个空头主动平仓买走的\n显示这种状态:\n价格 现手 状态 仓差 \n1767 4 双平(红色) -4 \n这时是外盘增加4,内盘不动\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E成交 92
多平\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E如果是双边统计,那么应该是92\u002F2=46手单边,主动发起的动作是多平,而且为46手,这样对手单肯定也为46手,加起来就是92手,这就是双边统计,两边的成交都算做成交量,这点和股票和股指期货是不一样的。\n这时候想想,哪种类型的单可以和多平进行成交?\n多开 和 空平 (我怎么知道?看此段分析的最后) \n如果对手单全部是多开,这样持仓量是不变的,成交性质应该是多换。但是这里持仓量少了62手,除了多平会导致减少46手,对手单也导致减少了(62-46)=16手,这里可以判定肯定会有空平的单子夹在里面,有多少呢?\nX 多开手数 Y 空平手数\nx + y = 46\nx - y = -62 + 46 = -16\nx = 15\ny = 31\n附:我怎么知道多平的对手单由多开和空平组成?\n这里是我自己的一个小诀窍,其实期货买卖只有4种动作:\n多开(买合约),多平(卖合约),空开(卖合约),空平(买合约)\n这样多平是卖合约,对手就是买合约:多开和空平\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E持仓量变化和成交量有什么关系?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E持仓量变化有3种(\u003Cb\u003Einput1\u003C\u002Fb\u003E)\u003C\u002Fp\u003E\u003Cp\u003E开仓(持仓量增加),空仓(持仓量减少),换仓(持仓量不变)\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&nd\&\u003E@staticmethod\u003C\u002Fspan\u003E\n\u003Cspan class=\&k\&\u003Edef\u003C\u002Fspan\u003E \u003Cspan class=\&nf\&\u003Eget_open_interest_delta_forward\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evolume_delta\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&sd\&\u003E\&\&\&根据成交量的差和持仓量的差来获取仓位变化的方向\u003C\u002Fspan\u003E\n\u003Cspan class=\&sd\&\u003E\t\treturn: open_interest_delta_forward_enum\u003C\u002Fspan\u003E\n\u003Cspan class=\&sd\&\u003E\t\&\&\&\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E==\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Eand\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evolume_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E==\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ENONE\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eelif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E==\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Eand\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evolume_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E&\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EEXCHANGE\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eelif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E&\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evolume_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E==\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENFWDOUBLE\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eelse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPEN\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eelif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E&\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Evolume_delta\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E==\u003C\u002Fspan\u003E \u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSEFWDOUBLE\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eelse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSE\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Ereturn\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Elocal_open_interest_delta_forward\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E持仓量与成交量的关系貌似在上一节已经分析出来了,但是持仓量和成交价格(多空)的关系又如何呢?如果我现在通过持仓量的增加来判断是开仓,没问题,那是多开还是空开呢?这时候需要了解下期货订单撮合成交的机制。\u003C\u002Fp\u003E\u003Cp\u003E参考:\u003Ca href=\&https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F\& class=\&internal\&\u003E期货的撮合交易是如何成交的,市价单及限价单的成交机制? - 量化交易 - 知乎\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E简单来讲就是(\u003Cb\u003Einput2\u003C\u002Fb\u003E):\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E价格在ask1 price或者ask1 price之上,则为买合约(多开,空平)\u003Cbr\u003E\u003C\u002Fli\u003E\u003Cli\u003E价格在bid1 price或者bid1 price之下,则为卖合约(多平,空开)\u003Cbr\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cbr\u003E\u003Cp\u003E清晰了之后才能用代码写出来,注意我做这个计算时,是以上个tick的数据为准,再以该tick数据为参考,由于我们的tick只是快照,这个算法其实是不准确的。\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&nd\&\u003E@staticmethod\u003C\u002Fspan\u003E\n\u003Cspan class=\&k\&\u003Edef\u003C\u002Fspan\u003E \u003Cspan class=\&nf\&\u003Eget_order_forward\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Elast_price\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eask_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ebid_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Epre_last_price\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Epre_ask_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Epre_bid_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&sd\&\u003E\&\&\&获取成交的区域,根据当前tick的成交价和上个tick的ask和bid价格进行比对\u003C\u002Fspan\u003E\n\u003Cspan class=\&sd\&\u003E\t
return: order_forward_enum\u003C\u002Fspan\u003E\n\u003Cspan class=\&sd\&\u003E\t\&\&\&\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ETickAnalysis\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Efloat_bigger_equal\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Elast_price\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Epre_ask_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&n\&\u003Elocal_order_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EUP\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eelif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ETickAnalysis\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Efloat_smaller_equal\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Elast_price\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Epre_bid_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&n\&\u003Elocal_order_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EDOWN\u003C\u002Fspan\u003E\n\t\u003Cspan class=\&k\&\u003Eelse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ETickAnalysis\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Efloat_bigger_equal\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Elast_price\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eask_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_order_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EUP\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eelif\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ETickAnalysis\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Efloat_smaller_equal\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Elast_price\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ebid_price1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_order_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EDOWN\u003C\u002Fspan\u003E\n\t\t\u003Cspan class=\&k\&\u003Eelse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n\t\t\t\u003Cspan class=\&n\&\u003Elocal_order_forward\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EMIDDLE\u003C\u002Fspan\u003E\n\n\t\u003Cspan class=\&k\&\u003Ereturn\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Elocal_order_forward\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E其实分析到这里,我们可以发现从成交量,持仓量,还有成交价格可以算出那8种成交性质,代码请看本文最后一段。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E对手单是什么?为什么要分析他,期软上都没有?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E啥呀?上面的两部分已经把这个问题已经分解完了,我还说啥...为什么要分析他?\u003C\u002Fp\u003E\u003Cp\u003E我是这么想的,这个行业是精细活,不分析清楚我不舒服。哈哈\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&c1\&\u003E# 只与计算对手单的组成相关,只有4种tick类型才需要计算对手单的组成\u003C\u002Fspan\u003E\n\u003Cspan class=\&n\&\u003Ehandicap_dict\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENLONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPPOSITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSELONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ESIMILAR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENSHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENSHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPPOSITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSESHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ESIMILAR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENLONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSELONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPPOSITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENLONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ESIMILAR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSESHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSESHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPPOSITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENSHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopponent_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ESIMILAR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ECLOSELONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E}\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E}\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E用Python的字典把对手单的对应关系做了描述\u003C\u002Fp\u003E\u003Cp\u003E最后这部分代码是核心,简单来讲就是\u003Cb\u003E f (input1, input2) = output1:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Col\u003E\u003Cli\u003E根据成交量和持仓量的变化算出仓位变化性质\u003Cbr\u003E\u003C\u002Fli\u003E\u003Cli\u003E根据价格算出多空\u003Cbr\u003E\u003C\u002Fli\u003E\u003Cli\u003E根据仓位变化性质和多空算出那8种成交性质\u003C\u002Fli\u003E\u003C\u002Fol\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&c1\&\u003E# 根据 open_interest_delta_forward_enum 和 order_forward_enum 计算出tick类型的字典\u003C\u002Fspan\u003E\n\u003Cspan class=\&n\&\u003Etick_type_cal_dict\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ENONE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EUP\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ENOCHANGE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EWHITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EDOWN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ENOCHANGE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EWHITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EMIDDLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ENOCHANGE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EWHITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E}\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EEXCHANGE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EUP\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EEXCHANGELONG\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ERED\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EDOWN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EEXCHANGESHORT\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EGREEN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EMIDDLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EEXCHANGEUNKOWN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EWHITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E}\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENFWDOUBLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EUP\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENDOUBLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ERED\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EDOWN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENDOUBLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EGREEN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eorder_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EMIDDLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKTYPE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_type_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPENDOUBLE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Etick_type_key_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ETICKCOLOR\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Etick_color_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EWHITE\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E}\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E},\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eopen_interest_delta_forward_enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EOPEN\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n
\u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E\n
\u003C

我要回帖

更多关于 期货ctp接口 的文章

 

随机推荐