def backup_futures_contract_prices_to_csv(data): instrument_list = ( data.arctic_futures_contract_price.get_instruments_with_price_data()) for instrument_code in instrument_list: contract_dates = data.arctic_futures_contract_price.contract_dates_with_price_data_for_instrument_code( instrument_code) for contract_date in contract_dates: arctic_data = data.arctic_futures_contract_price.get_prices_for_instrument_code_and_contract_date( instrument_code, contract_date) csv_data = data.csv_futures_contract_price.get_prices_for_instrument_code_and_contract_date( instrument_code, contract_date) if check_df_equals(arctic_data, csv_data): # No updated needed, move on print("No update needed") else: # Write backup try: data.csv_futures_contract_price.write_prices_for_instrument_code_and_contract_date( instrument_code, contract_date, arctic_data, ignore_duplication=True, ) data.log.msg("Written backup .csv of prices for %s %s" % (instrument_code, contract_date)) except BaseException: data.log.warn("Problem writing .csv of prices for %s %s" % (instrument_code, contract_date))
def backup_futures_contract_prices_for_instrument_to_csv( data: dataBlob, instrument_code: str): list_of_contracts = data.arctic_futures_contract_price.contracts_with_price_data_for_instrument_code( instrument_code) for contract in list_of_contracts: arctic_data = data.arctic_futures_contract_price.get_prices_for_contract_object( contract) csv_data = data.csv_futures_contract_price.get_prices_for_contract_object( contract) if check_df_equals(arctic_data, csv_data): # No updated needed, move on print("No update needed") else: # Write backup try: data.csv_futures_contract_price.write_prices_for_contract_object( contract, arctic_data, ignore_duplication=True, ) data.log.msg("Written backup .csv of prices for %s" % (contract)) except BaseException: data.log.warn("Problem writing .csv of prices for %s %s" % (contract))
def backup_futures_contract_prices_for_contract_to_csv( data: dataBlob, futures_contract: futuresContract ): if futures_contract.days_since_expiry()>CALENDAR_DAYS_IN_YEAR: ## Almost certainly expired, skip data.log.msg("Skipping expired contract %s" % str(futures_contract)) return None arctic_data = data.arctic_futures_contract_price.get_prices_for_contract_object( futures_contract ) csv_data = data.csv_futures_contract_price.get_prices_for_contract_object( futures_contract ) if check_df_equals(arctic_data, csv_data): # No update needed, move on data.log.msg("No prices backup needed for %s" % str(futures_contract)) else: # Write backup try: data.csv_futures_contract_price.write_prices_for_contract_object( futures_contract, arctic_data, ignore_duplication=True, ) data.log.msg("Written backup .csv of prices for %s" % str(futures_contract)) except BaseException: data.log.warn("Problem writing .csv of prices for %s" % str(futures_contract))
def backup_multiple_to_csv(data): instrument_list = data.arctic_futures_multiple_prices.get_list_of_instruments() for instrument_code in instrument_list: arctic_data = data.arctic_futures_multiple_prices.get_multiple_prices(instrument_code) csv_data = data.csv_futures_multiple_prices.get_multiple_prices(instrument_code) if check_df_equals(arctic_data, csv_data): print("No update needed") pass else: try: data.csv_futures_multiple_prices.add_multiple_prices(instrument_code, arctic_data, ignore_duplication=True) data.log.msg("Written .csv backup multiple prices for %s" % instrument_code) except: data.log.warn("Problem writing .csv backup multiple prices for %s" % instrument_code)
def backup_multiple_to_csv_for_instrument(data, instrument_code: str): arctic_data = data.arctic_futures_multiple_prices.get_multiple_prices( instrument_code ) csv_data = data.csv_futures_multiple_prices.get_multiple_prices(instrument_code) if check_df_equals(arctic_data, csv_data): data.log.msg("No multiple prices backup needed for %s" % instrument_code) pass else: try: data.csv_futures_multiple_prices.add_multiple_prices( instrument_code, arctic_data, ignore_duplication=True ) data.log.msg("Written .csv backup multiple prices for %s" % instrument_code) except BaseException: data.log.warn( "Problem writing .csv backup multiple prices for %s" % instrument_code )