在我們完成對單個證券和交易策略表現的評估,且確定表現最佳的策略之後,我們就可以利用這些最佳策略來構建投資組合。這個步驟稱爲資產配置,主要涉及確定投資組合中各種策略的相對權重。
最簡單的投資組合優化辦法是等權重地配置各個最佳交易策略。等權重的方法雖然能分散整個投資組合的風險,但效果可能比不上進行完全投資組合優化的分散效果。然而,隨着投資組合中證券數量的增加,確定每個證券的最優權重會變得越來越難,並且越來越費時—對於高頻交易而言。這確實是一項挑戰。
爲了簡化和加速計算最優投資組合權重的過程,人們提出了好幾種相關算法。優化算法可以分爲如下三類:
1.根據Markowit:方法,可以直接得到一個聯立方程組算法。可是,如果投資組合中的策略超過10個,這種優化方法的效果就開始大打折扣;當投資組合涉及20個或者更多的資產時,此算法可能會給出極其錯誤的預測結果。之所以會這樣,是因爲我們在計算平均收益和方差時本身就存在估計誤差。但是,即使不算上這些問題,此算法的計算時間也會隨着交易策略個數的增長而呈指數式增長,這也使得這種方法很難適用於多種資產的高頻交易。
2.非線性規劃是商業軟件中經常使用的一種優化算法。在給定一些特定參數(比如投資組合配置權重)的情況下,非線性規劃算法採用一些技術來最大化或者最小化投資組合優化的目標函數。其中,一些技術採用了梯度法,梯度法計算目標函數在給定點的斜率,並選擇上升最快或下降最快的路徑以通近目標函數的最大值或最小值。非線性規劃算法對於收益率均值和方差的估計誤差同樣很敏感。在大多數情況下,這種算法的計算複雜度也太高,因此在高頻交易環境下並不切實可行。最近,Steuer, Qi和Hirschberger (2006)給出了一個非線性優化方法的例子。
3.Markowitz (1959)爲了方便計算自己提出的投資組合理論,開發了一種臨界線(critica inc)優化算法。這種算法運算較快並且實現起來相對簡單。不過,臨界線算法給出的不是投資組合中每種證券的配置權重,而是有效邊界上投資組合的集合,這個缺點使得很多商業公司無法採用此方法。近來Markowit:和Todd (2000)提供的一個算法部分地解決了這個問題。根據Niedermayer (2007)的研究,在同時考慮至少2000種資產的情況下, Markowit:和Todd (2000)的算法比Steuer, Qi和Hirachherger (2006)設計的算法要快1010000倍。