## Introduction

The idea behind projections is to take current data, match it with some previous data using some algorithm, then, as outcomes are known for previous data, we can use such information for statistical future projections of current data. Such analysis is done in Quantitative And Machine Learning Asset Analysis.

Here, we use projections to construct weights for a specified portfolio. Note that we did this in Computing Portfolio Weights From Machine Learning Projections using recent stock and ETF data. Now we use futures data instead. Specifically, our calibration data is composed of 41 continuous futures contracts with the earliest data from 1991.

## Preparing Calibration Data

- Transform data into arrays of dual moving averages (DMA). (21 day MA – N day MA)/N day MA, where N=42, 63, …, 189, 210.
- The DMA data is scaled and outliers are handled via robust scaling.
- Compute 63 day forward percent returns.
- Subsample the data. Choose 50,000 total data points, divide by the number of years of data to obtain data points per year. For each year, randomly shuffle the data and choose this number.

## Preparing Current Data And Computing Projection Weights

- Choose a portfolio. We use the 2023 Dogs Of The Dow.
- Apply steps 1 and 2 above.
- Apply the nearest neighbors algorithm. For each current data point, find the 50 nearest neighbors in the calibration data. Below we show percentiles of the 63 day percent returns of the 50 matches, as well as up and down %, median up and down percent returns, and expectancy: (up fraction*median up) – (down fraction*abs(median down)).
- Long Short weights = expectancy/sum(abs(expectancies))
- Long Conservative weights = same as long short weights, but negative weights are set to 0.0 and the residual is assigned to cash.
- Long Aggressive weights = positive expectancy/sum(positive expectancies), negative expectancies are set to weight = 0.0, no cash.

## Nearest Neighbor Projections

Name | Close | 10th Pctl | 20th Pctl | 30th Pctl | 40th Pctl | 50th Pctl | 60th Pctl | 70th Pctl | 80th Pctl | 90th Pctl | Expectancy | Up % | Down % | Median Up | Median Down | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

VZ | Verizon Communications | 33.36 | -17.512 | -11.437 | -4.277 | -1.044 | 0.576 | 4.532 | 6.893 | 10.295 | 14.01 | -0.678 | 56.0 | 44.0 | 7.478 | -11.058 |

DOW | Dow | 55.45 | -3.087 | -1.767 | -0.124 | 0.194 | 1.814 | 3.993 | 5.5 | 8.348 | 10.003 | 2.64 | 66.0 | 34.0 | 4.924 | -1.794 |

INTC | Intel | 34.89 | -7.905 | -0.593 | 0.497 | 3.873 | 5.39 | 9.063 | 11.807 | 13.883 | 21.829 | 6.266 | 72.0 | 28.0 | 10.308 | -4.127 |

WBA | Walgreens Boots Alliance | 29.35 | -10.869 | -8.085 | -5.378 | -1.731 | 3.878 | 4.909 | 7.325 | 8.448 | 35.568 | 0.835 | 54.0 | 46.0 | 7.751 | -7.285 |

MMM | 3M | 104.55 | -11.755 | -7.77 | -4.785 | -2.11 | -1.243 | 0.19 | 4.728 | 7.244 | 9.648 | -0.306 | 42.0 | 58.0 | 7.148 | -5.704 |

IBM | International Business Machines | 143.12 | -7.138 | -5.585 | -3.539 | -1.769 | 0.814 | 1.908 | 3.048 | 8.174 | 14.302 | -0.042 | 56.0 | 44.0 | 4.138 | -5.362 |

AMGN | Amgen | 262.51 | -11.307 | -7.164 | -4.207 | -1.597 | -0.509 | 4.404 | 5.504 | 7.04 | 12.51 | 0.058 | 48.0 | 52.0 | 6.276 | -5.682 |

CSCO | Cisco Systems | 53.79 | -7.342 | -4.296 | -2.763 | -0.154 | 2.139 | 3.305 | 5.558 | 7.573 | 10.16 | 1.661 | 58.0 | 42.0 | 5.788 | -4.039 |

CVX | Chevron | 164.15 | -6.367 | -5.518 | -4.252 | -3.793 | -1.733 | -0.206 | 0.361 | 1.755 | 3.932 | -1.793 | 40.0 | 60.0 | 1.901 | -4.256 |

JPM | JPMorgan Chase & Co. | 154.45 | -9.24 | -6.284 | -3.371 | -0.75 | 2.818 | 4.326 | 7.487 | 13.507 | 17.173 | 1.9 | 58.0 | 42.0 | 7.779 | -6.218 |

## Portfolio Weights

VZ | DOW | INTC | WBA | MMM | IBM | AMGN | CSCO | CVX | JPM | Cash | |
---|---|---|---|---|---|---|---|---|---|---|---|

Long Short | -0.0419 | 0.1632 | 0.3873 | 0.0516 | -0.0189 | -0.0026 | 0.0036 | 0.1026 | -0.1108 | 0.1175 | 0.0 |

Long Conservative | 0.0 | 0.1632 | 0.3873 | 0.0516 | 0.0 | 0.0 | 0.0036 | 0.1026 | 0.0 | 0.1175 | 0.1742 |

Long Aggressive | 0.0 | 0.1976 | 0.469 | 0.0625 | 0.0 | 0.0 | 0.0043 | 0.1243 | 0.0 | 0.1422 | 0.0 |

## Remarks

This method of portfolio construction allows users to express their views by choosing: data representation (Bollinger Band array, zscore, fractional return series, etc.), data length, type of calibration data, projection days, constructing weights from different types of projections (50th percentile return, up/down %, median up/down percent return delta, etc.). Thus we can generate a wide range of possible portfolio weights as an aid in constructing promising portfolios.