對數隨機漫步下的蛛網

從對數中央極限定理可以確知市場呈現對數常態分佈。
再加上價格是有邊界的假設,可推得長期複合報酬率$r_c=0$。
因此若以漲賣跌買的機率各為$\frac12$執行蛛網策略,在漲$r$比例時做賣出,則買進時的價格應是在下跌比例為$\dfrac{r}{1+r}$的時候,也就是價格抵達原本的$1+r$倍時賣出,抵達$\dfrac1{1+r}$時買進。
我們用下面的程式碼來模擬蛛網策略交易的行為:

程式模擬(程式碼可修改)

JavaScript 程式碼
輸出結果
在這個程式碼裡假設價格每次到$(1+r)$賣出,和到$\dfrac1{1+r}$買進的機率都是$\dfrac12$,經過$10,000$次交易以後的最終價格、賣出次數、買進次數與最終資金。
可以發現即使價格下跌,只要幅度不大,還是可以獲利。價格上漲就一定是獲利的。
還記得在講凱利槓桿時證明了只要最終價格回到原本位置,最佳槓桿就是$0.5$,如果價格上揚則最佳槓桿大於$0.5$,如果下跌則最佳槓桿小於$0.5$。同時也論述了槓桿小於最佳槓桿只會少賺不會虧,高於最佳槓桿則會承擔不必要的風險,高過頭甚至會造成虧損。
這段程式把槓桿設置為$0.5$,所以在跌勢中就高於最佳槓桿了,如果跌勢明顯,能用的槓桿更低,$0.5$就可能高過頭了。
但漲與跌是由隨機函數Math.random()決定,因此最後漲和跌的機率是一半一半,在大數法則運作之下,來來回回互相抵銷的次數會更多,如果把max_steps設置為100_000,能承受下跌的範圍就更大,也就更不容易虧錢;若是改成max_steps=1_000_000就幾乎不會虧錢了。 上面就是max_steps=1_000_000的執行結果,可以看到價格就算趨近於0(小數點兩位顯示不出來)還是不會虧錢。因為有隨機函數,所以每次結果都不一樣,但你大概要很努力很努力很努力地重試,才有那麼一點點很小很小很小的機會虧錢。
數學永遠不會錯,會錯的是假設,所以要檢查的是假設合不合理。我們的假設是: