istox 0.2.3.pre.1 → 0.2.4.1
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 +4 -4
- data/lib/istox/helpers/messaging.rb +1 -4
- data/lib/istox/quant/bond.rb +9 -2
- data/lib/istox/version.rb +1 -1
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c7966045ae225d89f6881853faebfc2b9ac826053964d27f1d79a1870be301da
         | 
| 4 | 
            +
              data.tar.gz: ddaf8c7cfcbf15d62d7d5ec739593c2b1f5b93e80d502c852a14c852941b03a0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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 |  | 
    
        data/lib/istox/quant/bond.rb
    CHANGED
    
    | @@ -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? ||  | 
| 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? ||  | 
| 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
    
    
    
        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. | 
| 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- | 
| 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:  | 
| 547 | 
            +
                  version: '0'
         | 
| 548 548 | 
             
            requirements: []
         | 
| 549 549 | 
             
            rubygems_version: 3.0.6
         | 
| 550 550 | 
             
            signing_key: 
         |