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
Пример #2
0
    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
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)