計算方法のご説明 (2018年1月22日版)

ここに書かれている計算方法は、事前の通告なく変更する場合がございますのでご了承ください。また、利用規約にございますように、内容について一切責任を負いませんので、改めてご了承ください。

内容

用語定義 法定通貨間の為替レートについて

主軸通貨(ベース通貨)、決済通貨(カウンター通貨)とは、以下のように定義します。

「1 BTCJPY = 2,000,000円」とレート表示されている場合、BTCを主軸通貨、JPYを決済通貨と呼びます。

 対応済み決済通貨とは、tax@cryptactが時価データベースを用意することで、tax@cryptact内で実現損益を計算することができる通貨のことです。 一覧は、こちらをご覧ください。  全ての取引がアップロードされずにポジション数量に不整合を検出した場合や、tax@cryptactが用意するデータに欠落があった場合、安全のため該当取引の処理を中止します。 この場合、「未分類取引」と表示されます。対応方法の詳細はこちらをご覧ください。

アップロードされた各取引について、それぞれが「オープン」なのか「クローズ」なのかを判定した上で、損益計算を実施します。

(注意)法定通貨間の取引(USDJPYなど)が含まれていた場合、その損益は計算しません。

アップロードされた全てのファイルに含まれる取引をひとつにまとめ、古い取引から新しい取引に、時間順に並べ替えます。

通貨ごとに、新規に買った取引もしくは新規に空売りした取引を探して、「オープン」とします。

通貨ごとに、すでにオープン取引がある場合の反対売買の取引を「クローズ」とします。クローズ取引の数量がオープン取引の数量より多い場合の対応は以下の通りです。

仮想通貨のコインやトークンの取引の場合:
ポジション不足となります。全ての取引がアップロードされているかご確認ください。

仮想通貨が原資産となっている先物・FX・オプション・スワップ等の取引で、かつ差金決済の場合:
オープン数量を超えて反対売買した場合は、オープン数量と同じ数量をクローズ取引、超えた数量分は、新たにオープン取引が作られたものとして、 取引を2つに分けます。

実現損益は、在庫(ポジション)管理の方式に応じて異なります。

2.2.1. tax@cryptact で選択できる在庫管理方式

算定方法 説明
移動平均法 クローズ時点での、それ以前のオープン取引価格(手数料を含む金額)について、取引株数による加重平均値を移動平均簿価とします。
会計通貨をJPYとした場合の既定値
FIFO First-In, First-Outの略。古いオープン取引から新しい方へ向かって順にクローズされるものとします。
LIFO Last-In, First-Outの略。新しいオープン取引から古い方へ向かって順にクローズされるものとします。

2.2.2. 計算式

移動平均法の場合

{ (クローズ時の時価単価)-(移動平均簿価) } * (取引数量)-(クローズ時の手数料合計)

FIFO, LIFOの場合

{ (クローズ時の時価単価)-(オープン時の時価単価) } * (取引数量)-(オープン時の手数料合計)-(クローズ時の手数料合計)

時価の計算方法は 「3.仮想通貨の時価算出方法」 を参照してください。また、 手数料の扱いは「4.手数料の扱い」を参照してください。

「オープン時の時価」はユーザー設定の算定方法により異なります(会計通貨を日本円とした場合の初期値は移動平均法です)。

2.2.3. 年度間の損失の繰越はありません

ある年度の実現損益には、それ以前の損失は含まれません。

取引に応じた時価算出方法を適用します。

(注意)取引の決済通貨が対応済み決済通貨ではない場合、未分類取引となります。

仮想通貨の時価は、取引価格そのものになります。tax@cryptactでユーザーが設定した会計通貨と、決済通貨である法定通貨が異なる場合、 「法定通貨間の為替レートについて」で定めた方法で会計通貨に換算します。

対応済み決済通貨を使って他の仮想通貨を取引した場合は、tax@cryptactが算出した 各決済通貨の法定通貨換算レートを元に、取引価格を法定通貨の時価に換算します。

例)100 ICNを、 1 ICN=0.01 ETHで購入したのち、 0.02 ETHで売却する場合

tax@cryptactが算出した、購入時点での ETHJPY が20,000円、 売却時点のETHJPYが25,000円とすると

tax@cryptactの対応済み決済通貨の価格を1分単位で計算し、上記のオープン/クローズの時価算出に適用しています。各価格の計算は、仮想通貨取引の実態やデータ入手性を考慮し、以下のようにしています。

仮想通貨 法定通貨 計算方法
BTC JPY bitFlyerのBTCJPY全約定価格から、1分毎の平均価格を算出
USD KrakenのBTCUSD 全約定価格から、1分毎の平均価格を算出
EUR KrakenのBTCEUR 全約定価格から、1分毎の平均価格を算出
ETH JPY krakenのETHBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCJPYの価格を掛け合わせて算出
USD KrakenのETHBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCUSDの価格を掛け合わせて算出
EUR KrakenのETHBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCEURの価格を掛け合わせて算出
USDT USD KrakenのUSDTUSD 全約定価格から、1分毎の平均価格を計算。
Krakenでの取引が始まった2017年3月29日以前については、1 USDT= 1 USDとみなしています。
JPY 上記USDTUSDを、三菱東京UFJ銀行発表の為替レート用いて USDTJPYに変換。
EUR 上記USDTUSDを、欧州中央銀行(ECB)発表の為替レートを用いてUSDTEURに変換
BNB JPY Binance発表のBNBBTC 1分足の終値に、上記BTCJPYの価格を掛け合わせて算出
USD Binance発表のBNBBTC 1分足の終値に、上記BTCUSDの価格を掛け合わせて算出
EUR Binance発表のBNBBTC 1分足の終値に、上記BTCEURの価格を掛け合わせて算出
BCH JPY krakenのBCHBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCJPYの価格を掛け合わせて算出
USD KrakenのBCHUSD 全約定価格から、1分毎の平均価格を算出
EUR KrakenのBCHEUR 全約定価格から、1分毎の平均価格を算出
LTC JPY krakenのLTCBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCJPYの価格を掛け合わせて算出
USD KrakenのLTCUSD 全約定価格から、1分毎の平均価格を算出
EUR KrakenのLTCEUR 全約定価格から、1分毎の平均価格を算出
XRP JPY krakenのXRPBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCJPYの価格を掛け合わせて算出
USD KrakenのXRPUSD 全約定価格から、1分毎の平均価格を算出
EUR KrakenのXRPEUR 全約定価格から、1分毎の平均価格を算出
DOGE JPY krakenのDOGEBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCJPYの価格を掛け合わせて算出
USD krakenのDOGEBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCUSDの価格を掛け合わせて算出
EUR krakenのDOGEBTC全約定価格から、1分毎の平均価格を計算した上で、上記BTCEURの価格を掛け合わせて算出

なお、全約定価格から1分毎の平均を計算時、該当の時間帯に約定がなかった場合、その時点で入手できる直前の1分毎の平均価格を利用します。
取引所の停止などに伴い、長時間に渡りデータが取得できない場合は、gdaxやpoloniexなどの他市場のデータを参考に価格を計算します。
その上で2時間にわたり入手できなかった場合は価格データ欠落による未分類取引とします。

例)2015年1月2日15時00分の平均が計算できたが、それ以降 同40分まで約定がなく、1分毎の平均が同01分から同39分まで欠落している場合

2015年1月2日15時30分の取引について、1分毎の平均価格は、同00分のものを利用。

tax@cryptact のデータ更新完了時点よりも新しい取引をアップロードされた場合は価格データ欠落による未分類取引とします。この場合はしばらく待って再度アップロードお願いします。

例)tax@cryptact が 2017年12月21日5時00分までのETHJPYを計算済みの場合で、 2017年12月21日5時01分のETHBTC取引がアップロードされた場合、価格データ欠落により未分類。

オープン時およびクローズ時に支払った手数料は、それぞれの時点での会計通貨時価に換算した上で、クローズ時の実現損益から引かれます。

4.1.1. 手数料通貨が法定通貨の場合

手数料通貨が会計通貨の場合、その金額が手数料として認識されます。

手数料通貨が会計通貨でない場合、「5.法定通貨間の為替レートについて」に従い、取引時点の会計通貨の時価に換算した金額が手数料として認識されます。

4.1.2. 手数料通貨が仮想通貨で、主軸または決済通貨の場合

3.仮想通貨の時価算出方法」に従い、会計通貨の時価に換算した金額が手数料として認識されます。

4.1.3. 手数料通貨が仮想通貨で、主軸/決済通貨ではない場合(例:BNB)
暫定対応

手数料通貨が仮想通貨で、取引の主軸通貨または決済通貨とも異なる場合、以下の処理を実施

手数料通貨の残高から手数料分を減額
手数料の会計通貨換算額を、当該取引の手数料として認識し、クローズ時に差し引く。

手数料支払い時の、手数料通貨の実現損益は考慮されていません。将来変更する可能性がありますのでご注意ください。

送金手数料は、通貨のポジションから差し引かれますが、実現損益からは差し引かれません。国税庁の指針の中に、含めてよい、という記載が見当たらないためです。

tax@cryptact でユーザーが設定した会計通貨が、取引の決済通貨として使われた法定通貨と異なる場合、以下の方法により会計通貨に換算します

会計通貨 換算方法
JPY

三菱東京UFJ銀行発表のレートを用いて換算。 発表がない日は、その時点で直近のレートを利用

例)BTCUSDの取引を2017年12月3日(土曜日)に行った場合、 2017年12月2日のレートを用いる。

なお、仮想通貨取引は24時間365日行われるため、レートは発表日付の日本時間0時以降、翌0時前まで適用します。

USD 米国連邦準備制度理事会(FRB)発表のレートを用いて計算。
発表がない日はその時点で直近のレートを利用。
なお、レートは発表日付のアメリカ東部標準時間(EST)0時以降、翌0時前まで適用します。

(注意)FRBの発表は1週間遅れとなるため、会計通貨USDを選択した場合、直近の取引の計算は「古いレートを使った」という趣旨の自動調整表示がなされます。

EUR 欧州中央銀行(ECB)発表のレートを用いて換算。
発表がない日は、その時点で直近のレートを利用。
なお、レートは発表日付の世界標準時(UTC)0 時以降、翌0時前まで適用します。

bitFlyer Lightning Futuresの取引を開始し、満期日までにクローズしなかった場合、tax@cryptact では自動的に”SETTLE”という取引を追加し、クローズ処理を行います。

この際の価格は、Lightning Futuresの説明 に沿って、tax@cryptact にて、満期日の日本時間12時05分のbitFlyer BTCJPY取引価格を取得し利用しています。

取引所の仕様では、約定時点の最新のBNBの時価による換算がなされると読めます。しかし、BNBの全約定履歴を事前に用意し、tax@cryptactにアップロードされた取引時点の時価を算出するのは困難です。 このため、tax@cryptactではbinanceが計算した1分毎の価格をもって約定時点の価格としています。ご了承ください。

マイニングにかかった費用は、マイニング時に計上される所得から除かれます。

Changellyでの取引は、Changellyに支払う手数料とは別に、ブロックチェーンを使った送金に伴うネットワーク手数料が発生します。tax@cryptactでは、このネットワーク手数料を取引手数料に含みます。

会計通貨をUSDとした場合、以下の米国税制対応が設定可能になります。

ある通貨についてクローズ後30日以内に再びオープンした場合、クローズ時に損失があっても損失計上できません。損失分は、再びオープンした取引のコストに含まれます。

実現損益について、保有期間が1年未満(短期)であったコインからの損益と、1年以上(長期)であったコインからの損益を分割表示します。

これは、1年以上保有した資産のキャピタルゲインに軽減税率が適用されるためです。