tarf_monte_carlo 3.15.3 → 3.20

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: 9f59add36257db0337d6c1a72238af5d328892cb59959117797130e5b90b0f31
4
- data.tar.gz: d78b75d035a82c487bdc15797e3589ff4c15f33f9180eea8f8d211b847c22fc6
3
+ metadata.gz: 478124623904e792457d4c59815dc76473342bb48ea19e8f7b35e010849c2032
4
+ data.tar.gz: 8b51b8b9d812ef9c47aa51d57f0bdb5e65077599119a869481e4572ba322efde
5
5
  SHA512:
6
- metadata.gz: 675daf6c71ee357cc6eca37080acc93fa5211dc9737104c92ef0adc1c9d8bd8b61275d681fa64b1fd3da8832867b1f8e879eea8198d4b29dd06d1188eb645ba7
7
- data.tar.gz: bbc2a4bfe53e589db3225c86bec1449adee93e2f9022f6b62775eca692b6a62a832988e627be1a0edf35478aa4a876a260735d1d0288eb3fac03023eaf3ae2c7
6
+ metadata.gz: db4c7d170d374489ef253bb85dc0186a28d8fc46960d8ae9a22cbcccf833d68c063fc1854d33511e566554bfa95eb2669586785d6a489ce8e9f410bd1fefae82
7
+ data.tar.gz: c4b038f20823c922a4065730edcbdeca24d918d5ea68f5eb1f2b95ffd87d21661ca83adc4acb30e9dd55cbc8ede6e13370a5ca576ff636836c4b3b7f3deca1dd
@@ -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,15 @@ 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
+ }
220
+
211
221
  // dash
212
222
  if ( Spot_dash < *( LSts_array + leg ) ) {
213
223
  profit_loss_dash = Spot_dash - (*( LSts_array + leg ));
@@ -315,6 +325,7 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
315
325
  if( KType == ABSOLUTE || KType == PIVOT_ABSOLUTE || KType == COLLAR_ABSOLUTE || KType == DOUBLE_STRIKE_ABSOLUTE ) {
316
326
  for( leg = 0; leg < NL; ++leg ) {
317
327
  // simulation normal
328
+ rb_p(*(Ns_array +leg ));
318
329
  if( ko_so_far > 0.0 ) {
319
330
  if( sim[leg] >= 0.0 ) {
320
331
  // knock out condition
@@ -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.15.3"
6
+ VERSION = "3.20"
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.15.3
4
+ version: '3.20'
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