GMO NIKKOのS.Tです。
GMOコインのAPIを触る機会があったので紹介します。
暗号資産を少し買っているのでExcelに入力して日ごとの含み益を管理しているのですが、
各銘柄の日ごとの終値一覧がなぜかGMOコインではダウンロードできないのでAPIで取得することにしました。
(他にアカウントを持っているB社やZ社ではできるのですが…)
自分の取引等を取得する場合は個人情報を扱うのでAPIキーの作成が必要ですが、
今回はオープンなPublic APIを使うだけなので特に設定は必要ありません。
取引を自動化するのは怖いので私はやっていません。
絶対勝てるAIとかあれば誰か教えてください。
サンプル
KLine情報の取得 – APIドキュメント_ GMOコイン
ここに言語ごとにわかりやすいサンプルが用意されているのですぐに取得できました。
期間指定できないので過去データを取得するには年単位で取得する必要があるようです。
下記はPHPで一部の銘柄の日ごとの終値一覧を取得しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php $yearUntil = (empty($argv[2]) ? date("Y") : $argv[2]); $yearSince = (empty($argv[1]) ? $yearUntil : $argv[1]); $endPoint = 'https://api.coin.z.com/public'; $symbol = array('BTC', 'ETH', 'XRP', 'XYM'); $data = array(); for ($i=$yearSince; $i<=$yearUntil; $i++) { foreach ($symbol as $symbolValue) { $path = '/v1/klines?symbol=' . $symbolValue . '&interval=1day&date=' . $i; $curl = curl_init($endPoint . $path); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); $json_res = json_decode($response); if (!empty($json_res->data)) { foreach ($json_res->data as $value) { $yyyymmdd = date("Y/m/d", (int)substr($value->openTime, 0, 10)); $data[$yyyymmdd] = (empty($data[$yyyymmdd]) ? '' : $data[$yyyymmdd] . "\t") . $value->close; } } } } print('日付'); foreach ($symbol as $value) { print("\t" . $value); } print("\r\n"); krsort($data); foreach ($data as $key => $value) { print($key . "\t" . $value . "\r\n"); } |
その他
私が使っているのはこれだけですがネタ不足なので他に使えそうなものも紹介します。
・最新レート
symbolを省略すると全銘柄を取得できるようです。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $endPoint = 'https://api.coin.z.com/public'; $path = '/v1/ticker'; $curl = curl_init($endPoint . $path); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); $json_res = json_decode($response); echo json_encode($json_res, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); |
・板情報
指定した銘柄の買い注文と売り注文を取得します。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $endPoint = 'https://api.coin.z.com/public'; $path = '/v1/orderbooks?symbol=BTC'; $curl = curl_init($endPoint . $path); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); $json_res = json_decode($response); echo json_encode($json_res, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); |
・取引履歴
板情報にあった買い注文と売り注文が実際に取引された履歴を取得します。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $endPoint = 'https://api.coin.z.com/public'; $path = '/v1/trades?symbol=BTC&page=1&count=10'; $curl = curl_init($endPoint . $path); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); $json_res = json_decode($response); echo json_encode($json_res, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); |
まとめ
以上のように簡単にAPIで取れるので過去の終値が見たかったら自分で取れってことでしょうか。
フォローもしておきますと、GMOコインはテゾスとシンボルでステーキングをやっているので
一定数以上保有しているだけで年率で4%程度を報酬として貰えます。
2022/05/10現在1シンボルは9.622円なので、例えば10,000XYM(96,220円相当)保有していると
年次報酬として386.688893XYM(3,720円相当)が貰えます。
記事作成時においては暗号資産全般の価格が下がってきているので、銀行等で眠っている余剰資金がある方は買ってみるのもいいかもしれません。
ステーキング _ ビットコイン・暗号資産(仮想通貨)ならGMOコイン
詳細はGMOコインのサイトでシミュレーションできるので試してみてください。