def test_vix_expiry(self): sec = cont.SecurityDefinition() fut = sec.get_next_expiry('VX', datetime.date(2017, 11, 14)) print(fut) self.assertEqual(fut, 'VXX7') fut = sec.get_next_expiry('VX', datetime.date(2017, 11, 15)) print(fut) self.assertEqual(fut, 'VXZ7') futures = sec.get_futures('VX', 3, datetime.date(2017, 11, 2)) print(futures) self.assertEqual(futures, ['VXX7', 'VXZ7', 'VXF8']) futures = sec.get_futures('VX', 2, datetime.date(2017, 11, 2)) print(futures) self.assertEqual(futures, ['VXX7', 'VXZ7']) futures = sec.get_futures('VX', 2, datetime.date(2017, 11, 15)) print(futures) self.assertEqual(futures, ['VXZ7', 'VXF8']) futures = sec.get_futures('VX', 3, datetime.date(2017, 12, 19)) print(futures) self.assertEqual(futures, ['VXZ7', 'VXF8', 'VXG8']) futures = sec.get_futures('VX', 2, datetime.date(2017, 12, 20)) print(futures) self.assertEqual(futures, ['VXF8', 'VXG8']) futures = sec.get_futures('VX', 3, datetime.date(2018, 1, 10)) print(futures) self.assertEqual(futures, ['VXF8', 'VXG8', 'VXH8'])
def __init__(self, params): self.secDef = contracts.SecurityDefinition() self.Email = params.Email self.Iam = params.Iam self.User = params.User self.Password = params.Password self.Smtp = params.Smtp self.Logger = logging.getLogger() self.Logger.setLevel(logging.INFO) ec2 = boto3.resource('ec2', region_name=params.Region) self.__Instance = ec2.Instance(params.Instance) db = boto3.resource('dynamodb', region_name=params.Region) self.__QuotesEod = db.Table('Quotes.EOD') self.__Securities = db.Table('Securities') self.__Orders = db.Table('Orders') s3 = boto3.resource('s3') debug = os.environ['DEBUG_FOLDER'] self.__debug = s3.Object(debug, 'vix_roll.txt') logging.basicConfig( format='%(asctime)s - %(levelname)s - %(threadName)s - %(message)s' ) self.Logger.info( 'InstanceController Created. Region: %s Instance: %s' % (params.Region, params.Instance))
def test_one_day_after(self): today = datetime.date(2017, 11, 16) sec = cont.SecurityDefinition() expiry = sec.get_vix_expiry_date(today) print(expiry - relativedelta(days=+1)) self.assertGreater(today, expiry - relativedelta(days=+1))