Fiyat trendleri için iç içe foreach döngüleri
Borsa, öngörülemez davranışıyla bilinir. Bir yatırım firmasında çalışıyorsun ve patronun, bir haftalık pencerede hisse senedi fiyatlarındaki trendleri görmek istiyor.
2015'ten bu yana on teknoloji şirketinin günlük hisse senedi fiyat verilerini edindin. Ekibindeki Veri Bilimci regresyon modellerini kuracak kodu sağladı. Bu kodu foreach(), %:% ve %dopar% kullanarak paralelleştirmeyi planlıyorsun.
Yinelemeye tabi tutulacak toplam sütun sayısı çalışma alanında ncols olarak, satır sayısı ise nrows olarak kaydedildi. parallel, doParalel ve foreach paketleri senin için yüklendi. Küme cl kuruldu. İç içe foreach() döngülerini yazman gerekiyor.
Bu egzersiz, kursun bir parçasıdır
R'da Paralel Programlama
Egzersiz talimatları
foreachdöngülerinde kullanılmak üzere kümeyi kaydet.- 1'den
ncols'a kadar sütunlar üzerinde yineleyen, sonuçları"cbind"ile toplayan ve iç içe geçirme operatörünü kullanan bir foreach döngüsü belirt. - 1'den
nrows'a kadar satırlar üzerinde yineleyen, sonuçları"c"ile toplayan ve do-parallel operatörünü kullanan başka bir foreach döngüsü belirt. - Tüm hesaplamalar bittiğinde kümeyi durdur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Register the cluster to use with %dopar%
___
# Use foreach loop to iterate over columns one to ncol
moving_trend <- foreach(___, ___) %:%
# Iterate over rows one to nrows within each column
foreach(___, ___) %dopar% {
prices <- data[row:(row + 6), col]
if (any(is.na(prices))) NA
else {days <- 1:7
model <- lm(prices ~ days)
model$coefficients[2]}
}
# Stop cluster
___
print(paste("Total number of models fit:", sum(!is.na(moving_trend))))