cotcube-bardata 0.1.15.6 → 0.1.16
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/CHANGELOG.md +5 -0
 - data/VERSION +1 -1
 - data/bin/eod.rb +8 -0
 - data/lib/cotcube-bardata/daily.rb +88 -84
 - data/lib/cotcube-bardata/eods.rb +1 -1
 - data/lib/cotcube-bardata.rb +2 -0
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: aa52a5fd519f8351f712e30495d4dda59bb37a4d4b588c84904d1971d7ad734c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b1eaacc5e75d13d84edf8c095cdaebc7ec588fe0e61ef6dc764d2a5633fedece
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 1798e058b377f50f2efe78f8f6b0936763ce29686a639f10e893914202ca27f4469665d9520d7adcda4df5f4346e5f9f87e8ce229c389ac78dde666335f1efd3
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 8e245ebcea3acdde99f7c5673f97024432648938e530fd9ae11dae4b7f67091a5128536fa70c0e4ba0cb372d85f7c713460249da574278501e60f4bf66ebf1ac
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,3 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ## 0.1.16 (November 23, 2021)
         
     | 
| 
      
 2 
     | 
    
         
            +
              - bin/eod.rb: little helper to display eod data in bash resp. in xinetdhttpservice
         
     | 
| 
      
 3 
     | 
    
         
            +
              - eods.rb: minor change to adapt move of symbols to Helpers
         
     | 
| 
      
 4 
     | 
    
         
            +
              - daily.rb: in continuous, changed default indicators to %i[ tr atr5 dist ]
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       1 
6 
     | 
    
         
             
            ## 0.1.15.6 (November 19, 2021)
         
     | 
| 
       2 
7 
     | 
    
         
             
              - daily: added filter_series
         
     | 
| 
       3 
8 
     | 
    
         | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.1. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.1.16
         
     | 
    
        data/bin/eod.rb
    ADDED
    
    
| 
         @@ -146,17 +146,13 @@ module Cotcube 
     | 
|
| 
       146 
146 
     | 
    
         | 
| 
       147 
147 
     | 
    
         
             
                    measuring.call("Finished retrieving dailies.")
         
     | 
| 
       148 
148 
     | 
    
         
             
                    result = []
         
     | 
| 
       149 
     | 
    
         
            -
                    rounding =  8 
     | 
| 
      
 149 
     | 
    
         
            +
                    rounding =  8
         
     | 
| 
       150 
150 
     | 
    
         
             
                    indicators ||= {
         
     | 
| 
       151 
     | 
    
         
            -
                       
     | 
| 
       152 
     | 
    
         
            -
                       
     | 
| 
       153 
     | 
    
         
            -
                       
     | 
| 
       154 
     | 
    
         
            -
                      sma250_typ:  Cotcube::Indicators.sma(key: :typical, length: 250), 
         
     | 
| 
       155 
     | 
    
         
            -
                      dist: Cotcube::Indicators.calc(a: :high, b: :low, finalize: :to_i) {|high, low| ((high-low) / ticksize) },
         
     | 
| 
      
 151 
     | 
    
         
            +
                      tr:   Cotcube::Indicators.true_range,
         
     | 
| 
      
 152 
     | 
    
         
            +
                      atr5: Cotcube::Indicators.ema(key: :tr, length: 5),
         
     | 
| 
      
 153 
     | 
    
         
            +
                      dist: Cotcube::Indicators.calc(a: :high, b: :low, finalize: :to_i) {|high, low| ((high-low) / ticksize) }
         
     | 
| 
       156 
154 
     | 
    
         
             
                    }
         
     | 
| 
       157 
155 
     | 
    
         | 
| 
       158 
     | 
    
         
            -
             
     | 
| 
       159 
     | 
    
         
            -
             
     | 
| 
       160 
156 
     | 
    
         
             
                    data.group_by { |x| x[:date] }.map do |k, v|
         
     | 
| 
       161 
157 
     | 
    
         
             
                      v.map { |x| x.delete(:date) }
         
     | 
| 
       162 
158 
     | 
    
         
             
                      avg_bar = { 
         
     | 
| 
         @@ -180,9 +176,9 @@ module Cotcube 
     | 
|
| 
       180 
176 
     | 
    
         
             
                        avg_bar[k] = tmp.respond_to?(:round) ? tmp.round(rounding) : tmp
         
     | 
| 
       181 
177 
     | 
    
         
             
                        puts avg_bar[k] if debug
         
     | 
| 
       182 
178 
     | 
    
         
             
                      end
         
     | 
| 
       183 
     | 
    
         
            -
                       
     | 
| 
       184 
     | 
    
         
            -
             
     | 
| 
       185 
     | 
    
         
            -
                      }
         
     | 
| 
      
 179 
     | 
    
         
            +
                      #%i[tr atr5].each { |ind|
         
     | 
| 
      
 180 
     | 
    
         
            +
                      #  avg_bar[ind]     = (avg_bar[ind] / sym[:ticksize]).round.to_i unless avg_bar[ind].nil?
         
     | 
| 
      
 181 
     | 
    
         
            +
                      #}
         
     | 
| 
       186 
182 
     | 
    
         
             
                      result << avg_bar
         
     | 
| 
       187 
183 
     | 
    
         
             
                      result.last[:contracts] = v
         
     | 
| 
       188 
184 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -207,44 +203,46 @@ module Cotcube 
     | 
|
| 
       207 
203 
     | 
    
         
             
                  indicators = {
         
     | 
| 
       208 
204 
     | 
    
         
             
                    ema_high_n => Cotcube::Indicators.ema(key: :high,     length: ema_length,  smoothing: 2),
         
     | 
| 
       209 
205 
     | 
    
         
             
                    ema_low_n  => Cotcube::Indicators.ema(key: :low,      length: ema_length,  smoothing: 2),
         
     | 
| 
      
 206 
     | 
    
         
            +
                    # NOTE: TR / ATR5 are in default set of continuous
         
     | 
| 
       210 
207 
     | 
    
         
             
                    :tr        => Cotcube::Indicators.true_range,
         
     | 
| 
       211 
208 
     | 
    
         
             
                    :atr5      => Cotcube::Indicators.ema(key: :tr,       length: 5,           smoothing: 2),
         
     | 
| 
       212 
209 
     | 
    
         
             
                    ema_filter => Cotcube::Indicators.calc(a: :high,      b: :low,             c: :close,
         
     | 
| 
       213 
210 
     | 
    
         
             
                                                           d: ema_high_n, e: ema_low_n,        f: :atr5,
         
     | 
| 
       214 
211 
     | 
    
         
             
                                                           finalize: :to_i)  do |high, low, close, ema_high, ema_low, atr5|
         
     | 
| 
       215 
212 
     | 
    
         | 
| 
       216 
     | 
    
         
            -
             
     | 
| 
       217 
     | 
    
         
            -
             
     | 
| 
       218 
     | 
    
         
            -
             
     | 
| 
       219 
     | 
    
         
            -
             
     | 
| 
       220 
     | 
    
         
            -
             
     | 
| 
       221 
     | 
    
         
            -
             
     | 
| 
       222 
     | 
    
         
            -
             
     | 
| 
       223 
     | 
    
         
            -
             
     | 
| 
       224 
     | 
    
         
            -
             
     | 
| 
       225 
     | 
    
         
            -
             
     | 
| 
       226 
     | 
    
         
            -
             
     | 
| 
       227 
     | 
    
         
            -
             
     | 
| 
       228 
     | 
    
         
            -
             
     | 
| 
       229 
     | 
    
         
            -
             
     | 
| 
       230 
     | 
    
         
            -
             
     | 
| 
       231 
     | 
    
         
            -
             
     | 
| 
       232 
     | 
    
         
            -
             
     | 
| 
       233 
     | 
    
         
            -
             
     | 
| 
       234 
     | 
    
         
            -
             
     | 
| 
       235 
     | 
    
         
            -
             
     | 
| 
      
 213 
     | 
    
         
            +
                                                             if    close >  ema_high and (low - ema_high).abs <= atr5 / 5.0; 3 # :bullish_tipped
         
     | 
| 
      
 214 
     | 
    
         
            +
                                                             elsif   low >  ema_high and (low - ema_high).abs >= atr5 * 3.0; 5 # :bullish_away
         
     | 
| 
      
 215 
     | 
    
         
            +
                                                             elsif   low >  ema_high and (low - ema_high).abs <= atr5 / 1.5; 2 # :bullish_nearby
         
     | 
| 
      
 216 
     | 
    
         
            +
                                                             elsif   low >  ema_high;                                        4 # :bullish
         
     | 
| 
      
 217 
     | 
    
         
            +
             
     | 
| 
      
 218 
     | 
    
         
            +
                                                             elsif close <  ema_low and (high - ema_low).abs <= atr5 / 5.0; -3 # :bearish_tipped
         
     | 
| 
      
 219 
     | 
    
         
            +
                                                             elsif  high <  ema_low and (high - ema_low).abs >= atr5 * 3.0; -5 # :bearish_away
         
     | 
| 
      
 220 
     | 
    
         
            +
                                                             elsif  high <  ema_low and (high - ema_low).abs <= atr5 / 1.5; -2 # :bearish_nearby
         
     | 
| 
      
 221 
     | 
    
         
            +
                                                             elsif  high <  ema_low;                                        -4 # :bearish
         
     | 
| 
      
 222 
     | 
    
         
            +
             
     | 
| 
      
 223 
     | 
    
         
            +
                                                             elsif close >= ema_high and (close - ema_high).abs > atr5 ;     2 # :bullish_closed
         
     | 
| 
      
 224 
     | 
    
         
            +
                                                             elsif close <= ema_low  and (close - ema_low ).abs > atr5 ;    -2 # :bearish_closed
         
     | 
| 
      
 225 
     | 
    
         
            +
                                                             elsif close >= ema_high;                                        1 # :bullish_weak
         
     | 
| 
      
 226 
     | 
    
         
            +
                                                             elsif close <= ema_low;                                        -1 # :bearish_weak
         
     | 
| 
      
 227 
     | 
    
         
            +
                                                             elsif close >  ema_low and close < ema_high;                    0 # :ambigue
         
     | 
| 
      
 228 
     | 
    
         
            +
                                                             else
         
     | 
| 
      
 229 
     | 
    
         
            +
                                                               raise RuntimeError, "Unconsidered Indicator value with #{high}, #{low}, #{close}, #{ema_high}, #{ema_low}, #{atr5}"
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
                                                             end
         
     | 
| 
      
 232 
     | 
    
         
            +
                                                           end
         
     | 
| 
       236 
233 
     | 
    
         
             
                  }
         
     | 
| 
       237 
234 
     | 
    
         
             
                  filter = Cotcube::Bardata.continuous(symbol: symbol, indicators: indicators).
         
     | 
| 
       238 
235 
     | 
    
         
             
                    map{ |z| z[:datetime] = DateTime.parse(z[:date]); z[:datetime] += z[:datetime].wday == 5 ? 3 : 1; z.slice(:datetime, ema_filter) }.
         
     | 
| 
       239 
236 
     | 
    
         
             
                    group_by{ |z| z[:datetime] }.
         
     | 
| 
       240 
237 
     | 
    
         
             
                    map{ |k,v| [ k, v[0][ema_filter] ] }.
         
     | 
| 
       241 
238 
     | 
    
         
             
                    to_h.
         
     | 
| 
       242 
     | 
    
         
            -
                    tap{ |z| 
     | 
| 
       243 
     | 
    
         
            -
                       
     | 
| 
       244 
     | 
    
         
            -
                        }  
     | 
| 
       245 
     | 
    
         
            -
             
     | 
| 
       246 
     | 
    
         
            -
             
     | 
| 
       247 
     | 
    
         
            -
             
     | 
| 
      
 239 
     | 
    
         
            +
                    tap{ |z|
         
     | 
| 
      
 240 
     | 
    
         
            +
                      z.to_a[print_range].each { |v|
         
     | 
| 
      
 241 
     | 
    
         
            +
                        puts "#{symbol} #{v[0].strftime('%Y-%m-%d')
         
     | 
| 
      
 242 
     | 
    
         
            +
                           }  #{format '%2d', v[1]
         
     | 
| 
      
 243 
     | 
    
         
            +
                           }".colorize(v[1] > 3 ? :light_green : v[1] > 1 ? :green : v[1] < -3 ? :light_red : v[1] < -1 ? :red : :white )
         
     | 
| 
      
 244 
     | 
    
         
            +
                      } if print_range.is_a? Range
         
     | 
| 
      
 245 
     | 
    
         
            +
                    }
         
     | 
| 
       248 
246 
     | 
    
         
             
                end
         
     | 
| 
       249 
247 
     | 
    
         | 
| 
       250 
248 
     | 
    
         
             
                def continuous_ml(symbol: nil, id: nil, base: nil)
         
     | 
| 
         @@ -370,12 +368,14 @@ module Cotcube 
     | 
|
| 
       370 
368 
     | 
    
         
             
                    .reject { |k, _| k[-2..].to_i >= date.year % 2000 }
         
     | 
| 
       371 
369 
     | 
    
         
             
                    .group_by { |k, _| k[2] }
         
     | 
| 
       372 
370 
     | 
    
         
             
                  measuring.call("Retrieved continous_overview")
         
     | 
| 
       373 
     | 
    
         
            -
                  output_sent = []
         
     | 
| 
       374 
     | 
    
         
            -
                  early_year=nil
         
     | 
| 
       375 
371 
     | 
    
         
             
                  long_output = []
         
     | 
| 
      
 372 
     | 
    
         
            +
             
     | 
| 
      
 373 
     | 
    
         
            +
                  toydate = -> (z,y=2021) { str = "#{z>365 ? y+1 : y} #{z>365 ? z-365 : z}";  DateTime.strptime(str, '%Y %j').strftime('%Y-%m-%d') }
         
     | 
| 
      
 374 
     | 
    
         
            +
             
     | 
| 
       376 
375 
     | 
    
         
             
                  data.keys.sort.each do |month|
         
     | 
| 
       377 
376 
     | 
    
         
             
                    puts "Processing #{sym[:symbol]}#{month}" if debuglevel > 1
         
     | 
| 
       378 
377 
     | 
    
         
             
                    v0 = data[month]
         
     | 
| 
      
 378 
     | 
    
         
            +
             
     | 
| 
       379 
379 
     | 
    
         
             
                    # ldays is the list of 'last days'
         
     | 
| 
       380 
380 
     | 
    
         
             
                    ldays = v0.map { |_, v1| Date.parse(v1.last[:date]).yday }
         
     | 
| 
       381 
381 
     | 
    
         
             
                    # fdays is the list of 'first days'
         
     | 
| 
         @@ -384,6 +384,23 @@ module Cotcube 
     | 
|
| 
       384 
384 
     | 
    
         
             
                    ldays.map! { |x| x > 350 ? x - 366 : x } if ldays.min < 50
         
     | 
| 
       385 
385 
     | 
    
         
             
                    fday  = fdays[fdays.size / 2]
         
     | 
| 
       386 
386 
     | 
    
         
             
                    lavg  = ldays.reduce(:+) / ldays.size
         
     | 
| 
      
 387 
     | 
    
         
            +
             
     | 
| 
      
 388 
     | 
    
         
            +
                    # rubocop:disable Layout/ClosingParenthesisIndentation
         
     | 
| 
      
 389 
     | 
    
         
            +
                    current = {
         
     | 
| 
      
 390 
     | 
    
         
            +
                      month:    month,
         
     | 
| 
      
 391 
     | 
    
         
            +
                      contract: "#{sym[:symbol]}#{month}",
         
     | 
| 
      
 392 
     | 
    
         
            +
                      first_ml: fday,
         
     | 
| 
      
 393 
     | 
    
         
            +
                      last_min: ldays.min,
         
     | 
| 
      
 394 
     | 
    
         
            +
                      last_avg: lavg,
         
     | 
| 
      
 395 
     | 
    
         
            +
                      last_max: ldays.max,
         
     | 
| 
      
 396 
     | 
    
         
            +
                      until_start: fday - ytoday,
         
     | 
| 
      
 397 
     | 
    
         
            +
                      until_end:   ldays.min - ytoday
         
     | 
| 
      
 398 
     | 
    
         
            +
                    }
         
     | 
| 
      
 399 
     | 
    
         
            +
                    current[:until_end] += 365 if current[:until_end] - current[:until_start] < 0
         
     | 
| 
      
 400 
     | 
    
         
            +
                    current[:until_end] -= 365 if current[:until_end] > 365
         
     | 
| 
      
 401 
     | 
    
         
            +
             
     | 
| 
      
 402 
     | 
    
         
            +
                    long_output << current
         
     | 
| 
      
 403 
     | 
    
         
            +
             
     | 
| 
       387 
404 
     | 
    
         
             
                    # a contract is proposed to use after fday - 1, but before ldays.min (green)
         
     | 
| 
       388 
405 
     | 
    
         
             
                    # it is warned to user after fday - 1 but before lavg - 1            (red)
         
     | 
| 
       389 
406 
     | 
    
         
             
                    # it is warned red >= lavg - 1 and <= lavg + 1
         
     | 
| 
         @@ -396,55 +413,42 @@ module Cotcube 
     | 
|
| 
       396 
413 
     | 
    
         
             
                            else
         
     | 
| 
       397 
414 
     | 
    
         
             
                              :white
         
     | 
| 
       398 
415 
     | 
    
         
             
                            end
         
     | 
| 
       399 
     | 
    
         
            -
             
     | 
| 
       400 
     | 
    
         
            -
                    long_output << {
         
     | 
| 
       401 
     | 
    
         
            -
                      month:    month,
         
     | 
| 
       402 
     | 
    
         
            -
                      first_ml: fday,
         
     | 
| 
       403 
     | 
    
         
            -
                      last_min: ldays.min,
         
     | 
| 
       404 
     | 
    
         
            -
                      last_avg: lavg,
         
     | 
| 
       405 
     | 
    
         
            -
                      last_max: ldays.max }
         
     | 
| 
      
 416 
     | 
    
         
            +
             
     | 
| 
       406 
417 
     | 
    
         
             
                    output = "#{sym[:symbol]
         
     | 
| 
       407 
     | 
    
         
            -
             
     | 
| 
       408 
     | 
    
         
            -
             
     | 
| 
       409 
     | 
    
         
            -
             
     | 
| 
       410 
     | 
    
         
            -
             
     | 
| 
       411 
     | 
    
         
            -
             
     | 
| 
       412 
     | 
    
         
            -
             
     | 
| 
       413 
     | 
    
         
            -
             
     | 
| 
       414 
     | 
    
         
            -
             
     | 
| 
       415 
     | 
    
         
            -
             
     | 
| 
       416 
     | 
    
         
            -
             
     | 
| 
       417 
     | 
    
         
            -
             
     | 
| 
       418 
     | 
    
         
            -
             
     | 
| 
       419 
     | 
    
         
            -
             
     | 
| 
       420 
     | 
    
         
            -
             
     | 
| 
       421 
     | 
    
         
            -
             
     | 
| 
       422 
     | 
    
         
            -
             
     | 
| 
       423 
     | 
    
         
            -
             
     | 
| 
       424 
     | 
    
         
            -
             
     | 
| 
       425 
     | 
    
         
            -
             
     | 
| 
       426 
     | 
    
         
            -
             
     | 
| 
       427 
     | 
    
         
            -
             
     | 
| 
       428 
     | 
    
         
            -
             
     | 
| 
       429 
     | 
    
         
            -
             
     | 
| 
       430 
     | 
    
         
            -
             
     | 
| 
       431 
     | 
    
         
            -
             
     | 
| 
      
 418 
     | 
    
         
            +
                      }#{month
         
     | 
| 
      
 419 
     | 
    
         
            +
                      }\t#{format '%12s', sym[:type]
         
     | 
| 
      
 420 
     | 
    
         
            +
                      }\ttoday is #{ytoday
         
     | 
| 
      
 421 
     | 
    
         
            +
                      } -- median of first is #{fday
         
     | 
| 
      
 422 
     | 
    
         
            +
                      }\tlast ranges from #{format '%5d', ldays.min
         
     | 
| 
      
 423 
     | 
    
         
            +
                      }: #{dfm.call(ldays.min)
         
     | 
| 
      
 424 
     | 
    
         
            +
                      }\t#{format '%5d', lavg
         
     | 
| 
      
 425 
     | 
    
         
            +
                      }: #{dfm.call(lavg)
         
     | 
| 
      
 426 
     | 
    
         
            +
                      }\tto #{format '%5d', ldays.max
         
     | 
| 
      
 427 
     | 
    
         
            +
                      }: #{dfm.call(ldays.max)}".colorize(color)
         
     | 
| 
      
 428 
     | 
    
         
            +
             
     | 
| 
      
 429 
     | 
    
         
            +
                      if debug || (color != :white)
         
     | 
| 
      
 430 
     | 
    
         
            +
                        puts output unless silent
         
     | 
| 
      
 431 
     | 
    
         
            +
                      end
         
     | 
| 
      
 432 
     | 
    
         
            +
                      next if silent or not (debug and debuglevel >= 2)
         
     | 
| 
      
 433 
     | 
    
         
            +
             
     | 
| 
      
 434 
     | 
    
         
            +
                      v0.each do |contract, v1|
         
     | 
| 
      
 435 
     | 
    
         
            +
                        puts "\t#{contract
         
     | 
| 
      
 436 
     | 
    
         
            +
                         }\t#{v1.first[:date]
         
     | 
| 
      
 437 
     | 
    
         
            +
                         } (#{format '%3d', Date.parse(v1.first[:date]).yday
         
     | 
| 
      
 438 
     | 
    
         
            +
                        })\t#{Date.parse(v1.last[:date]).strftime('%a, %Y-%m-%d')
         
     | 
| 
      
 439 
     | 
    
         
            +
                         } (#{Date.parse(v1.last[:date]).yday})" unless silent
         
     | 
| 
      
 440 
     | 
    
         
            +
                         # rubocop:enable Layout/ClosingParenthesisIndentation
         
     | 
| 
      
 441 
     | 
    
         
            +
                      end
         
     | 
| 
      
 442 
     | 
    
         
            +
             
     | 
| 
       432 
443 
     | 
    
         
             
                  end
         
     | 
| 
       433 
     | 
    
         
            -
                   
     | 
| 
       434 
     | 
    
         
            -
             
     | 
| 
       435 
     | 
    
         
            -
             
     | 
| 
       436 
     | 
    
         
            -
             
     | 
| 
       437 
     | 
    
         
            -
                      puts "         Assuming late-year-processing.".light_yellow
         
     | 
| 
       438 
     | 
    
         
            -
                      puts early_year.light_green
         
     | 
| 
       439 
     | 
    
         
            -
                    end
         
     | 
| 
       440 
     | 
    
         
            -
                  when 1
         
     | 
| 
       441 
     | 
    
         
            -
                    # all ok
         
     | 
| 
       442 
     | 
    
         
            -
                    true
         
     | 
| 
       443 
     | 
    
         
            -
                  else
         
     | 
| 
       444 
     | 
    
         
            -
                    puts "Continuous table show #{output_sent.size} active contracts ( #{output_sent} ) for #{sym[:symbol]} ---------------" unless silent
         
     | 
| 
      
 444 
     | 
    
         
            +
                  long_output.sort_by!{|z| z[:until_end] + (z[:until_end].negative? ? 365 : 0)}
         
     | 
| 
      
 445 
     | 
    
         
            +
             
     | 
| 
      
 446 
     | 
    
         
            +
                  if short
         
     | 
| 
      
 447 
     | 
    
         
            +
                    return ([long_output.first] + long_output.select{|z| z[:until_start].positive? and z[:until_start] < 10 }).map{|z| z[:contract] }.uniq
         
     | 
| 
       445 
448 
     | 
    
         
             
                  end
         
     | 
| 
      
 449 
     | 
    
         
            +
             
     | 
| 
       446 
450 
     | 
    
         
             
                  measuring.call("Finished processing")
         
     | 
| 
       447 
     | 
    
         
            -
                   
     | 
| 
      
 451 
     | 
    
         
            +
                  return long_output
         
     | 
| 
       448 
452 
     | 
    
         
             
                end
         
     | 
| 
       449 
453 
     | 
    
         
             
              end
         
     | 
| 
       450 
454 
     | 
    
         
             
            end
         
     | 
    
        data/lib/cotcube-bardata/eods.rb
    CHANGED
    
    | 
         @@ -68,7 +68,7 @@ module Cotcube 
     | 
|
| 
       68 
68 
     | 
    
         
             
                  raise ArgumentError, ':filter must be in [:volume_part, :oi_part]' unless %i[volume_part oi_part].include? filter
         
     | 
| 
       69 
69 
     | 
    
         | 
| 
       70 
70 
     | 
    
         
             
                  # noinspection RubyScope
         
     | 
| 
       71 
     | 
    
         
            -
                  ids = sym.nil? ? symbols.map { |x| x[:id] } : [sym[:id]]
         
     | 
| 
      
 71 
     | 
    
         
            +
                  ids = sym.nil? ? Cotcube::Helpers.symbols.map { |x| x[:id] } : [sym[:id]]
         
     | 
| 
       72 
72 
     | 
    
         
             
                  dates = [dates] unless dates.is_a?(Array) || dates.nil?
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
       74 
74 
     | 
    
         
             
                  id_path_get = ->(local_id) { "#{config[:data_path]}/eods/#{local_id}" }
         
     | 
    
        data/lib/cotcube-bardata.rb
    CHANGED
    
    | 
         @@ -56,6 +56,8 @@ module Cotcube 
     | 
|
| 
       56 
56 
     | 
    
         
             
                                :continuous_overview,
         
     | 
| 
       57 
57 
     | 
    
         
             
                                # provider estimation of current ML usability
         
     | 
| 
       58 
58 
     | 
    
         
             
                                :continuous_table,
         
     | 
| 
      
 59 
     | 
    
         
            +
                                # provide a simple filter series
         
     | 
| 
      
 60 
     | 
    
         
            +
                                :filter_series,
         
     | 
| 
       59 
61 
     | 
    
         
             
                                # provide the list of quarters, possibly as hours or days.
         
     | 
| 
       60 
62 
     | 
    
         
             
                                :provide_quarters,
         
     | 
| 
       61 
63 
     | 
    
         
             
                                # some statistics to estimate daily volatility of specific contract
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: cotcube-bardata
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.16
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Benjamin L. Tischendorf
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021-11- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-11-23 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: activesupport
         
     | 
| 
         @@ -164,6 +164,7 @@ files: 
     | 
|
| 
       164 
164 
     | 
    
         
             
            - README.md
         
     | 
| 
       165 
165 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       166 
166 
     | 
    
         
             
            - VERSION
         
     | 
| 
      
 167 
     | 
    
         
            +
            - bin/eod.rb
         
     | 
| 
       167 
168 
     | 
    
         
             
            - cotcube-bardata.gemspec
         
     | 
| 
       168 
169 
     | 
    
         
             
            - lib/cotcube-bardata.rb
         
     | 
| 
       169 
170 
     | 
    
         
             
            - lib/cotcube-bardata/cached.rb
         
     |