istox 0.2.3.pre.1 → 0.2.4.1

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: 5794449030e0819921e5edb6cdc091dc809b00a06b49facb84a296ef31da001a
4
- data.tar.gz: 357cf1556b389dfc212ad5521f0e674ba58053fa2a4111183574e921ddbc85b4
3
+ metadata.gz: c7966045ae225d89f6881853faebfc2b9ac826053964d27f1d79a1870be301da
4
+ data.tar.gz: ddaf8c7cfcbf15d62d7d5ec739593c2b1f5b93e80d502c852a14c852941b03a0
5
5
  SHA512:
6
- metadata.gz: b190f30771d9fac19c7d4df0d4c1386bb8804e12f0cd0ff81c0c29c13be3528d39d2fc23cb05546a12ca7a2ea69a1d40c65ca160e7fd28bad4d41fa4d31ce391
7
- data.tar.gz: eebf61512d1009bd1fe584ae498fd558724f55ee24b6af868635b7294ba8eaf2c7b06bb3042150f362bee7b1e2487ea8a803dd09bdf702aa44b49fe60c7364fe
6
+ metadata.gz: 2c207054f717f60a2eadc3dab9cd39954e58e2c37748ab18df87ec687516e9b68f2abf44176405028fee8872e61e8a808271e41bbda63d63ca54a1959ff56c37
7
+ data.tar.gz: eb784318e41850201bd1bfbac812d7d153959141385cb9e01fe7071948e648e46b6fd240e912bd62670b7de9ea6f1eca6a5be75e7731a6ba2cdfede8e7a8b13b
@@ -93,7 +93,6 @@ module Istox
93
93
  # sample template data, it should be an array
94
94
  # [{
95
95
  # email: email,
96
- # sid: xxxxx,
97
96
  # istoxP1: auth.first_name,
98
97
  # <more other sample template attributes>: <other sample template data>,
99
98
  # }]
@@ -138,8 +137,7 @@ module Istox
138
137
  else
139
138
  # if it is a object hash
140
139
  # {
141
- # email: xxxx,
142
- # sid: xxxx,
140
+ # email: xxxx
143
141
  # params: {
144
142
  # istoxP1: xxxx,
145
143
  # istoxP2: xxxx
@@ -148,7 +146,6 @@ module Istox
148
146
  next unless ce[:email].present?
149
147
 
150
148
  copy_email_data[:email] = ce[:email]
151
- copy_email_data[:sid] = ce[:sid]
152
149
  copy_email_data = copy_email_data.merge(ce[:params])
153
150
  end
154
151
 
@@ -73,6 +73,11 @@ module Istox
73
73
  end
74
74
 
75
75
  def ytm(date, ex_coupon_date: nil, price: 100, fees: 0, approximation_error: DEFAULT_APPROXIMATION_ERROR)
76
+ if !is_zero_coupon? && price == @face_value && date <= @start_date
77
+ # for non zero coupon bond, if price is face value and date is at or before start date
78
+ # YTM is simply the coupon rate
79
+ return @coupon
80
+ end
76
81
  ytm_down, ytm_up = ytm_limits(price, date, ex_coupon_date: ex_coupon_date, fees: fees)
77
82
  approximate_ytm(ytm_down, ytm_up, price, date, ex_coupon_date: ex_coupon_date, fees: fees, approximation_error: approximation_error)
78
83
  end
@@ -185,7 +190,7 @@ module Istox
185
190
  if @pay_accrued_interest
186
191
  # accrued interest + face value discounted to the current date
187
192
  discounted_accrued_interest = 0
188
- if ex_coupon_date.nil? || ex_coupon_date == @maturity_date
193
+ if ex_coupon_date.nil? || date < ex_coupon_date
189
194
  discounted_accrued_interest = @coupon*@face_value*accrued_interest_factor*discount_factor
190
195
  end
191
196
  discounted_face_value = @face_value*discount_factor
@@ -193,7 +198,7 @@ module Istox
193
198
  return price
194
199
  else
195
200
  discounted_last_coupon = 0
196
- if ex_coupon_date.nil? || ex_coupon_date == @maturity_date
201
+ if ex_coupon_date.nil? || date < ex_coupon_date
197
202
  discounted_last_coupon = @coupon*@face_value/@coupon_frequency*discount_factor
198
203
  end
199
204
  discounted_face_value = @face_value*discount_factor
@@ -292,6 +297,8 @@ module Istox
292
297
  previous_coupon_date = @coupon_payment_dates.last
293
298
  end
294
299
  end
300
+
301
+ return previous_coupon_date
295
302
  end
296
303
 
297
304
  def first_coupon_factor
data/lib/istox/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Istox
2
- VERSION = '0.2.3-1'.freeze
2
+ VERSION = '0.2.4.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: istox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3.pre.1
4
+ version: 0.2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Siong Leng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-30 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amazing_print
@@ -542,9 +542,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
542
542
  version: '0'
543
543
  required_rubygems_version: !ruby/object:Gem::Requirement
544
544
  requirements:
545
- - - ">"
545
+ - - ">="
546
546
  - !ruby/object:Gem::Version
547
- version: 1.3.1
547
+ version: '0'
548
548
  requirements: []
549
549
  rubygems_version: 3.0.6
550
550
  signing_key: