现货市场概念

定义

在现货市场中,AAA/BBB的交易对中,AAA是基础资产,BBB是报价资产。 例如,在ETH/USDT市场中:

  • ETH是基础资产

  • USDT是报价资产

现货市场的价格指的是购买一个单位ETH(基础资产)所需的USDT(报价资产)数量。对于所有现货市场,费用总是以报价资产支付,例如USDT。

借方与贷方

  • 借方金额是指从账户中提取的资产数量。

  • 贷方金额是指存入账户的资产数量。

退款 在我们的系统中,退款是指增加账户可用余额的操作。这种资金的释放发生在账户的负担解除时(例如取消限价单、将订单的应付费用调整为做市费用、使用较少的保证金来资助市场订单等)。

限价买单

限价买单旨在以指定数量的ETH(基础资产)交换指定数量 * 价格金额的USDT(报价资产),并支付相应的费用,这些费用取决于限价单是否作为做市单(maker order)或吃单(taker order)执行。

限价卖单

限价卖单旨在以指定数量的ETH(基础资产)交换数量 * 价格金额的USDT(报价资产),减去相应的费用,这些费用取决于限价单是否作为做市单(maker order)或吃单(taker order)执行。

市价买单

市场买单旨在以指定的最差价格(该价格位于当前卖价或其附近)购买指定数量的ETH(基础资产),并使用相应账户的报价资产余额(USDT)作为抵押(包含费用)。

因此,每个市场买单隐含地具有一个可接受的最高价格,因为如果市场单的成交价格超出该上限,将因资金不足而无法执行。

市价卖单

市场卖单旨在以指定的最差价格(该价格位于当前买价或其附近)卖出指定数量的ETH(基础资产),并换取市场上可用的任意数量的报价资产(USDT)。

因此,每个市场卖单隐含地具有一个零价格限制。

订单类型

  • BUY (1): 标准买单,可按当前市场价格或设定的限价购买资产。

  • SELL (2): 标准卖单,可按当前市场价格或设定的限价卖出资产。

  • STOP_BUY (3): 现货市场不支持此订单类型。

  • STOP_SELL (4): 现货市场不支持此订单类型。

  • TAKE_BUY (5): 现货市场不支持此订单类型。

  • TAKE_SELL (6): 现货市场不支持此订单类型。

  • BUY_PO (7): 仅挂单买单。此订单类型确保订单只会被添加到订单簿,而不会与已有订单匹配。它保证用户为市场的“做市商”(maker),而非“吃单者”(taker)。

  • SELL_PO (8): 仅挂单卖单。与BUY_PO类似,此订单确保卖单仅向订单簿提供流动性,而不会与已有订单匹配。

  • BUY_ATOMIC (9): 原子买单,该市场单会立即执行,绕过频繁批次拍卖(FBA)。此类型适用于需要即时执行交易的智能合约,并支付较高的费用,该费用由全球交易所参数定义。

  • SELL_ATOMIC (10): 原子卖单,类似于BUY_ATOMIC,会立即按当前市场价格执行,绕过FBA。

市场数据要求

除订单簿数据外,只要我们的链支持获取逐笔交易数据的基本能力,就可以通过聚合计算获得大多数必要的高阶数据,包括:

  • OHLCV 数据

  • 账户交易历史

  • 市场统计数据

现货市场生命周期

基于治理的现货市场创建

市场的创建方式有两种:通过 MsgInstantSpotMarketLaunch 创建市场,需支付额外费用,无需治理批准。或者通过 MsgSpotMarketLaunchProposal 提交提案,经治理批准后创建市场。

基于上架费用的现货市场创建

允许任何人通过燃烧预设的 SpotMarketInstantListingFee (以INJ计)来创建自己选择的现货市场,无需治理批准。 不过,我们仍然需要检查该币种是否有效。

现货市场状态更新

现货市场可以处于四种不同的状态:

  • 活动状态

  • 暂停状态

  • 挂起状态

  • 销毁状态

活动状态 如果现货市场处于活动状态,则可以接受订单和交易。

暂停状态 如果现货市场处于暂停状态,它将不再接受订单和交易,也不允许用户在该市场上进行任何操作(如取消订单)。

挂起状态 如果现货市场处于挂起状态,它将不再接受订单和交易,只允许交易者取消其订单。

销毁状态

当市场进入销毁状态时,所有未完成的订单将被取消。

市场状态转换

有三个状态转换对应以下状态变化:

  • 激活操作:从暂停或挂起状态 → 活动状态

  • 暂停操作:从活动或挂起状态 → 暂停状态

  • 挂起操作:从活动或暂停状态 → 挂起状态

  • 销毁操作:从暂停或挂起状态 → 销毁状态

现货市场参数更新

现货市场有以下参数:

  • SpotMarketInstantListingFee

  • DefaultSpotMakerFeeRate

  • DefaultSpotTakerFeeRate

Last updated