public void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class) { FpmlSerializedCSharp.Excel_yieldCurve serial_Excel_yieldCurve = serial_Class as FpmlSerializedCSharp.Excel_yieldCurve; this.currency_ = serial_Excel_yieldCurve.Currency_.ValueStr; this.code_ = serial_Excel_yieldCurve.Code_.ValueStr; this.name_ = serial_Excel_yieldCurve.Name_.ValueStr; this.description_ = serial_Excel_yieldCurve.Description_.ValueStr; FpmlSerializedCSharp.Excel_interpolation serial_excel_interpolation = serial_Excel_yieldCurve.Excel_interpolation_; string excel_interpolationtype = serial_excel_interpolation.Excel_type_.ValueStr; this.excel_interpolationViewModel_ = Excel_interpolationViewModel.CreateExcel_interpolation(excel_interpolationtype); this.excel_interpolationViewModel_.setFromSerial(serial_excel_interpolation); List <FpmlSerializedCSharp.Excel_rateData> serial_excel_rateData = serial_Excel_yieldCurve.Excel_rateData_; this.excel_rateDataViewModel_ = new ObservableCollection <Excel_rateDataViewModel>(); foreach (var item in serial_excel_rateData) { string type = item.Excel_type_.ValueStr; Excel_rateDataViewModel viewModel = Excel_rateDataViewModel.CreateExcel_rateData(type); viewModel.setFromSerial(item); this.excel_rateDataViewModel_.Add(viewModel); } }
//public Control view() //{ // Control v = new Excel_defaultCurveView(); // v.DataContext = this; // return v; //} public void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class) { FpmlSerializedCSharp.Excel_defaultCurve serial_Excel_defaultCurve = serial_Class as FpmlSerializedCSharp.Excel_defaultCurve; this.code_ = serial_Excel_defaultCurve.Code_.ValueStr; this.name_ = serial_Excel_defaultCurve.Name_.ValueStr; this.recovery_ = serial_Excel_defaultCurve.Recovery_.ValueStr; this.description_ = serial_Excel_defaultCurve.Description_.ValueStr; FpmlSerializedCSharp.Excel_interpolation serial_excel_interpolation = serial_Excel_defaultCurve.Excel_interpolation_; this.excel_interpolationViewModel_ = new Excel_interpolationViewModel(); this.excel_interpolationViewModel_.setFromSerial(serial_excel_interpolation); List <FpmlSerializedCSharp.Excel_rateData> serial_excel_rateData = serial_Excel_defaultCurve.Excel_rateData_; this.excel_rateDataViewModel_ = new ObservableCollection <Excel_rateDataViewModel>(); foreach (var item in serial_excel_rateData) { //string type = item.Excel_type_.ValueStr; Excel_rateDataViewModel viewModel = new Excel_rateDataViewModel(); viewModel.setFromSerial(item); this.excel_rateDataViewModel_.Add(viewModel); } }
public void loadData(DateTime d, string curveCode) { this.rateDataViewModel_.Clear(); for (int i = 1; i < 20; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = "spot"; e_rdvm.Tenor_ = (i * 3).ToString() + "M"; e_rdvm.Value_ = (0.03 + i * 0.0007).ToString(); this.rateDataViewModel_.Add(e_rdvm); } }
public void loadMarketData(DateTime referenceDate) { this.excel_rateDataViewModel_.Clear(); Excel_rateDataViewModel e_rdvm1 = new Excel_rateDataViewModel(); e_rdvm1.Value_ = "0.02"; this.excel_rateDataViewModel_.Add(e_rdvm1); Excel_rateDataViewModel e_rdvm2 = new Excel_rateDataViewModel(); e_rdvm2.Value_ = "0.03"; this.excel_rateDataViewModel_.Add(e_rdvm2); }
public void loadCurve(string constRate) { this.excel_rateDataViewModel_ = new ObservableCollection <Excel_rateDataViewModel>(); CurveManager cm = new CurveManager(); // 데이터를 로드함 // cm.load(this.code_,this.referenceDate_); //for (int i = 0; i < cm.Tenor_.Count ; i++) List <string> tenorList = new List <string>() { "1D", "3M", "6M", "9M", "12M", "18M", "24M", "30M", "36M", "48M", "60M", "84M", "120M", "180M", "240M", "360M" }; for (int i = 0; i < tenorList.Count; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = "Spot"; //e_rdvm.Tenor_ = cm.Tenor_[i]; e_rdvm.Tenor_ = tenorList[i]; //e_rdvm.Value_ = cm.Data_[i]; e_rdvm.Value_ = constRate; this.excel_rateDataViewModel_.Add(e_rdvm); } }
public Excel_yieldCurveViewModel discountCurve(DateTime refDate, string currencyCode) { //조회함 Excel_yieldCurveViewModel e_ycvm = new Excel_yieldCurveViewModel(); DISCOUNTCURVESETTING_Table_DAO dao = new DISCOUNTCURVESETTING_Table_DAO(); //dao.CURRENCY_ = cvm.CurrencyCode_; dao.KeyColumn_ = currencyCode; dao.select(DataBaseConnectManager.ConnectionFactory("myDB")); string provider = dao.PROVIDER_; string curveCode = dao.CURVECODE_; e_ycvm.Code_ = curveCode; e_ycvm.Currency_ = currencyCode; IRCurveMarketDataLoader loader = IRCurveMarketDataLoader.CreateMarketDataLoader(provider); ObservableCollection <Excel_irCurveDataViewModel> e_ircdvmList = new ObservableCollection <Excel_irCurveDataViewModel>(); loader.load(refDate, curveCode, e_ircdvmList); foreach (var item in e_ircdvmList[0].Excel_rateDataViewModelList_) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = item.RateType_; e_rdvm.Tenor_ = item.Tenor_; e_rdvm.Value_ = item.Value_; e_ycvm.Excel_rateDataViewModel_.Add(e_rdvm); } e_ycvm.Excel_interpolationViewModel_ = new Excel_interpolationViewModel(); //e_ycvm.loadCurve(); return(e_ycvm); }
public void loadCurve() { this.excel_rateDataViewModel_ = new ObservableCollection <Excel_rateDataViewModel>(); CurveManager cm = new CurveManager(); // 데이터를 로드함 // cm.load(this.code_,this.referenceDate_); //for (int i = 0; i < cm.Tenor_.Count ; i++) for (int i = 0; i < 15; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = "Spot"; //e_rdvm.Tenor_ = cm.Tenor_[i]; e_rdvm.Tenor_ = i.ToString() + "M"; //e_rdvm.Value_ = cm.Data_[i]; e_rdvm.Value_ = (i * 0.01).ToString(); this.excel_rateDataViewModel_.Add(e_rdvm); } }
public void loadCurve() { this.excel_rateDataViewModel_ = new ObservableCollection<Excel_rateDataViewModel>(); CurveManager cm = new CurveManager(); // 데이터를 로드함 // cm.load(this.code_,this.referenceDate_); //for (int i = 0; i < cm.Tenor_.Count ; i++) for (int i = 0; i < 15 ; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = "Spot"; //e_rdvm.Tenor_ = cm.Tenor_[i]; e_rdvm.Tenor_ = i.ToString() + "M"; //e_rdvm.Value_ = cm.Data_[i]; e_rdvm.Value_ = (i * 0.01).ToString(); this.excel_rateDataViewModel_.Add(e_rdvm); } }
public void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class) { FpmlSerializedCSharp.Excel_yieldCurve serial_Excel_yieldCurve = serial_Class as FpmlSerializedCSharp.Excel_yieldCurve; this.currency_ = serial_Excel_yieldCurve.Currency_.ValueStr; this.code_ = serial_Excel_yieldCurve.Code_.ValueStr; this.name_ = serial_Excel_yieldCurve.Name_.ValueStr; this.description_ = serial_Excel_yieldCurve.Description_.ValueStr; FpmlSerializedCSharp.Excel_interpolation serial_excel_interpolation = serial_Excel_yieldCurve.Excel_interpolation_; this.excel_interpolationViewModel_ = new Excel_interpolationViewModel(); this.excel_interpolationViewModel_.setFromSerial(serial_excel_interpolation); List<FpmlSerializedCSharp.Excel_rateData> serial_excel_rateData = serial_Excel_yieldCurve.Excel_rateData_; this.excel_rateDataViewModel_ = new ObservableCollection<Excel_rateDataViewModel>(); foreach (var item in serial_excel_rateData) { Excel_rateDataViewModel viewModel = new Excel_rateDataViewModel(); viewModel.setFromSerial(item); this.excel_rateDataViewModel_.Add(viewModel); } }
public override void load(DateTime refDate, string curveCode, ObservableCollection <Excel_irCurveDataViewModel> e_ircdvmList) { TD_MRCURVE_Table_DAO dao = new TD_MRCURVE_Table_DAO(); e_ircdvmList.Clear(); dao.KeyColumn_RefDate_ = refDate.ToString(StringFormat.DbDateFormat_); dao.KeyColumn_BOND_CLASS_ID_ = curveCode; dao.KeyColumn_CURVE_CODE_ = "S"; dao.select(this.conn_); Excel_irCurveDataViewModel e_ircdvm = new Excel_irCurveDataViewModel(); e_ircdvm.Curve_code_ = curveCode; e_ircdvm.ReferenceDate_ = refDate; List <string> tenorList = new List <string>() { "1D", "3M", "6M", "9M", "12M", "18M", "24M", "30M", "36M", "48M", "60M", "84M", "120M", "180M", "240M", "360M" }; List <string> valueList = new List <string>() { dao.D001_, dao.M003_, dao.M006_, dao.M009_, dao.M012_, dao.M018_, dao.M024_, dao.M030_, dao.M036_, dao.M048_, dao.M060_, dao.M084_, dao.M120_, dao.M180_, dao.M240_, dao.M360_ }; for (int i = 0; i < tenorList.Count; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.Tenor_ = tenorList[i]; double value = Convert.ToDouble(valueList[i]) / 100.0; e_rdvm.Value_ = value.ToString(); e_rdvm.RateType_ = "spot"; if (value > 0.0) { e_ircdvm.Excel_rateDataViewModelList_.Add(e_rdvm); } } e_ircdvm.tenorList_ = tenorList; if (e_ircdvm.Excel_rateDataViewModelList_.Count > 0) { e_ircdvmList.Add(e_ircdvm); } else { throw new Exception("curve load error , STD_DATE : " + dao.KeyColumn_RefDate_ + " BOND_CLASS_ID : " + dao.KeyColumn_BOND_CLASS_ID_); } }
public string add_Rate(string tenor, double rate, RateTypeEnum rateType = RateTypeEnum.Spot) { try { #region CheckParameter // 이건 나중에 수정해야함. yield 음수의 경우 yieldcurve class 를 새로 만들어야함. quantlib을 사용안해야함. if ( !(rate > 0) ) throw new Exception("rate must be positive"); #endregion if ( this.Excel_yieldCurveViewModel_.hasTenor(tenor) ) { return tenor + " is aleady exist"; } else { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = rateType.ToString(); e_rdvm.Tenor_ = tenor; e_rdvm.Value_ = rate.ToString(); this.Excel_yieldCurveViewModel_.Excel_rateDataViewModel_.Add(e_rdvm); return "add complete"; } } catch (Exception e) { return "add fail : " + e.Message; } }
public override void load(DateTime refDate, string curveCode, ObservableCollection<Excel_irCurveDataViewModel> e_ircdvmList) { TD_MRCURVE_Table_DAO dao = new TD_MRCURVE_Table_DAO(); e_ircdvmList.Clear(); dao.KeyColumn_RefDate_ = refDate.ToString(StringFormat.DbDateFormat_); dao.KeyColumn_BOND_CLASS_ID_ = curveCode; dao.KeyColumn_CURVE_CODE_ = "S"; dao.select(this.conn_); Excel_irCurveDataViewModel e_ircdvm = new Excel_irCurveDataViewModel(); e_ircdvm.Curve_code_ = curveCode; e_ircdvm.ReferenceDate_ = refDate; List<string> tenorList = new List<string>() { "1D", "3M", "6M", "9M", "12M", "18M", "24M", "30M", "36M", "48M", "60M", "84M", "120M", "180M", "240M", "360M" }; List<string> valueList = new List<string>() { dao.D001_, dao.M003_, dao.M006_, dao.M009_, dao.M012_, dao.M018_, dao.M024_, dao.M030_, dao.M036_, dao.M048_, dao.M060_, dao.M084_, dao.M120_, dao.M180_, dao.M240_, dao.M360_ }; for (int i = 0; i < tenorList.Count; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.Tenor_ = tenorList[i]; double value = Convert.ToDouble(valueList[i]) / 100.0; e_rdvm.Value_ = value.ToString(); e_rdvm.RateType_ = "spot"; if (value > 0.0) { e_ircdvm.Excel_rateDataViewModelList_.Add(e_rdvm); } } e_ircdvm.tenorList_ = tenorList; if (e_ircdvm.Excel_rateDataViewModelList_.Count > 0) { e_ircdvmList.Add(e_ircdvm); } else { throw new Exception("curve load error , STD_DATE : " + dao.KeyColumn_RefDate_ + " BOND_CLASS_ID : " + dao.KeyColumn_BOND_CLASS_ID_); } }
public override void loadInterval(DateTime startDate, DateTime endDate, string curveCode, ObservableCollection<Excel_irCurveDataViewModel> e_ircdvmList) { TD_MRCURVE_Table_DAOManager daoM = new TD_MRCURVE_Table_DAOManager(); e_ircdvmList.Clear(); daoM.KeyColumn_InitialDate_ = startDate.ToString(StringFormat.DbDateFormat_); daoM.KeyColumn_EndDate_ = endDate.ToString(StringFormat.DbDateFormat_); daoM.KeyColumn_BOND_CLASS_ID_ = curveCode; daoM.KeyColumn_CURVE_CODE_ = "S"; daoM.selectInterval(this.conn_); List<string> tenorList = new List<string>() { "1D", "3M", "6M", "9M", "12M", "18M", "24M", "30M", "36M", "48M", "60M", "84M", "120M", "180M", "240M", "360M" }; for (int i = 0; i < daoM.DAOList_.Count; i++) { Excel_irCurveDataViewModel e_ircdvm = new Excel_irCurveDataViewModel(); TD_MRCURVE_Table_DAO dao = daoM.DAOList_[i]; e_ircdvm.Curve_code_ = dao.CURVE_CODE_; e_ircdvm.ReferenceDate_ = StringConverter.dbDateToDateTime(dao.STD_DATE_); List<string> valueList = new List<string>() { dao.D001_, dao.M003_, dao.M006_, dao.M009_, dao.M012_, dao.M018_, dao.M024_, dao.M030_, dao.M036_, dao.M048_, dao.M060_, dao.M084_, dao.M120_, dao.M180_, dao.M240_, dao.M360_ }; for (int j = 0; j < tenorList.Count; j++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.Tenor_ = tenorList[j]; double value = Convert.ToDouble(valueList[j]) / 100.0; e_rdvm.Value_ = value.ToString(); e_rdvm.RateType_ = "spot"; if (value > 0.0) { e_ircdvm.Excel_rateDataViewModelList_.Add(e_rdvm); } } e_ircdvmList.Add(e_ircdvm); } e_ircdvmList[0].tenorList_ = tenorList; }
public void loadData(DateTime d,string curveCode) { this.rateDataViewModel_.Clear(); for (int i = 1; i < 20; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = "spot"; e_rdvm.Tenor_ = (i*3).ToString() + "M"; e_rdvm.Value_ = (0.03 + i*0.0007).ToString(); this.rateDataViewModel_.Add(e_rdvm); } }
public void loadCurve(string constRate) { this.excel_rateDataViewModel_ = new ObservableCollection<Excel_rateDataViewModel>(); CurveManager cm = new CurveManager(); // 데이터를 로드함 // cm.load(this.code_,this.referenceDate_); //for (int i = 0; i < cm.Tenor_.Count ; i++) List<string> tenorList = new List<string>() { "1D", "3M", "6M", "9M", "12M", "18M", "24M", "30M", "36M", "48M", "60M", "84M", "120M", "180M", "240M", "360M" }; for (int i = 0; i < tenorList.Count ; i++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.RateType_ = "Spot"; //e_rdvm.Tenor_ = cm.Tenor_[i]; e_rdvm.Tenor_ = tenorList[i]; //e_rdvm.Value_ = cm.Data_[i]; e_rdvm.Value_ = constRate; this.excel_rateDataViewModel_.Add(e_rdvm); } }
public override void loadInterval(DateTime startDate, DateTime endDate, string curveCode, ObservableCollection <Excel_irCurveDataViewModel> e_ircdvmList) { TD_MRCURVE_Table_DAOManager daoM = new TD_MRCURVE_Table_DAOManager(); e_ircdvmList.Clear(); daoM.KeyColumn_InitialDate_ = startDate.ToString(StringFormat.DbDateFormat_); daoM.KeyColumn_EndDate_ = endDate.ToString(StringFormat.DbDateFormat_); daoM.KeyColumn_BOND_CLASS_ID_ = curveCode; daoM.KeyColumn_CURVE_CODE_ = "S"; daoM.selectInterval(this.conn_); List <string> tenorList = new List <string>() { "1D", "3M", "6M", "9M", "12M", "18M", "24M", "30M", "36M", "48M", "60M", "84M", "120M", "180M", "240M", "360M" }; for (int i = 0; i < daoM.DAOList_.Count; i++) { Excel_irCurveDataViewModel e_ircdvm = new Excel_irCurveDataViewModel(); TD_MRCURVE_Table_DAO dao = daoM.DAOList_[i]; e_ircdvm.Curve_code_ = dao.CURVE_CODE_; e_ircdvm.ReferenceDate_ = StringConverter.dbDateToDateTime(dao.STD_DATE_); List <string> valueList = new List <string>() { dao.D001_, dao.M003_, dao.M006_, dao.M009_, dao.M012_, dao.M018_, dao.M024_, dao.M030_, dao.M036_, dao.M048_, dao.M060_, dao.M084_, dao.M120_, dao.M180_, dao.M240_, dao.M360_ }; for (int j = 0; j < tenorList.Count; j++) { Excel_rateDataViewModel e_rdvm = new Excel_rateDataViewModel(); e_rdvm.Tenor_ = tenorList[j]; double value = Convert.ToDouble(valueList[j]) / 100.0; e_rdvm.Value_ = value.ToString(); e_rdvm.RateType_ = "spot"; if (value > 0.0) { e_ircdvm.Excel_rateDataViewModelList_.Add(e_rdvm); } } e_ircdvmList.Add(e_ircdvm); } e_ircdvmList[0].tenorList_ = tenorList; }