クオンツトレーダー
システマティック戦略向けの、欠損チェック済みティック履歴と低遅延配信。
詳しく見るシステマティック取引デスクから研究室まで、AllTick は 5 つの資産クラスに対応する正規化されたリアルタイム・履歴データを提供します。
1 つの API とスキーマから、整備・正規化された履歴データとリアルタイムデータを取得し、数週間分のデータエンジニアリング作業を削減できます。
すべての資産クラスが同じフィールドを共有し、ノートブックとパイプラインを市場横断で再利用できます。
複数ベンダーを結合せずに 12+ 年のティックとバーをバックテスト・研究できます。
決定的なタイムスタンプと安定した識別子により、結果を容易に再現・共有できます。
| 研究分野 | データ粒度と履歴 | 研究テーマ例 |
|---|---|---|
| マーケットマイクロストラクチャー | 主要な世界の外国為替(150 超の通貨ペア)、コモディティ、暗号資産について、L1/L2 板情報に対応した 12 年超の生ティックデータ。 | 注文フロー不均衡、流動性枯渇、高頻度指値注文板モデリング。 |
| 資産価格形成とクオンツファクター | 米国株や香港株などの主要な世界株式と主要デリバティブ指数について、複数周期の始値・高値・安値・終値・出来高と出来高加重平均価格を提供。 | モメンタム効果、多因子モデル、クロスアセットのリスクプレミアム研究。 |
| 行動ファイナンスとボラティリティ | 世界の 1,000 超の現物・無期限契約ペアについて、秒単位の変動履歴と急激な出来高変動の記録を集約。 | 暗号資産市場における極端事象の共振、市場心理の急変、テールリスク。 |
| マクロ経済と市場間波及 | 金、銀、ブレント原油などの中核商品と主要な世界株価指数の長期時系列。 | インフレ期待の伝播メカニズムと、商品先物のマクロ経済政策に対するリアルタイム応答特性。 |
これまで実証金融研究では、異なる取引所やデータベンダーからデータを購入、ダウンロード、クレンジングするために数週間から数か月を要することがありました。AllTick はその障壁を取り除きます。市場横断の統一スキーマにより、複雑な国際・マルチアセットデータを統一フィールドと協定世界時タイムスタンプを持つ標準形式へ正規化し、研究者が計量経済学モデルの導出と論文執筆に集中できるようにします。
学術界では研究成果の再現性が厳格に求められます。AllTick の履歴時系列はミリ秒単位の高精度な決定的タイムスタンプを備え、不正データ、スパイク、取引所伝送遅延による偏りを除外しています。同じコードと AllTick API を使用すれば、査読者やチームメンバーも完全に同一の実証結果を再現できます。
Jupyter Notebook で Pandas や NumPy を使う分析、R による複雑な GARCH ボラティリティモデル、MATLAB による行列演算のいずれでも、AllTick の標準 REST API なら数行のコードで大規模データセットを非同期に取得できます。
私たちは学術研究と研究室予算の特性を理解しています。AllTick は大学教員、博士課程学生、金融研究室向けに費用対効果の高い学術支援プログラムを提供し、チームや研究グループ内でクレンジング済み研究サンプルを共有できる柔軟なライセンスにより、論文発表を加速します。
シナリオ:履歴ローソク足データを一度に取得し、時系列回帰分析を行う Python の例。
# AllTick — Real-time Financial Market Data API
# Real-time Forex, Stocks, Crypto, Commodities and Indices market data
import json
import os
import pandas as pd
import requests
def load_research_dataset(symbol, query_count=100, end_timestamp=0):
"""AllTick の株式日足を UTC インデックスの Pandas DataFrame に読み込む。"""
query = {
"trace": "research_daily_kline",
"data": {
"code": symbol,
"kline_type": 8, # 日足
"kline_timestamp_end": end_timestamp, # 0 は最新の足から取得
"query_kline_num": query_count, # 1 回につき最大 500 本
"adjust_type": 0,
},
}
response = requests.get(
"https://quote.alltick.co/quote-stock-b-api/kline",
params={
"token": os.environ["ALLTICK_API_TOKEN"],
"query": json.dumps(query, separators=(",", ":")),
},
timeout=15,
)
response.raise_for_status()
payload = response.json()
if payload.get("ret") != 200:
raise RuntimeError(payload.get("msg", "AllTick ローソク足リクエストに失敗しました"))
frame = pd.DataFrame(payload["data"]["kline_list"]).rename(
columns={
"open_price": "open",
"close_price": "close",
"high_price": "high",
"low_price": "low",
}
)
numeric_columns = ["open", "close", "high", "low", "volume", "turnover"]
frame[numeric_columns] = frame[numeric_columns].apply(pd.to_numeric)
frame["timestamp"] = pd.to_datetime(pd.to_numeric(frame["timestamp"]), unit="s", utc=True)
return frame.set_index("timestamp").sort_index()
if __name__ == "__main__":
daily_candles = load_research_dataset("AAPL.US")
print(daily_candles.tail())