執行条件

GTC

Good Till Cancel。注文をキャンセルするまで有効な注文方法です。

FOK

Fill Or Kill。注文を出した時点で全数量が約定しなかった場合、すべての数量が失効する注文方法です。

IOC

Immediate Or Cancel。注文を出した時点で約定可能な数量を約定させて、残数量を即時失効させる注文方法です。
取引所によっては FAK (Fill And Kill) と呼ぶこともあります。

Post Only

この条件を有効にして発注すると、発注時に即時約定する場合はキャンセルされます。
bitmania では手数料を Maker 側に有利としているため Taker 手数料が発生する事を避けたい場合などに有用です。

ストップ注文

最終約定価格、あるいはインデックス価格がある価格に達したタイミングで自動で発注する事が可能です。
尚、損切りの価格を清算価格に近すぎる距離に設定した場合、価格の変動によっては清算が先に行われる事があります。
余裕をもった価格の設定をすることをお勧め致します。

インデックス価格

bitmania ではポジションの評価損益を計算するためにインデックス価格を採用しています。
最終約定価格は評価損益の算出には使用されません。
これにより bitmania では板の価格操作によるロスカットの誘発を防いでいます。

インデックス価格は他取引所の価格を元に約 5 秒おきに再計算されます。
価格算出の参照先の取引所は銘柄ごとに異なります。
出来高が多い取引所ほど価格が安定する傾向にあり、銘柄毎に出来高が多い取引所が異なるためです。

現在 bitmania で採用している取引所は以下の通りです。
これらは他取引所の状況次第で予告無く変更する場合があります。
※ XRP/BTCなどのBTCをベースとした通貨については、その時点のBTCJPYのインデックス価格をかけてJPYベースの価格へ換算します。

銘柄 参照取引所
BTC/JPY Liquid (BTC/JPY)
Weight : 58.98 %
bitFlyer (BTC/JPY)
Weight : 27.40 %
CoinCheck (BTC/JPY)
Weight : 11.65 %
GMO Coin (BTC/JPY)
Weight : 1.97 %
ETH/JPY Huobi (ETH/BTC)
Weight : 43.04 %
binance (ETH/BTC)
Weight : 33.29 %
OKEX (ETH/BTC)
Weight : 23.68 %
XRP/JPY binance (XRP/BTC)
Weight : 52.03 %
OKEX (XRP/BTC)
Weight : 26.76 %
Huobi (XRP/BTC)
Weight : 21.21 %
MONA/JPY bitbank (MONA/JPY)
Weight : 95.74 %
Zaif (MONA/JPY)
Weight : 2.96 %
Bittrex (MONA/BTC)
Weight : 1.30 %

インデックス価格の計算式について

参考取引所の価格のと出来高から加重平均を算出した後、その価格から乖離を加味した上で適切な価格を算出します。
平均価格からの乖離が大きいほどインデックス価格への寄与率がさがります。
これにより、一部の取引価格が異常になった場合にその取引所の価格の影響度を低くおさえます。

まず各取引所の価格の加重平均を取り、その価格と各取引所の価格の差を算出します。
その後、価格差から取引所毎の重みを加味してインデックス価格を導出します。

以下に [ 取引所A = 価格:800000 出来高:1000, 取引所B = 価格:810000 出来高:50000, 取引所C = 価格:890000 出来高:3000 ]
という価格だった場合の JavaScript による価格算出の例を示します。

// 各取引所の価格の宣言
let prices = [800000, 810000, 890000]
let volumes = [1000, 50000, 3000]
// 加重平均を取得
let toalAmount = prices.map((price,i) => price * volumes[i]).reduce((prev, x) => prev + x)
let tovalVolume = volumes.reduce((prev, x) => prev + x)
let average = toalAmount / tovalVolume
// 平均の距離から重みを算出
let diffList = prices.map((price) => 1 / Math.pow(price - average, 2))
let totalDiff = diffList.reduce((diff,x) => diff + x)
let weightList = diffList.map((diff) => diff / totalDiff)
// 価格に重みを加えてインデックス価格を算出
let indexPrice = prices.map((price, index) => price * weightList[index]).reduce((price, x) => x + price)
console.log(indexPrice) // 809414.8241857525

呼値

呼値 (注文金額の最小単位) は価格帯によって変動します。
価格帯最小 価格帯最大 最小単位
01000.01
10110000.05
100150000.1
5001100001
10001500005
5000110000010
100001500000050
5000001無制限100

初期証拠金と清算

証拠金は銘柄毎に指定します。証拠金として使用できる通貨は BTC のみです。
注文時に必要な証拠金は 1.00% + オープンテイカー手数料 + クローズテイカー手数料 です。
証拠金の維持率が 0.50% + クローズテイカー手数料を下回ると清算が行われます。

清算発生時点にオープンしていたポジションの 0.50% + クローズテイカー手数料が証拠金から差し引かれます。
清算が行われると、その時点で出していた注文はすべてキャンセルされ、ポジションはすべて bitmania の管理化に移されます。

保険基金

保険基金は大きく価格が動いた際に、マイナス証拠金を発生させないための基金です。
この基金により bitmania はゼロカットを実現しています。

清算が行われた際に bitmania に移管されたポジションはインデックス価格を参考に、クローズ注文が行われていきます。
決済によって発生した損失と、清算時に回収された証拠金の差額が保険基金に加算されます。
この保険基金は清算時に回収した証拠金の金額を損失が上回った場合に使用されます。

デレバレッジ

価格の乱高下が激しい場合に保険基金が枯渇する可能性があります。
その場合、清算対象となったポジションをクローズするために、同一銘柄の最も利益の出ているポジションから順にクローズしていきます。
利益の出ているポジションのクローズ価格は、清算対象となったポジションの清算時の価格となります。

ファンディング

インデックス価格からの乖離を防ぐため 8 時間おきにファンディング手数料を徴収しています。
ファンディング徴収時に保持しているポジションの数量に、ファンディングレートを乗算した金額が証拠金から加減算されます。
ファンディングレートが正の値の場合は、ロングポジションに対してショートポジション側がファンディングを支払います。
ファンディングレートが負の値の場合はこれの逆となります。

レートは 16 時間前から 8 時間前の間のインデックス価格と実際の約定価格との差の平均値から算出されます。
尚、レートの最大値は 0.375%、最小値は -0.375% となります。

ファンディングの計算方法は以下の通りです。
BTC/JPYの場合:1/IBTC価格 x contract数 × 10,000
ALT/JPYの場合:ポジションのオープン価格 × contract数 × Bitcoin Multiplier

レートがプラスの場合はロングポジションを保持しているユーザーがショートポジションを保持しているユーザーに対して支払い、
レートがマイナスの場合はその逆になります。

取引手数料

手数料は以下の通りです。
Taker は手数料を支払いますが、Maker である場合は手数料を受け取ります。
尚、すべての銘柄において手数料は一律です。
Taker/Maker 手数料率
Taker 0.0750%
Maker -0.0250%