# 行情相關
# Q1:訂閲失敗
A: 訂閲接口返回錯誤,有以下兩類常見情況:
訂閲額度不足:
訂閲額度規則參見 訂閲額度 & 歷史 K 線額度
訂閲權限不足:
支持訂閲的行情權限見下表
市場 品種 支持訂閲的行情權限 香港市場 股票 LV1, LV2, SF 期權 LV1, LV2 期貨 LV1, LV2 美國市場 股票 LV1, LV2 期權 LV1 期貨 LV1, LV2 A 股市場 股票 LV1 獲取行情權限的方式參見 行情權限
注意:若賬號擁有上述權限,但仍訂閲失敗,可能存在被其他終端 踢掉行情權限 的情況。
# Q2:取消訂閱失敗
A: 訂閲至少一分鐘後才能取消訂閱。
# Q3:取消訂閱成功但沒釋放額度
A: 所有連接都對該行情取消訂閱,才會釋放額度。
舉例:A 連接和 B 連接都在訂閲 HK.00700 的掛盤,當 A 連接取消訂閱後,由於 B 連接仍在調用騰訊的掛盤數據,因此 OpenD 的額度不會釋放,直至所有連接都取消訂閱 HK.00700 的掛盤。
# Q4:訂閲不足一分鐘關閉程式連接,會釋放額度嗎?
A: 不會。連接關閉後,訂閲時長不足一分鐘的標的類型,會在達到一分鐘後才自動取消訂閱,並釋放相應的訂閲額度。
# Q5:請求頻率限制的具體限制邏輯是怎樣?
A: 30 秒內最多 n 次,是指第 1 次和第 n+1 次請求間隔需要大於 30 秒。
# Q6:自選股添加不上是什麼原因?
A: 請先檢查是否有超出上限,或者刪除一部分自選。
# Q7:為什麼 OpenAPI 端的美股報價和牛牛顯示端的全美綜合報價有不同?
A: 由於美股交易分散在很多家交易所,富途有提供兩種美股基本報價行情,一種是 Nasdaq Basic(Nasdaq 交易所的報價),另一種是全美綜合報價(全美13家交易所的報價)。而 OpenAPI 的美股正股行情目前僅支持通過行情卡購買的方式獲取 Nasdaq Basic,不支持全美綜合報價。因此,如果您同時購買了顯示端的全美綜合報價行情卡,和僅用於 OpenAPI 的 Nasdaq Basic 行情卡,確實有可能出現牛牛顯示端和 OpenAPI 端的報價差異。
因此,如果您發現美股當天開市價與客戶端顯示不一致,這是因為OpenAPI實時上游行情僅會獲取 Nasdaq Basic 數據。
# Q8:OpenAPI 行情卡在哪裏購買?
# Q9:為什麼有時候,獲取實時數據的 get 接口響應比較慢?
A: 因為獲取實時數據的 get 接口需要先訂閲,並依賴後台給 OpenD 的推送。如果用戶剛訂閲就立刻用 get 接口請求,OpenD 有可能尚未收到後台推送。為了防止這種情況的發生,get 接口內置了等待邏輯,3 秒內收到推送會立刻返回給程式,超過 3 秒仍未收到後台推送,才會給程式返回空數據。
涉及的 get 接口包括:get_rt_ticker、get_rt_data、get_cur_kline、get_order_book、get_broker_queue、get_stock_quote。因此,當發現獲取實時數據的 get 接口響應比較慢時,可以先檢查一下是否是無成交數據的原因。
# Q10:購買 OpenAPI 美股 Nasdaq Basic 行情卡後,可以獲取哪些數據?
A: Nasdaq Basic 行情卡購買啟用後,可以獲取的品類涵蓋 Nasdaq、NYSE、NYSE MKT 交易所上市證券(包括美股正股和 ETF,不包括美股期貨和美股期權)。
支持的數據接口包括:快照,歷史 K 線,實時逐筆訂閲,實時一檔掛盤訂閲,實時 K 線訂閲,實時報價訂閲,實時分時訂閲,到價提醒。
# Q11:各個行情品類的掛盤支持多少檔?
A:
| 行情品類 | LV1 | LV2 | SF |
|---|---|---|---|
| 港股(含正股、窩輪、牛熊、界內證) | / | 10 | 全盤+千筆明細 |
| 港股期權期貨 | 1 | 10 | / |
| 美股(含 ETF) | 1 | 60檔 | / |
| 美股期權 | 1 | / | / |
| 美股期貨 | / | 40檔 | / |
| A 股 | 5 | / | / |
# Q12:為什麼我購買啟用了行情卡之後,OpenD 仍然沒有行情權限?
A:
- 由於 OpenAPI 的行情權限跟 APP 的行情權限不完全一樣,部分行情卡僅適用於 APP 端(例如:OpenAPI美股行情卡需單獨購買)。請先確認您所購買的行情卡是否是 OpenD 適用的。
我們已將 OpenAPI 適用的 所有 行情卡列在《權限與限制》一節,請點擊 這裏 查看。 - 行情卡購買啟用成功後,是立即生效的。請 重新啟動 OpenD 後,再次查看權限狀態。
# Q13:如何通過訂閲接口獲取實時行情?
第一步:訂閲
將標的的代碼和數據類型傳入 訂閲接口,完成訂閲。
訂閲接口支持了實時報價、實時掛盤、實時逐筆、實時分時、實時 K 線、實時經紀隊列數據的獲取。訂閲成功後,OpenD 會持續收到富途服務器的實時數據推送。
注意:訂閲額度會根據您的總資產、交易筆數和交易量,來進行分配,具體規則參見 訂閲額度 & 歷史 K 線額度。所以,如果您的訂閲額度不足,可以先檢查一下是否有無用的訂閲在佔用額度,及時 取消訂閱 即可釋放已佔用的訂閲額度。
第二步:取得數據
如何將訂閲推送的數據從 OpenD 取回程式呢?我們提供瞭如下兩種方式:
方式 1:實時數據回調
設置相應的回調函數,來異步處理 OpenD 收到的數據推送。
設置好回調函數後,OpenD 會將收到的實時數據,立即推給程式的回調函數進行處理。
如果所訂閲的標的比較活躍,此時的推送數據可能數據量較大且頻率較高。如果您希望適當降低 OpenD 給程式的推送頻率,建議在 OpenD 啟動參數 中設定 API 推送頻率(qot_push_frequency)。
方式 1 涉及的接口包括:實時報價回調、實時掛盤迴調、實時 K 線回調、實時分時回調、實時逐筆回調、實時經紀隊列回調。
方式 2:獲取實時數據
通過獲取實時數據接口,可以將 OpenD 收到的最新的數據,取回程式。這種方式更加靈活,程式不需要處理海量的推送。只要 OpenD 在持續接收富途服務器的推送,程式可以隨用隨取,不用不取。
由於是從 OpenD 接收的推送數據中取,所以這類接口沒有頻率限制。
方式 2 涉及的接口包括:獲取實時報價、獲取實時掛盤、獲取實時 K 線、獲取實時分時、獲取實時逐筆、獲取實時經紀隊列。
# Q14:各個市場狀態對應什麼時間段?
A:
| 市場 | 品類 | 市場狀態 | 時間段(當地時間) |
|---|---|---|---|
| 香港市場 | 證券類產品(含股票、ETFs、窩輪、牛熊、界內證) | * NONE:無交易 | CST 08:55 - 09:00 |
| * AUCTION:盤前競價 | CST 09:00 - 09:20 | ||
| * WAITING_OPEN:等待開市 | CST 09:20 - 09:30 | ||
| * MORNING:早盤 | CST 09:30 - 12:00 | ||
| * REST: 午間休市 | CST 12:00 - 13:00 | ||
| * AFTERNOON:午盤 | CST 13:00 - 16:00 | ||
| * HK_CAS:港股盤後競價(港股市場增加 CAS 機制對應的市場狀態) | CST 16:00 - 16:08 | ||
| * CLOSED:收市 | CST 16:08 - 08:55(T+1) | ||
| 期權、期貨(僅日市) | * NONE:期權待開市 | CST 08:55 - 09:30 | |
| * MORNING:早盤 | CST 09:30 - 12:00 | ||
| * REST: 午間休市 | CST 12:00 - 13:00 | ||
| * AFTERNOON:午盤 | CST 13:00 - 16:00 | ||
| * CLOSED:收市 | CST 16:00 - 08:55(T+1) | ||
| 期貨(日夜市) | * FUTURE_DAY_WAIT_FOR_OPEN:期貨待開市 | 不同品種交易時間不同 | |
| * NIGHT_OPEN: 夜市交易時段 | |||
| * NIGHT_END:夜市收市 | |||
| * FUTURE_DAY_WAIT_FOR_OPEN:期貨待開市 | |||
| * FUTURE_DAY_OPEN:日市交易時段 | |||
| * FUTURE_DAY_CLOSE:日市收市 | |||
| 美國市場 | 證券類產品(含股票、ETFs) | * PRE_MARKET_BEGIN:美股盤前交易時段 | EST 04:00 - 09:30 |
| * AFTERNOON:美股持續交易時段 | EST 09:30 - 16:00 | ||
| * AFTER_HOURS_BEGIN:美股盤後交易時段 | EST 16:00 - 20:00 | ||
| * AFTER_HOURS_END:美股盤後收市 | EST 20:00 - 04:00(T+1) | ||
| * OVERNIGHT:美股夜盤交易時段 | EST 20:00 - 04:00(T+1) | ||
| 期權 | * NONE:期權待開市 | 不同品種交易時間不同 | |
| * REST:美指期權午間休市 | |||
| * AFTERNOON:美股持續交易時段 | |||
| * TRADE_AT_LAST:美指期權盤尾交易時段 | |||
| * NIGHT:美指期權夜市交易時段 | |||
| * CLOSED:收市 | |||
| 期貨 | * FUTURE_SWITCH_DATE:美期待開市 | 不同品種交易時間不同 | |
| * FUTURE_OPEN:美期交易時段 | |||
| * FUTURE_BREAK:美期中盤休息 | |||
| * FUTRUE_BREAK_OVER:美期休息後交易時段 | |||
| * FUTURE_CLOSE:美期收市 | |||
| A股市場 | 證券類產品(含股票、ETFs) | * NONE:無交易 | CST 08:55 - 09:15 |
| * Auction:盤前競價 | CST 09:15 - 09:25 | ||
| * WAITING_OPEN:等待開市 | CST 09:25 - 09:30 | ||
| * MORNING:早盤 | CST 09:30 - 11:30 | ||
| * REST:午間休市 | CST 11:30 - 13:00 | ||
| * AFTERNOON:午盤 | CST 13:00 - 15:00 | ||
| * CLOSED:收市 | CST 15:00 - 08:55(T+1) | ||
| 新加坡市場 | 期貨 | * FUTURE_DAY_WAIT_FOR_OPEN:期貨待開市 | 不同品種交易時間不同 |
| * NIGHT_OPEN:夜市交易時段 | |||
| * NIGHT_END:夜市收市 | |||
| * FUTURE_DAY_OPEN:日市交易時段 | |||
| * FUTURE_DAY_CLOSE:日市收市 | |||
| 日本市場 | 期貨 | * FUTURE_DAY_WAIT_FOR_OPEN:期貨待開市 | JST 16:25(T-1)- 16:30(T-1) |
| * NIGHT_OPEN:夜市交易時段 | JST 16:30(T-1) - 05:30 | ||
| * NIGHT_END:夜市收市 | JST 05:30 - 08:45 | ||
| * FUTURE_DAY_OPEN:日市交易時段 | JST 08:45 - 15:15 | ||
| * FUTURE_DAY_CLOSE:日市收市 | JST 15:15 - 16:25 |
# Q15:接口參數股票代碼的格式
A:
使用不同程式語言的用戶,需要的股票代碼的格式不同:
Python 用戶
股票代碼 code 格式:行情市場.代碼。
例如:騰訊控股,參數 code 傳入'HK.00700'。非 Python 用戶
股票結構參見 Security。
例如:騰訊控股,參數 market 傳入 QotMarket_HK_Security,參數 code 傳入'00700'。
查詢方式:
通過 APP 查看代碼和行情市場:行情 > 自選 > 全部。
行情市場定義,請參考 這裏。

# Q16:復權因子相關
A:
# 概述
所謂 復權 就是對股價和成交量進行權息修復,按照股票的實際漲跌繪製股價走勢圖,並把成交量調整為相同的股本口徑。
公司行動(如:拆股、合股、送股、轉增股、配股、增發股、分紅)均可能對股價產生影響,而復權計算可對量價進行調整,剔除公司行動的影響,保持股價走勢的連續性。
# 名詞解釋
- 公司行動:上市公司進行一些股權、股票等影響公司股價和股東持倉變化的行為。
- 前復權:保持現有的股價不變,以當前的股價為基準,對以前的股價進行復權計算。
- 後復權:保持先前的股價不變,以過去的股價為基準,對以後的股價進行復權計算。
- 復權因子:即權息修複比例,用於計算復權後的價格及持倉數量。
- 除權除息日:即股權登記日下一個交易日。在股票的除權除息日,證券交易所都要計算出股票的除權除息價,以作為股民在除權除息日開市的參考。其意義是股票股利分配給股東的日期。
# 復權方法
主流的復權計算方法分為兩種:事件法和連乘法;而 OpenAPI 針對不同市場使用不同的計算方法。
- 事件復權法:通過還原除權除息的各類事件進行復權;存在兩個復權因子(復權因子 A 和 復權因子 B),復權因子 B 主要調整現金分紅對股價的影響,而復權因子 A 調整其他公司行動對股價的影響。
- 連乘復權法:通過復權因子連乘的方式進行復權,只保留 復權因子 A(或將 復權因子 B 置為0),復權因子 A 為 除權除息日前收市價/該日經權息調整後的前收市價。
提示
- OpenAPI 對美股前復權使用連乘法,即將 復權因子 B 置為0。
- OpenAPI 對除美股以外的標的(A股、港股、新加坡股票等)及美股後復權使用事件法。
# 計算公式
# 單次復權
- 前復權:
前復權價格 = 不復權價格 × 前復權因子 A + 前復權因子 B - 後復權:
後復權價格 = 不復權價格 × 後復權因子 A + 後復權因子 B
# 多次復權
前復權:按照時間順序,篩選出大於計算日期的復權因子,優先使用時間較早的復權因子進行復權計算。以兩次復權為例:

後復權:按照時間倒序,篩選出小於等於計算日期的復權因子,優先使用時間較晚的復權因子進行復權計算。以兩次復權為例:

# 示例
# 單次前復權示例
以牧原股份為例:
- 篩選復權因子如下:
| 除權除息日 | 股票代碼 | 方案説明 | 前復權因子 A | 前復權因子 B |
|---|---|---|---|---|
| 2021/06/03 | SZ.002714 | 10轉4.0股派14.61元(含税) | 0.71429 | -1.04357 |
- 不復權數據如下:
| 日期 | 股票代碼 | 不復權收市價 |
|---|---|---|
| 2021/06/02 | SZ.002714 | 93.11 |
| 2021/06/03 | SZ.002714 | 66.25 |
- 前復權數據如下:
| 日期 | 股票代碼 | 前復權收市價 |
|---|---|---|
| 2021/06/02 | SZ.002714 | 65.4639719 |
| 2021/06/03 | SZ.002714 | 66.25 |
前復權數據計算方法:
牧原股份在 2021/06/03 進行拆股及現金分紅行動(10轉4.0股派14.61元),根據前復權計算公式對 2021/06/02 的收市價進行調整計算,則:前復權價格(65.4639719) = 不復權價格(93.11) × 前復權因子 A(0.71429) + 前復權因子 B(-1.04357)
# 多次後復權示例
接上一個例子,計算牧原股份在 2021/06/02 的後復權價格:
- 篩選復權因子如下:
| 除權除息日 | 股票代碼 | 方案説明 | 後復權因子 A | 後復權因子 B |
|---|---|---|---|---|
| 2014/07/04 | SZ.002714 | 10派2.34元(含税) | 1 | 0.234 |
| 2015-06-10 | SZ.002714 | 10轉10.0股派0.61元(含税) | 2 | 0.061 |
| 2016-07-08 | SZ.002714 | 10轉10.0股派3.53元(含税) | 2 | 0.353 |
| 2017-07-11 | SZ.002714 | 10轉8.0股派6.9元(含税) | 1.8 | 0.69 |
| 2018-07-03 | SZ.002714 | 10派6.91元(含税) | 1 | 0.691 |
| 2019-07-04 | SZ.002714 | 10派0.5元(含税) | 1 | 0.05 |
| 2020-06-04 | SZ.002714 | 10轉7.0股派5.5元(含税) | 1.7 | 0.55 |
- 不復權數據如下:
| 日期 | 股票代碼 | 不復權收市價 |
|---|---|---|
| 2021/06/02 | SZ.002714 | 93.11 |
- 後復權數據如下:
| 日期 | 股票代碼 | 後復權收市價 |
|---|---|---|
| 2021/06/02 | SZ.002714 | 1152.7226 |
後復權數據計算方法:
為了計算牧原股份在 2021/06/02 的後復權價格,需要將早於 2021/06/02 的復權事件進行一一復權,得到最後的後復權價格,具體計算如下: