AllTick
このシンプルなAPIでリアルタイムの株式市場データにアクセスする
ブログ

このシンプルなAPIでリアルタイムの株式市場データにアクセスする

自分のプロジェクトでリアルタイムの株式市場データを活用する方法を知りたいと思ったことはありませんか?ここでは、その方法を順を追って説明します。この記事では、特にAllTickのリアルタイムデータに焦点を当て、株式市場データAPIの強力な世界との接続方法を紹介します。

AllTick読了 6 分

自分のプロジェクトでリアルタイムの株式市場データを活用する方法を知りたいと思ったことはありませんか?ここでは、その方法を順を追って説明します。この記事では、特にAllTickのリアルタイムデータAPIに焦点を当てています。米国株、香港株、A株、外国為替、さらには暗号資産に関心がある方にも、大きな違いを生み出す可能性のあるデータを使って、正確に利用を開始する方法を紹介します。

AllTick APIを始める

ここでは、AllTick APIを効果的に利用するための重要な手順を説明します。手順は簡単で、誰でもプラットフォームを効率的に利用できます。

ステップ 1:アカウント登録

まず、AllTickのウェブサイトでアカウントを登録する必要があります。登録手続きは使いやすく、主に二つの方法があります。登録フォームに情報を入力するか、より便利な方法としてGoogleアカウントでサインインできます。特に優れている点は、登録が無料で、クレジットカード情報を提供する必要もないことです。これにより、簡単に利用を始められます。

記事画像
記事画像

ステップ 2:APIキーを取得する

登録が正常に完了すると、AllTickのダッシュボードにアクセスでき、ここで自分のAPIキーを確認できます:

記事画像
記事画像

ステップ 3:利用枠とレート制限を理解する

AllTick APIを本格的に利用する前に、各アカウントプランに設定されている利用枠とレート制限について確認しておきましょう。各プランには、データ取得量とリクエスト頻度に関する具体的な制限があります。無料アカウントには定められた制約がありますが、より広範なアクセスが必要な場合は、機能が強化された有料プランへのアップグレードを検討できます。

記事画像
記事画像

各プランの使用量割り当てと制限

AllTick APIを使用してリクエストを送信するサンプルコード

AllTick APIを使用してリクエストを送信する方法を説明するため、Pythonを使用した実践的な例を紹介します。このコードでは、API呼び出しを行ってリアルタイムの株式市場データを取得する方法を示します。手順ごとに説明していきましょう。

import time
import requests
import json

# Extra headers for the API request
test_headers = {
'Content-Type': 'application/json'
}

# Note: Replace "testtoken" in the URLs below with your actual API token.

# Define the API endpoints for different types of data
test_url1 = 'https://quote.tradeswitcher.com/quote-stock-b-api/kline?token=testtoken&query=%7B%22trace%22%20%3A%20%22python_http_test1%22%2C%22data%22%20%3A%20%7B%22code%22%20%3A%20%22700.HK%22%2C%22kline_type%22%20%3A%201%2C%22kline_timestamp_end%22%20%3A%200%2C%22query_kline_num%22%20%3A%202%2C%22adjust_type%3A%200%7D%7D'
test_url2 = 'https://quote.tradeswitcher.com/quote-stock-b-api/depth-tick?token=testtoken&query=%7B%22trace%22%20%3A%20%22python_http_test2%22%2C%22data%22%20%3A%20%7B%22symbol_list%22%3A%20%5B%7B%22code%22%3A%20%22700.HK%22%7D%2C%7B%22code%22%3A%20%22UNH.US%22%7D%5D%7D%7D'
test_url3 = 'https://quote.tradeswitcher.com/quote-stock-b-api/trade-tick?token=testtoken&query=%7B%22trace%22%20%3A%20%22python_http_test3%22%2C%22data%22%20%3A%20%7B%22symbol_list%22%3A%20%5B%7B%22code%22%3A%20%22700.HK%22%7D%2C%7B%22code%22%3A%20%22UNH.US%22%7D%5D%7D%7D'

# Send the first API request to retrieve kline data
resp1 = requests.get(url=test_url1, headers=test_headers)
time.sleep(1) # Pause for a moment to avoid hitting the rate limit

# Send the second API request to get depth tick data
resp2 = requests.get(url=test_url2, headers=test_headers)
time.sleep(1)

# Send the third API request for trade tick data
resp3 = requests.get(url=test_url3, headers=test_headers)

# Print the decoded text returned by each request
text1 = resp1.text
print("Kline Data:", text1)

text2 = resp2.text
print("Depth Tick Data:", text2)

text3 = resp3.text
print("Trade Tick Data:", text3)

コードの説明

  1. ライブラリのインポート:必要なライブラリをインポートすることから始めます:timerequests、およびjson
  2. ヘッダーの設定:APIリクエストに必要なヘッダーを定義し、JSONを送受信することを指定します。
  3. APIエンドポイントの定義:さまざまなAPIエンドポイントのURLを設定します。各URLは、指定された銘柄コード(例:700.HK(香港株式)やUNH.US 米国株式の場合)。
  4. APIリクエストを送信requests.get()を使用して、各APIエンドポイントにGETリクエストを送信します。APIへのリクエストが速すぎることを防ぐため、リクエストの間に短い間隔を設けます。
  5. レスポンスを処理:最後に、各リクエストに対してAPIから受信したレスポンスを出力します。このデータは、具体的なニーズに応じてさらに処理できるようになります。

AllTick WebSocketを使用してリアルタイム市場データを取得

AllTick WebSocket APIを使用してリアルタイム市場データを取得するには、次のPython例を使用できます。このコードでは、WebSocket接続の確立、特定の株式データの購読、受信メッセージの処理方法について説明します。

import json
import websocket # Ensure you have the websocket-client library installed: pip install websocket-client

'''
# Special Note:
# GitHub: https://github.com/alltick/realtime-forex-crypto-stock-tick-finance-websocket-api
# Token Application: https://alltick.co
# Replace "testtoken" in the URL below with your actual token.
# Stock API address:
# wss://quote.tradeswitcher.com/quote-stock-b-ws-api
'''

class Feed(object):

def __init__(self):
self.url = 'wss://quote.tradeswitcher.com/quote-stock-b-ws-api?token=testtoken' # Your WebSocket URL here
self.ws = None

def on_open(self, ws):
"""
Callback executed when the WebSocket connection is opened.
"""
print('A new WebSocketApp is opened!')

# Example subscription parameters
sub_param = {
"cmd_id": 22002,
"seq_id": 123,
"trace": "3baaa938-f92c-4a74-a228-fd49d5e2f8bc-1678419657806",
"data": {
"symbol_list": [
{
"code": "700.HK", # Hong Kong stock
"depth_level": 5, # Depth level for market data
},
{
"code": "UNH.US", # U.S. stock
"depth_level": 5,
}
]
}
}

# Send the subscription request
sub_str = json.dumps(sub_param)
ws.send(sub_str)
print("Depth quotes subscribed!")

def on_message(self, ws, message):
"""
Callback executed when a message is received.
"""
# Parse the received message and print it
result = json.loads(message) # Using json.loads instead of eval for safety
print(result)

def on_error(self, ws, error):
"""
Callback executed when an error occurs.
"""
print(error)

def on_close(self, ws, close_status_code, close_msg):
"""
Callback executed when the WebSocket connection is closed.
"""
print('The connection is closed!')

def start(self):
"""
Initiates the WebSocket connection and starts the listener.
"""
self.ws = websocket.WebSocketApp(
self.url,
on_open=self.on_open,
on_message=self.on_message,
on_error=self.on_error,
on_close=self.on_close,
)
self.ws.run_forever() # Keep the connection alive

if __name__ == "__main__":
feed = Feed()
feed.start() # Start the WebSocket feed

ライブラリをインポート:必要なライブラリをインポートします。これには、json(JSONデータの処理用)とwebsocket(WebSocket接続用)が含まれます。

WebSocketクラスの設定Feedクラスを定義してWebSocket接続を管理します。__init__メソッドでは、WebSocket接続のURLが設定されます。

WebSocketコールバック

  • on_open:このメソッドは接続が開かれたときに呼び出されます。特定の株式データ(この場合は、700.HKUNH.US、深度レベル5)の購読リクエストを送信します。
  • on_message:このメソッドはサーバーからの受信メッセージを処理し、受信したJSONデータを解析して出力します。
  • on_error:このメソッドはエラーが発生した場合にトリガーされ、エラーメッセージを出力します。
  • on_close:このメソッドは接続が閉じられたときに呼び出され、接続が終了したことを示します。

開始メソッドstartメソッドは定義されたURLとコールバックでWebSocketAppを初期化し、その後、接続を無期限に実行します。run_forever()

実行if __name__ == "__main__":ブロックでは、Feedクラスのインスタンスを作成し、WebSocket接続を開始します。

最後に

リアルタイムの市場データを取得するためにAllTick APIを活用すると、取引および金融アプリケーションを大幅に強化できます。シンプルなデータ取得にはHTTPリクエストを使用するか、継続的なライブ更新にはWebSocket接続を使用するかを選択できます。どちらの方法も、異なる用途に合わせた独自の利点を提供します。それぞれのアプローチの特徴を理解し、堅牢なエラーハンドリングを実装し、ベストプラクティスに従うことで、市場の状況に動的に対応する効果的なソリューションを構築でき、最終的にはユーザーにタイムリーな洞察と競争上の優位性を提供できます。

AllTick APIの機能をさらに詳しく知るには、包括的なAPIドキュメントをご覧ください。エンドポイント、パラメーター、ベストプラクティスに関する詳細な情報が満載で、統合を最大限に活用するのに役立ちます。さらに、コードサンプル、更新情報、そして皆様をサポートする活発なコミュニティが見つかるGitHubリポジトリもぜひご確認ください。リアルタイムの市場データを活用する旅はここから始まります!

今すぐマーケットデータ配信を開始

数秒で無料 API キーを発行し、1 つのエンドポイントからすべての市場に接続できます。