萬年船 發表於 23-1-9 12:42

IB的CL與HO歷史分線資料品質極差

本帖最後由 萬年船 於 23-1-9 12:43 編輯

之前在此篇『海外期貨數據來源 (for beginner)』提到有三種歷史資料來源,其中CQG雖然CP值極高,報價品質還算不錯,歷史資料也比較可靠,但缺點是只提供還沒到期合約的歷史資料,而IB有提供最近兩三年的歷史資料,所以用IB來維護自己常用商品的歷史資料也算是個不錯的選擇。

IB大部分商品的歷史分線資料都跟CQG差不多,用相同策略回測起來績效差異都在可接受的範圍內,但CL、HO這兩個商品的歷史分線資料品質極差,很容易有肉眼就看的到的低級的錯誤。

我們先來看IB與CQG歷史分線資料差不多的回測結果,以NQ為例(IB大部分的商品都像這樣),兩者回測的損益差距都很小,這是可以接受的,如下圖所示



接著再來看IB的CL與NQ在歷史分線資料有怎樣的低級錯誤,以及這樣的低級錯誤的歷史資料回測的損益差距差距有多大











其他商品或許還OK,但針對這兩個IB品質極差的歷史分線資料,一定要避開IB,建議還是用以下方式來維護比較好

[*]先由eSignal取得一開始的歷史分線資料
[*]再由CQG累積新的歷史分線資料,再疊加上去原本維護的歷史資料



carlos.twlin 發表於 23-2-1 10:45

看到大大的最新回文(美東時間換日問題),讓我想到另一個可能性,分享出來供有興趣的朋友參考。

IB 的資料其實有兩個來源,有開 Gateway 的時候會看到:
1) Market Data Farm
2) Historical Data Farm

第一個就是我之前提過的 price snapshot (reqMktData)。
第二個是回補歷史資料,但第二個其實也有提供即時的 streaming 五秒線(reqRealTimeBars),我一直都是使用即時的五秒線作為報價,品質是好的,就是慢了點,做當沖的可能會太慢,但如果是做30分線以上的中長波,我覺得非常夠用了。

回到大大的換日問題,美東換日後回補恢復正常,是不是有可能換日以前,MC 的實作是回補上述第一個來源的 ticks (historicalTicks),然後換日後,回補的是第二個來源的分線資料(reqHistoricalData)?
如果真的是這樣的話,那大大目前的做法,換日之後回補,可能是最好的對策了。(在無法指定MC強制使用第二來源的前提下)

像船大這樣有 CQG 可以用,其實不用太執著 IB 的數據,有更好的解決方案可以滿足交易需求就好,畢竟我們都是來市場交易賺錢的,不是來免費幫資訊公司跟劵商 debug,上場競速有超跑可以開,50cc摩托車的品質就別太執著了,您說是吧!

祝交易創高。

CalmState951 發表於 23-2-3 17:01

船大要不要回補時間改更晚,或是寫信去 MC 問問看? 我貼一下剛才回補的 HO2303 近十日60分線,是用1分線繪製成的,沒看到什麼大問題。

萬年船 發表於 23-2-2 09:34

本帖最後由 萬年船 於 23-2-2 10:48 編輯

萬年船 發表於 23-2-1 06:44
今日美東時間1/31 16:10自動回補分線歷史資料也出現IB數據源HO的價格高達23%的長下影線
但剛在美東時間1/3 ...
把IB歷史資料回補排程時間改成美東盤後的17:20後
今天HO [商品代號:HOH3]照樣出現低級的長下影線問題
高達15%的價格偏離異常(如下圖所示),但強制手動重新回補,又變正常
15%的價格異常,無論怎麼想,就是異常
縱使盤中即時的K棒,價格也不至於偏離這麼離譜
重點是不規律,不是每天都會發生
而且這種價格偏離的上下影線問題,IB的數據源就只發生在CL, HO,其他商品不會


結論:
反正CL與HO就是有機會產生這種低級的分線歷史資料錯誤
如同本文一開始建議的,對於這兩個商品(CL, HO),直接避開IB
改用CQG來維護歷史資料比較保險



萬年船 發表於 23-2-1 14:02

carlos.twlin 發表於 23-2-1 10:45
看到大大的最新回文(美東時間換日問題),讓我想到另一個可能性,分享出來供有興趣的朋友參考。

IB 的資料 ...

其實實際交易的K棒,我是沒在用IB的數據源的(香港HSI除外),原因是:

[*]IB報價速度與穩定度都不如CQG
(請參考此篇『美國主機實測IB、CQG、Rithmic三款數據源的延遲性與穩定性』)
[*]IB報價每日在IB Reset時段會有兩三分鐘斷線無法提供即時報價
[*]IB數據源的K棒高低位置常常失真(Snapshot),容易導致MC的AA模式處於非同步狀態
(交易所的停止單其實已經觸價成交了,但因為MC圖上的高低位置失真,導致MC交易引擎認為未成交)
[*]網路斷線5分鐘,MC的IB重新連上後,不會自動回補這5分鐘的K棒
(相反的,MC的CQG重新連上後,會自動回補這5分鐘的K棒)


萬年船 發表於 23-2-1 06:44

本帖最後由 萬年船 於 23-2-1 06:53 編輯

carlos.twlin 發表於 23-1-31 15:43
大大應該是平常有開著收 IB 的即時資料,並且 MC 自動畫成分線存進資料庫,然後直接用這個資料回測時發現了 ...
今日美東時間1/31 16:10自動回補分線歷史資料也出現IB數據源HO的價格高達23%的長下影線
但剛在美東時間1/31 17:20用手動強制再回補一次當天分線歷史資料,又恢復正常


我原本每日IB自動回補分線歷史資料的排程時間是設在美東盤中16:10
剛把排程時間改成美東盤後的17:20,看這樣是否以後就不會發生IB的CL/HO奇怪長上影線或下影線的問題
不過IB盤中回補CL/HO分線歷史資料,會出現奇怪的長上下影線,這個本身也是個問題(而且就只有CL/HO這兩個商品)

註:一樣的時間1/31 16:10排程自動回補CQG的HO分線歷史資料,卻沒發生CQG的HO奇怪的長下影線問題


萬年船 發表於 23-1-31 18:37

本帖最後由 萬年船 於 23-1-31 18:46 編輯

carlos.twlin 發表於 23-1-31 15:43
大大應該是平常有開著收 IB 的即時資料,並且 MC 自動畫成分線存進資料庫,然後直接用這個資料回測時發現了 ...
不是這樣的,MC預設是不會把即時資料自動畫成分線存進資料庫的
預設是資料庫若沒有足夠分線資料,會自動回補資料庫所缺的分線資料,直接由IB伺服器取得

況且,HO完全沒開即時資料,照樣會有奇怪的長長上影線下影線

其實我所維護的IB歷史資料,有寫程式自動檢查任兩根鄰近的K棒
(1)看是否存在極端的價格差距(10%的差距)
(2)看是否有漏掉幾天的資料
印象中,就只有CL, HO老是會遇到這種低級的長長上影線、下影線
另外,BZ年底容易會缺幾天的資料


carlos.twlin 發表於 23-1-31 15:43

大大應該是平常有開著收 IB 的即時資料,並且 MC 自動畫成分線存進資料庫,然後直接用這個資料回測時發現了這些錯誤的上下引線,但是回補過後又正常,不知道這樣描述對不對呢?

如果對的話,問題大概就是這裡了,IB 的即時資料一直都很有問題,我剛開始用 IB 的時候,官方稱他們提供的是 price snapshot,不像 CQG/Rithmic 這些給的是 real ticks,品質是差非常多的,所以要用 IB 的資料回測的話,必須要用回補的分線,我個人習慣是結倉後備份整個合約有成交量的部分。

大大可以回補後再回測看看,相信應該會好很多唷。

carlos.twlin 發表於 23-1-31 13:31

大大你 IB 的分線有沒有試著用單一月份下載看看錯誤還在不在?
我自己用api維護了各個月份合約 (CL超過十年),目前沒遇過這種現象,
圖片中看不太出來錯誤的日期是哪一天,如果願意提供日期,我可以看看我這邊的狀況分享。

我會這麼問是因為,在我剛開始用IB的年代,是只有單個月份的合約回補分線沒有提供連續圖 (現在新版有沒有提供沒有確認),而且我不是用 MC,所以也可以試試看是不是 MC 的問題。
一直以來身邊很多朋友都 MC+IB 遇到很多奇怪問題,其實不一定是 IB 的問題,當然我也不是在擁護 IB,畢竟 IB 每年總是會出個一兩次包,用過幾年的大大們應該也都有過經驗。
只是路過分享一下,參考看看囉,新年快樂。

萬年船 發表於 23-1-31 15:03

carlos.twlin 發表於 23-1-31 13:31
大大你 IB 的分線有沒有試著用單一月份下載看看錯誤還在不在?
我自己用api維護了各個月份合約 (CL超過十年) ...

以下圖為例,商品為CLH3,資料日期是2023/1/25(如下圖所示)
有三根K棒明顯有問題(長長的上影線或下影線)
但是現在手動重新回補資料,又可變回正常的K棒

問題的特徵看似,當天取得的歷史分線資料容易有異常(長長的上影線或下影線)
但隔天(也或者更久之後,到底多久不曉得,沒實際去查證),IB伺服端的分線資料又會更正一次
所以之後再重新抓下來的歷史分線資料又可變回正常K棒
CL, HO都有這個現象,但其他商品,例如ES, NQ卻不會這樣

問題是老是要手動重新回補資料也不是辦法,這兩個商品的分線歷史資料直接用CQG比較保險!









頁: [1]
查看完整版本: IB的CL與HO歷史分線資料品質極差