格路例如,如果我有一個格子,看起來像這樣:生成中的R
133.1
/
121
/\
110 108.9
/\/
100 99
\/\
90 89.1
\/
81
\
72.9
凡格從100開始,要麼用因子1.1上升,並用係數0.9下降。這個格子有3個週期,在這個週期中上升或下降。很明顯,這個矩陣可以填充更多的時間段。
矩陣形式的格子看起來是這樣的:
[,1] [,2] [,3] [,4]
[1,] 100 110 121 133.1
[2,] NA 90 99 108.9
[3,] NA NA 81 89.1
[4,] NA NA NA 72.9
我在工作R.的代碼來生成格矩陣如下:
#Parameters
S0 <- 100 #price at t0
u <- 1.1 #up factor
d <- 0.9 #down factor
n <- 3 #number of periods
#Matrix for the prices
prices <- matrix(data=NA, nrow=(n+1), ncol=(n+1))
prices[1,1] <- S0
#Fill the matrix
for(column in 2:(n+1)){
for(row in 1:(column-1)){
prices[row,column] <- u*prices[row,column-1];
}
prices[column,column] <- d*prices[column-1,column-1];
}
我想創建一個代碼生成一個矩陣,其中包含所有可能的路徑。在這個例子中,它應該是這樣的:
[,1] [,2] [,3] [,4]
[1,] 100 110 121 133.1
[2,] 100 110 121 108.9
[3,] 100 110 99 108.9
[4,] 100 110 99 89.1
[5,] 100 90 99 108.9
[6,] 100 90 99 89.1
[7,] 100 90 81 89.1
[8,] 100 90 81 72.9
我一直在掙扎着這片現在小時的代碼,所以任何幫助,將不勝感激!提前致謝! :)