プログラミング

仮想通貨の売却時(過去)価格を自動取得して確定申告に備える

ともよです。以前、仮想通貨の利益計算方法についてブログに書きました。今は利益計算の前にまず売買履歴のデータ整理から始めています。今回、過去の取引価格を知る方法について調べましたので、ブログに書きます。

仮想通貨の利益ってどうやって計算するの?初心者が超基礎から調べてみた。 – 30歳からはじめる生きがい探し

f:id:sakurA:20170906020721j:plain

仮想通貨売却時の価格を取得するには?

過去記事にも書いていますが、BTC→オルトコイン間の取引でも利確と見なされて、課税される可能性があります。課税額を計算するには、取引時のそのコインの日本円での価値を知る必要があります。取引所のAPIでは現在の価格は取得できるのですが過去の価格が取得できません。そのため、対策は以下のどちらかです。

①取引時にリアルタイムで価格を取得する

取引時にリアルタイムで価格を取得する方法です。自分のアカウントで取引が発生したかを常に監視する必要があり、サーバの準備等面倒です。意外と手間がかかりそうです。

②取引価格のアーカイブ情報を使う

各取引所の価格アーカイブをBitcoinchartsというサイトからダウンロードできます。過去のBTCのJPY換算価格を記したCSVファイルがダウンロードできます。国内取引所だとcoincheckとbitFlyerに関してはデータがありますが、Zaifなど主要だがデータのない取引所も多いです。また、アルトコイン価格の情報はCSVには載っていません。

【Bitcoincharts】

http://api.bitcoincharts.com/v1/csv/

 

取引価格のアーカイブはあまり整備されていない状況ですが、Crypto Compareというサイトが頑張っています。厳密ではないですが、Crypto Compareの提供するAPIにて概算値は取得できます。

www.cryptocompare.com

APIで時刻、通貨、取引所名を指定することで価格が取得できます。ただし、何回か試してみましたが、取引所名の指定がうまく機能していない様子。指定しても反映されていない感じです。取引所はデフォルトではCCAGG (CryptoCompare Current Aggregate)に設定されており、CryptoCompareが独自にアグリゲートした価格になっています。今後改善希望ですが、ひとまずはアグリゲーションされた価格でも問題ないと思います。

下記のリンクをクリックすると2017年9月6日時点での1ビットコインの日本円換算価格が表示されるはずです。

https://min-api.cryptocompare.com/data/pricehistorical?fsym=BTC&tsyms=JPY&ts=1504628800

【API 引数】

  • fsym:交換前の通貨種 (複数指定可)
  • tsyms:交換前の通貨種 (複数指定可)
  • ts:時刻 (unixtime)
  • markets:取引所名

ちなみにunixtimeとは1970年1月1日からの経過秒数を指します。下記サイトで時刻のunixtimeへの変換が簡単にできます。

Unixtime相互変換ツール – konisimple tools

おわりに

仮想通貨の過去価格の取得方法について調べました。調査した結果、アルトコインは特に価格の取得方法が限られており、現段階ではCrypto CompareのAPIを使うのが簡単で最も良い方法であると結論づけます。