# リアルタイム分時コールバック

on_recv_rsp(self, rsp_pb)

  • 概要

    リアルタイム分時コールバック。登録済み株式のリアルタイム分時プッシュを非同期処理します。
    リアルタイム分時データプッシュの受信時にこの関数がコールバックされます。派生クラスで on_recv_rsp をオーバーライドしてください。

  • パラメータ

    パラメータ 説明
    rsp_pb Qot_UpdateRT_pb2.Response 派生クラスでは直接処理不要
  • 戻り値

    パラメータ 説明
    ret RET_CODE API呼び出し結果
    data pd.DataFrame ret == RET_OK の場合、分时データ
    str ret != RET_OK の場合、エラーの説明を返す
    • 分時データフォーマットは以下の通りです:
      フィールド タイプ 説明
      code str 銘柄コード
      name str 銘柄名
      time str 時間
      is_blank bool データ状態
      opened_mins int 0時から現在までの経過分数
      cur_price float 現在価格
      last_close float 前日終値
      avg_price float 平均価格
      volume float 出来高
      turnover float 売買代金
  • Example

import time
from moomoo import *

class RTDataTest(RTDataHandlerBase):
    def on_recv_rsp(self, rsp_pb):
        ret_code, data = super(RTDataTest, self).on_recv_rsp(rsp_pb)
        if ret_code != RET_OK:
            print("RTDataTest: error, msg: %s" % data)
            return RET_ERROR, data
        print("RTDataTest ", data) # RTDataTest 独自の処理ロジック
        return RET_OK, data
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
handler = RTDataTest()
quote_ctx.set_handler(handler)  # リアルタイム分時プッシュコールバックを設定
ret, data = quote_ctx.subscribe(['US.AAPL'], [SubType.RT_DATA], session=Session.ALL) # 分時タイプを登録、OpenD がサーバーからのプッシュを継続的に受信開始
if ret == RET_OK:
    print(data)
else:
    print('error:', data)
time.sleep(15)  # スクリプトが OpenD のプッシュを受信する時間を15秒に設定
quote_ctx.close()   # 接続をクローズすると、OpenD は1分後に対応銘柄の登録を自動解除    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  • Output
RTDataTest        code name                 time  is_blank  opened_mins  cur_price  last_close   avg_price   turnover  volume
0  US.AAPL   苹果  2025-04-07 05:24:00     False          324     179.53      188.38  180.465762  651262.42    3624
1
2

ご注意