在愚人节里,我们都需要变得更加智能--如何使用真格智能单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在愚人节里,我们都需要变得更加智能--如何使用真格智能单相关的知识,希望对你有一定的参考价值。
<br>在愚人节里,我们都需要变得更加智能--如何使用真格智能单
<br>
觉得普通委托太“愚蠢”?快来试试真格量化的“智能单”!
身处AI技术席卷一切的时代,似乎我们身边的一切物件都需要变得更加智能,从“智能手机”、“智能手表”、“智能音箱”、“智能合约”到“智能×××”,几乎可以覆盖我们从摇篮到坟墓的生命周期。
照这个趋势,我们估计很快就会出现“智能筷子”和“智能牙签”。
当喝水、吃饭、拖地板都在变得更加智能的时候,做交易显然也有比简单粗暴地“一把梭”更加聪明的做法。。
真格量化也为您准备了“智能单”。当然这不是“智能账单”,而是“智能下单”。
一个普通的委托可以非常简单,只需要以下参数:
合约
价格
手数
开平
不过普通委托过于简单粗暴,很容易暴露您的交易意图,让您难以获得最佳的成交价格。比如您想在TA909的6012成交300手,直接挂出300手买单很容易把卖盘“吓跑”(我们知道有大量的算法是根据买卖盘委托量差在进行交易,买盘委托量短时间内显著大于卖盘委托量,可以导致大量算法控制的卖盘迅速调高卖出委托价格),让您的买单最后可能只能以6016或更高的价位成交。
不过如果您可以把委托化整为零,不去“惊扰市场”(比如这里让买盘委托不要有明显的变化),那可能就能以比较满意的价位成交(别小看这两三个价位的改善,积少成多,它们可能可以决定您最后账户是盈利还是亏损):
在真格量化中,通过一个“智能单”(使用InsertSmartOrder函数),您可以指定更多的参数,让它“智能地”去将您的大笔委托进行拆单或追单:
拆单(主要控制委托数量):
拆单参数Mode:指定不拆单、固定手数拆单、或随机手数拆单。
下单间隔时间TimeSpan:将分拆后委托报单的时间间隔(毫秒)。
最小交易单位MiniVolUnit:比如期货可以是1的整数倍。股票是100的整数倍。
拆单数量阈值Threshold:即委托手数大于多少时开始拆单。
随机拆单委托委托手数下限LowerLimit:每个拆单最小的委托数量。
随机拆单每次委托手数上限UpperLimit:每个拆单最大的委托数量。
追单(主要控制委托价格):
限价类型LimitPriceType:可以是指定价、最新价、买一价、卖一价、涨停价、跌停价、昨收价、对手价、挂单价等。
超价LimitPriceOffset:在限价基础上进行超价的价位,比如超价1个价位,超价两个价位等。
追价总次数RepeatTotal:委托一段时间不成交时,进行追价(即主动上调买价或下调卖价)的总次数。
最大追价价位MaxaPriceOffset:追价与首次委托价格的最大偏离价位,超过就不追了。
超时撤单时间TimeOut:委托发出后,一段时间不能成交就撤单的时间(毫秒)。
和普通下单类似,我们需要监听函数来获得智能单的状态。和普通委托的OnOrderChange(监听委托状态)和OnTradeDeal(监听成交状态)不同的是,我们只需要一个监听函数OnSmartOrderChange来监听智能单的状态,包括委托、成交和各个子委托的状态。
我们只需要一个函数来定义好需要用到的智能单参数:
如果我们原来的普通委托是这样:
context.myacc.InsertOrder(g.code1, BSType.BuyOpen, dyndataleg1.askprice(0), 20)
那么调用智能单进行委托也还是一行(甚至还更短了):
TestSmartOrder(context, g.code1,"BuyOpen")
也就是说,我们可以用和普通下单同样简洁的代码去实现很多专业机构才能实现的下单效果。
觉得“普通委托”太“傻大笨粗”?今天就来试试真格的"智能委托"吧!
以上是关于在愚人节里,我们都需要变得更加智能--如何使用真格智能单的主要内容,如果未能解决你的问题,请参考以下文章
如何编写优雅的异步代码 — CompletableFuture