class Corn(object):

    def __init__(self, contract):
        self.contract = contract

def __add__(self, i):
    d = pd.to_datetime(str(self.contract), format='%Y%m')
d += pd.offsets.MonthBegin(12 * i)
self.contract = int(d.strftime('%Y%m'))
return self

def __sub__(self, i):
    return self.__add__(-i)

def get_next(self):
    return self + 1

def get_last(self):
    return self - 1

def __repr__(self):
    return str(self.contract)
Реализация пользовательской системы подсчета на Python