Binance Websocket、オーダーブック、ローソク足データ(Pythonスクリプト)

>

Binanceは、暗号市場で最大の取引所として広く知られています。取引量に関しては、Binanceで毎日実行される大量の取引所に近い取引所は他にありません。.

Binanceの印象的な流動性は、トレーダー、機関、投資家が集約するための完璧なプラットフォームを提供します。低い取引手数料と相まって、デイトレードに適した取引所は、あるとしてもごくわずかです。.

残念ながら、トレーディング戦略の分析、バックテスト、ポートフォリオ分析に必要なデータの収集に関しては、多くの人が依然として困難を抱えています。この記事は、Binanceの包括的なライブおよび履歴市場データに誰もがアクセスするための効率的で費用効果の高い方法を提供します.

Pythonを使用すると、必要なデータを収集して保存できるようになります。各スクリプトは、あなたにとって興味深いかもしれない異なるデータを分解します.

参加することを忘れないでください 開発者電報グループ これは、取引所からのデータを使用するエキサイティングなアプリケーションを作成しているビルダー専用です。私たちはあなたが構築しているものを聞いて、あなたが始めるのを手伝いたいです!

過去のコインベースデータを取得する

CoinbaseProの数十億の履歴データポイントにアクセスします。注文書のスナップショット、取引履歴、ライブWebSocketがすべて利用可能です.

入門

このセクションでは、Binance交換データの収集を開始するために必要なライブラリとAPIを設定します.

ShrimpyPythonのインストール

インストールすることから始めます ShrimpyPythonライブラリ.

pip install shrimpy-python

ShrimpyAPIキー

Shrimpy Pythonライブラリをインストールしたら、ShrimpyAPIマスターキーのセットを作成する必要があります。これらのキーは、データへのアクセスに使用されます.

サインアップ Shrimpy Developer API, その後、ガイドに従ってください ここに マスターキーにアクセスするには.

注:これらのスクリプトを実行する前に、APIマスターキーの「データ」権限を有効にする必要があります。これらのスクリプトには他の権限は必要ありません.

各サンプルスクリプトには、次のような2行が表示されます。ここで、Shrimpy開発者アカウントで生成した独自の公開APIキーと秘密APIキーを割り当てます。.

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

ライブデータの交換

Shrimpyでは、ライブデータを収集する方法が2つあります。オプションは、RESTAPIまたはWebSocketのいずれかを介して行われます。これらの方法はどちらも、わずかに異なるスクリプトを使用してデータにアクセスします。また、データの収集と処理の方法も変わります.

注:Live REST APIは、プレミアムサブスクリプションなしで無料でアクセスできます。ただし、WebSocketがこれらのエンドポイントにアクセスするには、「パーソナル」または「スタートアップ」サブスクリプションプランが必要です。これらの例ではトレーディングエンドポイントを使用しないため、「ユーザー」/「トレーディング」プランは必要ありません。.

RESTAPI市場データエンドポイント

説明したように、このセクションのスクリプトは有料のプレミアムサブスクリプションを必要としません。これらのスクリプトのいずれかをコピーして、すぐに使用を開始できます.

利用可能な資産

get_exchange_assetsエンドポイントを使用して、Binanceで利用可能なアセットを取得できます.

エビを輸入

#公開および秘密のShrimpy MasterAPIキーを割り当てる

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#Shrimpy RESTAPIクライアントを作成する

client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

exchange_assets = client.get_exchange_assets( ‘binance’)

利用可能なトレーディングペア

get_trading_pairsエンドポイントを使用して、Binanceで利用可能なトレーディングペアにアクセスできます.

エビを輸入

#公開および秘密のShrimpy MasterAPIキーを割り当てる

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#Shrimpy RESTAPIクライアントを作成する

client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

Trading_pairs = client.get_trading_pairs( ‘binance’)

シンプルな価格ティッカー

次の例は、単純な価格ティッカーを提供します。ティッカーは、REST API呼び出しget_tickerを使用して、Binanceのアセット固有の価格データを収集します.

ティッカーエンドポイントは1分間隔で更新されます.

エビを輸入

#公開および秘密のShrimpy MasterAPIキーを割り当てる

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#Shrimpy RESTAPIクライアントを作成する

client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

#Binanceのすべてのアセットのティッカーをリクエストする

ティッカー= client.get_ticker( ‘binance’)

シンプルなライブオーダーブックスナップショット

この例では、get_order_booksのREST APIエンドポイントを呼び出して、Binanceオーダーブックのライブ状態にアクセスします。.

エビを輸入

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#REST呼び出し用のAPIクライアントを作成する

client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

#ライブオーダーブックを取得する

orderbooks = client.get_orderbooks(

‘binance’、#交換

‘ETH’、#base_symbol

‘BTC’、#quote_symbol

10#制限

シンプルなライブローソク足

次の市場データエンドポイントは、get_candlesエンドポイントを介して取引ローソク足へのアクセスを提供します。ローソク足は、取引所で新しい取引が実行されるとリアルタイムで更新されます。次のスクリプトは、最後の1,000本のろうそく足までしか返しません。追加のローソク足データを取得するには、「履歴」ローソク足エンドポイントを使用する必要があります.

エビを輸入

plotly.graph_objectsをそのままインポートします

#無料のAPIキー用のShrimpy DeveloperAPIにサインアップします

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#過去のローソク足データを収集する

client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

キャンドル= client.get_candles(

‘binance’、#交換

‘ETH’、#base_trading_symbol

‘BTC’、#quote_trading_symbol

‘1d’#間隔

日付= []

open_data = []

high_data = []

low_data = []

close_data = []

#プロットライブラリに一致するようにデータをフォーマットします

キャンドルのキャンドルの場合:

days.append(candle [‘time’])

open_data.append(candle [‘open’])

high_data.append(candle [‘high’])

low_data.append(candle [‘low’])

close_data.append(candle [‘close’])

#ローソク足をプロット

fig = go.Figure(data = [go.Candlestick(x = dates,

open = open_data、high = high_data,

low = low_data、close = close_data)])

fig.show()

Websocket市場データエンドポイント

次の一連のサンプルスクリプトは、WebSocket APIを使用して、Binance取引所からリアルタイムの市場データを収集します。.

これらのスクリプトでは、「個人」または「スタートアップ」プランにサブスクライブする必要があります。 WebSocketの使用のみを計画していて、履歴データを使用しない場合は、「個人」プランをお勧めします.

Websocketの価格ティッカー

次の例は、価格ティッカーを実装するためのより複雑な方法です。サービスにリアルタイムデータが必要な場合、このオプションは最新のデータが使用されるようにするために理想的です。このオプションは、前に説明した「単純なティッカー」の代わりになります。.

この例では、リアルタイムのトレードWebSocketを使用しています.

エビを輸入

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#これはサンプルハンドラーであり、受信メッセージをコンソールに出力するだけです。

def error_handler(err):

print(err)

#これはサンプルハンドラーであり、受信メッセージをコンソールに出力するだけです。

def handler(msg):

print(msg [‘content’] [0] [‘price’])

#RESTAPIによって取得された生のトークンを使用してWebSocketクライアントを作成します

api_client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

raw_token = api_client.get_token()

client = shrimpy.ShrimpyWsClient(error_handler、raw_token [‘token’])

#WebSocketのサブスクリプションデータ

subscribe_data = {

"タイプ": "申し込む",

"両替": "バイナンス",

"ペア": "eth-btc",

"チャネル": "トレード"}

#ShrimpyWebSocketストリームの処理を開始します!

client.connect()

client.subscribe(subscribe_data、handler)

#完了したら、クライアントを停止します

client.disconnect()

Websocket Live Order Book

WebSocketティッカーの例と同様に、次の例ではWebSocketを使用してライブオーダーブックデータを収集します.

エビを輸入

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#これはサンプルハンドラーであり、受信メッセージをコンソールに出力するだけです。

def error_handler(err):

print(err)

#これはサンプルハンドラーであり、受信メッセージをコンソールに出力するだけです。

def handler(msg):

print(msg)

#生のトークンを取得してWebSocketクライアントを作成します.

api_client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

raw_token = api_client.get_token()

ws_client = shrimpy.ShrimpyWsClient(error_handler、raw_token [‘token’])

subscribe_data = {

"タイプ": "申し込む",

"両替": "バイナンス",

"ペア": "eth-btc",

"チャネル": "オーダーブック"}

#ShrimpyWebSocketストリームの処理を開始します!

ws_client.connect()

ws_client.subscribe(subscribe_data、handler)

#完了したら、クライアントを停止します

ws_client.disconnect()

過去の市場データを交換する

このセクションでは、Binanceから過去の市場データを収集する方法の例を取り上げます。各例は、ニーズに合った特定のタイプのデータを対象としています.

履歴データエンドポイントへの呼び出しには、「スタートアップ」サブスクリプションが必要です。データを収集するだけなので、ユーザー/取引クレジットは必要ありません。つまり、「ユーザープラン」スライダーを「0アクティブユーザー」に移動できます。 「データプラン」スライダーは、アクセスしたい履歴データのレベルに合わせて調整する必要があります.

利用可能な履歴データ

次のスクリプトは、現在利用可能な履歴データのリストを取得します。そうすれば、Shrimpyデータカタログを参照して、収集するデータを決定できます。これはget_historical_instrumentsエンドポイントを使用します.

エビを輸入

#無料のAPIキー用のShrimpy DeveloperAPIにサインアップします

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

#過去のローソク足データを収集する

client = shrimpy.ShrimpyApiClient(shrimpy_public_key、shrimpy_secret_key)

Instruments = client.get_historical_instruments( ‘binance’)

歴史的な燭台

ライブローソク足といくつかの点で同様に、履歴ローソク足エンドポイントを使用すると、履歴ローソク足データを収集できます。このスクリプトと以前のローソク足スクリプトの主な違いは、使用可能な任意の時間範囲を含めることができる日付範囲の使用です。このスクリプトにはget_historical_candlesエンドポイントを使用します.

このスクリプトでは、最後の1,000本のキャンドルのみを収集することに制限されていません。 2012年から1分間のローソク足、または2015年から5分間のローソク足を収集できます(注:バイナンスデータはそれほど遡りませんが、他の取引所には2011年まで遡るデータがあります)。必要なデータはすべて利用可能です.

エビを輸入

plotly.graph_objectsをそのままインポートします

#無料のAPIキー用のShrimpy DeveloperAPIにサインアップします

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient(public_key、secret_key)

キャンドル= client.get_historical_candles(

‘binance’、#交換

‘ETH’、#base_trading_symbol

‘BTC’、#quote_trading_symbol

‘2017-02-11T00:00:00.000Z’、#start_time

‘2019-10-20T00:00:00.000Z’、#end_time

1000、#num_candles

‘1d’#間隔

日付= []

open_data = []

high_data = []

low_data = []

close_data = []

キャンドルのキャンドルの場合:

days.append(candle [‘time’])

open_data.append(candle [‘open’])

high_data.append(candle [‘high’])

low_data.append(candle [‘low’])

close_data.append(candle [‘close’])

fig = go.Figure(data = [go.Candlestick(x = dates,

open = open_data、high = high_data,

low = low_data、close = close_data)])

fig.show()

歴史的取引

次のスクリプトは、Binanceで利用可能な取引ペアのティックごとの取引データを収集する方法を示しています。このスクリプトはget_historical_tradesエンドポイントを使用します.

エビを輸入

#無料のAPIキー用のShrimpy DeveloperAPIにサインアップします

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient(public_key、secret_key)

取引= client.get_historical_trades(

「binance」,

「ETH」,

「BTC」,

‘2019-05-19T00:00:00.000Z’,

‘2019-05-20T00:00:00.000Z’,

100

過去のオーダーブックスナップショット

最後のスクリプトは、get_historical_orderbooksエンドポイントを使用して、1分間のオーダーブックスナップショットを収集します。.

エビを輸入

#無料のAPIキー用のShrimpy DeveloperAPIにサインアップします

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient(public_key、secret_key)

orderbooks = client.get_historical_orderbooks(

「binance」,

「ETH」,

「BTC」,

‘2019-05-19T00:00:00.000Z’,

‘2019-05-20T00:00:00.000Z’,

100

エビについて

エビ は、カスタム暗号通貨インデックスファンドを構築し、リバランスを行い、デジタル資産の多様なポートフォリオを管理するためのアプリケーションです。私たちがサポートする1​​7の暗号交換のいずれかにリンクすることでポートフォリオを自動化します.

Shrimpyのユニバーサル暗号交換API 開発者向けに設計されています。統合されたAPIと統合することで、すべての主要な暗号通貨交換で、取引、データ収集、ユーザー管理などの統一されたエンドポイントに即座にアクセスできます.

完全なPythonおよびNodeライブラリにアクセスするには、次のリンクをたどってください。

ノード

Python

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me