ã¯ãªã³ããã¬ãŒããŒ
ã·ã¹ãããã£ãã¯æŠç¥åãã®ãæ¬ æãã§ãã¯æžã¿ãã£ãã¯å±¥æŽãšäœé å»¶é ä¿¡ã
詳ããèŠãã·ã¹ãããã£ãã¯ååŒãã¹ã¯ããç 究宀ãŸã§ãAllTick 㯠5 ã€ã®è³ç£ã¯ã©ã¹ã«å¯Ÿå¿ããæ£èŠåããããªã¢ã«ã¿ã€ã ã»å±¥æŽããŒã¿ãæäŸããŸãã
ã·ã¹ãããã£ãã¯æŠç¥åãã®ãæ¬ æãã§ãã¯æžã¿ãã£ãã¯å±¥æŽãšäœé å»¶é ä¿¡ã
詳ããèŠã1 ã€ã® REST + WebSocket API ã§åžå ŽããŒã¿æ©èœãè¿ éã«ãªãªãŒã¹ã
詳ããèŠããªã¢ã«ã¿ã€ã çžå Žæ å ±ãæ°äžäººã®åæãŠãŒã¶ãŒãžæ¡åŒµã
詳ããèŠãè³ç£ã¯ã©ã¹ã暪æããŠããŒããã©ãªãªããªã¢ã«ã¿ã€ã æäŸ¡è©äŸ¡ã
詳ããèŠãåçŸå¯èœãªåžå Žç ç©¶ã®ããã®åäžã®æ£èŠåããŒã¿ã»ããã
詳ããèŠãæ°ç§ã§ç¡æ API ããŒãçºè¡ãã1 ã€ã®ãšã³ããã€ã³ããããã¹ãŠã®åžå Žã«æ¥ç¶ã§ããŸãã
æ°ç§ã§ç¡æ API ããŒãçºè¡ãã1 ã€ã®ãšã³ããã€ã³ããããã¹ãŠã®åžå Žã«æ¥ç¶ã§ããŸãã
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())æ°ç§ã§ç¡æ API ããŒãçºè¡ãã1 ã€ã®ãšã³ããã€ã³ããããã¹ãŠã®åžå Žã«æ¥ç¶ã§ããŸãã