量化交易策略
在 Python 上實現 Sharpe 的基於回報的風格分析
我正在嘗試在 Python 上實現 Sharpe 基於返回的樣式分析。問題表述如下:
min Var(M-(c1a1 + c2a2 + c3a3 + c4a4)) subject to c1 + c2 + c3 + c4 = 1 c1 >=0, c2 >= 0, c3 >= 0, c4 >= 0 where M = monthly or daily return of an investor's portfolio a1, a2, a3, a4 = monthly or daily return of an index and c1, c2, c4, c4 are the optimization decision variables.
當然,目標函式(變異數)使問題成為非線性的。我正在嘗試使用 Scipy 來實現這一點,但我找不到與此問題類似的二次/非線性優化的好例子。
我應該使用什麼 Python 庫來執行此操作?上面的範例只有 4 個索引,但我想讓它更通用和靈活地處理許多索引。
如果有人可以為上述優化問題顯示 Python 程式碼,我也將非常感激。
謝謝!!!
您可以將您的問題重述為:
$$ \min_x \quad Var \left (-\sum_{i=0}^n x_iR_i \right) $$ $$ \text{s.t.} \quad x_0 = -1, \quad \sum_{i=1}^n x_i = 1, \quad \text{non-negativity of }x_1:x_n $$ 在哪裡 $ R_i $ 是資產的預期收益 $ i $ 和 $ x_i $ 是您的解決方案變數。 目標函式可以表示為:
$$ \min_x \quad - \sum_{i,j} x_i x_j Cov(R_i, R_j)= - \mathbf{x^TQx} $$ 在哪裡 $ \mathbf{x}=[x_0, …, x_n]^T $ 和 $ \mathbf{Q} $ 是收益的共變異數矩陣。