このエントリーをはてなブックマークに追加


PowerShellでCoincheckの板情報を取得・order_books(PowerShell)

当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。


PowerShellを使って Coincheck の板情報APIの使用例を以下に記します。


スポンサーリンク

関連記事

板情報APIの仕様など

public APIなので Coincheck に取引口座を開設していなくても使用することができます。

板情報のAPI仕様(Coincheck APIページから抜粋)
https://coincheck.com/ja/documents/exchange/api#order-book

板情報
板情報を取得できます。

HTTP REQUEST
GET /api/order_books

RESPONSE ITEMS
asks 売り注文の情報
bids 買い注文の情報

板情報APIを試してみた結果、asks, bids の情報が400件(asks200件、bids200件)返却されました。

ブラウザで板情報(order_books)を取得する

GETなのでブラウザで板情報を取得することができます。
以下のようなURLになります。
https://coincheck.com/api/order_books

ブラウザで板情報APIにアクセスした結果

以下ブラウザから上記URLにアクセスしたときの出力です。

JSONが整形され表示されています。
見やすいですね。
(生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)

01.png

Invoke-RestMethodコマンドレットでCoincheckの板情報を取得する

  1. 板情報を取得するURL(API)を設定します。
    PS C:\> $order_books_api = "https://coincheck.com/api/order_books"
  2. Invoke-RestMethodコマンドレットを使用し、返却された情報を$order_books_api変数に代入します。
    PS C:\> $order_books = Invoke-RestMethod -UseBasicParsing $order_books_api
  3. 取得した板情報を表示しています。
    PS C:\> $order_books
    
    asks                                                                 bids
    ----                                                                 ----
    {963999.0 0.015, 964584.0 0.0106, 964585.0 0.005, 964687.0 0.206...} {963724.0 0.1, 963723.0 1.2893, 963722.0 0.8468...
  4. 取得した数を確認しています。bid,askともに200件取得できています。
    PS C:\> $order_books.asks.Count
    200
    PS C:\> $order_books.bids.Count
    200
    以下のようにして取得した、板情報にアクセスできます。
  5. askを表示
    PS C:\> $order_books.asks
    963999.0
    0.015
    964584.0
    0.0106
    964585.0
    0.005
    964687.0
    0.206
    964854.0
    <省略>
    これでは見にくいので、以下にしました。
    • askを10件表示
      PS C:\> $order_books.asks | % { "$($_[0]) : $($_[1])" } | Select-Object -First 10
      963999.0 : 0.015
      964584.0 : 0.0106
      964585.0 : 0.005
      964687.0 : 0.206
      964854.0 : 0.04
      964999.0 : 0.015
      965043.0 : 0.005
      965045.0 : 0.04
      965185.0 : 0.05
      965236.0 : 0.8839
    • bidsを10件表示
      PS C:\> $order_books.bids | % { "$($_[0]) : $($_[1])" } | Select-Object -First 10
      963724.0 : 0.1
      963723.0 : 1.2893
      963722.0 : 0.8468
      963677.0 : 0.08
      963603.0 : 0.05522457
      963557.0 : 0.3
      963523.0 : 0.005
      963520.0 : 0.05
      963516.0 : 0.426
      963473.0 : 0.1

HTTPステータスなどを一緒に取得したい場合 †

上記では、Invoke-RestMethodにてJSONをPowerShellで扱いやすい状態に変換してくれます。 しかし、Webサーバから返却された値を変換せず、取得後JSONを別のコマンドレットで変換する操作手順を以下に記します。

  1. 板情報を取得するURLを設定します。
    PS C:\> $order_books_api = "https://coincheck.com/api/order_books"
  2. Invoke-WebRequestコマンドレットでサーバからのレスポンスを$resに格納します。
    PS C:\> $res = Invoke-WebRequest -UseBasicParsing $order_books_api
  3. 取得したレスポンスは以下の通りです。
    PS C:\> $res
    
    StatusCode        : 200
    StatusDescription : OK
    Content           : {"asks":[["964476.0","0.01"],["964481.0","0.07"],["964624.0","0.04997196"],["964672.0","0.8818"],["
                        964673.0","0.1"],["964674.0","0.1"],["964716.0","0.005"],["964924.0","0.1"],["964994.0","0.1"],["96
                        50...
    RawContent        : HTTP/1.1 200 OK
                        Transfer-Encoding: chunked
                        Connection: keep-alive
                        X-Frame-Options: SAMEORIGIN
                        X-XSS-Protection: 1; mode=block
                        X-Content-Type-Options: nosniff
                        X-Request-Id: 939121fa-5fd2-4cfa-bf2...
    Forms             :
    Headers           : {[Transfer-Encoding, chunked], [Connection, keep-alive], [X-Frame-Options, SAMEORIGIN], [X-XSS-Prot
                        ection, 1; mode=block]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        :
    RawContentLength  : 8573
  4. HTTPステイタスを取得しています。
    PS C:\> $res.StatusCode
    200
  5. 値も取得しています。
    PS C:\> $json = ($res.Content | ConvertFrom-Json)
    PS C:\> $json
    
    asks                                                                    bids
    ----                                                                    ----
    {964476.0 0.01, 964481.0 0.07, 964624.0 0.04997196, 964672.0 0.8818...} {964145.0 0.6, 964110.0 0.015, 964001.0 0.01...
    
    
    PS C:\> $json.asks[0]
    964476.0
    0.01

以上、PowerShellを使って、Coincheckの板情報を取得・order_booksからの返却値を表示する方法でした。


スポンサーリンク

添付ファイル: file01.png 11件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-04-26 (木) 23:28:00 (152d)