Weight Vector calculation in CW-OGD strategy

29 Views Asked by At

I'm trying to understand an Online Portfolio Selection (OPS) strategy proposed by Zhang et al. (2021), named combination weights based on online gradient descent (CW-OGD). The algorithm is as follows:
enter image description here
My question is about the 7th line of the algorithm. I do not know how to calculate the ${\nabla _t}$. Let's recap the essence of related variables:

$\begin{array}{l}j = \text{Index of Expert}\\k = \text{Number of Experts}\\t = \text{Index of Time Period}\\n=\text{Number of trading days}\\w_t^j = {\text{weight factor assigned to expert }}j{\text{ at time }}t\\K = \text{Weight Set} = \left\{ {\mathbf{w}:\sum\nolimits_{j = 1}^k {{w^j} = 1,\;{w^j} \in \left[ {0,1} \right]} } \right\}\\\gamma = \text{Scalar}\\\mathbf{w}=\left( {w_t^1,w_t^2, \ldots ,w_t^k} \right) \in {\mathbb{R}^k}\\\eta_t=\text{Scalar}\end{array}$

About the 7th line of the algorithm, the following explanation is provided in the paper:
The gradient upper bound of investor’s average loss function is $G$ for all $t$ and $\mathbf{w} \in K$, i.e., $G = {\sup _{t \in n,\mathbf{w} \in K}}\left\| {\nabla A{L_t}\left( \mathbf{w} \right)} \right\|$. Using the OGD algorithm to update the combination weights, the weight vector for the next period wt+1 can be calculated as
${\mathbf{w}_{t + 1}} = \prod\limits_K {\left( {{\mathbf{w}_t} - {\eta _t}{\nabla _t}} \right)}$
where ${{\nabla _t}}$ is the abbreviation of the gradient vector for average loss function $\nabla A{L_t}\left( {{\mathbf{w}_t}} \right)$. $\prod\limits_K {}$ is the projection under Euclidean norm, which pushes the update model to lie inside the feasible domain, i.e., $\prod\limits_K {\left( \mathbf{y} \right)} = \arg {\min _{\mathbf{x} \in K}}\left\| {\mathbf{x} - \mathbf{y}} \right\|$.

P.S.:
They did not mention the shape of $\mathbf{b}^j$, but I guess it's a vector of size $m$ (${{\bf{b}}^j} \in {\mathbb{R}^m}$ where $m$ is the number of stocks.)