# \donttest{
#### an example with a 5-period-lived consumer
np <- 5 # the number of internal periods
interest.rate <- 0.1
S <- matrix(NA, np, np)
S[1:np, np] <- 100 / (np:1)
B <- matrix(0, np, np)
B[2:np, 1:(np - 1)] <- diag(np - 1)
dstl.bank <- list()
for (k in 1:(np - 1)) {
dstl.bank[[k]] <- node_new("output",
type = "Leontief",
a = 1 / (1 + interest.rate),
paste0("payoff", k))
}
dst.consumer <- node_new(
"util",
type = "SCES",
es = 1,
alpha = 1,
beta = prop.table(1:np),
paste0("payoff", 1:np)
)
ge <- sdm2(
A = c(dstl.bank, dst.consumer),
B = B,
S0Exg = S,
names.commodity = paste0("payoff", 1:np),
names.agent = c(paste0("bank", 1:(np - 1)), "consumer"),
numeraire = "payoff1",
policy = makePolicyMeanValue(30),
ts = TRUE
)
ge$p
ge$z
ge$D
ge$S
ge$DV
ge$SV
growth_rate(ge$p)
##
dst.consumer$es <- 0
dst.consumer$beta <- rep(1 / np, np)
S[1:np, np] <- 100 / (1:np)
ge <- sdm2(
A = c(dstl.bank, dst.consumer),
B = B,
S0Exg = S,
names.commodity = paste0("payoff", 1:np),
names.agent = c(paste0("bank", 1:(np - 1)), "consumer"),
numeraire = "payoff1",
policy = makePolicyMeanValue(30),
ts = TRUE
)
ge$p
ge$z
ge$D
ge$S
ge$DV
ge$SV
# }
Run the code above in your browser using DataLab