def download_historical(tickers_list, output_folder):
    """Download historical data from Yahoo Finance.

    Downloads full historical data from Yahoo Finance as CSV. The following
    fields are available: Adj Close, Close, High, Low, Open and Volume. Files
    will be saved to output_folder as <ticker>.csv.

    :param tickers_list: List of tickers that will be returned.
    :type tickers_list: list of strings
    :param output_folder: Output folder path
    :type output_folder: string
    """
    __validate_list(tickers_list)
    for ticker in tickers_list:
        file_name = os.path.join(output_folder, ticker + '.csv')
        with open(file_name, 'wb') as f:
            base_url = 'http://real-chart.finance.yahoo.com/table.csv?s='
            try:
                urlopen(base_url + ticker)
                urlretrieve(base_url + ticker, f.name)
            except:
                os.remove(file_name)
                raise RequestError('Unable to process the request. Check if ' +
                                   ticker + ' is a valid stock ticker')
def download_historical ( tickers_list , output_folder ) : __validate_list ( tickers_list ) for ticker in tickers_list : file_name = os . path . join ( output_folder , ticker + '.csv' ) with open ( file_name , 'wb' ) as f : base_url = 'http://real-chart.finance.yahoo.com/table.csv?s=' try : urlopen ( base_url + ticker ) urlretrieve ( base_url + ticker , f . name ) except : os . remove ( file_name ) raise RequestError ( 'Unable to process the request. Check if ' + ticker + ' is a valid stock ticker' )
Download historical data from Yahoo Finance.

    Downloads full historical data from Yahoo Finance as CSV. The following
    fields are available: Adj Close, Close, High, Low, Open and Volume. Files
    will be saved to output_folder as <ticker>.csv.

    :param tickers_list: List of tickers that will be returned.
    :type tickers_list: list of strings
    :param output_folder: Output folder path
    :type output_folder: string