class_docstr: Constructs continuous forwards time series total return indices from underlying forwards contracts.
  
      
class_docstr_tok: ["Constructs","continuous","forwards","time","series","total","return","indices","from","underlying","forwards","contracts","."]
docstr: Initializes FXForwardsCurve
  
  Parameters
  ----------
  market_data_generator : MarketDataGenerator
      Used for downloading market data
  
  fx_forwards_trading_tenor : str
      What is primary forward contract being used to trade (default - '1M')
  
  roll_days_before : int
      Number of days before roll event to enter into a new forwards contract
  
  roll_event : str
      What constitutes a roll event? ('month-end', 'quarter-end', 'year-end', 'expiry')
  
  construct_via_currency : str
      What currency should we construct the forward via? Eg. if we asked for AUDJPY we can construct it via
      AUDUSD & JPYUSD forwards, as opposed to AUDJPY forwards (default - 'no')
  
  fx_forwards_tenor_for_interpolation : str(list)
      Which forwards should we use for interpolation
  
  base_depos_tenor : str(list)
      Which base deposits tenors do we need (this is only necessary if we want to start inferring depos)
  
  roll_months : int
      After how many months should we initiate a roll. Typically for trading 1M this should 1, 3M this should be 3
      etc.
  
  cum_index : str
      In total return index, do we compute in additive or multiplicative way ('add' or 'mult')
  
  output_calculation_fields : bool
      Also output additional data should forward expiries etc. alongside total returns indices
docstr_tok: ["Initializes","FXForwardsCurve","Parameters","--","--","--","--","--","market_data_generator",":","MarketDataGenerator","Used","for","downloading","market","data","fx_forwards_trading_tenor",":","str","What","is","primary","forward","contract","being","used","to","trade","(","default","-","'1M","'",")","roll_days_before",":","int","Number","of","days","before","roll","event","to","enter","into","a","new","forwards","contract","roll_event",":","str","What","constitutes","a","roll","event","?","(","'month-end","'",",","'quarter-end","'",",","'year-end","'",",","'expiry","'",")","construct_via_currency",":","str","What","currency","should","we","construct","the","forward","via","?","Eg",".","if","we","asked","for","AUDJPY","we","can","construct","it","via","AUDUSD","&","JPYUSD","forwards",",","as","opposed","to","AUDJPY","forwards","(","default","-","'no","'",")","fx_forwards_tenor_for_interpolation",":","str","(","list",")","Which","forwards","should","we","use","for","interpolation","base_depos_tenor",":","str","(","list",")","Which","base","deposits","tenors","do","we","need","(","this","is","only","necessary","if","we","want","to","start","inferring","depos",")","roll_months",":","int","After","how","many","months","should","we","initiate","a","roll",".","Typically","for","trading","1M","this","should","1",",","3M","this","should","be","3","etc",".","cum_index",":","str","In","total","return","index",",","do","we","compute","in","additive","or","multiplicative","way","(","'add","'","or","'mult","'",")","output_calculation_fields",":","bool","Also","output","additional","data","should","forward","expiries","etc",".","alongside","total","returns","indices"]
code: def __init__(
      self,
      market_data_generator=None,
      fx_forwards_trading_tenor=market_constants.fx_forwards_trading_tenor,
      roll_days_before=market_constants.fx_forwards_roll_days_before,
      roll_event=market_constants.fx_forwards_roll_event,
      construct_via_currency="no",
      fx_forwards_tenor_for_interpolation=market_constants.fx_forwards_tenor_for_interpolation,
      base_depos_tenor=data_constants.base_depos_tenor,
      roll_months=market_constants.fx_forwards_roll_months,
      cum_index=market_constants.fx_forwards_cum_index,
      output_calculation_fields=market_constants.output_calculation_fields,
      field="close",
  ):
      """Initializes FXForwardsCurve
  
      Parameters
      ----------
      market_data_generator : MarketDataGenerator
          Used for downloading market data
  
      fx_forwards_trading_tenor : str
          What is primary forward contract being used to trade (default - '1M')
  
      roll_days_before : int
          Number of days before roll event to enter into a new forwards contract
  
      roll_event : str
          What constitutes a roll event? ('month-end', 'quarter-end', 'year-end', 'expiry')
  
      construct_via_currency : str
          What currency should we construct the forward via? Eg. if we asked for AUDJPY we can construct it via
          AUDUSD & JPYUSD forwards, as opposed to AUDJPY forwards (default - 'no')
  
      fx_forwards_tenor_for_interpolation : str(list)
          Which forwards should we use for interpolation
  
      base_depos_tenor : str(list)
          Which base deposits tenors do we need (this is only necessary if we want to start inferring depos)
  
      roll_months : int
          After how many months should we initiate a roll. Typically for trading 1M this should 1, 3M this should be 3
          etc.
  
      cum_index : str
          In total return index, do we compute in additive or multiplicative way ('add' or 'mult')
  
      output_calculation_fields : bool
          Also output additional data should forward expiries etc. alongside total returns indices
      """
  
      self._market_data_generator = market_data_generator
      self._calculations = Calculations()
      self._calendar = Calendar()
      self._filter = Filter()
  
      self._fx_forwards_trading_tenor = fx_forwards_trading_tenor
      self._roll_days_before = roll_days_before
      self._roll_event = roll_event
  
      self._construct_via_currency = construct_via_currency
      self._fx_forwards_tenor_for_interpolation = (
          fx_forwards_tenor_for_interpolation
      )
      self._base_depos_tenor = base_depos_tenor
  
      self._roll_months = roll_months
      self._cum_index = cum_index
      self._output_calcultion_fields = output_calculation_fields
  
      self._field = field
  
file_path: finmarketpy/finmarketpy/curve/fxforwardscurve.py
imports: import numpy
  import pandas
  from pandas.tseries.offsets import CustomBusinessDay, CustomBusinessMonthEnd
  from findatapy.market import Market, MarketDataRequest
  from findatapy.timeseries import Calculations, Calendar, Filter
  from findatapy.util.dataconstants import DataConstants
  from findatapy.util.fxconv import FXConv
  from finmarketpy.curve.rates.fxforwardspricer import FXForwardsPricer
  from finmarketpy.util.marketconstants import MarketConstants
label_desc: Use image node_id 1 to create a new FXForwardsCurve object from inherited base classes: object with example: obj = FXForwardsCurve(market_data_generator, fx_forwards_trading_tenor, roll_days_before, roll_event, construct_via_currency, fx_forwards_tenor_for_interpolation, base_depos_tenor, roll_months, cum_index, output_calculation_fields, field)