docs: def request_historical(ticker, start_date, end_date):
      """Get stock's daily historical information.
  
      Returns a dictionary with Adj Close, Close, High, Low, Open and
      Volume, between the start_date and the end_date. Is start_date and
      end_date were not provided all the available information will be
      retrieved. Information provided by YQL platform.
      Check `here <http://goo.gl/8AROUD>`_ for more information on YQL.
  
      .. warning:: Request limited to a period not greater than 366 days.
          Use download_historical() to download the full historical data.
  
  
      >>> request_historical('AAPL', '2016-03-01', '2016-03-02')
      [
          {
              'Close': '100.75',
              'Low': '99.639999',
              'High': '100.889999',
              'Adj_Close': '100.140301',
              'Date': '2016-03-02',
              'Open': '100.510002',
              'Volume': '33169600'
          },
          {
              'Close': '100.529999',
              'Low': '97.419998',
              'High': '100.769997',
              'Adj_Close': '99.921631',
              'Date': '2016-03-01',
              'Open': '97.650002',
              'Volume': '50407100'
          }
      ]
  
      :param start_date: Start date
      :type start_date: string on the format of "yyyy-mm-dd"
      :param end_date: End date
      :type end_date: string on the format of "yyyy-mm-dd"
      :returns: Daily historical information.
      :rtype: list of dictionaries
      """
      __validate_dates(start_date, end_date)
  
      cols = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj_Close']
      query = 'select {cols} from yahoo.finance.historicaldata ' + \
          'where symbol in ("{ticker}") and startDate = "{start_date}" ' + \
          'and endDate = "{end_date}"'
      query = query.format(
          cols=', '.join(cols),
          ticker=ticker,
          start_date=start_date,
          end_date=end_date
      )
  
      response = __yahoo_request(query)
      if not response:
          raise RequestError('Unable to process the request. Check if the ' +
                             'stock ticker used is a valid one.')
  
      if not type(response['quote']) is list:
          return [response['quote']]
      return response['quote']