def main(args):
    sfn = 'input_schema.json'
    with open(sfn, 'r') as sfr:
        schema = json.load(sfr)
    jsonschema.Draft4Validator.check_schema(schema)

    with open(args.json, 'r') as fr:
        candles = pd.read_json(fr.read())
    try:
        jsonschema.validate(candles, schema)
    except jsonschema.ValidationError as e:
        print('Invalid JSON - {0}'.format(e.message), file=sys.stderr)

    m = Market(candles['candles'])
    s = Strategy(m)
    bt = BackTest(m, s)
    bt.run()