Published on

運用 Shannon's Demon 進行加密貨幣投資

Authors

前言:從 Maxwell's Demon 開始

根據熱力學第二定理,系統的能量必往總和熵的最大化進行平衡。於是 Maxwell 在 1871 年提出了假想實驗:在兩個封閉容器之間有管道連通,中間以一個可瞬間開關的無摩擦閘門隔絕;並存在一個超越常識的惡魔,它能精準掌握閘門附近每個粒子的動能與運動方向。由於粒子間能量差造成布朗運動,惡魔得以根據粒子能量與運動方向決定閘門開關,使得高能粒子只能往一側移動、低能粒子向另一側集中;如此操作,可預期在一段時間後將粒子以能量高低進行分類,使得系統從熱能觀點上的熵減少,違反熱力學第二定理。

當然事後由 IBM 科學家 Rolf 指出這個假想實驗的癥結在於,系統熵值變化不可僅討論熱能,粒子的能量資訊本身也是熵的一部份。另一方面,眾所皆知的消息理論祖師爺 Shannon 則基於個人對投資的興趣,於 196x 年代在 MIT 的幾個科學投資講座上,提出過類似這個系統的投資策略:假定有現金與股票倉位,我們是否有機會在不預測股價的前題下,利用股價波動獲利。

Shannon's Demon

Shannon 當時提出的方法很簡單:將投資本金拆分一半,以其中一半購入標的,並定期檢視部位兩邊的價值。如果股價上昇,那就賣出部份持股,下跌則購入,並總是保持兩側價值平衡;藉由算幾不等式,可預期此策略能必能在波動間獲利(請容我在此略過不證),某種程度上與網格的獲利原理類似。由於市場不可能不波動,即使最終股價與進場點相同,中間的波動仍可以造成利潤。這某種程度上也是為何高本金投資人會定期重新平衡各投資部位的佔比。

當然這樣的策略在實行面有其困難之處。頻繁股票交易造成昂貴的手續費,大部份標的的波動性並沒有那麼大的適用空間,且雖然存在零股市場,在本金沒有大到一定規模之前也難以精確地落實資產平衡。雖然 Shannon 於 195x 到 1986 間在股市的投資績效平均高達 28% 年複利,但他實際的獲利來源並非上述的策略模型,而是利用他過人的記憶實地參訪理解目標公司的規劃後,善用電腦整理資料並重押他個人認定的績優公司。

加密貨幣市場與惡魔

反過來看加密貨幣市場現況:

  1. 市場的短期波動性大,且全球 24hr 隨時都在進行交易。
  2. 絕大多數的主流幣種有相當良好的可分割性,最低可交易量可以非常小。
  3. 目前整體市場在整個金融業的份額仍然很小,長線而言仍在高速成長,目前各交易所為了增加市佔而訂定相當便宜的手續費。

以第一點來說,波動性意味著適合網格策略;但固定範圍網格的缺點在於如何預防破格,在非盤整行情時風險較高,也無法對應現實發生過的瞬跌瞬漲。又,以市佔率為首的 BTC 過去十年的歷史資料來說,對散戶而言 buy and HODL 的績效有很高的機率高於短線進出。因此某種程度上,同時具有長持與波動率套利性質的 Shannon's demon 或許是這個市場上良好的投資策略。

要套用這樣的策略甚至自動化,則必須要先來推導一下必要的公式細節。

符號定義

  • 以下仍以法幣本位進行討論,但本方法應不限於任何投資組合
  • 下標 uu 代表法幣(例如 USDT)或本位幣,下標 cc 代表目標市場加密貨幣(例如 BTC)
  • 給定幣種 cc 之錢包內持幣量(balance)記為 BcB_c,本位幣持幣量記為 BuB_u
  • 目標資產平衡比例 RR,一般性設定為 50%50\%
  • 幣種 cc 對應法幣的換匯單價記為 PcP_c,意即 Pu=1P_u = 1

幣價波動與資產重新平衡

錢包內總資產價值為法幣部位(價值 BuPu=BuB_u P_u = B_u)加上目標貨幣部位(價值 BcPcB_c P_c),我們將兩邊部位依設定好的比例 RR 作平衡。

BcPcBu+BcPc=R\frac{B_c P_c}{B_u + B_c P_c}=R

幣值變化後,資產比例隨之發生變化

BcPcBu+BcPc=Bc(Pc+dPc)Bu+Bc(Pc+dPc)=R\frac{B_c P_c^\prime}{B_u + B_c P_c^\prime} = \frac{B_c (P_c + dP_c)}{B_u + B_c (P_c + dP_c)} = R^\prime

為了要重新平衡回目標比例 RR,因此需要根據 PcP_c^\prime 調整持幣量 Bc=Bc+dBcB_c^\prime = B_c + dB_c;無論如何交易,先不計交易手續費的話,成交前後的錢包總價值是不變的,也就是身為分母的交易前錢包總價值 Bu+BcPcB_u+B_c P_c^\prime 會等於交易後的 Bu+BcPcB_u^\prime+B_c^\prime P_c^\prime

R=BcPcBu+BcPc=(Bc+dBc)PcBu+BcPcBcPc+dBcPc=RBu+RBcPcdBc=RBuPc(1R)Bc\begin{aligned} R = \frac{B_c^\prime P_c^\prime}{B_u^\prime+B_c^\prime P_c^\prime} & = \frac{(B_c+dB_c)P_c^\prime}{B_u+B_c P_c^\prime} \\ \Rightarrow B_c P_c^\prime+dB_c P_c^\prime & = RB_u+RB_c P_c^\prime \\ \Rightarrow dB_c & = \frac{RB_u}{P_c^\prime} - (1-R)B_c \end{aligned}

改善現金運用效率

Shannon's Demon 其中一個缺點在於,一半資產實際投入市場波動,另一半資產中只有一部份用於平衡水位,剩下的現金部位相當於閒置資產,因此一個可能的做法是用假想資產代替一部份的現金部位:

Bu=Bu(real)+Bu(virtual)B_u = B_{u(real)} + B_{u(virtual)}

則平衡公式也需要進行修正

dBc=RBuPc(1R)Bc=R(Bu(real)+Bu(virtual))Pc(1R)Bc=[RBu(real)Pc(1R)Bc]+RBu(virtual)Pc\begin{aligned} dB_c & = \frac{R B_u}{P_c^\prime} - (1-R)B_c \\ & = \frac{R(B_{u(real)} + B_{u(virtual)})}{P_c^\prime} - (1-R)B_c \\ & = [\frac{R B_{u(real)}}{P_c^\prime} - (1-R)B_c] + \frac{R B_{u(virtual)}}{P_c^\prime} \end{aligned}

由於 RBu(virtual)Pc0\frac{R B_{u(virtual)}}{P_c^\prime} \ge 0,故現金部位加入假想資產對於每單交易量 dBcdB_c 確實有放大的效果,卻也帶來風險。由於這部份現金部位以假想空值代替,無法實際用於買幣,因此在特定條件下會造成無法平衡的困境:當幣價跌到特定值以下,本金全部流入買幣部位 BcPc=Bu(real)B_c^\prime P_c^\prime = B_{u(real)},現金部位全部只剩假想資產 Bu=Bu(virtual)B_u^\prime = B_{u(virtual)},系統將無法增加持幣量以滿足平衡:

RBcPcBu+BcPc=Bu(real)Bu(virtual)+Bu(real)Bu(virtual)1RRBu(real)\begin{aligned} R & \ge \frac{B_c\prime P_c\prime}{B_u^\prime + B_c\prime P_c\prime} = \frac{B_{u(real)}}{B_{u(virtual) + B_{u(real)}}} \\ & B_{u(virtual)} \ge \frac{1-R}{R} B_{u(real)} \end{aligned}

以上是在現金部位加上假想資產的影響。如果在買幣部位也加入假想資產,會產生什麼效果?如果假想資產 VtotalV_{total} 依先前設好的平衡比例 R 投入兩側部位:

  • Vtotal=Bu(virtual)Pu+Bc(virtual)Pc=(1R)Vtotal+RVtotalV_{total} = B_{u(virtual)} P_u + B_{c(virtual)} P_c = (1-R)V_{total}+R V_{total}
  • Bc=Bc(real)+Bc(virtual)=Bc(real)+RVtotalPcB_c = B_{c(real)} + B_{c(virtual)} = B_{c(real)} + \frac{R V_{total}}{P_c}
  • Bu=Bu(real)+Bu(virtual)=Bu(real)+(1R)VtotalB_u = B_{u(real)} + B_{u(virtual)} = B_{u(real)} + (1-R) V_{total}

套用到以上在幣價由 PcP_c 變化成 PcP_c^\prime 時的平衡公式

dBc=RBuPc(1R)Bc=R(Bu(real)+(1R)Vtotal)Pc(1R)(Bc(real)+RVtotalPc)=RBu(real)Pc+(1R)RVtotalPc(1R)Bc(real)(1R)RVtotalPc=RBu(real)Pc(1R)Bc(real)\begin{aligned} dB_c & = \frac{R B_u}{P_c^\prime} - (1-R)B_c \\ & = \frac{R(B_{u(real)} + (1-R) V_{total})}{P_c^\prime} - (1-R)(B_{c(real)} + \frac{R V_{total}}{P_c}) \\ & = \frac{R B_{u(real)}}{P_c^\prime}+\frac{(1-R)R V_{total}}{P_c^\prime}-(1-R)B_{c(real)}-\frac{(1-R)R V_{total}}{P_c^\prime} \\ & = \frac{R B_{u(real)}}{P_c^\prime}-(1-R)B_{c(real)} \end{aligned}

可以發現平衡公式完全沒變,並不會影響重新平衡時的交易量,原因在於另一側的持幣量也被浮額壓制,等於實際平衡比例沒有任何改變;因此想要放大交易效果只要墊高穩定幣部位就好。

寫在最後

歡迎收看嚴酷的實際市場檢驗單元。

以 ETH-USD 現貨現貨市場作為實驗場,自 2021/10/02 當天的收盤價 3,389.1 起算至行文當下 3,912.3,這半個月漲幅 15.43%;這段時間內筆者在 FTX Pro Quant Zone 簡單實作本文所述策略,初始本金 Bu(real)=3000B_{u(real)}=3000,設定平衡比例 R=50%R=50\% 與假想資產 Bu(virtual)=2800B_{u(virtual)}=2800,結算時該子帳號實際價值 3,597.5,獲利 19.92%。雖然這樣的策略在資金配置上並未直接全額參與貨幣漲跌,但波動獲利確實使其優於全資產投入現貨並持有。

對於這樣的策略,實戰上仍有許多細節仍需調整,例如觸發平衡的時機、每次交易量門檻、交易所給予的手續費待遇等等。

如果你對 FTX Pro 交易所產生興趣,不妨考慮使用筆者的推薦連結,以目前 FTX Pro 的使用規則上可以得到 5% 的手續費優惠。