簡單的貝葉斯定理理解與商品期貨應用實踐討論
本篇文章我們一起來討論一些關于概率的內(nèi)容。貝葉斯定理可能大家經(jīng)常關注“概率”、“統(tǒng)計”、甚至“機器學習”方面的內(nèi)容時會聽到,關于這個公式的推導是比較復雜的,所以這里不再贅述。我們來換個角度講一點簡單、容易的理解。
貝葉斯公式
這個公式看起來很簡單,我們通過一個模型來理解。
我們假設在一個平面上有2個面積不同的圓,即圓A,圓B。這兩個圓有相交部分。然后這個平面上方開始隨機位置掉落小球,一共掉落了N個小球。其中落到圓A中的小球個數(shù)為NA個,落入圓B中的小球有NB個,落入圓A、圓B相交部分的小球有NAB個。

那我們就可知:
小球落入圓A并且落入圓A、圓B相交部分的概率為:
P(B|A) = NAB / NA小球落入圓B并且落入圓A、圓B相交部分的概率為:
P(A|B) = NAB / NB
發(fā)現(xiàn)這個模型等式,最后變形之后就是貝葉斯定理公式。
商品期貨市場上的簡單應用
那么這個公式有什么用呢?日常的應用場景有垃圾郵件識別,例如:
引用知乎上的回答,假設我們有很多郵件,每封郵件都已經(jīng)標記好了垃圾郵件標記。我們很容易計算出以下概率:
P(A)即垃圾郵件的概率,算法:垃圾郵件數(shù)量/所有的郵件數(shù)量。
P(B)即郵件中出現(xiàn)詞W的概率,算法:出現(xiàn)詞W的郵件數(shù)量/所有的郵件數(shù)量。
P(B|A) = 垃圾郵件中出現(xiàn)詞W概率,算法:垃圾郵件中含有詞W的郵件數(shù)量/所有的垃圾郵件數(shù)量。
可能您會問,P(B|A)不是可以用P(A)和P(B)計算出來么?確實可以,不過此處的P(B|A)并不是由基礎的P(A)和P(B)計算得出。而是由樣本中大量的數(shù)據(jù)統(tǒng)計而來的概率。我們由上述的三個概率可以得出,出現(xiàn)詞W的郵件是垃圾郵件的概率:
這個模型中對垃圾郵件學習的過程就是計算P(A|B)的過程。一封垃圾郵件中會有很多詞被包含,所以需要不斷地嘗試不同詞組的組合,直至找到概率大于預期概率的詞W或一組詞W1,W2等。然后就可以用得到的詞計算,判斷新的郵件是不是垃圾郵件。
商品期貨上我們可以來判斷不同品種的行情相關性,例如我們判斷如果rb螺紋鋼當前BAR是陽線,那么hc熱卷當前BAR也是陽線的概率。
下面來動手構建這個程序模型,F(xiàn)MZ.CN策略源碼:
代碼中做了一些K線數(shù)據(jù)對齊的判斷、處理。
main
函數(shù)里訂閱了2個合約的數(shù)據(jù):
訂閱了螺紋鋼2205合約、熱卷2205合約。
回測運行:


從K線圖表上可以看出行情比較類似。

得出的結(jié)果,0.9322033898305083 即:熱卷當前BAR是陽線,螺紋鋼當前BAR也是陽線的概率。說明這兩個品種行情相關性很高。
我們可以試下一個和rb螺紋鋼不相關的品種,例如雞蛋,jd2205合約。

結(jié)果就說明,這兩個合約相關性很差了。
甚至我們還可以試下rb2205和rb2210。
算出P(A|B)為:0.9365079365079366,可見即使是同樣的品種的合約,不同交割期的合約行情也存在偏差的可能,跨期套利的機會與風險就在于此。
以上就是小編我在FMZ.CN上學習量化、程序化時的一些心得記錄。如有錯誤,歡迎各位大神指出,相互學習,一起進步!