def build_example_algo_config(
        ticker,
        timeseries='minute'):
    """build_example_algo_config

    helper for building an algorithm config dictionary

    :returns: algorithm config dictionary
    """
    willr_close_path = (
        'analysis_engine/mocks/example_indicator_williamsr.py')
    willr_open_path = (
        'analysis_engine/mocks/example_indicator_williamsr_open.py')
    algo_config_dict = {
        'name': 'backtest',
        'timeseries': timeseries,
        'trade_horizon': 5,
        'num_owned': 10,
        'buy_shares': 10,
        'balance': 10000.0,
        'commission': 6.0,
        'ticker': ticker,
        'algo_module_path': None,
        'algo_version': 1,
        'verbose': False,  # log in the algorithm
        'verbose_processor': False,  # log in the indicator processor
        'verbose_indicators': False,  # log all indicators
        'verbose_trading': False,  # log in the algo trading methods
        'inspect_datasets': False,  # log dataset metrics - slow
        'positions': {
            ticker: {
                'shares': 10,
                'buys': [],
                'sells': []
            }
        },
        'buy_rules': {
            'confidence': 75,
            'min_indicators': 3
        },
        'sell_rules': {
            'confidence': 75,
            'min_indicators': 3
        },
        'indicators': [
            {
                'name': 'willr_-70_-30',
                'module_path': willr_close_path,
                'category': 'technical',
                'type': 'momentum',
                'uses_data': 'minute',
                'high': 0,
                'low': 0,
                'close': 0,
                'open': 0,
                'willr_value': 0,
                'num_points': 80,
                'buy_below': -70,
                'sell_above': -30,
                'is_buy': False,
                'is_sell': False,
                'verbose': False  # log in just this indicator
            },
            {
                'name': 'willr_-80_-20',
                'module_path': willr_close_path,
                'category': 'technical',
                'type': 'momentum',
                'uses_data': 'minute',
                'high': 0,
                'low': 0,
                'close': 0,
                'open': 0,
                'willr_value': 0,
                'num_points': 30,
                'buy_below': -80,
                'sell_above': -20,
                'is_buy': False,
                'is_sell': False
            },
            {
                'name': 'willr_-90_-10',
                'module_path': willr_close_path,
                'category': 'technical',
                'type': 'momentum',
                'uses_data': 'minute',
                'high': 0,
                'low': 0,
                'close': 0,
                'open': 0,
                'willr_value': 0,
                'num_points': 60,
                'buy_below': -90,
                'sell_above': -10,
                'is_buy': False,
                'is_sell': False
            },
            {
                'name': 'willr_open_-80_-20',
                'module_path': willr_open_path,
                'category': 'technical',
                'type': 'momentum',
                'uses_data': 'minute',
                'high': 0,
                'low': 0,
                'close': 0,
                'open': 0,
                'willr_open_value': 0,
                'num_points': 80,
                'buy_below': -80,
                'sell_above': -20,
                'is_buy': False,
                'is_sell': False
            }
        ],
        'slack': {
            'webhook': None
        }
    }

    return algo_config_dict