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(); }
// ***************************************************************** // **** 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(); } }