Navigation

    Backtrader Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/

    ZeroDivisionError: float division by zero

    General Code/Help
    3
    6
    469
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Sabir Jana
      Sabir Jana last edited by

      Hi, Very frequently I struggled with float division by zero error. It goes away only after removing multiple tickers data. I went thru existing threads and suggested solutions to supply ```
      safediv or safezero

      however this parameter is not valid for all indicators. Appreciate any help! Attached is the code 
      
      

      class Strategy(bt.Strategy):
      params = dict(
      selcperc=0.15, # percentage of stocks to select from the universe
      rperiod=1, # period for the returns calculation, default 1 period
      vperiod=252, # lookback period for volatility - default 36 periods
      mperiod=126, # lookback period for momentum - default 12 periods
      reserve=0.05, # 5% reserve capital
      when=bt.timer.SESSION_START,
      timer=True,
      monthdays=[1],
      monthcarry=True
      )

      def log(self, arg):
              print('{} {}'.format(self.datetime.date(), arg))   
      
      def __init__(self):
      

      bt.indicators.Stochastic(self.datas[0], safediv=True)

          # calculate 1st the amount of stocks that will be selected
          self.selnum = int(len(self.datas) * self.p.selcperc)
      
          # allocation perc per stock
          # reserve kept to make sure orders are not rejected due to
          # margin. Prices are calculated when known (close), but orders can only
          # be executed next day (opening price). Price can gap upwards
          self.perctarget = (1.0 - self.p.reserve) / self.selnum
      
          # returns, volatilities and momentums
          rs = [bt.ind.PctChange(d, period=self.p.rperiod) for d in self.datas] # safediv safezero
          vs = [bt.ind.StdDev(ret, period=self.p.vperiod) for ret in rs]
          ms = [bt.ind.ROC(d, period=self.p.mperiod) for d in self.datas]
      
          # simple rank formula: (momentum * net payout) / volatility
          # the highest ranked: low vol, large momentum, large payout
      

      self.ranks = {d: d.npy * m / v for d, v, m in zip(self.datas, vs, ms)}

          self.ranks = {d: m / v for d, v, m in zip(self.datas, vs, ms)}
      
          self.add_timer(
              when=self.p.when,
              monthdays=self.p.monthdays,
              monthcarry=self.p.monthcarry
          )
      
      def notify_timer(self, timer, when, *args, **kwargs):
          if self._getminperstatus() < 0:
              self.rebalance()
      
      def rebalance(self):
          # sort data and current rank
          ranks = sorted(
              self.ranks.items(),  # get the (d, rank), pair
              key=lambda x: x[1][0],  # use rank (elem 1) and current time "0"
              reverse=True,  # highest ranked 1st ... please
          )
      
          # put top ranked in dict with data as key to test for presence
          rtop = dict(ranks[:self.selnum])
      
      
          # For logging purposes of stocks leaving the portfolio
          rbot = dict(ranks[self.selnum:])
      
          # prepare quick lookup list of stocks currently holding a position
          posdata = [d for d, pos in self.getpositions().items() if pos]
      
          # remove those no longer top ranked
          # do this first to issue sell orders and free cash
          for d in (d for d in posdata if d not in rtop):
              self.log('Leave {} - Rank {:.2f}'.format(d._name, rbot[d][0]))
              self.order_target_percent(d, target=0.0)
      
          # rebalance those already top ranked and still there
          for d in (d for d in posdata if d in rtop):
              self.log('Rebal {} - Rank {:.2f}'.format(d._name, rtop[d][0]))
              self.order_target_percent(d, target=self.perctarget)
              del rtop[d]  # remove it, to simplify next iteration
      
          # issue a target order for the newly top ranked stocks
          # do this last, as this will generate buy orders consuming cash
          for d in rtop:
              self.log('Enter {} - Rank {:.2f}'.format(d._name, rtop[d][0]))
              self.order_target_percent(d, target=self.perctarget) 
              
      def next(self):
          self.notify_timer(self, self.p.timer, self.p.when)
      

      Error

      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\cerebro.py in run(self, **kwargs)
         1125             # let's skip process "spawning"
         1126             for iterstrat in iterstrats:
      -> 1127                 runstrat = self.runstrategies(iterstrat)
         1128                 self.runstrats.append(runstrat)
         1129                 if self._dooptimize:
      
      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\cerebro.py in runstrategies(self, iterstrat, predata)
         1291                     self._runonce_old(runstrats)
         1292                 else:
      -> 1293                     self._runonce(runstrats)
         1294             else:
         1295                 if self.p.oldsync:
      
      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\cerebro.py in _runonce(self, runstrats)
         1650         '''
         1651         for strat in runstrats:
      -> 1652             strat._once()
         1653             strat.reset()  # strat called next by next - reset lines
         1654 
      
      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\lineiterator.py in _once(self)
          295 
          296         for indicator in self._lineiterators[LineIterator.IndType]:
      --> 297             indicator._once()
          298 
          299         for observer in self._lineiterators[LineIterator.ObsType]:
      
      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\linebuffer.py in _once(self)
          629         self.preonce(0, self._minperiod - 1)
          630         self.oncestart(self._minperiod - 1, self._minperiod)
      --> 631         self.once(self._minperiod, self.buflen())
          632 
          633         self.oncebinding()
      
      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\linebuffer.py in once(self, start, end)
          753     def once(self, start, end):
          754         if self.bline:
      --> 755             self._once_op(start, end)
          756         elif not self.r:
          757             if not self.btime:
      
      C:\ProgramData\Anaconda3\lib\site-packages\backtrader\linebuffer.py in _once_op(self, start, end)
          770 
          771         for i in range(start, end):
      --> 772             dst[i] = op(srca[i], srcb[i])
          773 
          774     def _once_time_op(self, start, end):
      
      ZeroDivisionError: float division by zero
      
      Sabir Jana 1 Reply Last reply Reply Quote 0
      • Sabir Jana
        Sabir Jana @Sabir Jana last edited by

        Please accept my apology for bad formatting.

        1 Reply Last reply Reply Quote 0
        • Ronny Li
          Ronny Li last edited by

          Hi Sabir, bt.DivByZero is what you're looking for. Here's an example where I use it

          class WeighInverseVol(bt.Strategy):
              params = (
                  ('period', 30),
              )
          
              def __init__(self):
                  rs = [bt.ind.PctChange(d, period=1) for d in self.datas]
                  vs = [bt.ind.StdDev(ret, period=self.params.period) for ret in rs]
                  inv = [bt.DivByZero(bt.LineNum(1), v) for v in vs]
                  invsum = bt.LineNum(0)
                  for inv_ in inv:
                      invsum += inv_
                  # self.weights is an array of asset allocation weights
                  # one weight per asset in self.datas
                  self.weights = [inv_ / invsum for inv_ in inv]
          

          Here's the source code for bt.DivByZero: https://github.com/mementum/backtrader/blob/master/backtrader/functions.py#L43

          Sabir Jana 1 Reply Last reply Reply Quote 2
          • Sabir Jana
            Sabir Jana @Ronny Li last edited by

            @Ronny-Li said in ZeroDivisionError: float division by zero:

            inv = [bt.DivByZero(bt.LineNum(1), v) for v in vs]

            Hello Ronny, Thanks a ton!! it worked.
            If I may share another issue faced by me is monthly rebalancing. The workaround I do to resample data for monthly frequency and run the backtest. I tried below code to trigger monthly rebalancing on daily price series however looking at the log I understand it's not working. Appreciate help/ pointers

            class Strategy(bt.Strategy):
                params = dict(
                    selcperc=0.15,  # percentage of stocks to select from the universe
                    rperiod=1,  # period for the returns calculation, default 1 period
                    vperiod=126,  # lookback period for volatility - default 36 periods
                    mperiod=126,  # lookback period for momentum - default 12 periods
                    reserve=0.05,  # 5% reserve capital
                    when=bt.timer.SESSION_END, #SESSION_START,
                    timer=True,
                    monthdays=[1],
                    monthcarry=True
                )
                
                def log(self, arg):
                        print('{} {}'.format(self.datetime.date(), arg))   
            
                def __init__(self):
                    
            #         bt.indicators.Stochastic(self.datas[0], safediv=True)
                    
                    # calculate 1st the amount of stocks that will be selected
                    self.selnum = int(len(self.datas) * self.p.selcperc)
            
                    # allocation perc per stock
                    # reserve kept to make sure orders are not rejected due to
                    # margin. Prices are calculated when known (close), but orders can only
                    # be executed next day (opening price). Price can gap upwards
                    self.perctarget = (1.0 - self.p.reserve) / self.selnum
            
                    # returns, volatilities and momentums
                    rs = [bt.ind.PctChange(d, period=self.p.rperiod) for d in self.datas] # safediv safezero
                    vs = [bt.ind.StdDev(ret, period=self.p.vperiod) for ret in rs]
                    ms = [bt.ind.ROC(d, period=self.p.mperiod) for d in self.datas]
            
                    # simple rank formula: (momentum * net payout) / volatility
                    # the highest ranked: low vol, large momentum, large payout
            #         self.ranks = {d: d.npy * m / v for d, v, m in zip(self.datas, vs, ms)}
                    self.ranks = {d: m / v for d, v, m in zip(self.datas, vs, ms)}
            
            #         self.add_timer(
            #             when=self.p.when,
            #             monthdays=self.p.monthdays,
            #             monthcarry=self.p.monthcarry
            #         )
            
                    # Add a timer which will be called on the 1st trading day of the month
                    self.add_timer(
                        bt.timer.SESSION_END,  # when it will be called
                        monthdays=[1],  # called on the 1st day of the month
                        monthcarry=self.p.monthcarry,  # called on the 2nd day if the 1st is holiday
                    )
            
                def notify_timer(self, timer, when, *args, **kwargs):
                    if self._getminperstatus() < 0:
                        self.rebalance()
            
                def rebalance(self):
                    # sort data and current rank
                    ranks = sorted(
                        self.ranks.items(),  # get the (d, rank), pair
                        key=lambda x: x[1][0],  # use rank (elem 1) and current time "0"
                        reverse=True,  # highest ranked 1st ... please
                    )
            
                    # put top ranked in dict with data as key to test for presence
                    rtop = dict(ranks[:self.selnum])
            
            
                    # For logging purposes of stocks leaving the portfolio
                    rbot = dict(ranks[self.selnum:])
            
                    # prepare quick lookup list of stocks currently holding a position
                    posdata = [d for d, pos in self.getpositions().items() if pos]
            
                    # remove those no longer top ranked
                    # do this first to issue sell orders and free cash
                    for d in (d for d in posdata if d not in rtop):
                        self.log('Leave {} - Rank {:.2f}'.format(d._name, rbot[d][0]))
                        self.order_target_percent(d, target=0.0)
            
                    # rebalance those already top ranked and still there
                    for d in (d for d in posdata if d in rtop):
                        self.log('Rebal {} - Rank {:.2f}'.format(d._name, rtop[d][0]))
                        self.order_target_percent(d, target=self.perctarget)
                        del rtop[d]  # remove it, to simplify next iteration
            
                    # issue a target order for the newly top ranked stocks
                    # do this last, as this will generate buy orders consuming cash
                    for d in rtop:
                        self.log('Enter {} - Rank {:.2f}'.format(d._name, rtop[d][0]))
                        self.order_target_percent(d, target=self.perctarget) 
                        
                def next(self):
                    self.notify_timer(self, self.p.timer, self.p.when)
            

            Execution Log:

            Starting Portfolio Value: 100000.00
            2014-07-07 Enter CONCOR.NS - Rank 46.67
            2014-07-07 Enter AUROPHARMA.NS - Rank 43.93
            2014-07-07 Enter SHREECEM.NS - Rank 42.47
            2014-07-07 Enter LT.NS - Rank 38.76
            2014-07-07 Enter PFC.NS - Rank 36.94
            2014-07-07 Enter SBIN.NS - Rank 36.59
            2014-07-07 Enter ASHOKLEY.NS - Rank 35.69
            2014-07-07 Enter MOTHERSUMI.NS - Rank 34.47
            2014-07-07 Enter EICHERMOT.NS - Rank 34.41
            2014-07-07 Enter PNB.NS - Rank 34.04
            2014-07-07 Enter PGHH.NS - Rank 33.73
            2014-07-07 Enter TITAN.NS - Rank 32.30
            2014-07-07 Enter BPCL.NS - Rank 31.73
            2014-07-08 Leave ASHOKLEY.NS - Rank 28.06
            2014-07-08 Leave TITAN.NS - Rank 27.23
            2014-07-08 Rebal AUROPHARMA.NS - Rank 35.99
            2014-07-08 Rebal BPCL.NS - Rank 31.08
            2014-07-08 Rebal CONCOR.NS - Rank 38.02
            2014-07-08 Rebal LT.NS - Rank 36.04
            2014-07-08 Rebal MOTHERSUMI.NS - Rank 30.61
            2014-07-08 Rebal PFC.NS - Rank 31.57
            2014-07-08 Rebal PGHH.NS - Rank 32.45
            2014-07-08 Rebal PNB.NS - Rank 30.18
            2014-07-08 Rebal SBIN.NS - Rank 33.78
            2014-07-08 Rebal SHREECEM.NS - Rank 40.49
            2014-07-08 Enter EICHERMOT.NS - Rank 33.64
            2014-07-08 Enter BAJAJHLDNG.NS - Rank 32.01
            2014-07-08 Enter AXISBANK.NS - Rank 30.54
            2014-07-09 Leave AUROPHARMA.NS - Rank 26.37
            2014-07-09 Rebal AXISBANK.NS - Rank 30.17
            2014-07-09 Rebal BAJAJHLDNG.NS - Rank 29.87
            2014-07-09 Rebal BPCL.NS - Rank 32.39
            2014-07-09 Rebal CONCOR.NS - Rank 37.63
            2014-07-09 Rebal LT.NS - Rank 34.93
            2014-07-09 Rebal MOTHERSUMI.NS - Rank 29.34
            2014-07-09 Rebal PFC.NS - Rank 30.32
            2014-07-09 Rebal PGHH.NS - Rank 30.47
            2014-07-09 Rebal PNB.NS - Rank 30.50
            2014-07-09 Rebal SBIN.NS - Rank 35.63
            2014-07-09 Rebal SHREECEM.NS - Rank 38.99
            2014-07-09 Enter EICHERMOT.NS - Rank 31.73
            2014-07-09 Enter ICICIBANK.NS - Rank 28.64
            2014-07-10 Leave BAJAJHLDNG.NS - Rank 29.43
            2014-07-10 Leave ICICIBANK.NS - Rank 27.20
            2014-07-10 Rebal AXISBANK.NS - Rank 31.25
            2014-07-10 Rebal BPCL.NS - Rank 33.67
            2014-07-10 Rebal CONCOR.NS - Rank 40.36
            2014-07-10 Rebal LT.NS - Rank 34.31
            2014-07-10 Rebal MOTHERSUMI.NS - Rank 33.70
            2014-07-10 Rebal PFC.NS - Rank 34.81
            2014-07-10 Rebal PGHH.NS - Rank 29.82
            2014-07-10 Rebal PNB.NS - Rank 30.65
            2014-07-10 Rebal SBIN.NS - Rank 35.79
            2014-07-10 Rebal SHREECEM.NS - Rank 39.86
            2014-07-10 Enter EICHERMOT.NS - Rank 30.94
            2014-07-10 Enter PAGEIND.NS - Rank 30.30
            2014-07-10 Enter ADANIPORTS.NS - Rank 29.64
            2014-07-11 Leave ADANIPORTS.NS - Rank 21.94
            2014-07-11 Leave PFC.NS - Rank 26.35
            2014-07-11 Leave PNB.NS - Rank 26.56
            2014-07-11 Rebal AXISBANK.NS - Rank 30.62
            2014-07-11 Rebal BPCL.NS - Rank 32.29
            2014-07-11 Rebal CONCOR.NS - Rank 34.57
            2014-07-11 Rebal LT.NS - Rank 30.98
            2014-07-11 Rebal MOTHERSUMI.NS - Rank 30.25
            2014-07-11 Rebal PGHH.NS - Rank 28.42
            2014-07-11 Rebal SBIN.NS - Rank 31.46
            2014-07-11 Rebal SHREECEM.NS - Rank 37.59
            2014-07-11 Enter EICHERMOT.NS - Rank 30.97
            2014-07-11 Enter PAGEIND.NS - Rank 28.64
            2014-07-11 Enter IOC.NS - Rank 28.58
            2014-07-11 Enter AUROPHARMA.NS - Rank 28.29
            2014-07-11 Enter HINDPETRO.NS - Rank 27.17
            2014-07-14 Leave IOC.NS - Rank 26.02
            2014-07-14 Leave MOTHERSUMI.NS - Rank 26.31
            2014-07-14 Rebal AUROPHARMA.NS - Rank 30.59
            2014-07-14 Rebal AXISBANK.NS - Rank 34.12
            2014-07-14 Rebal BPCL.NS - Rank 31.61
            2014-07-14 Rebal CONCOR.NS - Rank 34.03
            2014-07-14 Rebal HINDPETRO.NS - Rank 27.88
            2014-07-14 Rebal LT.NS - Rank 34.89
            2014-07-14 Rebal PGHH.NS - Rank 28.22
            2014-07-14 Rebal SBIN.NS - Rank 31.84
            2014-07-14 Rebal SHREECEM.NS - Rank 38.14
            2014-07-14 Enter EICHERMOT.NS - Rank 31.50
            2014-07-14 Enter PFC.NS - Rank 29.32
            2014-07-14 Enter PNB.NS - Rank 28.90
            2014-07-14 Enter HAVELLS.NS - Rank 27.97
            2014-07-15 Leave HAVELLS.NS - Rank 29.65
            2014-07-15 Rebal AUROPHARMA.NS - Rank 34.18
            2014-07-15 Rebal AXISBANK.NS - Rank 38.14
            2014-07-15 Rebal BPCL.NS - Rank 32.98
            2014-07-15 Rebal CONCOR.NS - Rank 36.38
            2014-07-15 Rebal HINDPETRO.NS - Rank 29.95
            2014-07-15 Rebal LT.NS - Rank 38.46
            2014-07-15 Rebal PFC.NS - Rank 32.38
            2014-07-15 Rebal PGHH.NS - Rank 30.71
            2014-07-15 Rebal PNB.NS - Rank 31.95
            2014-07-15 Rebal SBIN.NS - Rank 36.52
            2014-07-15 Rebal SHREECEM.NS - Rank 37.98
            2014-07-15 Enter EICHERMOT.NS - Rank 34.44
            2014-07-15 Enter MOTHERSUMI.NS - Rank 30.71
            2014-07-16 Leave PFC.NS - Rank 28.23
            2014-07-16 Rebal AUROPHARMA.NS - Rank 37.10
            2014-07-16 Rebal AXISBANK.NS - Rank 39.30
            2014-07-16 Rebal BPCL.NS - Rank 32.91
            2014-07-16 Rebal CONCOR.NS - Rank 38.53
            2014-07-16 Rebal HINDPETRO.NS - Rank 30.86
            2014-07-16 Rebal LT.NS - Rank 37.69
            2014-07-16 Rebal MOTHERSUMI.NS - Rank 35.12
            2014-07-16 Rebal PGHH.NS - Rank 31.92
            2014-07-16 Rebal PNB.NS - Rank 31.67
            2014-07-16 Rebal SBIN.NS - Rank 36.63
            2014-07-16 Rebal SHREECEM.NS - Rank 38.88
            2014-07-16 Enter EICHERMOT.NS - Rank 33.98
            2014-07-16 Enter ADANIPORTS.NS - Rank 31.71
            2014-07-17 Leave ADANIPORTS.NS - Rank 31.33
            2014-07-17 Leave PGHH.NS - Rank 28.79
            2014-07-17 Rebal AUROPHARMA.NS - Rank 36.68
            2014-07-17 Rebal AXISBANK.NS - Rank 39.47
            2014-07-17 Rebal BPCL.NS - Rank 33.75
            2014-07-17 Rebal CONCOR.NS - Rank 40.51
            2014-07-17 Rebal HINDPETRO.NS - Rank 31.85
            2014-07-17 Rebal LT.NS - Rank 39.13
            2014-07-17 Rebal MOTHERSUMI.NS - Rank 35.79
            2014-07-17 Rebal PNB.NS - Rank 32.22
            2014-07-17 Rebal SBIN.NS - Rank 38.27
            2014-07-17 Rebal SHREECEM.NS - Rank 39.25
            2014-07-17 Enter EICHERMOT.NS - Rank 36.00
            2014-07-17 Enter HAVELLS.NS - Rank 34.63
            2014-07-17 Enter ULTRACEMCO.NS - Rank 32.15
            2014-07-18 Leave HINDPETRO.NS - Rank 28.44
            2014-07-18 Leave PNB.NS - Rank 29.86
            2014-07-18 Leave ULTRACEMCO.NS - Rank 27.88
            2014-07-18 Rebal AUROPHARMA.NS - Rank 37.18
            2014-07-18 Rebal AXISBANK.NS - Rank 41.21
            2014-07-18 Rebal BPCL.NS - Rank 32.85
            2014-07-18 Rebal CONCOR.NS - Rank 40.39
            2014-07-18 Rebal HAVELLS.NS - Rank 36.26
            2014-07-18 Rebal LT.NS - Rank 37.78
            2014-07-18 Rebal MOTHERSUMI.NS - Rank 35.56
            2014-07-18 Rebal SBIN.NS - Rank 36.24
            2014-07-18 Rebal SHREECEM.NS - Rank 38.80
            2014-07-18 Enter EICHERMOT.NS - Rank 36.03
            2014-07-18 Enter ICICIBANK.NS - Rank 30.90
            2014-07-18 Enter ASHOKLEY.NS - Rank 30.70
            2014-07-18 Enter ADANIPORTS.NS - Rank 30.63
            2014-07-21 Leave ASHOKLEY.NS - Rank 29.98
            2014-07-21 Rebal ADANIPORTS.NS - Rank 30.28
            2014-07-21 Rebal AUROPHARMA.NS - Rank 33.30
            2014-07-21 Rebal AXISBANK.NS - Rank 42.66
            2014-07-21 Rebal BPCL.NS - Rank 31.95
            2014-07-21 Rebal CONCOR.NS - Rank 40.64
            2014-07-21 Rebal HAVELLS.NS - Rank 33.77
            2014-07-21 Rebal ICICIBANK.NS - Rank 30.98
            2014-07-21 Rebal LT.NS - Rank 36.36
            2014-07-21 Rebal MOTHERSUMI.NS - Rank 34.23
            2014-07-21 Rebal SBIN.NS - Rank 35.12
            2014-07-21 Rebal SHREECEM.NS - Rank 40.04
            2014-07-21 Enter EICHERMOT.NS - Rank 35.67
            2014-07-21 Enter PAGEIND.NS - Rank 30.67
            2014-07-22 Leave ADANIPORTS.NS - Rank 30.48
            2014-07-22 Leave BPCL.NS - Rank 30.13
            2014-07-22 Rebal AUROPHARMA.NS - Rank 35.39
            2014-07-22 Rebal AXISBANK.NS - Rank 44.50
            2014-07-22 Rebal CONCOR.NS - Rank 44.00
            2014-07-22 Rebal HAVELLS.NS - Rank 34.87
            2014-07-22 Rebal ICICIBANK.NS - Rank 33.02
            2014-07-22 Rebal LT.NS - Rank 35.56
            2014-07-22 Rebal MOTHERSUMI.NS - Rank 34.47
            2014-07-22 Rebal SBIN.NS - Rank 35.92
            2014-07-22 Rebal SHREECEM.NS - Rank 37.68
            2014-07-22 Enter EICHERMOT.NS - Rank 35.59
            2014-07-22 Enter PNB.NS - Rank 31.50
            2014-07-22 Enter PFC.NS - Rank 30.66
            2014-07-22 Enter ASHOKLEY.NS - Rank 30.55
            2014-07-23 Leave PFC.NS - Rank 30.53
            2014-07-23 Rebal ASHOKLEY.NS - Rank 31.39
            2014-07-23 Rebal AUROPHARMA.NS - Rank 31.51
            2014-07-23 Rebal AXISBANK.NS - Rank 42.79
            2014-07-23 Rebal CONCOR.NS - Rank 41.76
            2014-07-23 Rebal HAVELLS.NS - Rank 31.93
            2014-07-23 Rebal ICICIBANK.NS - Rank 33.48
            2014-07-23 Rebal LT.NS - Rank 35.85
            2014-07-23 Rebal MOTHERSUMI.NS - Rank 30.82
            2014-07-23 Rebal PNB.NS - Rank 31.00
            2014-07-23 Rebal SBIN.NS - Rank 35.45
            2014-07-23 Rebal SHREECEM.NS - Rank 37.84
            2014-07-23 Enter EICHERMOT.NS - Rank 33.90
            2014-07-23 Enter BPCL.NS - Rank 31.62
            2014-07-24 Leave AUROPHARMA.NS - Rank 28.30
            2014-07-24 Rebal ASHOKLEY.NS - Rank 32.42
            2014-07-24 Rebal AXISBANK.NS - Rank 40.71
            2014-07-24 Rebal BPCL.NS - Rank 33.21
            2014-07-24 Rebal CONCOR.NS - Rank 42.58
            2014-07-24 Rebal HAVELLS.NS - Rank 32.82
            2014-07-24 Rebal ICICIBANK.NS - Rank 31.19
            2014-07-24 Rebal LT.NS - Rank 35.29
            2014-07-24 Rebal MOTHERSUMI.NS - Rank 30.00
            2014-07-24 Rebal PNB.NS - Rank 30.52
            2014-07-24 Rebal SBIN.NS - Rank 35.13
            2014-07-24 Rebal SHREECEM.NS - Rank 34.77
            2014-07-24 Enter EICHERMOT.NS - Rank 32.88
            2014-07-24 Enter PFC.NS - Rank 29.63
            2014-07-25 Leave PFC.NS - Rank 27.90
            2014-07-25 Rebal ASHOKLEY.NS - Rank 29.14
            2014-07-25 Rebal AXISBANK.NS - Rank 40.14
            2014-07-25 Rebal BPCL.NS - Rank 30.27
            2014-07-25 Rebal CONCOR.NS - Rank 42.54
            2014-07-25 Rebal HAVELLS.NS - Rank 33.57
            2014-07-25 Rebal ICICIBANK.NS - Rank 28.78
            2014-07-25 Rebal LT.NS - Rank 35.62
            2014-07-25 Rebal MOTHERSUMI.NS - Rank 29.60
            2014-07-25 Rebal PNB.NS - Rank 29.44
            2014-07-25 Rebal SBIN.NS - Rank 33.82
            2014-07-25 Rebal SHREECEM.NS - Rank 37.58
            2014-07-25 Enter EICHERMOT.NS - Rank 34.59
            2014-07-25 Enter PETRONET.NS - Rank 29.75
            2014-07-28 Leave ASHOKLEY.NS - Rank 26.90
            2014-07-28 Rebal AXISBANK.NS - Rank 37.76
            2014-07-28 Rebal BPCL.NS - Rank 27.34
            2014-07-28 Rebal CONCOR.NS - Rank 37.34
            2014-07-28 Rebal HAVELLS.NS - Rank 32.27
            2014-07-28 Rebal ICICIBANK.NS - Rank 28.04
            2014-07-28 Rebal LT.NS - Rank 32.41
            2014-07-28 Rebal MOTHERSUMI.NS - Rank 33.21
            2014-07-28 Rebal PETRONET.NS - Rank 29.41
            2014-07-28 Rebal PNB.NS - Rank 31.49
            2014-07-28 Rebal SBIN.NS - Rank 32.93
            2014-07-28 Rebal SHREECEM.NS - Rank 39.10
            2014-07-28 Enter EICHERMOT.NS - Rank 35.07
            2014-07-28 Enter PFC.NS - Rank 27.19
            2014-07-30 Leave BPCL.NS - Rank 28.06
            2014-07-30 Leave LT.NS - Rank 26.83
            2014-07-30 Rebal AXISBANK.NS - Rank 40.11
            2014-07-30 Rebal CONCOR.NS - Rank 40.12
            2014-07-30 Rebal HAVELLS.NS - Rank 30.97
            2014-07-30 Rebal ICICIBANK.NS - Rank 31.50
            2014-07-30 Rebal MOTHERSUMI.NS - Rank 34.60
            2014-07-30 Rebal PETRONET.NS - Rank 30.49
            2014-07-30 Rebal PFC.NS - Rank 31.60
            2014-07-30 Rebal PNB.NS - Rank 37.99
            2014-07-30 Rebal SBIN.NS - Rank 34.20
            2014-07-30 Rebal SHREECEM.NS - Rank 40.88
            2014-07-30 Enter EICHERMOT.NS - Rank 36.10
            2014-07-30 Enter ASHOKLEY.NS - Rank 32.29
            2014-07-30 Enter TITAN.NS - Rank 29.98
            2014-07-31 Leave TITAN.NS - Rank 30.74
            2014-07-31 Rebal ASHOKLEY.NS - Rank 33.71
            2014-07-31 Rebal AXISBANK.NS - Rank 41.55
            2014-07-31 Rebal CONCOR.NS - Rank 39.78
            2014-07-31 Rebal HAVELLS.NS - Rank 37.30
            2014-07-31 Rebal ICICIBANK.NS - Rank 34.95
            2014-07-31 Rebal MOTHERSUMI.NS - Rank 38.18
            2014-07-31 Rebal PETRONET.NS - Rank 35.87
            2014-07-31 Rebal PFC.NS - Rank 36.63
            2014-07-31 Rebal PNB.NS - Rank 41.66
            2014-07-31 Rebal SBIN.NS - Rank 34.58
            2014-07-31 Rebal SHREECEM.NS - Rank 44.88
            2014-07-31 Enter EICHERMOT.NS - Rank 37.48
            2014-07-31 Enter PGHH.NS - Rank 31.19
            2014-08-01 Leave PGHH.NS - Rank 31.49
            2014-08-01 Rebal ASHOKLEY.NS - Rank 33.93
            2014-08-01 Rebal AXISBANK.NS - Rank 44.33
            2014-08-01 Rebal CONCOR.NS - Rank 36.67
            2014-08-01 Rebal HAVELLS.NS - Rank 32.24
            2014-08-01 Rebal ICICIBANK.NS - Rank 34.48
            2014-08-01 Rebal MOTHERSUMI.NS - Rank 35.42
            2014-08-01 Rebal PETRONET.NS - Rank 37.81
            2014-08-01 Rebal PFC.NS - Rank 34.10
            2014-08-01 Rebal PNB.NS - Rank 41.39
            2014-08-01 Rebal SBIN.NS - Rank 34.42
            2014-08-01 Rebal SHREECEM.NS - Rank 44.25
            2014-08-01 Enter EICHERMOT.NS - Rank 37.08
            2014-08-01 Enter MARUTI.NS - Rank 34.32
            2014-08-04 Leave HAVELLS.NS - Rank 29.66
            2014-08-04 Rebal ASHOKLEY.NS - Rank 36.26
            2014-08-04 Rebal AXISBANK.NS - Rank 43.75
            2014-08-04 Rebal CONCOR.NS - Rank 36.85
            2014-08-04 Rebal ICICIBANK.NS - Rank 36.91
            2014-08-04 Rebal MARUTI.NS - Rank 31.97
            2014-08-04 Rebal MOTHERSUMI.NS - Rank 37.13
            2014-08-04 Rebal PETRONET.NS - Rank 33.84
            2014-08-04 Rebal PFC.NS - Rank 33.88
            2014-08-04 Rebal PNB.NS - Rank 43.70
            2014-08-04 Rebal SBIN.NS - Rank 36.44
            2014-08-04 Rebal SHREECEM.NS - Rank 42.08
            2014-08-04 Enter EICHERMOT.NS - Rank 38.96
            2014-08-04 Enter TATAMTRDVR.NS - Rank 31.49
            2014-08-05 Leave PETRONET.NS - Rank 30.15
            2014-08-05 Leave TATAMTRDVR.NS - Rank 31.60
            2014-08-05 Rebal ASHOKLEY.NS - Rank 37.32
            2014-08-05 Rebal AXISBANK.NS - Rank 47.66
            2014-08-05 Rebal CONCOR.NS - Rank 37.98
            2014-08-05 Rebal ICICIBANK.NS - Rank 39.26
            2014-08-05 Rebal MARUTI.NS - Rank 34.96
            2014-08-05 Rebal MOTHERSUMI.NS - Rank 39.71
            .......
            
            run-out 1 Reply Last reply Reply Quote 0
            • run-out
              run-out @Sabir Jana last edited by

              @Sabir-Jana said in ZeroDivisionError: float division by zero:

              @Ronny-Li said in ZeroDivisionError: float division by zero:

              inv = [bt.DivByZero(bt.LineNum(1), v) for v in vs]

              Hello Ronny, Thanks a ton!! it worked.
              If I may share another issue faced by me is monthly rebalancing. The workaround I do to resample data for monthly frequency and run the backtest. I tried below code to trigger monthly rebalancing on daily price series however looking at the log I understand it's not working. Appreciate help/ pointers

              class Strategy(bt.Strategy):
                  params = dict(
                      selcperc=0.15,  # percentage of stocks to select from the universe
                      rperiod=1,  # period for the returns calculation, default 1 period
                      vperiod=126,  # lookback period for volatility - default 36 periods
                      mperiod=126,  # lookback period for momentum - default 12 periods
                      reserve=0.05,  # 5% reserve capital
                      when=bt.timer.SESSION_END, #SESSION_START,
                      timer=True,
                      monthdays=[1],
                      monthcarry=True
                  )
                  
                  def log(self, arg):
                          print('{} {}'.format(self.datetime.date(), arg))   
              
                  def __init__(self):
                      
              #         bt.indicators.Stochastic(self.datas[0], safediv=True)
                      
                      # calculate 1st the amount of stocks that will be selected
                      self.selnum = int(len(self.datas) * self.p.selcperc)
              
                      # allocation perc per stock
                      # reserve kept to make sure orders are not rejected due to
                      # margin. Prices are calculated when known (close), but orders can only
                      # be executed next day (opening price). Price can gap upwards
                      self.perctarget = (1.0 - self.p.reserve) / self.selnum
              
                      # returns, volatilities and momentums
                      rs = [bt.ind.PctChange(d, period=self.p.rperiod) for d in self.datas] # safediv safezero
                      vs = [bt.ind.StdDev(ret, period=self.p.vperiod) for ret in rs]
                      ms = [bt.ind.ROC(d, period=self.p.mperiod) for d in self.datas]
              
                      # simple rank formula: (momentum * net payout) / volatility
                      # the highest ranked: low vol, large momentum, large payout
              #         self.ranks = {d: d.npy * m / v for d, v, m in zip(self.datas, vs, ms)}
                      self.ranks = {d: m / v for d, v, m in zip(self.datas, vs, ms)}
              
              #         self.add_timer(
              #             when=self.p.when,
              #             monthdays=self.p.monthdays,
              #             monthcarry=self.p.monthcarry
              #         )
              
                      # Add a timer which will be called on the 1st trading day of the month
                      self.add_timer(
                          bt.timer.SESSION_END,  # when it will be called
                          monthdays=[1],  # called on the 1st day of the month
                          monthcarry=self.p.monthcarry,  # called on the 2nd day if the 1st is holiday
                      )
              
                  def notify_timer(self, timer, when, *args, **kwargs):
                      if self._getminperstatus() < 0:
                          self.rebalance()
              
                  def rebalance(self):
                      # sort data and current rank
                      ranks = sorted(
                          self.ranks.items(),  # get the (d, rank), pair
                          key=lambda x: x[1][0],  # use rank (elem 1) and current time "0"
                          reverse=True,  # highest ranked 1st ... please
                      )
              
                      # put top ranked in dict with data as key to test for presence
                      rtop = dict(ranks[:self.selnum])
              
              
                      # For logging purposes of stocks leaving the portfolio
                      rbot = dict(ranks[self.selnum:])
              
                      # prepare quick lookup list of stocks currently holding a position
                      posdata = [d for d, pos in self.getpositions().items() if pos]
              
                      # remove those no longer top ranked
                      # do this first to issue sell orders and free cash
                      for d in (d for d in posdata if d not in rtop):
                          self.log('Leave {} - Rank {:.2f}'.format(d._name, rbot[d][0]))
                          self.order_target_percent(d, target=0.0)
              
                      # rebalance those already top ranked and still there
                      for d in (d for d in posdata if d in rtop):
                          self.log('Rebal {} - Rank {:.2f}'.format(d._name, rtop[d][0]))
                          self.order_target_percent(d, target=self.perctarget)
                          del rtop[d]  # remove it, to simplify next iteration
              
                      # issue a target order for the newly top ranked stocks
                      # do this last, as this will generate buy orders consuming cash
                      for d in rtop:
                          self.log('Enter {} - Rank {:.2f}'.format(d._name, rtop[d][0]))
                          self.order_target_percent(d, target=self.perctarget) 
                          
                  def next(self):
                      self.notify_timer(self, self.p.timer, self.p.when)
              

              Execution Log:

              Starting Portfolio Value: 100000.00
              2014-07-07 Enter CONCOR.NS - Rank 46.67
              2014-07-07 Enter AUROPHARMA.NS - Rank 43.93
              2014-07-07 Enter SHREECEM.NS - Rank 42.47
              2014-07-07 Enter LT.NS - Rank 38.76
              2014-07-07 Enter PFC.NS - Rank 36.94
              2014-07-07 Enter SBIN.NS - Rank 36.59
              2014-07-07 Enter ASHOKLEY.NS - Rank 35.69
              2014-07-07 Enter MOTHERSUMI.NS - Rank 34.47
              2014-07-07 Enter EICHERMOT.NS - Rank 34.41
              2014-07-07 Enter PNB.NS - Rank 34.04
              2014-07-07 Enter PGHH.NS - Rank 33.73
              2014-07-07 Enter TITAN.NS - Rank 32.30
              2014-07-07 Enter BPCL.NS - Rank 31.73
              2014-07-08 Leave ASHOKLEY.NS - Rank 28.06
              2014-07-08 Leave TITAN.NS - Rank 27.23
              2014-07-08 Rebal AUROPHARMA.NS - Rank 35.99
              2014-07-08 Rebal BPCL.NS - Rank 31.08
              2014-07-08 Rebal CONCOR.NS - Rank 38.02
              2014-07-08 Rebal LT.NS - Rank 36.04
              2014-07-08 Rebal MOTHERSUMI.NS - Rank 30.61
              2014-07-08 Rebal PFC.NS - Rank 31.57
              2014-07-08 Rebal PGHH.NS - Rank 32.45
              2014-07-08 Rebal PNB.NS - Rank 30.18
              2014-07-08 Rebal SBIN.NS - Rank 33.78
              2014-07-08 Rebal SHREECEM.NS - Rank 40.49
              2014-07-08 Enter EICHERMOT.NS - Rank 33.64
              2014-07-08 Enter BAJAJHLDNG.NS - Rank 32.01
              2014-07-08 Enter AXISBANK.NS - Rank 30.54
              2014-07-09 Leave AUROPHARMA.NS - Rank 26.37
              2014-07-09 Rebal AXISBANK.NS - Rank 30.17
              2014-07-09 Rebal BAJAJHLDNG.NS - Rank 29.87
              2014-07-09 Rebal BPCL.NS - Rank 32.39
              2014-07-09 Rebal CONCOR.NS - Rank 37.63
              2014-07-09 Rebal LT.NS - Rank 34.93
              2014-07-09 Rebal MOTHERSUMI.NS - Rank 29.34
              2014-07-09 Rebal PFC.NS - Rank 30.32
              2014-07-09 Rebal PGHH.NS - Rank 30.47
              2014-07-09 Rebal PNB.NS - Rank 30.50
              2014-07-09 Rebal SBIN.NS - Rank 35.63
              2014-07-09 Rebal SHREECEM.NS - Rank 38.99
              2014-07-09 Enter EICHERMOT.NS - Rank 31.73
              2014-07-09 Enter ICICIBANK.NS - Rank 28.64
              2014-07-10 Leave BAJAJHLDNG.NS - Rank 29.43
              2014-07-10 Leave ICICIBANK.NS - Rank 27.20
              2014-07-10 Rebal AXISBANK.NS - Rank 31.25
              2014-07-10 Rebal BPCL.NS - Rank 33.67
              2014-07-10 Rebal CONCOR.NS - Rank 40.36
              2014-07-10 Rebal LT.NS - Rank 34.31
              2014-07-10 Rebal MOTHERSUMI.NS - Rank 33.70
              2014-07-10 Rebal PFC.NS - Rank 34.81
              2014-07-10 Rebal PGHH.NS - Rank 29.82
              2014-07-10 Rebal PNB.NS - Rank 30.65
              2014-07-10 Rebal SBIN.NS - Rank 35.79
              2014-07-10 Rebal SHREECEM.NS - Rank 39.86
              2014-07-10 Enter EICHERMOT.NS - Rank 30.94
              2014-07-10 Enter PAGEIND.NS - Rank 30.30
              2014-07-10 Enter ADANIPORTS.NS - Rank 29.64
              2014-07-11 Leave ADANIPORTS.NS - Rank 21.94
              2014-07-11 Leave PFC.NS - Rank 26.35
              2014-07-11 Leave PNB.NS - Rank 26.56
              2014-07-11 Rebal AXISBANK.NS - Rank 30.62
              2014-07-11 Rebal BPCL.NS - Rank 32.29
              2014-07-11 Rebal CONCOR.NS - Rank 34.57
              2014-07-11 Rebal LT.NS - Rank 30.98
              2014-07-11 Rebal MOTHERSUMI.NS - Rank 30.25
              2014-07-11 Rebal PGHH.NS - Rank 28.42
              2014-07-11 Rebal SBIN.NS - Rank 31.46
              2014-07-11 Rebal SHREECEM.NS - Rank 37.59
              2014-07-11 Enter EICHERMOT.NS - Rank 30.97
              2014-07-11 Enter PAGEIND.NS - Rank 28.64
              2014-07-11 Enter IOC.NS - Rank 28.58
              2014-07-11 Enter AUROPHARMA.NS - Rank 28.29
              2014-07-11 Enter HINDPETRO.NS - Rank 27.17
              2014-07-14 Leave IOC.NS - Rank 26.02
              2014-07-14 Leave MOTHERSUMI.NS - Rank 26.31
              2014-07-14 Rebal AUROPHARMA.NS - Rank 30.59
              2014-07-14 Rebal AXISBANK.NS - Rank 34.12
              2014-07-14 Rebal BPCL.NS - Rank 31.61
              2014-07-14 Rebal CONCOR.NS - Rank 34.03
              2014-07-14 Rebal HINDPETRO.NS - Rank 27.88
              2014-07-14 Rebal LT.NS - Rank 34.89
              2014-07-14 Rebal PGHH.NS - Rank 28.22
              2014-07-14 Rebal SBIN.NS - Rank 31.84
              2014-07-14 Rebal SHREECEM.NS - Rank 38.14
              2014-07-14 Enter EICHERMOT.NS - Rank 31.50
              2014-07-14 Enter PFC.NS - Rank 29.32
              2014-07-14 Enter PNB.NS - Rank 28.90
              2014-07-14 Enter HAVELLS.NS - Rank 27.97
              2014-07-15 Leave HAVELLS.NS - Rank 29.65
              2014-07-15 Rebal AUROPHARMA.NS - Rank 34.18
              2014-07-15 Rebal AXISBANK.NS - Rank 38.14
              2014-07-15 Rebal BPCL.NS - Rank 32.98
              2014-07-15 Rebal CONCOR.NS - Rank 36.38
              2014-07-15 Rebal HINDPETRO.NS - Rank 29.95
              2014-07-15 Rebal LT.NS - Rank 38.46
              2014-07-15 Rebal PFC.NS - Rank 32.38
              2014-07-15 Rebal PGHH.NS - Rank 30.71
              2014-07-15 Rebal PNB.NS - Rank 31.95
              2014-07-15 Rebal SBIN.NS - Rank 36.52
              2014-07-15 Rebal SHREECEM.NS - Rank 37.98
              2014-07-15 Enter EICHERMOT.NS - Rank 34.44
              2014-07-15 Enter MOTHERSUMI.NS - Rank 30.71
              2014-07-16 Leave PFC.NS - Rank 28.23
              2014-07-16 Rebal AUROPHARMA.NS - Rank 37.10
              2014-07-16 Rebal AXISBANK.NS - Rank 39.30
              2014-07-16 Rebal BPCL.NS - Rank 32.91
              2014-07-16 Rebal CONCOR.NS - Rank 38.53
              2014-07-16 Rebal HINDPETRO.NS - Rank 30.86
              2014-07-16 Rebal LT.NS - Rank 37.69
              2014-07-16 Rebal MOTHERSUMI.NS - Rank 35.12
              2014-07-16 Rebal PGHH.NS - Rank 31.92
              2014-07-16 Rebal PNB.NS - Rank 31.67
              2014-07-16 Rebal SBIN.NS - Rank 36.63
              2014-07-16 Rebal SHREECEM.NS - Rank 38.88
              2014-07-16 Enter EICHERMOT.NS - Rank 33.98
              2014-07-16 Enter ADANIPORTS.NS - Rank 31.71
              2014-07-17 Leave ADANIPORTS.NS - Rank 31.33
              2014-07-17 Leave PGHH.NS - Rank 28.79
              2014-07-17 Rebal AUROPHARMA.NS - Rank 36.68
              2014-07-17 Rebal AXISBANK.NS - Rank 39.47
              2014-07-17 Rebal BPCL.NS - Rank 33.75
              2014-07-17 Rebal CONCOR.NS - Rank 40.51
              2014-07-17 Rebal HINDPETRO.NS - Rank 31.85
              2014-07-17 Rebal LT.NS - Rank 39.13
              2014-07-17 Rebal MOTHERSUMI.NS - Rank 35.79
              2014-07-17 Rebal PNB.NS - Rank 32.22
              2014-07-17 Rebal SBIN.NS - Rank 38.27
              2014-07-17 Rebal SHREECEM.NS - Rank 39.25
              2014-07-17 Enter EICHERMOT.NS - Rank 36.00
              2014-07-17 Enter HAVELLS.NS - Rank 34.63
              2014-07-17 Enter ULTRACEMCO.NS - Rank 32.15
              2014-07-18 Leave HINDPETRO.NS - Rank 28.44
              2014-07-18 Leave PNB.NS - Rank 29.86
              2014-07-18 Leave ULTRACEMCO.NS - Rank 27.88
              2014-07-18 Rebal AUROPHARMA.NS - Rank 37.18
              2014-07-18 Rebal AXISBANK.NS - Rank 41.21
              2014-07-18 Rebal BPCL.NS - Rank 32.85
              2014-07-18 Rebal CONCOR.NS - Rank 40.39
              2014-07-18 Rebal HAVELLS.NS - Rank 36.26
              2014-07-18 Rebal LT.NS - Rank 37.78
              2014-07-18 Rebal MOTHERSUMI.NS - Rank 35.56
              2014-07-18 Rebal SBIN.NS - Rank 36.24
              2014-07-18 Rebal SHREECEM.NS - Rank 38.80
              2014-07-18 Enter EICHERMOT.NS - Rank 36.03
              2014-07-18 Enter ICICIBANK.NS - Rank 30.90
              2014-07-18 Enter ASHOKLEY.NS - Rank 30.70
              2014-07-18 Enter ADANIPORTS.NS - Rank 30.63
              2014-07-21 Leave ASHOKLEY.NS - Rank 29.98
              2014-07-21 Rebal ADANIPORTS.NS - Rank 30.28
              2014-07-21 Rebal AUROPHARMA.NS - Rank 33.30
              2014-07-21 Rebal AXISBANK.NS - Rank 42.66
              2014-07-21 Rebal BPCL.NS - Rank 31.95
              2014-07-21 Rebal CONCOR.NS - Rank 40.64
              2014-07-21 Rebal HAVELLS.NS - Rank 33.77
              2014-07-21 Rebal ICICIBANK.NS - Rank 30.98
              2014-07-21 Rebal LT.NS - Rank 36.36
              2014-07-21 Rebal MOTHERSUMI.NS - Rank 34.23
              2014-07-21 Rebal SBIN.NS - Rank 35.12
              2014-07-21 Rebal SHREECEM.NS - Rank 40.04
              2014-07-21 Enter EICHERMOT.NS - Rank 35.67
              2014-07-21 Enter PAGEIND.NS - Rank 30.67
              2014-07-22 Leave ADANIPORTS.NS - Rank 30.48
              2014-07-22 Leave BPCL.NS - Rank 30.13
              2014-07-22 Rebal AUROPHARMA.NS - Rank 35.39
              2014-07-22 Rebal AXISBANK.NS - Rank 44.50
              2014-07-22 Rebal CONCOR.NS - Rank 44.00
              2014-07-22 Rebal HAVELLS.NS - Rank 34.87
              2014-07-22 Rebal ICICIBANK.NS - Rank 33.02
              2014-07-22 Rebal LT.NS - Rank 35.56
              2014-07-22 Rebal MOTHERSUMI.NS - Rank 34.47
              2014-07-22 Rebal SBIN.NS - Rank 35.92
              2014-07-22 Rebal SHREECEM.NS - Rank 37.68
              2014-07-22 Enter EICHERMOT.NS - Rank 35.59
              2014-07-22 Enter PNB.NS - Rank 31.50
              2014-07-22 Enter PFC.NS - Rank 30.66
              2014-07-22 Enter ASHOKLEY.NS - Rank 30.55
              2014-07-23 Leave PFC.NS - Rank 30.53
              2014-07-23 Rebal ASHOKLEY.NS - Rank 31.39
              2014-07-23 Rebal AUROPHARMA.NS - Rank 31.51
              2014-07-23 Rebal AXISBANK.NS - Rank 42.79
              2014-07-23 Rebal CONCOR.NS - Rank 41.76
              2014-07-23 Rebal HAVELLS.NS - Rank 31.93
              2014-07-23 Rebal ICICIBANK.NS - Rank 33.48
              2014-07-23 Rebal LT.NS - Rank 35.85
              2014-07-23 Rebal MOTHERSUMI.NS - Rank 30.82
              2014-07-23 Rebal PNB.NS - Rank 31.00
              2014-07-23 Rebal SBIN.NS - Rank 35.45
              2014-07-23 Rebal SHREECEM.NS - Rank 37.84
              2014-07-23 Enter EICHERMOT.NS - Rank 33.90
              2014-07-23 Enter BPCL.NS - Rank 31.62
              2014-07-24 Leave AUROPHARMA.NS - Rank 28.30
              2014-07-24 Rebal ASHOKLEY.NS - Rank 32.42
              2014-07-24 Rebal AXISBANK.NS - Rank 40.71
              2014-07-24 Rebal BPCL.NS - Rank 33.21
              2014-07-24 Rebal CONCOR.NS - Rank 42.58
              2014-07-24 Rebal HAVELLS.NS - Rank 32.82
              2014-07-24 Rebal ICICIBANK.NS - Rank 31.19
              2014-07-24 Rebal LT.NS - Rank 35.29
              2014-07-24 Rebal MOTHERSUMI.NS - Rank 30.00
              2014-07-24 Rebal PNB.NS - Rank 30.52
              2014-07-24 Rebal SBIN.NS - Rank 35.13
              2014-07-24 Rebal SHREECEM.NS - Rank 34.77
              2014-07-24 Enter EICHERMOT.NS - Rank 32.88
              2014-07-24 Enter PFC.NS - Rank 29.63
              2014-07-25 Leave PFC.NS - Rank 27.90
              2014-07-25 Rebal ASHOKLEY.NS - Rank 29.14
              2014-07-25 Rebal AXISBANK.NS - Rank 40.14
              2014-07-25 Rebal BPCL.NS - Rank 30.27
              2014-07-25 Rebal CONCOR.NS - Rank 42.54
              2014-07-25 Rebal HAVELLS.NS - Rank 33.57
              2014-07-25 Rebal ICICIBANK.NS - Rank 28.78
              2014-07-25 Rebal LT.NS - Rank 35.62
              2014-07-25 Rebal MOTHERSUMI.NS - Rank 29.60
              2014-07-25 Rebal PNB.NS - Rank 29.44
              2014-07-25 Rebal SBIN.NS - Rank 33.82
              2014-07-25 Rebal SHREECEM.NS - Rank 37.58
              2014-07-25 Enter EICHERMOT.NS - Rank 34.59
              2014-07-25 Enter PETRONET.NS - Rank 29.75
              2014-07-28 Leave ASHOKLEY.NS - Rank 26.90
              2014-07-28 Rebal AXISBANK.NS - Rank 37.76
              2014-07-28 Rebal BPCL.NS - Rank 27.34
              2014-07-28 Rebal CONCOR.NS - Rank 37.34
              2014-07-28 Rebal HAVELLS.NS - Rank 32.27
              2014-07-28 Rebal ICICIBANK.NS - Rank 28.04
              2014-07-28 Rebal LT.NS - Rank 32.41
              2014-07-28 Rebal MOTHERSUMI.NS - Rank 33.21
              2014-07-28 Rebal PETRONET.NS - Rank 29.41
              2014-07-28 Rebal PNB.NS - Rank 31.49
              2014-07-28 Rebal SBIN.NS - Rank 32.93
              2014-07-28 Rebal SHREECEM.NS - Rank 39.10
              2014-07-28 Enter EICHERMOT.NS - Rank 35.07
              2014-07-28 Enter PFC.NS - Rank 27.19
              2014-07-30 Leave BPCL.NS - Rank 28.06
              2014-07-30 Leave LT.NS - Rank 26.83
              2014-07-30 Rebal AXISBANK.NS - Rank 40.11
              2014-07-30 Rebal CONCOR.NS - Rank 40.12
              2014-07-30 Rebal HAVELLS.NS - Rank 30.97
              2014-07-30 Rebal ICICIBANK.NS - Rank 31.50
              2014-07-30 Rebal MOTHERSUMI.NS - Rank 34.60
              2014-07-30 Rebal PETRONET.NS - Rank 30.49
              2014-07-30 Rebal PFC.NS - Rank 31.60
              2014-07-30 Rebal PNB.NS - Rank 37.99
              2014-07-30 Rebal SBIN.NS - Rank 34.20
              2014-07-30 Rebal SHREECEM.NS - Rank 40.88
              2014-07-30 Enter EICHERMOT.NS - Rank 36.10
              2014-07-30 Enter ASHOKLEY.NS - Rank 32.29
              2014-07-30 Enter TITAN.NS - Rank 29.98
              2014-07-31 Leave TITAN.NS - Rank 30.74
              2014-07-31 Rebal ASHOKLEY.NS - Rank 33.71
              2014-07-31 Rebal AXISBANK.NS - Rank 41.55
              2014-07-31 Rebal CONCOR.NS - Rank 39.78
              2014-07-31 Rebal HAVELLS.NS - Rank 37.30
              2014-07-31 Rebal ICICIBANK.NS - Rank 34.95
              2014-07-31 Rebal MOTHERSUMI.NS - Rank 38.18
              2014-07-31 Rebal PETRONET.NS - Rank 35.87
              2014-07-31 Rebal PFC.NS - Rank 36.63
              2014-07-31 Rebal PNB.NS - Rank 41.66
              2014-07-31 Rebal SBIN.NS - Rank 34.58
              2014-07-31 Rebal SHREECEM.NS - Rank 44.88
              2014-07-31 Enter EICHERMOT.NS - Rank 37.48
              2014-07-31 Enter PGHH.NS - Rank 31.19
              2014-08-01 Leave PGHH.NS - Rank 31.49
              2014-08-01 Rebal ASHOKLEY.NS - Rank 33.93
              2014-08-01 Rebal AXISBANK.NS - Rank 44.33
              2014-08-01 Rebal CONCOR.NS - Rank 36.67
              2014-08-01 Rebal HAVELLS.NS - Rank 32.24
              2014-08-01 Rebal ICICIBANK.NS - Rank 34.48
              2014-08-01 Rebal MOTHERSUMI.NS - Rank 35.42
              2014-08-01 Rebal PETRONET.NS - Rank 37.81
              2014-08-01 Rebal PFC.NS - Rank 34.10
              2014-08-01 Rebal PNB.NS - Rank 41.39
              2014-08-01 Rebal SBIN.NS - Rank 34.42
              2014-08-01 Rebal SHREECEM.NS - Rank 44.25
              2014-08-01 Enter EICHERMOT.NS - Rank 37.08
              2014-08-01 Enter MARUTI.NS - Rank 34.32
              2014-08-04 Leave HAVELLS.NS - Rank 29.66
              2014-08-04 Rebal ASHOKLEY.NS - Rank 36.26
              2014-08-04 Rebal AXISBANK.NS - Rank 43.75
              2014-08-04 Rebal CONCOR.NS - Rank 36.85
              2014-08-04 Rebal ICICIBANK.NS - Rank 36.91
              2014-08-04 Rebal MARUTI.NS - Rank 31.97
              2014-08-04 Rebal MOTHERSUMI.NS - Rank 37.13
              2014-08-04 Rebal PETRONET.NS - Rank 33.84
              2014-08-04 Rebal PFC.NS - Rank 33.88
              2014-08-04 Rebal PNB.NS - Rank 43.70
              2014-08-04 Rebal SBIN.NS - Rank 36.44
              2014-08-04 Rebal SHREECEM.NS - Rank 42.08
              2014-08-04 Enter EICHERMOT.NS - Rank 38.96
              2014-08-04 Enter TATAMTRDVR.NS - Rank 31.49
              2014-08-05 Leave PETRONET.NS - Rank 30.15
              2014-08-05 Leave TATAMTRDVR.NS - Rank 31.60
              2014-08-05 Rebal ASHOKLEY.NS - Rank 37.32
              2014-08-05 Rebal AXISBANK.NS - Rank 47.66
              2014-08-05 Rebal CONCOR.NS - Rank 37.98
              2014-08-05 Rebal ICICIBANK.NS - Rank 39.26
              2014-08-05 Rebal MARUTI.NS - Rank 34.96
              2014-08-05 Rebal MOTHERSUMI.NS - Rank 39.71
              .......
              

              Perhaps you could open a separate question so future searchers will be able to see it as a distinct topic. :)

              Sabir Jana 1 Reply Last reply Reply Quote 0
              • Sabir Jana
                Sabir Jana @run-out last edited by

                @run-out Thank you! I see you have responded on a similar issue on another thread. Let me check that our and only if needed, will open an issue.
                Thanks
                SJ

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Copyright © 2016, 2017, 2018 NodeBB Forums | Contributors
                $(document).ready(function () { app.coldLoad(); }); }