これまでbitFlyerとcoincheck、ZaifのAPIから注文する方法をご紹介しました。
今回はLiquid by Quoine (リキッド)のAPIから注文する
サンプルプログラムをご紹介します。
QUOINEはシステムも安定していて
現物の取引数量も多く
非常に良い取引所ではありますが、
APIのドキュメントが全て英語なので
注意が必要です。
私が実際に使用しているソースコードになります。
QUOINE APIのドキュメントは以下をご参照ください。
QUOINE APIサンプルプログラム
実装したのは、Python 3.6です。
QUOINE APIソースコード
ではさっそくサンプルプログラムです。
import json import requests import time import jwt import util class quoineApi: def __init__(self): self.token_id = 'トークンID' self.api_secret = 'シークレットキー' self.api_endpoint = 'https://api.liquid.com' def get_api_call(self,path): timestamp = str(int(time.time())) auth_payload = { 'path': path, 'nonce': timestamp, 'token_id': self.token_id } sign = jwt.encode(auth_payload, self.api_secret, algorithm='HS256') request_data=requests.get( self.api_endpoint+path ,headers = { 'X-Quoine-API-Version': '2', 'X-Quoine-Auth': sign, 'Content-Type': 'application/json' }) return request_data def post_api_call(self,path,body): body = json.dumps(body) timestamp = str(int(time.time())) auth_payload = { 'path': path, 'nonce': timestamp, 'token_id': self.token_id } sign = jwt.encode(auth_payload, self.api_secret, algorithm='HS256') request_data=requests.post( self.api_endpoint+path ,data = body ,headers = { 'X-Quoine-API-Version': '2', 'X-Quoine-Auth': sign, 'Content-Type': 'application/json' }) return request_data def get_board(self): api = quoineApi() result = api.get_api_call('/products/5/price_levels').json() bids = util.util.list_to_pd(result['buy_price_levels'],'qo',False) asks = util.util.list_to_pd(result['sell_price_levels'],'qo',True) return bids,asks def get_balance(self): api = quoineApi() result = api.get_api_call('/accounts/balance').json() data = {} for row in result: if (row['currency'] == 'JPY'): data['jpy_amount'] = round(float(row['balance']), 2) data['jpy_available'] = round(float(row['balance']), 2) elif (row['currency'] == 'BTC'): data['btc_amount'] = round(float(row['balance']), 8) data['btc_available'] = round(float(row['balance']), 8) return data def get_accounts(self): api = quoineApi() result = api.get_api_call('/trading_accounts').json() return result def get_account(self, account_id): api = quoineApi() result = api.get_api_call('/trading_accounts/'+account_id).json() return result def get_open_positions(self): api = quoineApi() result = api.get_api_call('/trades?status=open').json() return result def order(self,data): api = quoineApi() result = api.post_api_call('/orders/',data).json() return result
使用方法
以下のソースをquoine.pyというファイル名で保存します。
APIを呼び出すプログラム例
呼び出すプログラム側で以下のように実装します。
import quoineApi api = quoineApi.quoineApi() bids,asks = api.get_board()
これは、板情報を取得する場合です。