投資組合優化

維護投資組合權重的優化算法

  • January 18, 2022

我正在編寫一個算法,輸出我必須為每種產品購買的股票數量,以便盡可能接近我的目標權重。

我在考慮這個最小化問題:

$$ \min_{x_i}\sum_{i=0}^n (x_i - \frac{T * W_i}{P_i})^2 $$

帶約束:

  • $ \sum_{i=0}^n x_i * P_i < T $
  • $ x_0, x_1, …,x_n $ 是非負整數

在哪裡:

  • 有 $ n $ 不同的產品
  • $ x_i $ 是(非負)整數,表示持有的數量(不允許小數股票)
  • $ T $ 是我此時可以投資的(非負)總金額
  • $ W_i $ 是我對每種產品的(非負)目標重量
  • $ P_i $ 是產品的(非負)最後收盤價

我想知道是否有一個封閉的公式來解決這樣的問題,或者我應該研究什麼樣的數值技術。

現在我不考慮暴力解決方案。

(如果您提到可以在這裡提供幫助的輕量級 C++ 庫,則可以加分)

您建議的問題使共享數量的差異最小化。如果您正在考慮的產品的股價差異很大,這可能會導致不良結果。我建議您盡量減少投資美元的差異,這將為您提供最接近您的目標的投資組合。

所以目標函式將變為:

$ x_i * P_i - T * W_i $

這是一個混合整數優化問題。你可以使用:

引用自:https://quant.stackexchange.com/questions/69528