1928年から2017年までの各暦年の架空のS&P 500株価指数ファンドの年次リターンを乗数で表したものです。したがって、1928年に「インデックスは37.88%上昇した」と言うかもしれませんが、ここでは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
出典:https : //www.macrotrends.net/2526/sp-500-historical-annual-returns
チャレンジ
入力として与えられる:
- 年間収益の配列(ただし、以下の規則2を参照)
- 配列のの正数(投資期間の各年に投資する金額)
Xに金額を投資するために「連続した」連続期間が何であったかを出力するプログラムまたは関数を記述します。ここで、
- 各金額は年の初めに投資されます。
- 各年の後に残ったものは、その後の各年の初めに再投資されます。
- 「最高」とは、年の期間の終わりに最大の金額を意味します。
ルール
これはcode-golfなので、各言語で最も少ないバイト数が優先されます。標準ルールが適用されます。説明が奨励されました。
私が年次リターンの配列を表現した方法が気に入らない場合は、それらを好みの90数値の他の配列に変更できます。
同点の場合、正解のいずれかまたはすべてを出力します。
計算例
1928年、1929年、および1930年にこれらの金額を投資した場合(1-インデックス1、2、および3)、最終的に42743.10になります。悲しい。
しかし、これらの金額を2014年、2015年、および2016年に投資した場合(1-インデックス87、88、および89)、最終的には66722.66になります。少し良く。
これらの金額を投資するのに最適な 3年間は1995年、1996年、および1997年(1インデックス68、69、および70)であり、91942.91になります。いいね。
テストケース
1インデックス、最適期間の最初の年
[ 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