MonteCarlo: Juego
simulacion<-function(cobro,pago,limInferior,limSup,PosIncial){
contCaras<-0
contCruzes<-0
Saldo<-1
numIteraciones<-0
primeraVez<-T
historicoPosicion=c(1)
while ((contCaras !=contCruzes) | (primeraVez)){
primeraVez<-F
aleatorio<-runif(1,0,1)
Moneda<-ifelse(aleatorio<0.5,T,F) # Si es menor que 0.5 sería cara
if(Moneda){
PosIncial<-PosIncial +1
contCaras<-contCaras+1
}else{
PosIncial<-PosIncial -1
contCruzes<-contCruzes+1
}
historicoPosicion<-c(historicoPosicion,PosIncial)
if(PosIncial==limInferior){
Saldo<-Saldo+cobro}
if(PosIncial==limSup){
Saldo<-Saldo-pago}
numIteraciones<-numIteraciones+1
}
numIteraciones<-numIteraciones+1
salida<-list()
salida$numIteraciones<-numIteraciones
salida$historicoPosicion<-historicoPosicion
salida$Saldo<-Saldo
return(salida)
}
salida<-simulacion(1,3,1,10,1)
grafHistTipoActivo <- highchart() %>%
hc_xAxis(categories=1:length(salida$historicoPosicion)) %>%
hc_add_series(name = 'camino', data = salida$historicoPosicion,color='#C65302') %>%
hc_add_theme(hc_theme_gridlight()) %>%
hc_title(text = "Posición en cada iteración") %>%
hc_subtitle(text = paste0("Saldo Final: ",salida$Saldo) ) %>% hc_tooltip(crosshairs = TRUE,backgroundColor="#EBF1DE") %>%
hc_plotOptions(
series = list(
states = list(hover = list(halo = list(size = 20)))
)
) %>%
hc_exporting(enabled = TRUE,filename = "juegoAleatorio")
Simulación:
vectorSalida<-rep(0,250)
for(j in 1:250){
salida<-simulacion(1,3,1,10,1)
vectorSalida[j]<-salida$Saldo
}
s<-highchart() %>% hc_xAxis(categories=1:250) %>%
hc_add_series(categories=vectorSalida)
colorlista<-ifelse(vectorSalida>0,'#04B404','#FF0000')
VM<-mean(vectorSalida)
SUMA<-sum(vectorSalida)
highchart() %>%
hc_xAxis(categories=1:length(vectorSalida)) %>%
hc_title(text = "Valor final para -250 simulaciones-") %>%
hc_subtitle(text = paste0("Valor Medio: ",VM,'/ Ganancia Acumulada: ',SUMA ) ) %>%
hc_add_series(name = 'Saldo Final', data = vectorSalida,color='#0404B4',type='column')