def _get_data_inputs(csv_roll_data_path, csv_multiple_data_path): csv_roll_calendars = csvRollCalendarData(csv_roll_data_path) arctic_individual_futures_prices = arcticFuturesContractPriceData() arctic_multiple_prices = arcticFuturesMultiplePricesData() csv_multiple_prices = csvFuturesMultiplePricesData(csv_multiple_data_path) return csv_roll_calendars, arctic_individual_futures_prices, arctic_multiple_prices, csv_multiple_prices
def _get_all_prices_data_object(self): pathname = self._resolve_path("multiple_price_data") csv_multiple_prices_data = csvFuturesMultiplePricesData(datapath=pathname) csv_multiple_prices_data.log = self.log return csv_multiple_prices_data
def init_arctic_with_csv_futures_contract_prices(): csv_multiple_prices = csvFuturesMultiplePricesData() csv_adj_prices = csvFuturesAdjustedPricesData() input("WARNING THIS WILL ERASE ANY EXISTING ARCTIC PRICES WITH DATA FROM %s,%s ARE YOU SURE?!" % (csv_adj_prices.datapath, csv_multiple_prices.datapath)) instrument_codes = csv_multiple_prices.get_list_of_instruments() for instrument_code in instrument_codes: init_arctic_with_csv_prices_for_code(instrument_code)
def init_arctic_with_csv_prices_for_code(instrument_code:str): print(instrument_code) csv_mult = csvFuturesMultiplePricesData() a_mult = arcticFuturesMultiplePricesData() mult = csv_mult.get_multiple_prices(instrument_code) a_mult.add_multiple_prices(instrument_code, mult, ignore_duplication=True) csv_adj = csvFuturesAdjustedPricesData() a_adj = arcticFuturesAdjustedPricesData() adj = csv_adj.get_adjusted_prices(instrument_code) a_adj.add_adjusted_prices(instrument_code, adj, ignore_duplication=True)
def init_arctic_with_csv_futures_contract_prices( multiple_price_datapath=arg_not_supplied, adj_price_datapath=arg_not_supplied): csv_multiple_prices = csvFuturesMultiplePricesData(multiple_price_datapath) csv_adj_prices = csvFuturesAdjustedPricesData(adj_price_datapath) input( "WARNING THIS WILL ERASE ANY EXISTING ARCTIC PRICES WITH DATA FROM %s,%s ARE YOU SURE?! CTRL-C TO ABORT" % (csv_adj_prices.datapath, csv_multiple_prices.datapath)) instrument_codes = csv_multiple_prices.get_list_of_instruments() for instrument_code in instrument_codes: init_arctic_with_csv_prices_for_code( instrument_code, multiple_price_datapath=multiple_price_datapath, adj_price_datapath=adj_price_datapath)
def init_arctic_with_csv_prices_for_code( instrument_code: str, multiple_price_datapath=arg_not_supplied, adj_price_datapath=arg_not_supplied, ): print(instrument_code) csv_mult_data = csvFuturesMultiplePricesData(multiple_price_datapath) arctic_mult_data = arcticFuturesMultiplePricesData() mult_prices = csv_mult_data.get_multiple_prices(instrument_code) arctic_mult_data.add_multiple_prices(instrument_code, mult_prices, ignore_duplication=True) csv_adj_data = csvFuturesAdjustedPricesData(adj_price_datapath) arctic_adj_data = arcticFuturesAdjustedPricesData() adj_prices = csv_adj_data.get_adjusted_prices(instrument_code) arctic_adj_data.add_adjusted_prices(instrument_code, adj_prices, ignore_duplication=True)
from sysdata.arctic.arctic_futures_per_contract_prices import arcticFuturesContractPriceData from sysdata.csv.csv_roll_calendars import csvRollCalendarData from sysdata.csv.csv_multiple_prices import csvFuturesMultiplePricesData from sysdata.arctic.arctic_multiple_prices import arcticFuturesMultiplePricesData from sysdata.futures.multiple_prices import futuresMultiplePrices # could get these from stdin ADD_TO_ARCTIC = True ADD_TO_CSV = False if __name__ == '__main__': csv_roll_calendars = csvRollCalendarData() arctic_individual_futures_prices = arcticFuturesContractPriceData() arctic_multiple_prices = arcticFuturesMultiplePricesData() csv_multiple_prices = csvFuturesMultiplePricesData() instrument_list = arctic_individual_futures_prices.get_instruments_with_price_data( ) instrument_list = ["LIVECOW"] for instrument_code in instrument_list: print(instrument_code) roll_calendar = csv_roll_calendars.get_roll_calendar(instrument_code) dict_of_futures_contract_prices = arctic_individual_futures_prices.get_all_prices_for_instrument( instrument_code) dict_of_futures_contract_closing_prices = dict_of_futures_contract_prices.final_prices( ) multiple_prices = futuresMultiplePrices.create_from_raw_data( roll_calendar, dict_of_futures_contract_closing_prices)
from sysdata.arctic.arctic_futures_per_contract_prices import arcticFuturesContractPriceData from sysdata.csv.csv_roll_calendars import csvRollCalendarData from sysdata.csv.csv_multiple_prices import csvFuturesMultiplePricesData from sysdata.arctic.arctic_multiple_prices import arcticFuturesMultiplePricesData from sysdata.futures.multiple_prices import futuresMultiplePrices # could get these from stdin ADD_TO_ARCTIC = True ADD_TO_CSV = True if __name__ == '__main__': csv_roll_calendars = csvRollCalendarData() artic_individual_futures_prices = arcticFuturesContractPriceData() arctic_multiple_prices = arcticFuturesMultiplePricesData() csv_multiple_prices = csvFuturesMultiplePricesData() instrument_list = artic_individual_futures_prices.get_instruments_with_price_data() for instrument_code in instrument_list: print(instrument_code) roll_calendar = csv_roll_calendars.get_roll_calendar(instrument_code) dict_of_futures_contract_prices = artic_individual_futures_prices.get_all_prices_for_instrument(instrument_code) dict_of_futures_contract_settlement_prices = dict_of_futures_contract_prices.settlement_prices() multiple_prices = futuresMultiplePrices.create_from_raw_data(roll_calendar, dict_of_futures_contract_settlement_prices) print(multiple_prices) if ADD_TO_ARCTIC: arctic_multiple_prices.add_multiple_prices(instrument_code, multiple_prices, ignore_duplication=True)