MetaTrader 5帮助交易操作高级用户选项保证金计算: 证券模型

证券风险管理模型

交易平台提供不同的风险管理模型, 它们定义了预交易控制类型。目前, 以下模型可以使用:

基本技术

揭示 #

资产 ― 已购买的金融工具当前值 (多头仓位), 以交易者的存款货币定义。此值基于金融工具最后一笔成交的价格动态确定, 考虑了流动性保证金率。事实上, 资产数额等价于资金数额, 这笔钱交易者在将多头仓位平仓后会立即收到。

资产 = Size1 * Price1 * L1  + Size2 * Price2 * L2 + ... +SizeN * PriceN * LN

此处:

  • Size ― 第 N 笔仓位的大小, 按照交易量的手数和合约大小的乘积计算。
  • Price ― 金融工具的当前市场价格。
  • L ― 工具的流动率。

只有流动工具才能用于抵押品。

负债 #

负债是偿还当前空头仓位的款项, 按照这些仓位的当前市价计算。事实上, 负债数额等价于资金数额, 这笔钱交易者在将空头仓位平仓后会立即支付。

负债 = Size1 * Price1  + Size2 * Price2 + ... +SizeN * PriceN

此处:

  • Size ― 第 N 笔仓位的大小, 按照交易量的手数和合约大小的乘积计算。
  • Price ― 交易者所开第 N 笔仓位的工具的当前市价。

余额 (自有资金)

余额 ― 交易者账户内的自有资金。

净值 (投资组合值)

净值是由以下公式计算:

净值 = 自有资金 + 资产 - 负债 - 佣金

保证金

  • 初始保证金 允许交易者入场交易的最小自有资金。
  • 调整初始保证金 允许交易者入场交易的最小自有资金, 包括当前已开仓位和回踩订单。
  • 维持保证金 账户内可用于维持已开仓位的最小资金数额。如果净值跌至维持保证金之下, 经纪商开始在交易者账户内强行平仓。平仓流程将由经纪商的政策确定。

计算特征

在现货市场上, 与期货市场 (特征是保障金移动) 不同, 资产的支付和接收 (或重购事件的负债) 在成交结算之时立刻发生。相应地, 业务价值也立即影响到交易者的账户余额。

因为买卖工具所需款项总是要全额支付的, 保证金只指示交易账户状态, 即判断开新仓位的可能性, 或是否必要将存在的仓位平仓。

保证金计算

保证金是交易者仓位的本金评估:

Margin = Size1 * Price1 * MarginRate1  + Size2 * Price2 * MarginRate2 + ... + SizeN * PriceN * MarginRateN

此处:

  • Size ― 第 N 笔仓位的大小, 按照交易量的手数和合约大小的乘积计算。
  • Price ― 交易者所开第 N 笔仓位的工具的当前市价。
  • MarginRate ― 保证金率或工具的折扣率, 针对开仓而言。独立保证金率可用作初始和维持保证金, 以及空头和多头仓位。

折扣

开多头仓位举例

例如, 交易者初始余额为 1,000,000 俄卢布。初始和维持保证金率等于 0.1 和 0.05。为了简化, 我们不用考虑佣金。

交易操作和价格波动

交易者的账户状态

买入 1000 份 LKOH, 每份 150 俄卢布

  • 余额: 1,000,000 俄卢布 - 1000 * 150 俄卢布 = 850,000 俄卢布
  • 资产: 1000 * 150 = 150,000 俄卢布
  • 负债: 0 俄卢布
  • 净值: 850,000 俄卢布 + 150,000 俄卢布 = 1,000,000 俄卢布
  • 初始保证金: 15,000 俄卢布
  • 维持保证金: 7,500 俄卢布

价格跌落到 50 俄卢布每份额

  • 余额: 850,000 俄卢布
  • 资产: 1000 * 50 = 50,000 俄卢布
  • 负债: 0 俄卢布
  • 净值: 850,000 俄卢布 + 50,000 俄卢布 = 900,000 俄卢布
  • 初始保证金: 5,000 俄卢布
  • 维持保证金: 2,500 俄卢布

买入 20,000 份, 50 俄卢布每份额

  • 余额: 850 000 俄卢布 - 20 000 * 50 俄卢布 = -150 000 俄卢布 (使用借来的钱)
  • 资产: (1,000 + 20,000) * 50 俄卢布 = 1,050,000 俄卢布
  • 负债: 0 俄卢布
  • 净值: 1,050,000 俄卢布 - 150,000 俄卢布 = 900,000 俄卢布
  • 初始保证金: 105,000 俄卢布
  • 维持保证金: 52,500 俄卢布

价格跌落到 10 俄卢布每份额

  • 余额: -150 000 俄卢布
  • 资产: 21,000 * 10 俄卢布 = 210,000 俄卢布
  • 负债: 0 俄卢布
  • 净值: 210,000 俄卢布 - 150,000 俄卢布 = 60,000 俄卢布
  • 初始保证金: 21,000 俄卢布
  • 维持保证金: 10,500 俄卢布

价格跌落到 7.8 俄卢布每份额

  • 余额: -150 000 俄卢布
  • 资产: 21,000 * 7.8 俄卢布 = 163,800 俄卢布
  • 负债: 0 俄卢布
  • 净值: 163,800 俄卢布 - 150,000 俄卢布 = 13,800 俄卢布
  • 初始保证金: 16,380 俄卢布
  • 维持保证金: 8,190 俄卢布

备注: 净值低于初始保证金。交易者不能开新仓, 只能将已存在仓位平仓。

价格跌落到 5 俄卢布每份额

  • 余额: -150 000 俄卢布
  • 资产: 21,000 * 5 俄卢布 = 110,000 俄卢布
  • 负债: 0 俄卢布
  • 净值: 110,000 俄卢布 - 150,000 俄卢布 = -40,000 俄卢布
  • 初始保证金: 11 000 俄卢布
  • 维持保证金: 5 500 俄卢布

备注: 净值低于维持保证金。经纪商强制交易者平仓。

开空头仓位举例

例如, 交易者初始余额为 1,000,000 俄卢布。初始和维持保证金率等于 0.1 和 0.05。为了简化, 我们不用考虑佣金。

交易操作和价格波动

交易者的账户状态

卖出 1000 份 LKOH, 每份 150 俄卢布

  • 余额: 1,000,000 俄卢布 + 1,000 * 150 俄卢布 = 1,150,000 俄卢布
  • 资产: 0 俄卢布
  • 负债: -1,000 * 150 俄卢布 = -150,000 俄卢布
  • 净值: 1,150,000 俄卢布 - 150,000 俄卢布 = 1,000,000 俄卢布
  • 初始保证金: 15,000 俄卢布
  • 维持保证金: 7,500 俄卢布

价格上涨到 300 俄卢布每份额

  • 余额: 1,150,000 俄卢布
  • 资产: 0 俄卢布
  • 负债: -1000 * 300 俄卢布 = -300,000 俄卢布
  • 净值: 1,150,000 俄卢布 - 300,000 俄卢布 = 850,000 俄卢布
  • 初始保证金: 30,000 俄卢布
  • 维持保证金: 15,000 俄卢布

价格上涨到 1000 俄卢布每份额

  • 余额: 1,150,000 俄卢布
  • 资产: 0 俄卢布
  • 负债: -1000 * 1000 俄卢布 = -1,000,000 俄卢布
  • 净值: 1,150,000 俄卢布 - 1,000,000 俄卢布 = 150,000 俄卢布
  • 初始保证金: 100,000 俄卢布
  • 维持保证金: 50,000 俄卢布

价格上涨到 1100 俄卢布每份额

  • 余额: 1,150,000 俄卢布
  • 资产: 0 俄卢布
  • 负债: -1000 * 1100 俄卢布 = -1,100,000 俄卢布
  • 净值: 1,150,000 俄卢布 - 1,100,000 俄卢布 = 50,000 俄卢布
  • 初始保证金: 110,000 俄卢布
  • 维持保证金: 55,000 俄卢布

备注: 净值低于初始保证金。交易者不能开新仓, 只能将已存在仓位平仓。

价格上涨到 1200 俄卢布每份额

  • 余额: 1,150,000 俄卢布
  • 资产: 0 俄卢布
  • 负债: -1000 * 1200 俄卢布 = -1,200,000 俄卢布
  • 净值: 1,150,000 俄卢布 - 1,200,000 俄卢布 = -50,000 俄卢布
  • 初始保证金: 120,000 俄卢布
  • 维持保证金: 60,000 俄卢布

备注: 净值低于维持保证金。经纪商强制交易者平仓。

调整的初始保证金计算

如果交易者有回踩订单, 那么以下公式用于计算开仓时的保证金。

调整的保证金总是计算最大一侧 ― 买入或卖出仓位的总和还有订单。

调整保证金 = Max(买入保证金;卖出保证金)

多头一侧计算:

买入保证金 = PositionSize * (PriceMarket - PriceMin) + (PositionSize + OrdersBuySize) * PriceMin * MarginRate + (OrdersBuyValue - OrdersBuySize * PriceMin)

此处:

  • PositionSize ― 仓位的大小, 按照交易量的手数和合约大小的乘积计算。
  • PriceMarket ― 金融工具的当前市场价格 (最后一笔成交价格)。
  • PriceMin ― 交易者当前所有回踩买入订单当中的最小价格。
  • OrdersBuySize ― 交易者回踩买入订单大小, 按照订单总手数和合约大小的乘积计算。
  • OrdersBuyValue ― 回踩买入订单在指定价位执行时的价值。它是按照订单大小和它们的回踩价格乘积之和计算。
  • MarginRate ― 品种的折扣额。

如果交易者当前仓位是空头, 且其大小大于或等于 OrdersBuySize, 则买入保证金不可计算且假定为 0。 事实上, 此处的这种情形, 即使交易者的所有回踩买入订单被填充, 交易者依然有一笔空头仓位, 或仓位将会彻底清除。

空头一侧计算:

卖出保证金 = -PositionSize * (PriceMax - PriceMarket) - (PositionSize - OrdersSellSize) * PriceMax * MarginRate + (OrdersSellSize * PriceMax - OrdersSellValue)

此处:

  • PositionSize ― 仓位的大小, 按照交易量的手数和合约大小的乘积计算。
  • PriceMarket ― 金融工具的当前市场价格 (最后一笔成交价格)。
  • PriceMin ― 交易者当前所有回踩卖出订单当中的最小价格。
  • OrdersSellSize ― 交易者回踩卖出订单大小, 按照订单总手数和合约大小的乘积计算。
  • OrdersSellValue ― 回踩卖出订单在指定价位执行时的价值。它是按照订单大小和它们的回踩价格乘积之和计算。
  • MarginRate ― 品种的折扣额。

如果交易者当前仓位是多头, 且其大小大于或等于 OrdersSellSize, 则卖出保证金不可计算且假定为 0。 事实上, 此处的这种情形, 即使交易者的所有回踩卖出订单被填充, 交易者依然有一笔多头仓位, 或仓位将会彻底清除。

让我们来研究以下例子. 交易者有:

  • 多头 1 手 LKOH, 合约大小是 1000 份, 当前价格是 100 俄卢布, 初始保证金率是 0.1
  • 回踩买入订单 0.5 手 LKOH (500 份), 订单价格是 80 俄卢布
  • 回踩买入订单 0.3 手 LKOH (300 份), 订单价格是 60 俄卢布
  • 回踩买入订单 0.1 手 LKOH (100 份), 订单价格是 40 俄卢布

计算:

PriceMin = 40
Price Market = 100
OrdersBuySize = 500 + 300 + 100 = 900
OrdersBuyValue = 500 * 80 + 300 * 60 + 100 * 40 = 62 000
买入保证金 = 1000 * (100 - 40) + (1000 + 900) * 40 * 0.1 + (62 000  - 900 * 40) = 87 900

调整的初始保证金总额等于 87,900。