【发布时间】:2021-05-18 09:09:15
【问题描述】:
我在循环遍历向量中的行时遇到问题。 我的数据集如下所示:
FullDataTest$Prices
[1] 1131.130 1135.260 1136.030 1126.520 1128.590 1142.760 1139.810 1145.540 1157.760 1152.110 1145.810 1156.990
[13] 1151.820 1147.060 1144.110 1140.990 1139.090 1143.670 1144.910 1144.940 1155.960 1149.100 1151.040 1154.880
[25] 1156.870 1147.210 1140.580 1123.890 1106.780 1120.570 1104.490 1110.700 1123.750 1122.320 1109.780 1095.400
[37] 1093.950 1091.330 1109.190 1108.060 1122.470 1127.000 1126.210 1132.170 1141.810 1150.570 1148.160 1140.530
[49] 1139.320 1139.320 1145.200 1129.440 1128.170 1128.840 1134.610 1135.820 1118.150 1124.090 1139.930 1140.600
[61] 1135.530 1138.110 1122.410 1113.890 1107.300 1117.490 1119.550 1121.530 1113.990 1098.700 1087.120 1095.450
[73] 1097.280 1096.440 1095.700 1084.100 1091.490 1088.680 1089.190 1093.560 1095.410 1113.050 1114.940 1121.280
[85] 1120.680 1121.200 1124.990 1116.640 1122.500 1140.420 1142.180 1131.330 1136.470 1136.470 1125.290 1132.010
[97] 1133.560 1132.050 1135.020 1130.300 1134.410 1144.060 1140.650 1134.430 1133.350 1136.200 1140.840 1128.940
[109] 1125.380 1116.210 1118.330 1109.110 1112.810 1114.350 1115.140 1111.470 1106.690 1101.390 1100.900 1108.670
[121] 1093.880 1096.840 1086.200 1084.070 1094.830 1095.420 1100.430 1101.720 1106.620 1099.690 1098.630 1080.700
[133] 1063.970 1065.220 1079.040 1075.790 1063.230 1064.800 1079.340 1081.710 1095.170 1091.230 1098.350 1095.680
[145] 1096.190 1104.960 1105.090 1107.770 1099.150 1104.240 1105.910 1118.310 1113.630 1121.300 1116.270 1118.380
[157] 1123.920 1125.820 1128.330 1120.370 1123.500 1128.550 1122.200 1129.300 1113.560 1108.360 1110.110 1103.520
[169] 1110.060 1114.800 1114.580 1131.500 1135.170 1134.480 1142.050 1130.650 1122.140 1121.840 1113.650 1103.290
[181] 1108.200 1114.020 1103.230 1103.660 1106.490 1095.740 1094.810 1111.090 1125.400 1127.440 1130.200 1130.510
[193] 1130.540 1143.200 1161.670 1166.170 1164.890 1164.080 1162.910 1184.170 1183.810 1175.430 1181.940 1183.550
[205] 1170.340 1177.240 1176.940 1181.760 1182.650 1178.570 1173.820 1191.370 1190.330 1191.170 1190.250 1177.070
[217] 1182.810 1189.240 1188.000 1198.680 1203.380 1205.720 1203.210 1194.220 1194.660 1205.450 1209.570 1210.130
[229] 1210.130 1204.920 1213.540 1213.450 1213.550 1211.920 1202.080 1188.050 1183.740 1187.890 1186.190 1190.250
根据这些价格,我通过 R 代码计算每日日志回报:
log_returns <- diff(log(prices),lag=1)
这工作得很好,我可以在整个数据中获得每日日志返回。
然后我想遍历这些数据,跳过前 125 行,然后计算前 125 天/行的总和。但是,在我跳过 125 天之后。我希望循环前进 1 天/行,并为每一行计算数据集其余部分的过去 125 次每日日志返回的总和。 我似乎无法弄清楚如何做到这一点,并且我在 for 循环中尝试了不同的方法,但都没有工作。 有人可以帮忙吗?
【问题讨论】: