これは取るに足らない質問かもしれませんが、残念ながら私はそれを解決することができません。私は50社の株式のポートフォリオを持っています。各企業の特定の日の日付と終値をお知らせします。各企業のデータは、株式が取引されている日付によって異なります。
私はこのコードを使用して、毎日の収益を計算しました。
return=matrix(NA,nrow(companies),ncol(companies)-1)
for (j in 2:52){
k=0
for (i in 1:nrow(companies)){
if (!is.na(companies[i,j]) & k==0) {
base= companies[i,j]
k=k+1
}
else {if ( k==1) {return[i,j-1] = ((companies[i,j]-base)/base)*100}
else {temp=0}
}
}
}
return[1:30,]
ここで、同じポートフォリオの企業の月次リターンを計算したいと思います。これを計算するために使用している式は次のとおりです。
Return = [(Price on Last day of month) - (Price on other day)]*100/(Price on last day of month)
このプロセスを1年に12か月間、12年間繰り返したいと思います(これが私が持っているデータの期間であるため)。この計算を行うためにforループを作成することを計画しています。誰かがこれを手伝ってくれませんか。残念ながら、株価はインド証券取引所からのものであり、quantmodは価格を読み取ることができないため、quantmodパッケージを使用できません。