// ************************************************************ // INITIALIZATION // ************************************************************ #region Setup & Initialization protected void Initialize(MarkitEquityUnderlying underlying) { // Setup link to Markit Data (aka the database) _database = Markit_Equity_IV.Instance(underlying); // Fill the rebalancing calendar _strategy.SetRebalancing(_parameters.startDate(), _parameters.rebalPeriod(), _parameters.rampUpRebalPeriod(), _parameters.maxNumberInstruments()); }
// Constructor /* Old constructor * public AutocallSimulationEngine(MarkitEquityUnderlying underlying, AutocallStrategy strategy, SimulationParameters parameters) * : base(parameters) * { * _underlying = underlying; * _strategy = strategy; * SetDatabase(underlying); * * } */ public AutocallSimulationEngine(double initialLevel, MarkitEquityUnderlying underlying, SimulationParameters simulationParameters, AutocallHelper payoffParameters) : base(simulationParameters) { _underlying = underlying; _strategy = new AutocallStrategy(initialLevel, simulationParameters, payoffParameters); Initialize(underlying); }
// Full fledged public EquityIndexStrangleStrategy(DateTime valuationDate, MarkitEquityUnderlying underlying, int numberStrangles, Period spacing, Calendar calendar, DBID callStrikeDBID, DBID putStrikeDBID, DBID underlyingDBID, Dictionary <int, DBID> strangleMtM_DBID) { // Set the date this.valuationDate = valuationDate; // Set the underlying _underlying = underlying; // Set the strategy properties _numberStrangles = numberStrangles; _spacing = spacing; _calendar = calendar; // Set the identification (to locate data in the DB) _callStrikeID = callStrikeDBID; _putStrikeID = putStrikeDBID; _underlyingID = underlyingDBID; strangleMTM_Tokens = strangleMtM_DBID; }
// ************************************************************ // FACTORY // ************************************************************ #region /// <summary> /// Method used ton instanciate the Markit Equity IV in-memory cache (singleton). /// </summary> public static Markit_Equity_IV Instance(MarkitEquityUnderlying underlying) { return(Nested.instance(underlying)); }
// internal static readonly Markit_IV_SX5E instance = new Markit_IV_SX5E(); internal static Markit_Equity_IV instance(MarkitEquityUnderlying underlying) { return(new Markit_Equity_IV(underlying)); }
private Markit_Equity_IV(MarkitEquityUnderlying underlying) { _underlying = underlying; }
// ************************************************************ // CONSTRUCTOR // ************************************************************ #region Constuctors // Generic //public EquityIndexStrangleStrategy() { } // No Date public EquityIndexStrangleStrategy(MarkitEquityUnderlying underlying, int numberStrangles, Period spacing, Calendar calendar, DBID callStrikeDBID, DBID putStrikeDBID, DBID underlyingDBID, Dictionary <int, DBID> strangleMtM_DBID) : this(new DateTime(), underlying, numberStrangles, spacing, calendar, callStrikeDBID, putStrikeDBID, underlyingDBID, strangleMtM_DBID) { }
// internal static readonly Markit_IV_SX5E instance = new Markit_IV_SX5E(); internal static Markit_Equity_IV_New_Files instance(MarkitEquityUnderlying underlying) { return(new Markit_Equity_IV_New_Files(underlying)); }
private Markit_Equity_IV_New_Files(MarkitEquityUnderlying underlying) { _underlying = underlying; }
// ************************************************************ // CONSTRUCTORS // ************************************************************ #region // Constructor 1 : Generic // public MarkitVolatilityReader() { } public MarkitVolatilityReader(MarkitEquityUnderlying underlying) { _underlying = underlying; }