private void button10_Click(object sender, EventArgs e) { try { // 당일 output 계산 String datetime = GetData(DATE_KEY, RowType.Output); String kospi_price = GetData(KOSPI_PRICE, RowType.Output); String kospi_fut_price = GetData(KOSPI_FUTURE_PRICE, RowType.Output); String bond_rate = GetData(BOND_RATE, RowType.Output); String bond_fut_price = GetData(BOND_FUTURE_PRICE, RowType.Output); String dollar_price = GetData(USDKRW_PRICE, RowType.Output); String dollar_fut_price = GetData(USDKRW_FUTURE_PRICE, RowType.Output); MacroSpotData msd = new MacroSpotData(); msd.KospiPrice = Convert.ToDouble(kospi_price); msd.KospiFuturePrice = Convert.ToDouble(kospi_fut_price); msd.BondRate = Convert.ToDouble(bond_rate); msd.BondFuturePrice = Convert.ToDouble(bond_fut_price); msd.UsdkrwPrice = Convert.ToDouble(dollar_price); msd.UsdkrwFuturePrice = Convert.ToDouble(dollar_fut_price); msd.CurDateTime = Convert.ToDateTime(datetime); MacroAssetAllocation maa = new MacroAssetAllocation(); maa.Init(msd, 20); SetColumnValue(maa, 2); SetRowColor(); } catch (Exception ex) { logger.Error(ex.ToString()); } }
DataFromDB LoadDataFromDB(MacroSpotData last_data, int limit) { DBManager manager = new DBManager(); MySqlConnection con = manager.OpenConnection(Const.DATABASE_NAME); SortedList<DateTime, double> kospi_data = LoadDataFromDB_Raw(con, "KOSPI Index", limit); SortedList<DateTime, double> ktb_data = LoadDataFromDB_Raw(con, "KWNDF3 CMPN CURNCY", limit); SortedList<DateTime, double> usdkrw_data = LoadDataFromDB_Raw(con, "USDKRW Curncy", limit); SortedList<DateTime, double> kospi_future_data = LoadDataFromDB_Raw(con, "KM1 R:00_0_R Index", limit); SortedList<DateTime, double> ktb_future_data = LoadDataFromDB_Raw(con, "KE1 R:00_0_R Comdty", limit); SortedList<DateTime, double> usdkrw_future_data = LoadDataFromDB_Raw(con, "KU1 R:00_0_R Curncy", limit); SortedList<DateTime, double> active_days = new SortedList<DateTime, double>(); active_days = GetActiveDays(kospi_data, ktb_data); active_days = GetActiveDays(active_days, usdkrw_data); active_days = GetActiveDays(active_days, kospi_future_data); active_days = GetActiveDays(active_days, ktb_future_data); active_days = GetActiveDays(active_days, usdkrw_future_data); DataFromDB output = new DataFromDB(); output.ActiveDays = active_days; output.Kospi = kospi_data; output.Ktb = ktb_data; output.Usdkrw = usdkrw_data; output.KospiFuture = kospi_future_data; output.KtbFuture = ktb_future_data; output.UsdkrwFuture = usdkrw_future_data; if (last_data != null) { DateTime key = last_data.CurDateTime; output.ActiveDays.Add(key, 0); output.Kospi.Add(key, last_data.KospiPrice); output.KospiFuture.Add(key, last_data.KospiFuturePrice); output.Ktb.Add(key, last_data.BondRate); output.KtbFuture.Add(key, last_data.BondFuturePrice); output.Usdkrw.Add(key, last_data.UsdkrwPrice); output.UsdkrwFuture.Add(key, last_data.UsdkrwFuturePrice); } con.Close(); return output; }
public Boolean Init(MacroSpotData last_data, int limit) { try { // Load data from DB this._DataFromDB = LoadDataFromDB(last_data, limit); this._RangeData = new RangeData(this._DataFromDB); this._IncrementData = new IncrementData(this._DataFromDB); this._VolData = new VolData(this._DataFromDB, this._IncrementData); this._Weight = new Weight( this._DataFromDB, this._RangeData, this._VolData); return true; } catch (Exception ex) { logger.Error(ex.ToString()); return false; } }