Ancient
view release on metacpan or search on metacpan
t/9053-nvec-valid-finance.t view on Meta::CPAN
# Correlation â dot(r1, r2) / (n-1) for standardized data
my $n = $r1->len();
my $corr = $r1->dot($r2) / ($n - 1);
# Should be positive (similar patterns)
ok($corr > 0, 'positive correlation for similar patterns');
ok($corr < 1, 'correlation < 1');
};
subtest 'value at risk (VaR) - percentile approach' => sub {
# Simulated returns (sorted for percentile)
my $returns = nvec::new([-0.05, -0.03, -0.02, -0.01, 0, 0.01, 0.02, 0.03, 0.04, 0.05]);
# 5% VaR: 5th percentile of returns
my $sorted = $returns->sort();
my $var_5pct = $sorted->get(0); # Worst return in this sample
within_tolerance($var_5pct, -0.05, 'VaR 5% = worst return');
};
subtest 'position sizing' => sub {
my $portfolio_value = 100000;
my $risk_per_trade = 0.01; # 1% risk
( run in 2.031 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )