Estos son los rendimientos anuales de un hipotético fondo de índice de acciones S&P 500 para cada año calendario de 1928 a 2017, expresado como un multiplicador. Entonces, en 1928, podría decir "el índice subió un 37.88%", que he representado aquí por 1.3788.
1.3788, 0.8809, 0.7152, 0.5293, 0.8485, 1.4659, 0.9406, 1.4137, 1.2792, 0.6141, 1.2521, 0.9455, 0.8471, 0.8214, 1.1243, 1.1945, 1.138, 1.3072, 0.8813, 1, 0.9935, 1.1026, 1.2178, 1.1646, 1.1178, 0.9338, 1.4502, 1.264, 1.0262, 0.8569, 1.3806, 1.0848, 0.9703, 1.2313, 0.8819, 1.1889, 1.1297, 1.0906, 0.8691, 1.2009, 1.0766, 0.8864, 1.001, 1.1079, 1.1563, 0.8263, 0.7028, 1.3155, 1.1915, 0.885, 1.0106, 1.1231, 1.2577, 0.9027, 1.1476, 1.1727, 1.014, 1.2633, 1.1462, 1.0203, 1.124, 1.2725, 0.9344, 1.2631, 1.0446, 1.0706, 0.9846, 1.3411, 1.2026, 1.3101, 1.2667, 1.1953, 0.8986, 0.8696, 0.7663, 1.2638, 1.0899, 1.03, 1.1362, 1.0353, 0.6151, 1.2345, 1.1278, 1, 1.1341, 1.296, 1.1139, 0.9927, 1.0954, 1.1942
Fuente: https://www.macrotrends.net/2526/sp-500-historical-annual-returns
Desafío
Dado como entradas:
- el conjunto de rendimientos anuales (pero vea la Regla 2. a continuación)
- una matriz de números positivos (las cantidades a invertir en cada año del período de inversión)
escriba un programa o función que genere lo que habría sido el "mejor" período consecutivo de para haber invertido las cantidades en , donde:
- cada cantidad se invierte al comienzo de un año.
- todo lo que queda después de cada año se reinvierte al comienzo de cada año posterior.
- "mejor" significa la cantidad más grande al final del período de años.
Reglas
Este es el código de golf , por lo que gana la menor cantidad de bytes en cada idioma. Aplican reglas estándar. Explicaciones alentadas.
Si no le gusta la forma en que he representado el conjunto de rendimientos anuales, puede cambiarlos a cualquier otro conjunto de 90 números que prefiera.
Puede generar el mejor período de años de cualquier manera coherente (p. Ej., Indexado 0 o indexado, el primer y / o último año que invirtió, etc.) pero necesita decir qué representa su producción si no es t obvio.
En caso de empate, envíe cualquiera o todas las respuestas correctas.
Ejemplo de cálculo
Supongamos que .
Si hubiera invertido estos montos en 1928, 1929 y 1930 (los índices 1 1, 2 y 3), habría terminado con 42743.10. Triste.
Pero si hubiera invertido esos montos en 2014, 2015 y 2016 (los índices 1 87, 88 y 89) habría terminado con 66722.66. Un poco mejor.
Resulta que el mejor período de tres años para haber invertido estas cantidades habría sido 1995, 1996 y 1997 (1-índices 68, 69 y 70), lo que resulta en 91942.91. Agradable.
Casos de prueba
1 índice, primer año de período óptimo
[ 1, 2, 3 ] -> 68
[ 1 ] -> 6
* any array of length 90 * -> 1
[ 1, 1 ] -> 27
[ 1, 2 ] -> 8
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] -> 62
[ 1, 2, 3, 4, 5, 4, 3, 2, 1 ] -> 64
* 1 repeated 20 times * -> 53