def generate_fake_oco_status(random_state, size):
    """
    Generate random OCO status, mostly assigned to 200 with some 300 status codes
    during a random range between 4 and 50 ticks
    """
    values = [200] * size
    picked_error_values_indexes = random_state.choice(
        size, round(0.001 * len(values)), replace=False
    )

    for index in picked_error_values_indexes:
        values[index] = 300

        _range = range(random_state.random_integers(0, 50))

        for n in _range:
            position = index + n
            if position < size:
                values[position] = 300

    return values