class_docstr: Prices forwards for odd dates which are not quoted using linear interpolation,
  eg. if we have forward points for 1W and 1M, and spot date but we want to price a 3W forward, or any arbitrary horizon
  date that lies in that interval
  
  Also calculates the implied deposit rate from FX spot, FX forward points and deposit rate.
class_docstr_tok: ["Prices","forwards","for","odd","dates","which","are","not","quoted","using","linear","interpolation",",","eg",".","if","we","have","forward","points","for","1W","and","1M",",","and","spot","date","but","we","want","to","price","a","3W","forward",",","or","any","arbitrary","horizon","date","that","lies","in","that","interval","Also","calculates","the","implied","deposit","rate","from","FX","spot",",","FX","forward","points","and","deposit","rate","."]
code: def generate_quoted_delivery(
      self, cross, market_df, quoted_delivery_df, fx_forwards_tenor, cal
  ):
      if not (isinstance(fx_forwards_tenor, list)):
          fx_forwards_tenor = [fx_forwards_tenor]
  
      # Get the quoted delivery dates for every quoted tenor in our forwards market data
      # Eg. what's the delivery date for EURUSD SN, 1W etc.
      if quoted_delivery_df is None:
          quoted_delivery_df = pd.DataFrame(
              index=market_df.index,
              columns=[
                  cross + tenor + ".delivery"
                  for tenor in fx_forwards_tenor
              ],
          )
  
          for tenor in fx_forwards_tenor:
              quoted_delivery_df[
                  cross + tenor + ".delivery"
              ] = self._calendar.get_delivery_date_from_horizon_date(
                  quoted_delivery_df.index, tenor, cal=cal
              )
  
      return quoted_delivery_df
  
file_path: finmarketpy/finmarketpy/curve/rates/fxforwardspricer.py
imports: import numpy
  import pandas
  from numba import guvectorize
  from findatapy.timeseries import Calendar
  from finmarketpy.util.marketconstants import MarketConstants
  from finmarketpy.curve.abstractpricer import AbstractPricer
label_desc: Use image node_id 6 for calling the FXForwardsPricer obj's underlying member method code with example usage: obj.generate_quoted_delivery(cross, market_df, quoted_delivery_df, fx_forwards_tenor, cal) and returns: quoted_delivery_df