4

いくつかの金融取引のためにモンテカルロ シミュレータを作成する必要があります。入力は次のようになります。

  • 最終的に収益を上げたトランザクションの平均パーセント
  • トランザクションあたりの平均利益
  • 期間ごとのトランザクション数

Math::Random::MT::Auto Perl モジュールを見てきましたが、シミュレーターへの入力を定式化する方法がわかりません。

私が取り組んでいるインプットを踏まえて、始めるにあたって誰かアドバイスをいただけますか?

4

1 に答える 1

5

トランザクションの収益性を決定するモデルがあり、特定のトランザクションの収益性の確率的要素があると思います。

次に、その確率コンポーネントの適切な分布から実現を引き出し、入力されたすべてのトランザクションの収益性を計算する必要があります。明らかに、どの取引が開始されるかについても考える必要があります。なぜ、何らかの基準に従って事前に利益を上げられない取引を開始するのでしょうか? しかし、私はそれについてコメントするのに十分な知識がありません。

組み込みの 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);
    }
}
于 2010-09-29T15:44:08.497 に答える