博森ccg合约机器人:合约算法-网络资讯论坛-版块-东方博客

博森ccg合约机器人:合约算法

 维持保证金率:用户维持当前仓位所需的最低保证金率,当保证金率小于等于用户当前所需维持保证金率+平仓手续费率,即触发强制平仓。

保证金率的意义:保证金率代表你仓位的风险高低程度。

所谓仓位,就是一笔交易的规模大小。外汇合约的单位是"手"(Lot)。

全仓模式下:保证金率=账户权益/(用户持仓所需的保证金+挂单冻结保证金)

逐仓模式下:保证金率=(固定保证金+未实现盈亏)*开仓均价*杠杆/(合约面值*持仓数量)

在上述新公式调整后,强制平仓逻辑调整为:10倍杠杆时,保证金率小于等于10%时,仓位触发强制平仓;20倍杠杆时,保证金率小于等于20%时,用户触发强制平仓。

全仓保证金率=账户权益 /(仓位大小+挂单冻结保证金杠杆)

账户权益=客户存入金额+已实现盈亏+未实现盈亏。

可用保证金=账户权益-持仓张数面值/(最新标记价格*杠杆)-挂单冻结保证金

收益率 = 收益 / 开仓时所需保证金。

收益公式

多单:合约收益=(合约面值/开仓均价-合约面值/平仓均价)*张数。

空单:合约收益=(合约面值/平仓价格-合约面值/开仓均价)*张数。

未实现盈亏

多单:合约收益=(合约面值/结算基准价-合约面值/标记价格)*张数。

空单:合约收益=(合约面值/标记价格-合约面值/计算基准价)*张数。

多仓收益= (合约面值/开仓价-合约面值/平仓价)*张数,然后用这个公式,开仓价直接改成结算价格

资金费用=仓位价值*资金费率

资金费率=Clamp(MA(((合约买一价+合约卖一价)/2-现货指数价格)/现货指数价格 - Interest), a, b)

  • Clamp 代表超过a取a 超过b取b
  • MA 这个代表上一分钟的移动平均值
  • Interest 代表0

已实现盈亏:上一次结算至当前,用户已平仓仓位产生的盈亏,在合约结算后该合约所产生的已实现盈亏才可以提出至交易账户。

未实现盈亏:上一次结算至当前,用户当前所持仓位产生的盈亏,也称浮动盈亏

平仓已实现盈亏是已经扣除过手续费 收益没有扣除手续费

合约交易最低的开仓限制:一张合约,不足一张无法下单。

币本位合约可开张数=可用保证金最新成交价格杠杆倍数/合约面值

USDT合约开仓张数=可用保证金杠杆倍数/(面值最新成交价格)

平台是有仓位档位限制,不同的合约开仓时选择的杠杆倍数不同,可开仓张数限制不同,可参照仓位档位说明。

页面显示的最大可开数量是使用最新行情价格计算的,和用户本身的委托价格有区别,所以使用页面中的张数开仓会提示风险率过高或者下单失败。

亏损大于保证金就是穿仓

标记价格达到预估强平价就会爆仓

全仓预估强平价=【(维持保证金率+对应等级合约吃单手续费率)*总开仓张数+(开多张数-开空张数)】/(总亏损/面值+开多张数/开多均价-开空张数/开空均价)

逐仓多预估强平价=(1+维持保证金率)/(1/开仓均价+固定保证金/面值/张数)

逐仓空预估强平价=(1-维持保证金率)/(1/开仓均价-固定保证金/面值/张数)

当用户触发强平后,系统强平引擎以破产价格接管平仓,产生的平仓盈余会注入风险准备金。

当用户触发强平后,如果产生穿仓损失则优先从风险准备金中抵扣,如果无法完全抵扣,则由当日所有净盈利用户参与分摊。

全仓做多破产价=多仓持仓均价-(余额+已实现盈亏)/多仓张数/面值

全仓做空破产价=空仓持仓均价+(余额+已实现盈亏)/空仓张数/面值

逐仓做多破产价=多仓持仓均价-固定保证金/多仓张数/面值

逐仓做空破产价=空仓持仓均价+固定保证金/空仓张数/面值

当用户触发强平后,系统强平引擎以破产价格接管平仓,产生的平仓盈余会注入风险准备金。

当用户触发强平后,如果产生穿仓损失则优先从风险准备金中抵扣,如果无法完全抵扣,则由当日所有净盈利用户参与分摊。

标记价格:标记价格=现货指数价格+基差移动平均值

基差移动平均值:基差移动平均值=移动平均值(合约中间价 - 现货指数价格)=移动平均值((合约卖一价 + 合约买一价)/2 - 现货指数价格)

未实现盈亏计算

多仓:未实现盈亏=面值张数/开仓均价-面值张数/最新标记价格

空仓:未实现盈亏=面值张数/最新标记价格-面值张数/开仓均价

永续合约于每日香港时间16:00结算,结算价为当时的最新标记价格

平均价格= 合约面值 * ( 原持仓数 + 新开仓数 ) / ( 合约面值 * 原持仓数 / 原持仓均价 + 合约面值 * 新开仓数 / 新开仓成交均价 )

新开仓成交均价 = 合约面值 * 新开仓数 / ( 合约面值 * 成交价格1的合约数 / 成交价格1 + 合约面值 * 成交价格2的合约数 / 成交价格2 + … )

新开仓数 = 成交价格1的合约数 + 成交价格2的合约数 + …

保证金

全仓模式:开仓保证金=面值*张数/最新标记价格/杠杆,用户的开仓保证金将随价格变化而变动。

逐仓模式:开仓保证金=面值*张数/开仓均价/杠杆,开仓保证金固定不变。

保证金和杠杆的关系

所需保证金=仓位价值/所选杠杆倍数

初始保证金率:初始保证金率 = 1/杠杆倍数

维持保证金率:用户维持当前仓位所需的最低保证金率,当保证金率小于等于用户当前所需维持保证金率+平仓手续费率,即触发爆仓。

逐仓:保证金率=(固定保证金+未实现盈亏)/仓位价值,

仓位价值=面值张数/最新标记价格

全仓:保证金率=(余额+已实现盈亏+未实现盈亏)/(仓位价值+挂单冻结保证金杠杆倍数)

仓位价值 =面值*张数/最新标记价格

保证金率

逐仓:保证金率=(固定保证金+未实现盈亏)/仓位价值=(固定保证金+未实现盈亏)/(面值*张数/最新标记价格)

全仓:保证金率=(余额+已实现盈亏+未实现盈亏)/(仓位价值+挂单冻结保证金杠杆倍数)

=(余额+已实现盈亏+未实现盈亏)/(面值张数/最新标记价格+挂单冻结保证金*杠杆倍数)

持仓杠杆倍数调整

逐仓:开仓所需保证金=面值张数/(开仓均价杠杆);

全仓:开仓所需保证金=面值张数/(最新标记价格杠杆);

盈亏计算

合约已实现盈亏

买单方向:

合约已实现盈亏 = (合约面值 / 结算基准价 – 合约面值 / 平均平仓价格) * 平仓数量

例如某用户以结算基准价500 USD/BTC 买入开多2张BTC合约,然后以价格 1000 USD/BTC卖出平多1张合约,则合约已实现盈亏 = (100 / 500 - 100 / 1000) * 1 = 0.1 BTC。

卖单方向:

合约已实现盈亏 = (合约面值 / 平均平仓价格 - 合约面值 /结算基准价) * 平仓数量

例如某用户以结算基准价500 USD/BTC 卖出开空10张BTC合约,然后以价格 1000 USD/BTC买入平空8张合约,则合约已实现盈亏 = (100 / 1000 - 100 / 500) * 8 = - 0.8 BTC。

合约未实现盈亏:

买入:

合约未实现盈亏 = (合约价值 / 结算基准价 – 合约价值 / 最新标记价格) * 持仓量例如某用户以结算基准价500 USD/BTC 买入开多6张BTC合约,现在最新成交价为600 USD/BTC,则合约未实现盈亏 = (100 / 500 - 100 / 600 ) * 6 = 0.2 BTC。

卖出:

合约未实现盈亏 = ( 合约价值 / 最新标记价格 - 合约价值 / 结算基准价) * 持仓量

逐仓保证金模式

逐仓模式下,每个用户都会有一个单独的“合约账户”和逐仓“子账户”。“合约账户”由账户余额组成,“子账户”由“子账户余额”、“已实现盈亏”、“冻结”,“未实现盈亏”组成。

只有合约“账户余额”和“资金账户、交易账户、其他账户”随时可以互转。而“子账户”下的子“账户余额”与“已实现盈亏”将不能转入“资金账户、交易账户、其他账户”。“子账户余额”,只有逐仓仓位下持仓全部平仓转入合约“账户余额”后,才能转入“资金账户、交易账户、其他账户”;“已实现盈亏”,也只有逐仓仓位结算转入合约“账户余额”后,才能转入“资金账户、交易账户、其他账户”。

账户余额:合约账户中的担保物数量,可用于转入逐仓子账户,追加保证金。

子账户余额:子账户中的担保物数量,与“已实现盈亏”一起为“固定保证金”提供担保。

子账户可用:可用于开新仓的可用保证金数量。

已实现盈亏:逐仓仓位结算前,用户已平仓仓位产生的盈亏。可以为逐仓持仓所需的“固定保证金”与挂新开仓单所需的“冻结”提供担保。

冻结:为逐仓仓位下未成交的开仓委托单所需要的保证金。委托单成交后,所需的保证金才增加至“固定保证金”。由合约“账户余额”与“已实现盈亏”提供担保。

固定保证金:为逐仓仓位的保证金,可以在持仓处手动增加,否则平仓或开新仓前固定不变。

资金费用

资金费用每8小时收取一次,收取时间在每天的08:00、16:00和24:00。只有在该时刻持有仓位时,用户才需要支付或收取资金费用。如果在费用收取之前平仓,则不需要支付资金费用。

1.理论资金费用

资金费用=持仓仓位价值*当期资金费率,当资金费率为正数时,多头支付空头;当资金费率为负数时,空头支付多头。

资金费率=Clamp(MA(((合约买一价+合约卖一价)/2-现货指数价格)/现货指数价格 - Interest), a, b)

*Interest当前为0

*所有币种永续合约:a=-0.3%,b=0.3%

资金费率每分钟计算一次,在资金费用收取时刻将取07:59、15:59和23:59(HKT)计算出的资金费率进行资金费用收取。

2.实际资金费用

全仓模式下:资金费用收取时,将直接从用户的已实现盈亏上扣除,至多扣除至用户保证金率等于维持保证金率+平仓手续费率,多余部分不再收取。

逐仓模式下:资金费用收取时,将优先从用户的已实现盈亏上扣除,如果已实现盈亏不足,多余部分从用户持仓仓位的固定保证金上扣除,至多扣除至用户保证金率等于维持保证金率+平仓手续费率,多余部分不再收取。

用户所能收取的实际资金费用也取决于系统从对手方账户上扣除的总额。

结算

永续合约在每天16:00(香港时间)会进行一次结算。

盈亏结算

a. 未实现盈亏结转到已实现盈亏

系统将当日的未实现盈亏转到已实现盈亏,未实现盈亏清零,且仓位上的“已结算收益”也相应增加本次结转的金额。当合约结算完成后,仓位的未实现盈亏将按照新的结算基准价进行计算。结转当日的“未实现盈亏”计算公式如下:结转的未实现盈亏=(合约面值张数/结算基准价)-(合约面值张数/上次结算基准价)

结算基准价:当您的仓位未经过每天16:00(香港时间)结算时,结算基准价=开仓均价。如果您的仓位经过了结算,则结算基准价为4点结算时刻的最新标记价格

b. 已实现盈亏结转到余额

将当日最后剩余的已实现盈亏结转到用户的现金余额资产。逐仓模式下,将已实现盈亏结转到持仓仓位的固定保证金;全仓模式下,将已实现盈亏结转到永续合约账户的现金余额。

资金费用收取

-系统计算所有用户的资金费用,由多方和空方互相支付,资金费用的变动将体现在用户的现金余额上。

如果交割和结算时间前后出现操纵市场或者市场异常,导致指数大幅波动,或者出现分摊比例异常,我们将有可能根据具体情况选择提前或延时交割和结算,具体规则会发公告说明。

分摊

统计系统账户穿仓损失,如果存在穿仓损失,进行风险准备金抵扣。当风险准备金无法全额抵扣时,由当日所有净盈利用户一起分摊。

分摊比例=(穿仓损失-风险准备金)/所有盈利用户净盈利之和,用户所需分摊金额=净盈利*分摊比例,分摊金额将从用户已实现盈亏上扣除。

挂单与吃单

挂单指的是你指定的价格下单时不会立即与深度列表里的其他订单成交,而是进入深度列表等待对方主动来跟你的订单成交,这样的行为叫挂单。比如现在卖一价是1000 USD,你以999 USD的价格下了一个买单,这时候不满足成交条件,那么你的订单会进入深度列表里的买单列表等待别人出999 USD的卖价跟你成交,这个时候你的单子被成交即支付挂单手续费。反之你要支付吃单手续费。

爆仓:爆仓手续费按照用户当前所处等级的taker费率收取。

请登录后发表评论

    没有回复内容