예제 #1
0
        // ************************************************************
        // 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());
        }
예제 #2
0
        // 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;
        }
예제 #4
0
        // ************************************************************
        // 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));
        }
예제 #5
0
 // 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));
 }
예제 #6
0
 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)
        {
        }
예제 #8
0
 // 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));
 }
예제 #9
0
 private Markit_Equity_IV_New_Files(MarkitEquityUnderlying underlying)
 {
     _underlying = underlying;
 }
예제 #10
0
        // ************************************************************
        // CONSTRUCTORS
        // ************************************************************


        #region

        // Constructor 1 : Generic
        // public MarkitVolatilityReader() { }

        public MarkitVolatilityReader(MarkitEquityUnderlying underlying)
        {
            _underlying = underlying;
        }