tarf_monte_carlo 3.57 → 3.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/tarf_monte_carlo/tarf_monte_carlo.c +12 -0
- data/lib/tarf_monte_carlo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 393bd0b02941349be6693349a14b57a276a0dd46de997ce6bf467556a0ddeb4b
|
4
|
+
data.tar.gz: 98742767158d8b544991ce09bc8a532e8e3a67430ee71fda21de47cc49af400c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 983d134a318259bce1eb74760cb481c0cb185f341927900907b7df581ea2b1dbd8d5c05304833d1e38e6fa93b3d056eb4de58e42bf542b5c55537452869aa7a2
|
7
|
+
data.tar.gz: dad8cb62f6b347d2f3719009c7393a30245a24b33cfb85c941467d86215b62334cd505da1f3ca0588422cc700184ac48eb327cf4b409e2d9bbfbd9708a9fe08f
|
@@ -502,6 +502,12 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
|
|
502
502
|
sim_dash_pos[legIndex_dash] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim_dash[legIndex_dash], dir_sign);
|
503
503
|
}
|
504
504
|
}
|
505
|
+
if ((point_pos < DATAPOINTS) && (sim_count % INTERVAL) == 0){
|
506
|
+
metrics[0][point_pos] = sim[NL-1];
|
507
|
+
metrics[1][point_pos] = *( Xs_array + 0 );
|
508
|
+
metrics[0][point_pos+1] = sim_dash[NL-1];
|
509
|
+
metrics[1][point_pos+1] = *( Xs_array + 0 );
|
510
|
+
}
|
505
511
|
} else if(KType == FX_AMERICAN_BARRIER_BINARY_OUT_DISCRETE || KType == FX_AMERICAN_BARRIER_BINARY_CALLPUT_OUT_DISCRETE){
|
506
512
|
if(knockedLeg == -1){
|
507
513
|
int itm = true;
|
@@ -528,6 +534,12 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
|
|
528
534
|
sim_dash_pos[NL - 1] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim_dash[NL - 1], dir_sign);
|
529
535
|
}
|
530
536
|
}
|
537
|
+
if ((point_pos < DATAPOINTS) && (sim_count % INTERVAL) == 0){
|
538
|
+
metrics[0][point_pos] = sim[NL-1];
|
539
|
+
metrics[1][point_pos] = *( Xs_array + 0 );
|
540
|
+
metrics[0][point_pos+1] = sim_dash[NL-1];
|
541
|
+
metrics[1][point_pos+1] = *( Xs_array + 0 );
|
542
|
+
}
|
531
543
|
} else if(KType == FX_AMERICAN_BARRIER_KIKO_UNTIL_EXP){
|
532
544
|
if(knockedLeg2 >= 0){
|
533
545
|
sim_pos[NL-1] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim[NL-1], dir_sign);
|