Exemplo n.º 1
0
def import_data(config_obj, caller: int = BACKTEST):
    """
    Imports CSV data and loads it.
    :param config_obj: Configuration QDialog object (from configuration.py)
    :param caller: Caller that'll determine who called this function -> OPTIMIZER or BACKTEST
    """
    inner_dict = config_obj.optimizer_backtest_dict[caller]
    action = 'backtest' if caller == BACKTEST else 'optimization'

    inner_dict['infoLabel'].setText("Importing data...")
    filePath, _ = QFileDialog.getOpenFileName(config_obj, 'Open file',
                                              helpers.ROOT_DIR, "CSV (*.csv)")
    if filePath == '':
        inner_dict['infoLabel'].setText("Data not imported.")
        inner_dict['downloadProgress'].setValue(0)
    else:
        inner_dict['data'] = helpers.load_from_csv(filePath, descending=False)
        inner_dict['dataType'] = "Imported"
        inner_dict['dataInterval'] = inner_dict[
            'dataIntervalComboBox'].currentText()
        inner_dict['infoLabel'].setText("Imported data successfully.")
        inner_dict['dataLabel'].setText(
            f'Using imported data to conduct {action}.')
        inner_dict['downloadProgress'].setValue(100)
        setup_calendar(config_obj=config_obj, caller=caller)
Exemplo n.º 2
0
def set_downloaded_data(config_obj, data, caller: int = BACKTEST):
    """
    If download is successful, the data passed is set to backtest data.
    :param config_obj: Configuration QDialog object (from configuration.py)
    :param caller: Caller that'll determine which caller was used.
    :param data: Data to be used for backtesting.
    """
    symbol = config_obj.optimizer_backtest_dict[caller]['tickers'].text()
    interval = config_obj.optimizer_backtest_dict[caller]['intervals'].currentText().lower()

    config_obj.optimizer_backtest_dict[caller]['data'] = data
    config_obj.optimizer_backtest_dict[caller]['dataType'] = symbol
    config_obj.optimizer_backtest_dict[caller]['infoLabel'].setText(f"Downloaded {interval} {symbol} data.")
    config_obj.optimizer_backtest_dict[caller]['dataLabel'].setText(f'Using {interval} {symbol} data to run backtest.')
    setup_calendar(config_obj=config_obj, caller=caller)
Exemplo n.º 3
0
def import_data(config_obj, caller: int = BACKTEST):
    """
    Imports CSV data and loads it.
    :param config_obj: Configuration QDialog object (from configuration.py)
    :param caller: Caller that'll determine who called this function -> OPTIMIZER or BACKTEST
    """
    config_obj.optimizer_backtest_dict[caller]['infoLabel'].setText("Importing data...")
    filePath, _ = QFileDialog.getOpenFileName(config_obj, 'Open file', helpers.ROOT_DIR, "CSV (*.csv)")
    if filePath == '':
        config_obj.optimizer_backtest_dict[caller]['infoLabel'].setText("Data not imported.")
    else:
        config_obj.optimizer_backtest_dict[caller]['data'] = helpers.load_from_csv(filePath, descending=False)
        config_obj.optimizer_backtest_dict[caller]['dataType'] = "Imported"
        config_obj.optimizer_backtest_dict[caller]['infoLabel'].setText("Imported data successfully.")
        config_obj.optimizer_backtest_dict[caller]['dataLabel'].setText('Using imported data to conduct backtest.')
        setup_calendar(config_obj=config_obj, caller=caller)