Hier sind die jährlichen Renditen für einen hypothetischen S & P 500-Aktienindexfonds für jedes Kalenderjahr von 1928 bis 2017, ausgedrückt als Multiplikator. Man könnte also sagen, dass der Index 1928 um 37,88% gestiegen ist, was ich hier mit 1,3788 dargestellt habe.
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
Quelle: https://www.macrotrends.net/2526/sp-500-historical-annual-returns
Herausforderung
Als Eingabe angegeben:
- die Reihe der jährlichen Renditen (siehe jedoch Regel 2. unten)
- ein Array von positiven Zahlen (die Beträge, in die in jedem Jahr des Investitionszeitraums investiert werden soll)
Schreiben Sie ein Programm oder eine Funktion, die den "besten" Zeitraum in Folge ausgibt, in dem die Beträge in investiert wurden , wobei:
- Jeder Betrag wird zu Beginn eines Jahres angelegt.
- Alles, was nach jedem Jahr übrig bleibt, wird zu Beginn jedes folgenden Jahres reinvestiert.
- "am besten" bedeutet den größten Betrag am Ende des Jahres-Zeitraums.
Regeln
Dies ist Code-Golf , also gewinnen die wenigsten Bytes in jeder Sprache. Es gelten Standardregeln. Erklärungen erwünscht.
Wenn Ihnen die Darstellung der jährlichen Renditen nicht gefällt, können Sie sie in eine beliebige andere Reihe von 90 Zahlen ändern, die Sie bevorzugen.
Sie können den besten Jahreszeitraum auf beliebige konsistente Weise ausgeben (z. B. 0-indexiert oder 1-indexiert, das erste und / oder das letzte investierte Jahr usw.), aber Sie müssen angeben, was Ihre Ausgabe darstellt, wenn dies nicht der Fall ist. nicht offensichtlich.
Geben Sie im Falle eines Unentschieden einige oder alle richtigen Antworten aus.
Beispielberechnung
Angenommen, .
Wenn Sie diese Beträge in den Jahren 1928, 1929 und 1930 (die 1-Indizes 1, 2 und 3) investiert hätten, wären Sie zu 42743,10 gekommen. Traurig.
Wenn Sie diese Beträge jedoch in den Jahren 2014, 2015 und 2016 (die 1-Indizes 87, 88 und 89) investiert hätten, wären Sie zu 66722,66 gekommen. Ein bisschen besser.
Es stellte sich heraus, dass der beste Dreijahreszeitraum für die Anlage dieser Beträge 1995, 1996 und 1997 gewesen wäre (1-Indizes 68, 69 und 70), was zu 91942,91 führte. Nett.
Testfälle
1-indexiertes erstes Jahr des optimalen Zeitraums
[ 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