Exemple #1
0
def add_missing_contract_to_database(data: dataBlob, contract_to_add: futuresContract):
    diag_contracts = diagContracts(data)
    update_contracts = updateContracts(data)
    instrument_code = contract_to_add.instrument_code

    contract_date_str = contract_to_add.date_str

    if diag_contracts.is_contract_in_data(instrument_code, contract_date_str):
        contract_to_add = diag_contracts.get_contract_object(
            instrument_code, contract_date_str
        )

    # Mark it as sampling
    contract_to_add.sampling_on()

    # Add it to the database
    # We are happy to overwrite
    update_contracts.add_contract_data(
        contract_to_add, ignore_duplication=True)

    log = data.log.setup(instrument_code=instrument_code)

    log.msg(
        "Contract %s now added to database and sampling" %
        str(contract_to_add))
Exemple #2
0
def add_new_contract_with_sampling_on(contract_to_add: futuresContract, data: dataBlob):
    data_contracts = dataContracts(data)

    # Mark it as sampling
    contract_to_add.sampling_on()

    # Add it to the database
    # Should not be any duplication to ignore
    data_contracts.add_contract_data(contract_to_add, ignore_duplication=False)

    log = contract_to_add.specific_log(data.log)

    log.msg("Contract %s now added to database and sampling" % str(contract_to_add))