#!/usr/bin/perl

use 5.038;

# intentando predecir el signo del movimiento browniano con el dato de la mitad del recorrido 

my $iter = 1000;

my $N = 100;

my $brown;
my $pred;
my $sum;
for my $j (1.. $iter){
    $brown = 0;
    $pred = 0;
    for my $i (1 .. $N){
	$brown += 0.01*rand()-0.005;
	if ($i == 50){
	    if ($brown >= 0){
		$pred = 1;
	    }else{
		$pred = 0;
	    }
	}elsif ($i == 100){
	    if ($brown >= 0){
		$sum += abs($pred-1);
	    }else{
		$sum += abs($pred-0);
	    }
	}
    }
}
say "Prediccion acertada = ",100*($iter-$sum)/$iter, "%";

exit 2;

__END__

La conclusión puede tener 2 lecturas:
  a) Sí se predice alrededor del 75% de los casos, luego es un 25% más que por casualidad
  b) No se predice más de lo previsto porque 50% casualidad + 25% ya recorrido del periodo
  + 25% de error = 100% El error es tan grande como lo previsto por recorrido.
Filosóficamente, aunque la inversión se haga en t=0, al tener el dato de t=50, es en ese 
  momento cuando tiramos la moneda por así decirlo, por lo que habría más razón en b) 
  (Teoría del random walk).

