Я бы предположил, что будет модель, определяющая прибыльность транзакций, и что будет вероятностный компонент прибыльности данной транзакции.
Затем необходимо извлечь реализации из соответствующего распределения для этого вероятностного компонента и рассчитать прибыльность для всех введенных транзакций. Очевидно, что нужно также подумать о том, какие транзакции будут заключаться: зачем вводить транзакцию, которая не является ex ante прибыльной по некоторому критерию? Но я не знаю достаточно, чтобы прокомментировать это.
Будьте осторожны, чтобы не использовать встроенный RNG: В Windows , который в основном даст вам только 32768 возможных значений .
Вот глупый пример:
#!/usr/bin/perl
use strict; use warnings;
use List::Util qw( sum );
my @projects = map { mk_project() } 1 .. 1_000;
for my $i (1 .. 10) {
my $r = rand;
my @profits = map { $_->($r) } @projects;
my $avg_profits = sum( @profits ) / @profits;
my $n_profitable = grep { $_ >= 0 } @profits;
print "Profits: $avg_profits\tProfitable: $n_profitable\n";
}
sub mk_project {
my $m = rand;
return sub {
my ($r) = @_;
return 10*($r - $m);
}
}