Author Contributions
Conceptualization, B.L.; methodology, B.L.; software, B.L.; validation, B.L. and R.I.; formal analysis, B.L. and R.I.; investigation, B.L.; resources, R.I.; data curation, B.L.; writing—original draft preparation, B.L.; writing—review and editing, R.I.; visualization, B.L.; supervision, R.I. All authors have read and agreed to the published version of the manuscript.
Figure 1.
Data flow diagram of PortRSMs at timestamp
t and trading period
k (
as defined in
Section 3.2). PortRSMs uses sample
in the asset price time series as input. To model RSMs, SSMs are used to simulate the transition of state
u. The output (
y) of each SSM layer is used as the input of the next layer, and the output of each layer is fused between the asset through the HGAM. The output of the last layer generates new portfolio weights (
) through the output projection and softmax functions, after concatenating with the existing portfolio weights (
).
Figure 1.
Data flow diagram of PortRSMs at timestamp
t and trading period
k (
as defined in
Section 3.2). PortRSMs uses sample
in the asset price time series as input. To model RSMs, SSMs are used to simulate the transition of state
u. The output (
y) of each SSM layer is used as the input of the next layer, and the output of each layer is fused between the asset through the HGAM. The output of the last layer generates new portfolio weights (
) through the output projection and softmax functions, after concatenating with the existing portfolio weights (
).
Figure 2.
The cumulative log return in the testing period when using different modules, with . The result for CRP is also shown for comparison as a benchmark.
Figure 2.
The cumulative log return in the testing period when using different modules, with . The result for CRP is also shown for comparison as a benchmark.
Figure 3.
The cumulative log return during the COVID outbreak period for the DJIA dataset when using different modules, with . The result for CRP is also shown for comparison as a benchmark.
Figure 3.
The cumulative log return during the COVID outbreak period for the DJIA dataset when using different modules, with . The result for CRP is also shown for comparison as a benchmark.
Table 1.
AR performance comparison of different modules across various datasets, using different time-series sample counts (l). Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Table 1.
AR performance comparison of different modules across various datasets, using different time-series sample counts (l). Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Dataset | Module | | | |
---|
DJIA1d | LSTM | 0.104 ± 0.003 | 0.105 ± 0.004 | 0.104 ± 0.003 |
TCN | 0.099 ± 0.011 | 0.046 ± 0.036 | 0.093 ± 0.054 |
Transformer | 0.104 ± 0.001 | 0.109 ± 0.003 | 0.119 ± 0.013 |
SSMs | 0.109 ± 0.008 | 0.121 ± 0.012 | 0.127 ± 0.013 |
DJIA1w | LSTM | 0.124 ± 0.006 | 0.127 ± 0.008 | 0.131 ± 0.009 |
TCN | 0.158 ± 0.022 | 0.171 ± 0.035 | 0.298 ± 0.078 |
Transformer | 0.132 ± 0.010 | 0.123 ± 0.003 | 0.156 ± 0.029 |
SSMs | 0.161 ± 0.015 | 0.170 ± 0.026 | 0.157 ± 0.017 |
HSI1d | LSTM | 0.218 ± 0.034 | 0.175 ± 0.036 | 0.201 ± 0.085 |
TCN | 0.236 ± 0.020 | 0.211 ± 0.054 | 0.160 ± 0.086 |
Transformer | 0.232 ± 0.034 | 0.179 ± 0.020 | 0.112 ± 0.052 |
SSMs | 0.296 ± 0.088 | 0.220 ± 0.029 | 0.247 ± 0.122 |
HSI1w | LSTM | 0.225 ± 0.012 | 0.231 ± 0.015 | 0.233 ± 0.018 |
TCN | 0.215 ± 0.047 | 0.245 ± 0.048 | 0.183 ± 0.087 |
Transformer | 0.251 ± 0.023 | 0.180 ± 0.071 | 0.145 ± 0.064 |
SSMs | 0.292 ± 0.048 | 0.279 ± 0.048 | 0.251 ± 0.076 |
Table 2.
ASR performance comparison of different modules across various datasets, using different time-series sample counts (l). Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Table 2.
ASR performance comparison of different modules across various datasets, using different time-series sample counts (l). Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Dataset | Module | | | |
---|
DJIA1d | LSTM | 0.558 ± 0.006 | 0.559 ± 0.010 | 0.557 ± 0.007 |
TCN | 0.506 ± 0.067 | 0.394 ± 0.136 | 0.532 ± 0.077 |
Transformer | 0.558 ± 0.002 | 0.565 ± 0.004 | 0.586 ± 0.028 |
SSMs | 0.573 ± 0.025 | 0.613 ± 0.036 | 0.630 ± 0.040 |
DJIA1w | LSTM | 0.621 ± 0.011 | 0.619 ± 0.008 | 0.616 ± 0.008 |
TCN | 0.532 ± 0.081 | 0.514 ± 0.055 | 0.681 ± 0.099 |
Transformer | 0.623 ± 0.003 | 0.617 ± 0.005 | 0.642 ± 0.019 |
SSMs | 0.646 ± 0.024 | 0.662 ± 0.018 | 0.665 ± 0.014 |
HSI1d | LSTM | 0.695 ± 0.066 | 0.635 ± 0.051 | 0.676 ± 0.121 |
TCN | 0.724 ± 0.044 | 0.652 ± 0.088 | 0.565 ± 0.179 |
Transformer | 0.776 ± 0.040 | 0.710 ± 0.037 | 0.503 ± 0.155 |
SSMs | 0.808 ± 0.142 | 0.768 ± 0.040 | 0.792 ± 0.147 |
HSI1w | LSTM | 0.756 ± 0.013 | 0.779 ± 0.027 | 0.785 ± 0.027 |
TCN | 0.718 ± 0.128 | 0.714 ± 0.062 | 0.613 ± 0.214 |
Transformer | 0.854 ± 0.049 | 0.679 ± 0.193 | 0.537 ± 0.136 |
SSMs | 0.868 ± 0.060 | 0.899 ± 0.065 | 0.793 ± 0.113 |
Table 3.
ACR performance comparison of different modules across various datasets, using different time-series sample counts (l). Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Table 3.
ACR performance comparison of different modules across various datasets, using different time-series sample counts (l). Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Dataset | Module | | | |
---|
DJIA1d | LSTM | 0.307 ± 0.004 | 0.307 ± 0.006 | 0.306 ± 0.004 |
TCN | 0.235 ± 0.073 | 0.164 ± 0.122 | 0.325 ± 0.119 |
Transformer | 0.305 ± 0.001 | 0.309 ± 0.002 | 0.321 ± 0.015 |
SSMs | 0.313 ± 0.015 | 0.345 ± 0.025 | 0.354 ± 0.029 |
DJIA1w | LSTM | 0.387 ± 0.017 | 0.388 ± 0.014 | 0.385 ± 0.066 |
TCN | 0.364 ± 0.139 | 0.393 ± 0.116 | 0.724 ± 0.279 |
Transformer | 0.405 ± 0.011 | 0.399 ± 0.007 | 0.473 ± 0.079 |
SSMs | 0.499 ± 0.075 | 0.555 ± 0.101 | 0.515 ± 0.066 |
HSI1d | LSTM | 0.567 ± 0.102 | 0.488 ± 0.058 | 0.560 ± 0.182 |
TCN | 0.590 ± 0.08 | 0.488 ± 0.113 | 0.431 ± 0.210 |
Transformer | 0.661 ± 0.069 | 0.604 ± 0.060 | 0.354 ± 0.181 |
SSMs | 0.728 ± 0.217 | 0.688 ± 0.068 | 0.762 ± 0.245 |
HSI1w | LSTM | 0.804 ± 0.053 | 0.884 ± 0.058 | 0.881 ± 0.060 |
TCN | 0.676 ± 0.262 | 0.688 ± 0.131 | 0.478 ± 0.225 |
Transformer | 0.979 ± 0.112 | 0.588 ± 0.252 | 0.346 ± 0.158 |
SSMs | 1.189 ± 0.142 | 1.282 ± 0.182 | 0.830 ± 0.160 |
Table 4.
Performance comparison of different numbers of stacked SSM layers across various datasets, using different time-series sample count (l), as evaluated by AR. Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Table 4.
Performance comparison of different numbers of stacked SSM layers across various datasets, using different time-series sample count (l), as evaluated by AR. Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Dataset | Layer Num | | | |
---|
DJIA1d | 1 | 0.100 ± 0.010 | 0.110 ± 0.014 | 0.114 ± 0.011 |
2 | 0.109 ± 0.008 | 0.121 ± 0.012 | 0.127 ± 0.013 |
3 | 0.107 ± 0.005 | 0.116 ± 0.015 | 0.125 ± 0.019 |
DJIA1w | 1 | 0.140 ± 0.003 | 0.156 ± 0.006 | 0.164 ± 0.008 |
2 | 0.161 ± 0.015 | 0.170 ± 0.026 | 0.157 ± 0.017 |
3 | 0.142 ± 0.030 | 0.187 ± 0.052 | 0.190 ± 0.048 |
HSI1d | 1 | 0.273 ± 0.060 | 0.186 ± 0.022 | 0.181 ± 0.022 |
2 | 0.296 ± 0.088 | 0.220 ± 0.029 | 0.247 ± 0.122 |
3 | 0.355 ± 0.096 | 0.262 ± 0.082 | 0.317 ± 0.164 |
HSI1w | 1 | 0.284 ± 0.007 | 0.341 ± 0.020 | 0.315 ± 0.031 |
2 | 0.292 ± 0.048 | 0.279 ± 0.048 | 0.251 ± 0.076 |
3 | 0.282 ± 0.040 | 0.294 ± 0.071 | 0.272 ± 0.029 |
Table 5.
Performance comparison of different numbers of stacked SSM layers across various datasets, using different time-series sample counts (l), as evaluated by ASR. Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Table 5.
Performance comparison of different numbers of stacked SSM layers across various datasets, using different time-series sample counts (l), as evaluated by ASR. Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Dataset | Layer Num | | | |
---|
DJIA1d | 1 | 0.559 ± 0.004 | 0.582 ± 0.014 | 0.589 ± 0.020 |
2 | 0.573 ± 0.025 | 0.613 ± 0.036 | 0.630 ± 0.040 |
3 | 0.569 ± 0.014 | 0.596 ± 0.046 | 0.614 ± 0.054 |
DJIA1w | 1 | 0.635 ± 0.008 | 0.654 ± 0.006 | 0.661 ± 0.006 |
2 | 0.646 ± 0.024 | 0.662 ± 0.018 | 0.665 ± 0.014 |
3 | 0.639 ± 0.037 | 0.658 ± 0.026 | 0.670 ± 0.023 |
HSI1d | 1 | 0.763 ± 0.093 | 0.713 ± 0.043 | 0.685 ± 0.036 |
2 | 0.808 ± 0.142 | 0.768 ± 0.040 | 0.792 ± 0.147 |
3 | 0.948 ± 0.141 | 0.818 ± 0.105 | 0.880 ± 0.213 |
HSI1w | 1 | 0.859 ± 0.012 | 0.950 ± 0.033 | 0.886 ± 0.041 |
2 | 0.868 ± 0.060 | 0.899 ± 0.065 | 0.793 ± 0.113 |
3 | 0.856 ± 0.069 | 0.905 ± 0.052 | 0.827 ± 0.041 |
Table 6.
Performance comparison of different numbers of stacked SSM layers across various datasets, using different time-series sample counts (l), as evaluated by ACR. Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Table 6.
Performance comparison of different numbers of stacked SSM layers across various datasets, using different time-series sample counts (l), as evaluated by ACR. Bold values indicate the best result in each group of comparisons, and underlined values indicate the suboptimal result.
Dataset | Layer Num | | | |
---|
DJIA1d | 1 | 0.309 ± 0.004 | 0.310 ± 0.012 | 0.316 ± 0.010 |
2 | 0.313 ± 0.015 | 0.345 ± 0.025 | 0.354 ± 0.029 |
3 | 0.314 ± 0.006 | 0.336 ± 0.032 | 0.343 ± 0.041 |
DJIA1w | 1 | 0.428 ± 0.016 | 0.483 ± 0.014 | 0.508 ± 0.026 |
2 | 0.499 ± 0.075 | 0.555 ± 0.101 | 0.515 ± 0.066 |
3 | 0.476 ± 0.089 | 0.604 ± 0.190 | 0.611 ± 0.169 |
HSI1d | 1 | 0.633 ± 0.128 | 0.603 ± 0.080 | 0.553 ± 0.059 |
2 | 0.728 ± 0.217 | 0.688 ± 0.068 | 0.762 ± 0.245 |
3 | 0.914 ± 0.210 | 0.780 ± 0.186 | 0.908 ± 0.306 |
HSI1w | 1 | 1.159 ± 0.047 | 1.479 ± 0.088 | 1.206 ± 0.178 |
2 | 1.189 ± 0.142 | 1.282 ± 0.182 | 0.830 ± 0.178 |
3 | 1.209 ± 0.220 | 1.291 ± 0.278 | 0.979 ± 0.200 |
Table 7.
Performance comparison (AR) of algorithms with and without cross-asset regime fusion across various datasets and time-series sample counts (l). Bold values indicate the best result in each comparison group. Bold values indicate the best result in each comparison group. (✔) means with cross-asset regime fusion, and (×) means without.
Table 7.
Performance comparison (AR) of algorithms with and without cross-asset regime fusion across various datasets and time-series sample counts (l). Bold values indicate the best result in each comparison group. Bold values indicate the best result in each comparison group. (✔) means with cross-asset regime fusion, and (×) means without.
Dataset | Fusion | | | |
---|
DJIA1d | × | 0.100 ± 0.004 | 0.103 ± 0.007 | 0.112 ± 0.005 |
✔ | 0.109 ± 0.008 | 0.121 ± 0.012 | 0.127 ± 0.013 |
DJIA1w | × | 0.145 ± 0.006 | 0.158 ± 0.003 | 0.166 ± 0.006 |
✔ | 0.161 ± 0.015 | 0.170 ± 0.026 | 0.157 ± 0.017 |
HSI1d | × | 0.192 ± 0.033 | 0.171 ± 0.008 | 0.171 ± 0.006 |
✔ | 0.296 ± 0.088 | 0.220 ± 0.029 | 0.247 ± 0.122 |
HSI1w | × | 0.244 ± 0.015 | 0.305 ± 0.015 | 0.257 ± 0.016 |
✔ | 0.292 ± 0.048 | 0.279 ± 0.048 | 0.251 ± 0.076 |
Table 8.
Performance comparison (ASR) of algorithms with and without cross-asset regime fusion across various datasets and time-series sample counts (l). Bold values indicate the best result in each comparison group. (✔) means with cross-asset regime fusion, and (×) means without.
Table 8.
Performance comparison (ASR) of algorithms with and without cross-asset regime fusion across various datasets and time-series sample counts (l). Bold values indicate the best result in each comparison group. (✔) means with cross-asset regime fusion, and (×) means without.
Dataset | Fusion | | | |
---|
DJIA1d | × | 0.557 ± 0.002 | 0.563 ± 0.010 | 0.578 ± 0.013 |
✔ | 0.573 ± 0.025 | 0.613 ± 0.036 | 0.630 ± 0.040 |
DJIA1w | × | 0.642 ± 0.006 | 0.661 ± 0.004 | 0.668 ± 0.004 |
✔ | 0.646 ± 0.024 | 0.662 ± 0.018 | 0.665 ± 0.014 |
HSI1d | × | 0.647 ± 0.041 | 0.678 ± 0.013 | 0.655 ± 0.015 |
✔ | 0.808 ± 0.142 | 0.768 ± 0.040 | 0.792 ± 0.147 |
HSI1w | × | 0.816 ± 0.019 | 0.909 ± 0.019 | 0.836 ± 0.026 |
✔ | 0.868 ± 0.060 | 0.899 ± 0.065 | 0.793 ± 0.113 |
Table 9.
Performance comparison (ACR) of algorithms with and without cross-asset regime fusion across various datasets and time-series sample counts (l). Bold values indicate the best result in each comparison group. Bold values indicate the best result in each comparison group. (✔) means with cross-asset regime fusion, and (×) means without.
Table 9.
Performance comparison (ACR) of algorithms with and without cross-asset regime fusion across various datasets and time-series sample counts (l). Bold values indicate the best result in each comparison group. Bold values indicate the best result in each comparison group. (✔) means with cross-asset regime fusion, and (×) means without.
Dataset | Fusion | | | |
---|
DJIA1d | × | 0.308 ± 0.001 | 0.307 ± 0.002 | 0.308 ± 0.007 |
✔ | 0.313 ± 0.015 | 0.345 ± 0.025 | 0.354 ± 0.029 |
DJIA1w | × | 0.446 ± 0.019 | 0.474 ± 0.049 | 0.524 ± 0.019 |
✔ | 0.499 ± 0.075 | 0.555 ± 0.101 | 0.515 ± 0.066 |
HSI1d | × | 0.485 ± 0.063 | 0.557 ± 0.024 | 0.521 ± 0.024 |
✔ | 0.728 ± 0.217 | 0.688 ± 0.068 | 0.762 ± 0.245 |
HSI1w | × | 1.006 ± 0.044 | 1.311 ± 0.062 | 0.963 ± 0.086 |
✔ | 1.189 ± 0.142 | 1.282 ± 0.182 | 0.830 ± 0.160 |
Table 10.
Performance comparison (AR) of different methods across various datasets. The best and second best results are marked by bold and underlined values, respectively.
Table 10.
Performance comparison (AR) of different methods across various datasets. The best and second best results are marked by bold and underlined values, respectively.
Method | DJIA1d | DJIA1w | HSI1d | HSI1w |
---|
CRP | 0.104 | 0.104 | 0.021 | 0.012 |
BAH | 0.093 | 0.092 | 0.014 | 0.007 |
EG | 0.104 | 0.104 | 0.020 | 0.012 |
OLMAR | −0.102 | −0.042 | −0.240 | 0.316 |
RMR | −0.211 | 0.024 | −0.229 | 0.508 |
BNN | 0.079 | −0.171 | −0.095 | −0.171 |
CORN | −0.075 | −0.069 | −0.184 | −0.314 |
CNN EIIE | 0.114 ± 0.012 | 0.138 ± 0.028 | 0.082 ± 0.065 | 0.130 ± 0.094 |
bRNN EIIE | 0.097 ± 0.006 | 0.122 ± 0.003 | 0.043 ± 0.013 | 0.107 ± 0.040 |
RAT | 0.103 ± 0.002 | 0.124 ± 0.003 | 0.149 ± 0.013 | 0.215 ± 0.045 |
HGAM | 0.103 ± 0.000 | 0.170 ± 0.056 | 0.078 ± 0.061 | 0.241 ± 0.110 |
LSRE-CAAN | 0.119 ± 0.000 | 0.102 ± 0.029 | 0.011 ± 0.007 | 0.009 ± 0.000 |
PortRSMs | 0.121 ± 0.012 | 0.170 ± 0.026 | 0.220 ± 0.029 | 0.279 ± 0.048 |
Table 11.
Performance comparison (ASR) of different methods across various datasets. The best and second best results are marked by bold and underlined values, respectively.
Table 11.
Performance comparison (ASR) of different methods across various datasets. The best and second best results are marked by bold and underlined values, respectively.
Method | DJIA1d | DJIA1w | HSI1d | HSI1w |
---|
CRP | 0.561 | 0.595 | 0.204 | 0.156 |
BAH | 0.520 | 0.551 | 0.171 | 0.134 |
EG | 0.559 | 0.593 | 0.202 | 0.154 |
OLMAR | −0.034 | 0.177 | −0.262 | 0.815 |
RMR | −0.353 | 0.297 | −0.225 | 1.116 |
BNN | 0.388 | −0.328 | 0.059 | −0.216 |
CORN | −0.092 | −0.108 | −0.185 | −0.542 |
CNN EIIE | 0.584 ± 0.022 | 0.635 ± 0.032 | 0.398 ± 0.193 | 0.523 ± 0.287 |
bRNN EIIE | 0.557 ± 0.001 | 0.625 ± 0.005 | 0.308 ± 0.056 | 0.516 ± 0.081 |
RAT | 0.560 ± 0.001 | 0.620 ± 0.002 | 0.644 ± 0.041 | 0.805 ± 0.102 |
HGAM | 0.559 ± 0.000 | 0.669 ± 0.034 | 0.428 ± 0.216 | 0.814 ± 0.176 |
LSRE-CAAN | 0.564 ± 0.000 | 0.508 ± 0.094 | 0.182 ± 0.004 | 0.149 ± 0.000 |
PortRSMs | 0.613 ± 0.036 | 0.662 ± 0.018 | 0.768 ± 0.040 | 0.899 ± 0.065 |
Table 12.
Performance comparison (ACR) of different methods across various datasets. The best and second best results are marked by bold and underlined values, respectively.
Table 12.
Performance comparison (ACR) of different methods across various datasets. The best and second best results are marked by bold and underlined values, respectively.
Method | DJIA1d | DJIA1w | HSI1d | HSI1w |
---|
CRP | 0.310 | 0.332 | 0.067 | 0.043 |
BAH | 0.279 | 0.297 | 0.039 | 0.023 |
EG | 0.309 | 0.330 | 0.065 | 0.042 |
OLMAR | −0.149 | 0.064 | −0.294 | 0.963 |
RMR | −0.304 | 0.036 | −0.286 | 1.305 |
BNN | 0.135 | −0.239 | 0.124 | −0.235 |
CORN | −0.154 | −0.118 | −0.240 | −0.377 |
CNN EIIE | 0.312 ± 0.005 | 0.462 ± 0.070 | 0.268 ± 0.206 | 0.452 ± 0.326 |
bRNN EIIE | 0.309 ± 0.002 | 0.395 ± 0.004 | 0.150 ± 0.047 | 0.399 ± 0.069 |
RAT | 0.308 ± 0.001 | 0.402 ± 0.004 | 0.514 ± 0.045 | 0.856 ± 0.209 |
HGAM | 0.308 ± 0.000 | 0.578 ± 0.191 | 0.274 ± 0.204 | 0.870 ± 0.316 |
LSRE-CAAN | 0.307 ± 0.000 | 0.292 ± 0.078 | 0.062 ± 0.022 | 0.025 ± 0.000 |
PortRSMs | 0.345 ± 0.025 | 0.555 ± 0.101 | 0.688 ± 0.068 | 1.282 ± 0.182 |