tarf_monte_carlo 3.65 → 3.70

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 707623dec4f74afcf22546eb4e00d1eac103b8f09f9b876b485496f8ee720588
4
- data.tar.gz: f882ae037b74ec0823880a030d71d59f617f8b93ffaaa6d3630078c73e9ceb9e
3
+ metadata.gz: aac96f23c9d9e9a4c66983afc7b7bc7c6d1ae2b982686dad3d76f426ff413bae
4
+ data.tar.gz: e7a775cdac4703922ef797c42c9a56a3780b99004ca43747e390a2c778652dc9
5
5
  SHA512:
6
- metadata.gz: b11a35791403e6999b76ed1a2501d252a3960ccce81fb918119d87453859e15dd1462d2aaa459bba213ec164bf7b0e518d4ed56d93a5823398351722ece66f06
7
- data.tar.gz: e5ae1f9e36514c594aa5b29bced3861a17d7f66951f8c8ba0ae20dfd93ff7c00e5f45b0faff6ed86fcb8d6d5324788072078f866986ce2dc1405e74f63c457cd
6
+ metadata.gz: 403b211c16baa7a9645be1ab217fbbbb7c879c18e439739c9f0ccd773b8a22f8ca4fc2656381d2135af41e2cce92f56a67d23d7883127dad27bf5eb2a5715fd2
7
+ data.tar.gz: fe1f4c219ab019318e3d6675a971a87c9bd7f50e4e759cfe0b48e507bf1ee247bb13c8828a00f70185483aa9d637f59c233f28c46a495739bdedf27ed4d6346d
@@ -555,13 +555,13 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
555
555
  }
556
556
  } else if(KType == FX_AMERICAN_BARRIER_KIKO_UNTIL_EXP){
557
557
  if(knockedLeg2 >= 0){
558
- sim_pos[NL-1] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim[NL-1], dir_sign);
558
+ sim_pos[NL-1] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + knockedLeg2 ) ), sim[NL-1], dir_sign);
559
559
  } else if(knockedLeg >= 0) {
560
560
  double equivalent_notional = *( Ns_array + knockedLeg );
561
561
  sim_pos[NL-1] = european_payoff(( *( Xs_array + (knockedLeg) ) ), sim[NL-1], cp_sign, dir_sign, equivalent_notional);
562
562
  }
563
563
  if(knockedLeg2_dash >= 0){
564
- sim_dash_pos[NL-1] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim_dash[NL-1], dir_sign);
564
+ sim_dash_pos[NL-1] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + knockedLeg2 ) ), sim_dash[NL-1], dir_sign);
565
565
  } else if(knockedLeg_dash >= 0) {
566
566
  double equivalent_notional = *( Ns_array + knockedLeg_dash );
567
567
  sim_dash_pos[NL-1] = european_payoff(( *( Xs_array + (knockedLeg_dash) ) ), sim_dash[NL-1], cp_sign, dir_sign, equivalent_notional);
@@ -581,10 +581,10 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
581
581
  double equivalent_notional = *( Ns_array + knockedLeg );
582
582
  sim_pos[NL-1] = european_payoff(( *( Xs_array + (knockedLeg) ) ), sim[NL-1], cp_sign, dir_sign, equivalent_notional);
583
583
  } else {
584
- sim_pos[knockedLeg2] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim[knockedLeg2], dir_sign);
584
+ sim_pos[knockedLeg2] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + knockedLeg2 ) ), sim[knockedLeg2], dir_sign);
585
585
  }
586
586
  } else if(knockedLeg2 >= 0){
587
- sim_pos[knockedLeg2] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim[knockedLeg2], dir_sign);
587
+ sim_pos[knockedLeg2] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + knockedLeg2 ) ), sim[knockedLeg2], dir_sign);
588
588
  } else if(knockedLeg >= 0) {
589
589
  double equivalent_notional = *( Ns_array + knockedLeg );
590
590
  sim_pos[NL-1] = european_payoff(( *( Xs_array + (knockedLeg) ) ), sim[NL-1], cp_sign, dir_sign, equivalent_notional);
@@ -595,10 +595,10 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
595
595
  double equivalent_notional = *( Ns_array + knockedLeg_dash );
596
596
  sim_dash_pos[NL-1] = european_payoff(( *( Xs_array + (knockedLeg_dash) ) ), sim_dash[NL-1], cp_sign, dir_sign, equivalent_notional);
597
597
  } else {
598
- sim_dash_pos[knockedLeg2_dash] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim_dash[knockedLeg2_dash], dir_sign);
598
+ sim_dash_pos[knockedLeg2_dash] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + knockedLeg2_dash ) ), sim_dash[knockedLeg2_dash], dir_sign);
599
599
  }
600
600
  } else if(knockedLeg2_dash >= 0){
601
- sim_dash_pos[knockedLeg2_dash] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + 0 ) ), sim_dash[knockedLeg2_dash], dir_sign);
601
+ sim_dash_pos[knockedLeg2_dash] = get_equivalent_rebate(rebate_conversion_sign, ( *( Rebate_array + knockedLeg2_dash ) ), sim_dash[knockedLeg2_dash], dir_sign);
602
602
  } else if(knockedLeg_dash >= 0) {
603
603
  double equivalent_notional = *( Ns_array + knockedLeg_dash );
604
604
  sim_dash_pos[NL-1] = european_payoff(( *( Xs_array + (knockedLeg_dash) ) ), sim_dash[NL-1], cp_sign, dir_sign, equivalent_notional);
@@ -3,5 +3,5 @@
3
3
  # gem yank tarf_monte_carlo -v 2.3
4
4
 
5
5
  module TarfMonteCarlo
6
- VERSION = "3.65"
6
+ VERSION = "3.70"
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarf_monte_carlo
3
3
  version: !ruby/object:Gem::Version
4
- version: '3.65'
4
+ version: '3.70'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vivek Routh