private void ViewModelChanged(object sender, DependencyPropertyChangedEventArgs e) { this.viewModel_ = this.DataContext as DiscountCurve_paraViewModel; //this.mainPanel_.Children.Add(this.viewModel_.YieldTermstructureViewModel_.View_); //scheduleDataGrid_.ItemsSource = this.viewModel_.RedemptionEvents_; //this.PayoffStackPanel_.Children.Add(this.viewModel_.ReturnCalculationViewModel_.ReturnCalculationView_); }
// ---------------------------------------------------------------------- // 데이터를 로드하고, 기본 골격을 잡는 곳 // ---------------------------------------------------------------------- public override void initializeParameter(InstrumentViewModel instrumentViewModel) { StandardInstViewModel standInstVM = instrumentViewModel as StandardInstViewModel; IndexUnderInfoViewModel indexUnderInfoVM = standInstVM.UnderlyingViewModel_ as IndexUnderInfoViewModel; this.calculationAmountViewModel_ = new CalculationAmountViewModel(); this.underlyingInfo_paraViewModel_ = new UnderlyingInfo_paraViewModel(); this.underlyingInfo_paraViewModel_.initializeParameter(indexUnderInfoVM); this.discountCurve_paraViewModel_ = new DiscountCurve_paraViewModel(); this.view_ = new Standard_paraView(); this.view_.DataContext = this; }
private DiscountCurve_paraViewModel discount_paraVM(string itemCode) { DiscountCurve_paraViewModel discount_paraVM = new DiscountCurve_paraViewModel(); YieldTermstructureViewModel yieldTSVM = new YieldTermstructureViewModel(); yieldTSVM.Type_ = "ZEROYIELD"; yieldTSVM.Interpolation_ = "BACKWARDFLAT"; yieldTSVM.Daycounter_ = "ACT365FIX"; yieldTSVM.Calendar_ = "NULLCALENDAR"; yieldTSVM.BusinessDayConvention_ = "Following"; QueryStr queryStr = new QueryStr(this.discountQueryInfo_); queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd")); queryStr.VariableMap_.Add("CURVE_CODE", "S"); queryStr.VariableMap_.Add("BOND_CLASS_ID", "111001"); conn_.clearQuery(); conn_.addQuery("discountCurve", queryStr.getQuery()); conn_.excute(); DataTable tb = conn_.ResultDataSet_.Tables["discountCurve"]; foreach (DataRow item in tb.Rows) { yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("1", "D", (Convert.ToDouble(item["D001"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("3", "M", (Convert.ToDouble(item["M003"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("6", "M", (Convert.ToDouble(item["M006"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("9", "M", (Convert.ToDouble(item["M009"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("12", "M", (Convert.ToDouble(item["M012"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("18", "M", (Convert.ToDouble(item["M018"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("24", "M", (Convert.ToDouble(item["M024"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("30", "M", (Convert.ToDouble(item["M030"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("36", "M", (Convert.ToDouble(item["M036"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("48", "M", (Convert.ToDouble(item["M048"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("60", "M", (Convert.ToDouble(item["M060"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("84", "M", (Convert.ToDouble(item["M084"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("120", "M", (Convert.ToDouble(item["M120"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("180", "M", (Convert.ToDouble(item["M180"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("240", "M", (Convert.ToDouble(item["M240"].ToString()) / 100).ToString())); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("360", "M", (Convert.ToDouble(item["M360"].ToString()) / 100).ToString())); } discount_paraVM.YieldTermstructureViewModel_.Add(yieldTSVM); return(discount_paraVM); }
private DiscountCurve_paraViewModel discount_paraVM(string itemCode) { DiscountCurve_paraViewModel discount_paraVM = new DiscountCurve_paraViewModel(); YieldTermstructureViewModel yieldTSVM = new YieldTermstructureViewModel(); yieldTSVM.Type_ = "ZEROYIELD"; yieldTSVM.Interpolation_ = "BACKWARDFLAT"; yieldTSVM.Daycounter_ = "ACT365FIX"; yieldTSVM.Calendar_ = "NULLCALENDAR"; yieldTSVM.BusinessDayConvention_ = "Following"; QueryStr queryStr = new QueryStr(this.discountQueryInfo_); queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd")); queryStr.VariableMap_.Add("CURVE_CODE", "S"); queryStr.VariableMap_.Add("BOND_CLASS_ID","111001"); conn_.clearQuery(); conn_.addQuery("discountCurve", queryStr.getQuery()); conn_.excute(); DataTable tb = conn_.ResultDataSet_.Tables["discountCurve"]; foreach (DataRow item in tb.Rows) { yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("1","D", ( Convert.ToDouble(item["D001"].ToString())/100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("3", "M", ( Convert.ToDouble(item["M003"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("6", "M", ( Convert.ToDouble(item["M006"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("9", "M", ( Convert.ToDouble(item["M009"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("12", "M", ( Convert.ToDouble(item["M012"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("18", "M", ( Convert.ToDouble(item["M018"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("24", "M", ( Convert.ToDouble(item["M024"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("30", "M", ( Convert.ToDouble(item["M030"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("36", "M", ( Convert.ToDouble(item["M036"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("48", "M", ( Convert.ToDouble(item["M048"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("60", "M", ( Convert.ToDouble(item["M060"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("84", "M", ( Convert.ToDouble(item["M084"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("120", "M", ( Convert.ToDouble(item["M120"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("180", "M", ( Convert.ToDouble(item["M180"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("240", "M", ( Convert.ToDouble(item["M240"].ToString()) / 100).ToString() )); yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("360", "M", ( Convert.ToDouble(item["M360"].ToString()) / 100).ToString() )); } discount_paraVM.YieldTermstructureViewModel_.Add(yieldTSVM); return discount_paraVM; }