tarf_monte_carlo 3.65 → 3.70

Sign up to get free protection for your applications and to get access to all the features.
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