tarf_monte_carlo 3.16 → 3.17

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: 54ce8c237aa74a9e1ba9364b4ca30009af7a01e27b0b3d1881d31e2d611877d6
4
- data.tar.gz: 0fb60c7a494442af9621f8d686e161718381e3e4c88b2862c9af2b27de5267f8
3
+ metadata.gz: dfddf29d3a8c0d3029234c9acba98d0579c2cd035395594b730b74dadd9353ff
4
+ data.tar.gz: ee157914ed8faedc35096514802b25bd89eebdb6485300ad9e6762563ee65a1f
5
5
  SHA512:
6
- metadata.gz: 41673dec376daaad4d6b364f4fde9c6c6a4ed4022ed733dd8ce6cf15db70fb1e07fec9b065cccb646dc544c18d020d4055548be0174ee2833c5ad3ec0cd2523a
7
- data.tar.gz: ba2e90612c68f7aaea158e7c7c43b19520e745eb8761d03f176f4051ac37fda5cc9ad819d42844334a0d32774aaae5c6f60cc68c326d66f65d3da5a27e08468e
6
+ metadata.gz: f1645aef91181a04b99a91bf8ae9bfb983b82b0cfd27b2932914042481642ca1f77a096f65def64ab94f71f7c6876a5d89fc03f8125a9115e952c3058125f62a
7
+ data.tar.gz: 341783f3006b2c2d81181b3a1f7ca15c70550233e28991da9561f85dd60716a9190f6f126d6b2cf811841f15e2992f78b9c26d72383255c0b2a2c39c8bfcc066
@@ -98,6 +98,7 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
98
98
  int KType = NUM2INT( rb_hash_aref(MCInputs, rb_str_new2("knockout_type")) );
99
99
  double S = NUM2DBL( rb_hash_aref(MCInputs, rb_str_new2("spot_rate")) );
100
100
  int Ko_compare_mult = NUM2INT( rb_hash_aref(MCInputs, rb_str_new2("multiplier")) );
101
+ int convertNotional = NUM2INT( rb_hash_aref(MCInputs, rb_str_new2("convert_notional")) );
101
102
 
102
103
  // assign leg specific attributes
103
104
  double *pvs_pos = ( double* ) malloc( SCount * sizeof(double) );
@@ -208,6 +209,14 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
208
209
  } else {
209
210
  profit_loss = (*( USts_array + leg )) - Spot;
210
211
  }
212
+
213
+ if (ConvertNotional == 1){
214
+ if(Spot < *( Ps_array + leg )){
215
+ Ns_array[leg] = *(Ns_array + leg) / *( LSts_array + leg );
216
+ } else {
217
+ Ns_array[leg] = *(Ns_array + leg) / *( USts_array + leg );
218
+ }
219
+ }
211
220
  // dash
212
221
  if ( Spot_dash < *( LSts_array + leg ) ) {
213
222
  profit_loss_dash = Spot_dash - (*( LSts_array + leg ));
@@ -1,7 +1,7 @@
1
1
  # gem build tarf_monte_carlo.gemspec
2
- # gem push -v tarf_monte_carlo-3.15.3.gem
2
+ # gem push -v tarf_monte_carlo-3.17.gem
3
3
  # gem yank tarf_monte_carlo -v 2.3
4
4
 
5
5
  module TarfMonteCarlo
6
- VERSION = "3.16"
6
+ VERSION = "3.17"
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarf_monte_carlo
3
3
  version: !ruby/object:Gem::Version
4
- version: '3.16'
4
+ version: '3.17'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vivek Routh
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-17 00:00:00.000000000 Z
11
+ date: 2020-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler