Esempio n. 1
0
        public void ShowInstrumentMatrix(List <InstrumentName> instrumentNames, InstrumentMatrix instrumentMatrix)
        {
            this.m_InstrumentNames = instrumentNames;
            DataTable dataTable       = new DataTable("InstrumentMatrix");
            int       instrumentCount = instrumentNames.Count;

            for (int index = 0; index < instrumentCount; ++index)
            {
                string instrumentNameString = instrumentNames[index].FullName;
                dataTable.Columns.Add(instrumentNameString, typeof(string));
            }
            for (int index = 0; index < instrumentCount; ++index)
            {
                dataTable.Rows.Add(new object[instrumentCount]);
            }

            this.dataGridViewInstrumentMatrix.SuspendLayout();
            this.dataGridViewInstrumentMatrix.ColumnHeadersHeight = m_CellHeight;
            this.dataGridViewInstrumentMatrix.DataSource          = dataTable;

            for (int xIndex = 0; xIndex < instrumentCount; ++xIndex)
            {
                for (int yIndex = 0; yIndex < instrumentCount; ++yIndex)
                {
                    InstrumentName      quoteInstrument = instrumentNames[xIndex];
                    InstrumentName      hedgeInstrument = instrumentNames[yIndex];
                    ResultingInstrument resultingInstrument;
                    if (instrumentMatrix.TryFindResultingInstrument(quoteInstrument, 0, hedgeInstrument, 0, out resultingInstrument))
                    {
                        dataTable.Rows[yIndex][xIndex] = resultingInstrument.ResultingInstrumentNameTT;
                    }
                }
            }

            foreach (DataGridViewColumn column in this.dataGridViewInstrumentMatrix.Columns)
            {
                column.Width    = m_CellWidth;
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }

            this.dataGridViewInstrumentMatrix.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
            this.dataGridViewInstrumentMatrix.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
            this.dataGridViewInstrumentMatrix.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            this.dataGridViewInstrumentMatrix.SelectionMode             = DataGridViewSelectionMode.CellSelect;
            this.dataGridViewInstrumentMatrix.ClipboardCopyMode         = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
            this.dataGridViewInstrumentMatrix.DefaultCellStyle.WrapMode = DataGridViewTriState.True;

            this.WindowState = FormWindowState.Maximized;
            this.Show();
            this.dataGridViewInstrumentMatrix.ResumeLayout();
        }
Esempio n. 2
0
        // *****************************************************************
        // ****                     Properties                          ****
        // *****************************************************************
        //
        //
        #endregion//Properties


        #region no Public Methods
        // *****************************************************************
        // ****                     Public Methods                      ****
        // *****************************************************************
        //
        //
        //
        //
        //
        //
        #endregion//Public Methods


        #region no Private Methods
        // *****************************************************************
        // ****                     Private Methods                     ****
        // *****************************************************************
        //
        //
        #endregion//Private Methods


        #region Event Handlers
        // *****************************************************************
        // ****                     Event Handlers                     ****
        // *****************************************************************
        //
        //
        private void buttonSetupInstrumentMatrix_Click(object sender, EventArgs e)
        {
            // Process clicks of buttons.
            m_HedgeOptionsReader    = new HedgeOptionsReader(m_Log);
            m_InstrumentNames       = new List <InstrumentName>();
            m_InstrumentNameStrings = new List <string>();

            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep14:-1xDec14");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Dec14:-1xMar15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Mar15:-1xJun15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Jun15:-1xSep15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep15:-1xDec15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Dec15:-1xMar16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Mar16:-1xJun16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Jun16:-1xSep16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep16:-1xDec16");

            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep14:-1xMar15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Dec14:-1xJun15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Mar15:-1xSep15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Jun15:-1xDec15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep15:-1xMar16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Dec15:-1xJun16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Mar16:-1xSep16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Jun16:-1xDec16");

            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep14:-1xJun15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Dec14:-1xSep15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Mar15:-1xDec15");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Jun15:-1xMar16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Sep15:-1xJun16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Dec15:-1xSep16");
            m_InstrumentNameStrings.Add("CME.GE (Spread) Calendar: 1xGE Mar16:-1xDec16");

            foreach (string instrumentString in m_InstrumentNameStrings)
            {
                InstrumentInfoQuery BREInstrumentInfoQuery = new InstrumentInfoQuery();
                InstrumentName      instrumentName;
                if (InstrumentName.TryDeserialize(instrumentString, out instrumentName))
                {
                    m_InstrumentNames.Add(instrumentName);
                    BREInstrumentInfoQuery.InstrumentName = instrumentName;
                    BREInstrumentInfoQuery.IsRead         = true;
                    BREInstrumentInfoQuery.Status         = QueryStatus.New;
                    m_DatabaseReaderWriter.SubmitSync(BREInstrumentInfoQuery);
                    m_HedgeOptionsReader.TryReadHedgeOptionsInformation(BREInstrumentInfoQuery);
                }
                else
                {
                    return;
                }
            }

            Dictionary <InstrumentName, HedgeOptions> hedgeOptionsByInstrument = m_HedgeOptionsReader.GetHedgeOptionsByInstrumentName();

            m_InstrumentMatrix = new InstrumentMatrix(m_InstrumentNames, m_Log);
            if (m_InstrumentMatrix.TrySetupInstrumentMatrix(hedgeOptionsByInstrument))
            {
                m_Log.NewEntry(LogLevel.Minor, "Successfully setup the instrument matrix.");
                ProcessShowData();
            }
        }