def _split(self, frame): if self.share_afterward == 1: return splits = [self.share_afterward, 1.0] adj_day = self.ex_date - datetime.timedelta(days=1) indexes = [] indexes.append(adj_day) indexes.append(datetime.date.today()) splits = TimeSeries(splits, index=indexes) ri_splits = splits.reindex(frame.index, method='backfill') frame['adjclose'] = frame['adjclose'] / ri_splits
def _divide(self, frame): if self.cash_afterward == 0: return cashes = [self.cash_afterward, 0.0] adj_day = self.ex_date - datetime.timedelta(days=1) indexes = [] indexes.append(adj_day) indexes.append(datetime.date.today()) cashes = TimeSeries(cashes, index=indexes) ri_cashes = cashes.reindex(frame.index, method='backfill') frame['adjclose'] = frame['adjclose'] - ri_cashes
def _divide(self, frame): """divided close price to adjclose column WARNING ======= frame should be chronological ordered otherwise wrong backfill. """ if self.cash_afterward == 0: return cashes = [self.cash_afterward, 0.0] adj_day = self.ex_date - datetime.timedelta(days=1) indexes = [] indexes.append(self.d2t(adj_day)) indexes.append(self.d2t(datetime.date.today())) cashes = TimeSeries(cashes, index=indexes) ri_cashes = cashes.reindex(frame.index, method='backfill') frame['adjclose'] = frame['adjclose'] - ri_cashes