Exemple #1
0
        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;
              }
        }