请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3365793 新帖:0

【API解析】|关于成交价/滑点计算的demo

我是小编发表于:5 月 9 日 23:07回复(1)

具体可查看 API 订单处理

  • 买入/开多/平空成交价 = 最新价 滑点
  • 卖出/开空/平多成交价 = 最新价 -滑点
  • 其中 滑点 = 双边滑点/2 (我们设置的都是双边滑点,比如固定滑点FixedSlippage(0.02) ,则成交时,成交价=现价 /- 0.01 )

滑点类型

滑点设置有三种类型,分别是:

  • FixedSlippage 固定值滑点
    价差可以是一个固定的值(比如0.02元, 交易时加减0.01元), 设定方式为:FixedSlippage(0.02)
  • PriceRelatedSlippage 百分比滑点
    这个价差可以是是当时价格的一个百分比(比如0.2%, 交易时加减当时价格的0.1%), 设定方式为:PriceRelatedSlippage(0.002)
  • StepRelatedSlippage 跳数滑点(期货专用)
    这个价差可以是合约的价格变动单位(跳数),比如2跳,滑点不足一跳时向下取整,交易时加减最小变动单位×2÷2。设定方式为: StepRelatedSlippage(2)

关于跳数滑点

跳数滑点是根据品种的最小变动单位来决定的,当单边滑点不足一跳时,向下取整。设置为2相当于交易时成交价 - 最小变动单位×1,设置为4相当于 最小变动单位×2 ,设置为5相当于 最小变动单位×int(2.5) ; 以此类推

E.g1:CU期货,最小变动单位为10点
*  设置StepRelatedSlippage(1),则滑点值为 1/2×10 =5,不足10点一跳,滑点为0,成交价为最新价。
*  设置StepRelatedSlippage(2),则 滑点值为 2/2*10 =10,满足10点一跳,滑点为10,开多/平空时成交价为最新价 10,开空/平多是成交价为最新价-10
*  设置StepRelatedSlippage(3),则 滑点值为 3/2*10 =15,不满足10点一跳,滑点为10,开多/平空时成交价为最新价 10,开空/平多是成交价为最新价-10
E.g2:AG期货,最小变动单位为1点
* 设置StepRelatedSlippage(2),则 滑点值为 2/2*1 =1,满足1点一跳,滑点为1,开多/平空时成交价为最新价 1,开空/平多是成交价为最新价-1
* 设置StepRelatedSlippage(3),则 滑点值为 3/2*1 =1.5,不足2点一跳,滑点为1,开多/平空时成交价为最新价 1,开空/平多是成交价为最新价-1

设置方法


注:

  • 默认set_slippage(PriceRelatedSlippage(0.00246),type=None,ref=None) 也就是说如果未设置过滑点,所有品种的滑点都是百分比单边滑点0.00123
  • 所有类型为 "mmf"与"money_market_fund"的标的滑点默认为0,且调用set_slippage重新设置也不会生效。

可以分别为所有品种,单个品种,单个合约设置不同的滑点,注意从前往后为包含关系,小范围的设置需要放在大范围的的后边,否则重复设置,生效的是大范围的

参数

  • type 可以选择 'stock'/ 'fund' / 'index_futures' (金融期货)/ 'futures'(包含股指期货和商品期货)/ 'bond_fund' / 'stock_fund' / 'QDII_fund' / 'money_market_fund' / ‘mixture_fund' 。为None时则应用于全局。当type被设定而ref为None时,表示将滑点应用于交易品种为type的所有交易标的。
  • ref: 标的代码。如要为特定交易标的单独设置滑点,必须同时设置type为交易标的的交易品种。

示例

# 为全部交易品种设定固定值滑点
set_slippage(FixedSlippage(0.02))

# 为股票设定滑点为百分比滑点
set_slippage(PriceRelatedSlippage(0.00246),type='stock')

# 设置CU品种的滑点为跳数滑点2
set_slippage(StepRelatedSlippage(2),type='futures',ref = 'CU') 

# 为螺纹钢RB1809设定滑点为跳数滑点(注意只是这一个合约,不是所有的RB合约)
set_slippage(StepRelatedSlippage(2),type='futures', ref="RB1809.XSGE")
# StepRelatedSlippage(2)表示开平的单边滑点为1个价格最小单位,螺纹钢价格最小变动单位为1元/吨
# 如果以市价单进行开多仓(或者平空仓),现价3000元,成交价3000 1*2/2=3001元
# 如果以市价单进行平空仓(或者平多仓),现价3000元,成交价3000-1*2/2=2999元

下边放对比截图:

(右键,在新标签中打开可查看大图)
1.png

2.png

全部回复

0/140

达人推荐

量化课程

    移动端课程