鵬城的雨季來得猝不及防。
窗外雨點敲打著玻璃,書房裡卻只有鍵盤敲擊聲和偶爾的滑鼠點選。林晨盯著螢幕上密密麻麻的Python程式碼和金融資料圖表,眉頭時而緊鎖,時而舒展。
過去一週,他的智慧投資系統在加入了期權策略模組後,確實如回測顯示的那樣,開始產生穩定的現金流。備兌開倉策略在震盪市中表現穩健,每月能貢獻幾千元的權利金收入。這筆錢雖然不多,卻像及時雨,剛好覆蓋了每月的房貸利息部分。
但林晨很快發現了新問題。
“單一策略的風險太集中了”。他對著螢幕自言自語,手指無意識地敲著桌面。
系統現在同時執行著四個策略模組:A股的均值迴歸策略、商品期貨的趨勢跟蹤、黃金的避險對沖,以及新加入的期權備兌開倉。每個模組都獨立執行,各自根據市場訊號買賣。回測時表現都不錯,但實盤執行兩週後,林晨發現了一個致命缺陷——當某個市場出現極端行情時,多個策略可能會同時觸發止損。
上週三就是例子。美聯儲意外鷹派表態,全球市場劇烈波動。他的A股策略和商品策略幾乎同時發出賣出訊號,導致賬戶單日回撤達到3%。雖然期權策略的權利金收入彌補了部分損失,但這種“各自為戰”的模式顯然不夠聰明。
“得讓這些策略學會配合”。林晨開啟瀏覽器,開始搜尋“投資組合最佳化”。
現代投資組合理論(T)——這個由哈里·馬科威茨在1952年提出的理論,林晨在大學金融選修課上聽過,但當時只覺得是紙上談兵。如今親自管理真金白銀時,他才意識到這套理論的價值。
“不要把雞蛋放在同一個籃子裡”,這句俗語背後的數學原理,就是馬科威茨用均值-方差模型描繪的“有效前沿”。
林晨泡了杯濃茶,下載了幾篇經典論文和教科書PDF。接下來的三天,他像回到了考研時期,從早到晚啃著那些充滿數學公式的金融工程教材。
“預期收益率……協方差矩陣……夏普比率……”他在筆記本上寫寫畫畫,“原來如此,不僅要看單個策略的收益,還要看它們之間的相關性”。
第四天下午,林晨終於搞懂了核心思想:透過數學最佳化,找到在給定風險水平下收益最高的資產配置比例,或者在給定收益目標下風險最小的組合。
理論懂了,下一步是實踐。
他開啟Jupyter Notebook,新建了一個Python檔案。首先要計算各個策略的歷史收益率和它們之間的相關係數矩陣。
iort pandas as pd
iort nuy as np
frodateti iort dateti, tidelta
# 載入四個策略的歷史日收益率資料
stock_returns = pd.read_csv(stock_strategy_returns.csv, index_col=0, parse_dates=True)
future_returns = pd.read_csv(future_strategy_returns.csv, index_col=0, parse_dates=True)
gold_returns = pd.read_csv(gold_strategy_returns.csv, index_col=0, parse_dates=True)
option_returns = pd.read_csv(option_strategy_returns.csv, index_col=0, parse_dates=True)
# 對齊時間序列
all_returns = pd.concat(【stock_returns, future_returns, gold_returns, option_returns】, axis=1, join=inner)
all_returns.colus = 【股票策略期貨策略黃金策略期權策略】
# 計算相關係數矩陣
correlation_trix = all_returns.corr
):陣矩數係關相間略策(tnirp
)xirt_noitalerroc(tnirp
。亮一睛眼晨林讓果結行執
:陣矩數係關相間略策
略策權期 略策金黃 略策貨期 略策票
0.0 .0- .0 000000.1 略策票
.0 0.0 000000.1 .0 略策貨期
0.0- 000000.1 0.0 .0- 略策金黃
000000.1 0.0- .0 0.0 略策權期
。沖對互相以可略策個兩,漲上往往金黃,時跌下票當著味意關相負。手了地興晨林!”的要想我是正這,關相負弱呈略策票和略策金黃“
。聲一了呼輕拳握住不忍他,時上幕螢在現出線曲沿前效有形線拋的典經個那,通跑旦一但,間時些了花置配裝安。包工化佳最凸個這tpoxvc了到找,庫融金源開了尋搜晨林。沿前效有建構要來下接








