예제 #1
0
        public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.Excel_interface           serial_Excel_interface           = serial_Class as FpmlSerializedCSharp.Excel_interface;
            FpmlSerializedCSharp.Excel_vanillaFloatingBond serial_Excel_vanillaFloatingBond = serial_Excel_interface.Excel_vanillaFloatingBond_;

            FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_vanillaFloatingBond.Excel_issueInfo_;
            string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;

            this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
            this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);

            FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_vanillaFloatingBond.Excel_underlyingCalcInfo_;
            string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;

            this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
            this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);

            FpmlSerializedCSharp.Excel_vanillaFloatingCouponScheduleList serial_excel_vanillaFloatingCouponScheduleList = serial_Excel_vanillaFloatingBond.Excel_vanillaFloatingCouponScheduleList_;
            string excel_vanillaFloatingCouponScheduleListtype = serial_excel_vanillaFloatingCouponScheduleList.Excel_type_.ValueStr;

            this.excel_vanillaFloatingCouponScheduleListViewModel_ = Excel_vanillaFloatingCouponScheduleListViewModel.CreateExcel_vanillaFloatingCouponScheduleList(excel_vanillaFloatingCouponScheduleListtype);
            this.excel_vanillaFloatingCouponScheduleListViewModel_.setFromSerial(serial_excel_vanillaFloatingCouponScheduleList);

            FpmlSerializedCSharp.Excel_vanillaFloatingBond_subtype serial_excel_vanillaFloatingBond_subtype = serial_Excel_vanillaFloatingBond.Excel_vanillaFloatingBond_subtype_;
            string excel_vanillaFloatingBond_subtypetype = serial_excel_vanillaFloatingBond_subtype.Excel_type_.ValueStr;

            this.excel_vanillaFloatingBond_subtypeViewModel_ = Excel_vanillaFloatingBond_subtypeViewModel.CreateExcel_vanillaFloatingBond_subtype(excel_vanillaFloatingBond_subtypetype);
            this.excel_vanillaFloatingBond_subtypeViewModel_.setFromSerial(serial_excel_vanillaFloatingBond_subtype);
        }
        public override Excel_underlyingCalcInfoViewModel getExcel_underlyingCalcInfoViewModel()
        {
            Excel_underlyingCalcInfoViewModel mergedUnderyingInfoVM = new Excel_underlyingCalcInfoViewModel();

            //part A
            foreach (var item in this.excel_swapLegViewModel_[0].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                if (!mergedUnderyingInfoVM.hasUnderlying(item.KrCode_))
                {
                    mergedUnderyingInfoVM.addUnderlyingInfoVM(item);
                }
            }

            //part B
            foreach (var item in this.excel_swapLegViewModel_[1].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                if (!mergedUnderyingInfoVM.hasUnderlying(item.KrCode_))
                {
                    mergedUnderyingInfoVM.addUnderlyingInfoVM(item);
                }
            }


            return(mergedUnderyingInfoVM);
        }
        public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.Excel_interface serial_Excel_interface = serial_Class as FpmlSerializedCSharp.Excel_interface;
            FpmlSerializedCSharp.Excel_hifive    serial_Excel_hifive    = serial_Excel_interface.Excel_hifive_;

            FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_hifive.Excel_issueInfo_;
            string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;

            this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
            this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);

            FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_hifive.Excel_underlyingCalcInfo_;
            string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;

            this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
            this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);

            FpmlSerializedCSharp.Excel_hifive_subtype serial_excel_hifive_subtype = serial_Excel_hifive.Excel_hifive_subtype_;
            string excel_hifive_subtypetype = serial_excel_hifive_subtype.Excel_type_.ValueStr;

            this.excel_hifive_subtypeViewModel_ = Excel_hifive_subtypeViewModel.CreateExcel_hifive_subtype(excel_hifive_subtypetype);
            this.excel_hifive_subtypeViewModel_.setFromSerial(serial_excel_hifive_subtype);

            FpmlSerializedCSharp.Excel_scheduleList serial_excel_scheduleList = serial_Excel_hifive.Excel_scheduleList_;
            string excel_scheduleListtype = serial_excel_scheduleList.Excel_type_.ValueStr;

            this.excel_scheduleListViewModel_ = Excel_scheduleListViewModel.CreateExcel_scheduleList(excel_scheduleListtype);
            this.excel_scheduleListViewModel_.setFromSerial(serial_excel_scheduleList);

            FpmlSerializedCSharp.Excel_kiEventCalculation serial_excel_kiEventCalculation = serial_Excel_hifive.Excel_kiEventCalculation_;
            string excel_kiEventCalculationtype = serial_excel_kiEventCalculation.Excel_type_.ValueStr;

            this.excel_kiEventCalculationViewModel_ = Excel_kiEventCalculationViewModel.CreateExcel_kiEventCalculation(excel_kiEventCalculationtype);
            this.excel_kiEventCalculationViewModel_.setFromSerial(serial_excel_kiEventCalculation);
        }
        //// 이놈을 쓸건지
        //public void underlyingInfoChangeObserver()
        //{
        //    Excel_underlyingCalcInfoViewModel excel_under = new Excel_underlyingCalcInfoViewModel();

        //    this.barrierUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
        //    this.returnUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
        //}

        // 이놈을 쓸건지 결정해야함
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            this.barrierUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
            this.returnUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
        }
예제 #5
0
        // product 화면에 underlying이 추가댔을 경우 그 이벤트를 받는 놈.
        public override void instrumentEventObserver(object sender, PropertyChangedEventArgs e)
        {
            Excel_underlyingCalcInfoViewModel senderVM = sender as Excel_underlyingCalcInfoViewModel;

            int count = senderVM.Excel_underlyingInfoViewModel_.Count;

            if (count > 0)
            {
                Excel_underlyingInfoViewModel e_uivm = senderVM.Excel_underlyingInfoViewModel_[count - 1];

                //// model associated type defined class
                //UnderlyingModelSetting ums = new UnderlyingModelSetting();

                // 원래 setting 해논 놈을 씀 UnderlyingModelSetting_
                Excel_underlyingInfo_paraViewModel e_uipvm =
                    this.UnderlyingModelSetting_.getUnderlyingParameterModel(e_uivm);

                this.excel_underlyingCalcInfo_paraViewModel_.
                Excel_underlyingInfo_paraViewModel_.Add(e_uipvm);

                this.excel_underlyingCalcInfo_paraViewModel_.
                Excel_correlationInfo_paraViewModel_.addUnderlying(e_uipvm.UnderNameTrans_.Value_);
            }
            else
            {
                OutputLogViewModel.addResult("input underlying num is 0");
            }
        }
        public void underlyingPropertyChangeObserver(object sender, PropertyChangedEventArgs e)
        {
            this.excel_underlyingCalcInfoViewModel_
                = sender as Excel_underlyingCalcInfoViewModel;

            this.buildProduct();
        }
예제 #7
0
        public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.Excel_interface       serial_Excel_interface       = serial_Class as FpmlSerializedCSharp.Excel_interface;
            FpmlSerializedCSharp.Excel_compositeOption serial_Excel_compositeOption = serial_Excel_interface.Excel_compositeOption_;

            FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_compositeOption.Excel_issueInfo_;
            string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;

            this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
            this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);

            FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_compositeOption.Excel_underlyingCalcInfo_;
            string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;

            this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
            this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);

            this.exerciseDate_ = StringConverter.xmlDateToDateTime(serial_Excel_compositeOption.ExerciseDate_.ValueStr);

            this.payoffDate_ = StringConverter.xmlDateToDateTime(serial_Excel_compositeOption.PayoffDate_.ValueStr);

            this.notionalMaturityPayment_ = serial_Excel_compositeOption.NotionalMaturityPayment_.ValueStr;

            List <FpmlSerializedCSharp.Excel_compositeOption_subtype> serial_excel_compositeOption_subtype = serial_Excel_compositeOption.Excel_compositeOption_subtype_;

            this.excel_compositeOption_subtypeViewModel_ = new ObservableCollection <Excel_compositeOption_subtypeViewModel>();
            foreach (var item in serial_excel_compositeOption_subtype)
            {
                string type = item.Excel_type_.ValueStr;
                Excel_compositeOption_subtypeViewModel viewModel = Excel_compositeOption_subtypeViewModel.CreateExcel_compositeOption_subtype(type);
                viewModel.setFromSerial(item);
                this.excel_compositeOption_subtypeViewModel_.Add(viewModel);
            }
        }
예제 #8
0
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            this.excel_eventCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_occReturnCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_noOccReturnCalcInfoViewModel_.setUnderlying(excel_under);
        }
예제 #9
0
        public void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            foreach (var item in this.excel_vanillaFloatingCouponScheduleViewModel_)
            {
                item.setUnderlying(excel_under);
            }
        }
        public void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.Excel_counterUnderlyingCalcInfo serial_Excel_counterUnderlyingCalcInfo = serial_Class as FpmlSerializedCSharp.Excel_counterUnderlyingCalcInfo;

            FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_counterUnderlyingCalcInfo.Excel_underlyingCalcInfo_;
            //string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;
            this.excel_underlyingCalcInfoViewModel_ = new Excel_underlyingCalcInfoViewModel();
            this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);
        }
예제 #11
0
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            foreach (var item in this.excel_eventCalcInfoViewModel_)
            {
                item.setUnderlying(excel_under);
            }
        }
        public void underlyingUpdated(object sender, PropertyChangedEventArgs e)
        {
            Excel_underlyingCalcInfoViewModel e_ucivm = sender as Excel_underlyingCalcInfoViewModel;

            foreach (var item in this.excel_multiAsset_compositeOption_subtypeViewModel_)
            {
                item.setUnderlying(e_ucivm);
            }
        }
        private void ViewModelChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            this.viewModel_ = this.DataContext as Excel_underlyingCalcInfoViewModel;
            //this.UnderlyingDataGrid_.ItemsSource = this.viewModel_.Excel_underlyingInfoViewModel_;

            //Binding b = new Binding() { Source = this.viewModel_.Excel_underlyingInfoViewModel_ ;
            //                            isas}

            //this.UnderlyingDataGrid_.SetBinding(
        }
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            foreach (var item in this.excel_eventCalcInfoViewModel_)
            {
                item.setUnderlying(excel_under);
            }

        }
        public Excel_vanillaFloatingBond_subtypeViewModel()
        {
            this.excel_underlyingCalcInfoViewModel_ = new Excel_underlyingCalcInfoViewModel();

            // shcuduleInfoVm 의 default 로드

            // 그냥 static에서 가져와서 해도댐

            this.scheduleGeneratorVM_ = new ScheduleGeneratorViewModel();
        }
        //public override void vmBuildFromExcel_interface()
        //{
        //    SimpleEventCouponTriggerViewModel sectvm = new SimpleEventCouponTriggerViewModel();

        //    sectvm.EventDate_ = this.EventDate_.ToString("yyyy-MM-dd");

        //    this.excel_eventCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
        //    this.excel_returnCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;

        //    //if (this.excel_complementReturnCalcViewModel_ != null)
        //    //{
        //        this.excel_complementReturnCalcViewModel_.Excel_returnCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
        //    //}

        //    this.excel_eventCalcInfo_CallViewModel_.Excel_eventCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
        //    this.excel_returnCalcInfo_CallViewModel_.Excel_returnCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;

        //    sectvm.EventCalculationInfoViewModel_ = this.excel_eventCalcInfoViewModel_.eventCalcInfoVM();

        //    sectvm.ReturnCalculationInfoViewModel_ = this.excel_returnCalcInfoViewModel_.returnCalcInfoVM();

        //    sectvm.ComplementReturnCalculationViewModel_ = new ComplementReturnCalculationViewModel();

        //    sectvm.ComplementReturnCalculationViewModel_.ReturnCalculationInfoViewModel_
        //        = this.excel_complementReturnCalcViewModel_.returnCalcInfoVM();

        //    // payoffDateInfo
        //    {
        //        PayoffDateInfoViewModel pdvm = new PayoffDateInfoViewModel();

        //        FixedFixingDateInfoViewModel ffdvm = new FixedFixingDateInfoViewModel();

        //        ffdvm.Date_ = this.EventDate_.ToString("yyyy-MM-dd");
        //        pdvm.FixingDateInfoViewModel_ = ffdvm;

        //        sectvm.PayoffDateInfoViewModel_ = pdvm;
        //    }

        //    // --------------- autoCallTrigger
        //    {
        //        AutoTerminationTriggerViewModel attvm = new AutoTerminationTriggerViewModel();

        //        attvm.EventCalculationInfoViewModel_
        //            = this.excel_eventCalcInfo_CallViewModel_.eventCalcInfoVM();

        //        attvm.ReturnCalculationInfoViewModel_
        //            = this.excel_returnCalcInfo_CallViewModel_.returnCalcInfoVM();

        //        sectvm.AutoTerminationTriggerViewModel_ = attvm;
        //    }
        //    {
        //        PayoffDateInfoViewModel pdvm = new PayoffDateInfoViewModel();

        //        FixedFixingDateInfoViewModel ffdvm_call = new FixedFixingDateInfoViewModel();

        //        pdvm.FixingDateInfoViewModel_ = ffdvm_call;

        //        ffdvm_call.Date_ = this.EventDate_.ToString("yyyy-MM-dd");

        //        sectvm.AutoTerminationTriggerViewModel_.PayoffDateInfoViewModel_ = pdvm;
        //    }

        //    this.eventTriggerViewModel_ = sectvm;

        //}

        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            this.excel_eventCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_returnCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_complementReturnCalcViewModel_.setUnderlying(excel_under);
            this.excel_eventCalcInfo_CallViewModel_.setUnderlying(excel_under);
            this.excel_returnCalcInfo_CallViewModel_.setUnderlying(excel_under);
        }
 public  void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
 {
     FpmlSerializedCSharp.Excel_counterUnderlyingCalcInfo serial_Excel_counterUnderlyingCalcInfo = serial_Class as FpmlSerializedCSharp.Excel_counterUnderlyingCalcInfo;
 
     FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_counterUnderlyingCalcInfo.Excel_underlyingCalcInfo_;
     //string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;
     this.excel_underlyingCalcInfoViewModel_ = new Excel_underlyingCalcInfoViewModel();
     this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);
     
 }
        //public void setReturnUnderCalcView(int underCount)
        //{

        //}

        public void setReturnUnderCalcView(Excel_underlyingCalcInfoViewModel excel_under)
        {
            if (excel_under == null || excel_under.Excel_underlyingInfoViewModel_.Count == 1)
            {
                this.ReturnUnderCalcPanel_.Visibility = System.Windows.Visibility.Collapsed;
            }
            else
            {
                this.ReturnUnderCalcPanel_.Visibility = System.Windows.Visibility.Visible;
            }
        }
        private void ViewModelChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            this.viewModel_ = this.DataContext as Excel_underlyingCalcInfoViewModel;
            //this.UnderlyingDataGrid_.ItemsSource = this.viewModel_.Excel_underlyingInfoViewModel_;

            //Binding b = new Binding() { Source = this.viewModel_.Excel_underlyingInfoViewModel_ ;
            //                            isas}

            //this.UnderlyingDataGrid_.SetBinding(
            
        }
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            try
            {
                this.baseUnderlyingValue_ = Convert.ToDouble(excel_under.Excel_underlyingInfoViewModel_[0].BasePrice_);
            }
            catch (Exception e)
            {
                OutputLogViewModel.addResult(e.Message);
            }
        }
        public override void instrumentEventObserver(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            Excel_underlyingCalcInfoViewModel e_ucivm = sender as Excel_underlyingCalcInfoViewModel;

            UnderlyingModelSetting ums = new UnderlyingModelSetting();

            foreach (Excel_underlyingInfoViewModel item in e_ucivm.Excel_underlyingInfoViewModel_)
            {
                this.excel_underlyingCalcInfo_paraViewModel_.Excel_underlyingInfo_paraViewModel_
                .Add(ums.getUnderlyingParameterModel(item));
            }

            // 다른건..? ex) corr
        }
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            int underCount = excel_under.Excel_underlyingInfoViewModel_.Count;

            if (underCount > 1)
            {
                if (this.returnUnderlyingCalcIDViewModel_ == null)
                {
                    this.returnUnderlyingCalcIDViewModel_ = new Excel_maximumUnderlyingCalcIDViewModel();
                }

                this.returnUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
            }
        }
        public void buildParaSetting(ParameterSettingManager paraSettingManager)
        {
            this.excel_underlyingInfo_paraViewModel_.Clear();

            Excel_underlyingCalcInfoViewModel e_ucvm = paraSettingManager.Excel_InstrumentViewModel_.Excel_interfaceViewModel_.getExcel_underlyingCalcInfoViewModel();

            foreach (var item in e_ucvm.Excel_underlyingInfoViewModel_)
            {
                Excel_underlyingInfo_paraViewModel e_uparavm = new Excel_underlyingInfo_paraViewModel();

                e_uparavm.buildParaSetting(item, paraSettingManager);

                this.excel_underlyingInfo_paraViewModel_.Add(e_uparavm);
            }

            this.excel_correlationInfo_paraViewModel_.buildParaSetting(paraSettingManager);
        }
        //public static Excel_underlyingCalcIDViewModel CreateExcel_underlyingCalcID(string typeStr)
        //{
        //    //    Maximum ,
        //    //    Minimum ,
        //    //    Average

        //    if (typeStr.ToUpper() == "MAXIMUM")
        //    {
        //        return new Excel_maximumUnderlyingCalcIDViewModel();
        //    }
        //    else if (typeStr.ToUpper() == "MINIMUM")
        //    {
        //        return new Excel_minimumUnderlyingCalcIDViewModel();
        //    }
        //    else if (typeStr.ToUpper() == "AVERAGE")
        //    {
        //        return new Excel_averageUnderlyingCalcIDViewModel();
        //    }
        //    else
        //    {
        //        throw new NotImplementedException();
        //    }
        //}


        //이건 calculationEngine에 들어갈 꺼
        //public ReferenceCalculationInfoViewModel referenceCalcInfoVM()
        //{
        //    ReferenceCalculationInfoViewModel rcivm = new ReferenceCalculationInfoViewModel();

        //    if (this.excel_type_.ToUpper() == "MAXIMUM")
        //    {
        //        MaximumReferenceCalViewModel mrcvm = new MaximumReferenceCalViewModel();
        //        //mrcvm.SelectedUnderName_ = this.selectedUnderlyingName_;
        //        //mrcvm.Nth_ = this.nth_;
        //        rcivm.ReferenceCalculationViewModel_.Add(mrcvm);
        //    }
        //    else if (this.excel_type_.ToUpper() == "MINIMUM")
        //    {
        //        MinimumReferenceCalViewModel mrcvm = new MinimumReferenceCalViewModel();
        //        //mrcvm.SelectedUnderName_ = this.selectedUnderlyingName_;
        //        //mrcvm.Nth_ = this.nth_;
        //        rcivm.ReferenceCalculationViewModel_.Add(mrcvm);
        //    }
        //    else
        //    {
        //        throw new NotImplementedException();
        //    }

        //    //FixedFixingDateInfoViewModel ffdivm = new FixedFixingDateInfoViewModel();
        //    //ffdivm.Date_ = dateTime.ToString("yyyy-MM-dd");
        //    //mrcvm.FixingDateInfoViewModel_ = ffdivm;

        //    // operatorND set 이런거

        //    return rcivm;
        //}

        //public ReferenceCalculationInfoViewModel referenceCalcInfoVM()
        //{
        //    ReferenceCalculationInfoViewModel rcivm = new ReferenceCalculationInfoViewModel();

        //    ObservableCollection<EventCalculationViewModel> eventCalcViewModelList
        //        = new ObservableCollection<EventCalculationViewModel>();

        //    ecivm.EventCalculationViewModel_ = eventCalcViewModelList;

        //    foreach (var item in excel_eventCalcViewModel_)
        //    {
        //        eventCalcViewModelList.Add(item.eventCalcVM());
        //    }

        //    return ecivm;


        //}

        public virtual void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_selectedUnderlyingViewModel_.Clear();

            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            foreach (var item in excel_under.Excel_underlyingInfoViewModel_)
            {
                Excel_selectedUnderlyingViewModel e_suvm = new Excel_selectedUnderlyingViewModel();

                e_suvm.Code_      = item.KrCode_;
                e_suvm.NameTrans_ = item.NameTrans_;
                e_suvm.Checked_   = false;

                this.excel_selectedUnderlyingViewModel_.Add(e_suvm);
            }
        }
예제 #25
0
        public override Excel_underlyingCalcInfoViewModel getExcel_underlyingCalcInfoViewModel()
        {
            Excel_underlyingCalcInfoViewModel e_ucvm = new Excel_underlyingCalcInfoViewModel();


            foreach (var item in this.excel_swapLegViewModel_[0].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                e_ucvm.Excel_underlyingInfoViewModel_.Add(item);
            }

            foreach (var item in this.excel_swapLegViewModel_[1].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                e_ucvm.Excel_underlyingInfoViewModel_.Add(item);
            }

            //e_ucvm.Excel_underlyingInfoViewModel_.Add(

            return(e_ucvm);
            //e_ucvm.Excel_underlyingInfoViewModel_.Add(
        }
        public Excel_underlyingCalcInfo_paraViewModel underInfo_para(Excel_underlyingCalcInfoViewModel underInfo)
        {
            Excel_underlyingCalcInfo_paraViewModel e_uc_pvm = new Excel_underlyingCalcInfo_paraViewModel();

            Excel_underlyingInfo_paraViewModel e_u_pvm = new Excel_underlyingInfo_paraViewModel();

            e_u_pvm.Excel_underlyingModel_paraViewModel_ = new Excel_geometricBMViewModel();

            e_u_pvm.CurrentValue_ = "100";

            Excel_geometricBMViewModel e_gbmvm = new Excel_geometricBMViewModel();

            e_gbmvm.Dividend_   = "0.012";
            e_gbmvm.Drift_      = "0.03";
            e_gbmvm.Volatility_ = "0.03";

            e_u_pvm.Excel_underlyingModel_paraViewModel_ = e_gbmvm;

            e_uc_pvm.Excel_underlyingInfo_paraViewModel_.Add(e_u_pvm);

            return(e_uc_pvm);
        }
        public Excel_underlyingCalcInfo_paraViewModel underInfo_para(Excel_underlyingCalcInfoViewModel underInfo)
        {
            Excel_underlyingCalcInfo_paraViewModel e_uc_pvm = new Excel_underlyingCalcInfo_paraViewModel();

            Excel_underlyingInfo_paraViewModel e_u_pvm = new Excel_underlyingInfo_paraViewModel();
            e_u_pvm.Excel_underlyingModel_paraViewModel_ = new Excel_geometricBMViewModel();

            e_u_pvm.CurrentValue_ = "100";

            Excel_geometricBMViewModel e_gbmvm = new Excel_geometricBMViewModel();

            e_gbmvm.Dividend_ = "0.012";
            e_gbmvm.Drift_ = "0.03";
            e_gbmvm.Volatility_ = "0.03";

            e_u_pvm.Excel_underlyingModel_paraViewModel_ = e_gbmvm;

            e_uc_pvm.Excel_underlyingInfo_paraViewModel_.Add(e_u_pvm);

            return e_uc_pvm;
        
        }
예제 #28
0
        public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.Excel_interface        serial_Excel_interface        = serial_Class as FpmlSerializedCSharp.Excel_interface;
            FpmlSerializedCSharp.Excel_stepDownKICustom serial_Excel_stepDownKICustom = serial_Excel_interface.Excel_stepDownKICustom_;

            FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_stepDownKICustom.Excel_issueInfo_;
            string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;

            this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
            this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);

            FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_stepDownKICustom.Excel_underlyingCalcInfo_;
            string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;

            this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
            this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);

            FpmlSerializedCSharp.Excel_hifive_subtype serial_excel_hifive_subtype = serial_Excel_stepDownKICustom.Excel_hifive_subtype_;
            string excel_hifive_subtypetype = serial_excel_hifive_subtype.Excel_type_.ValueStr;

            this.excel_hifive_subtypeViewModel_ = Excel_hifive_subtypeViewModel.CreateExcel_hifive_subtype(excel_hifive_subtypetype);
            this.excel_hifive_subtypeViewModel_.setFromSerial(serial_excel_hifive_subtype);
        }
 public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
 {
     FpmlSerializedCSharp.Excel_interface serial_Excel_interface = serial_Class as FpmlSerializedCSharp.Excel_interface;
     FpmlSerializedCSharp.Excel_vanillaFloatingBond serial_Excel_vanillaFloatingBond = serial_Excel_interface.Excel_vanillaFloatingBond_;
 
     FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_vanillaFloatingBond.Excel_issueInfo_;
     string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;
     this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
     this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);
     
     FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_vanillaFloatingBond.Excel_underlyingCalcInfo_;
     string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;
     this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
     this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);
     
     FpmlSerializedCSharp.Excel_vanillaFloatingCouponScheduleList serial_excel_vanillaFloatingCouponScheduleList = serial_Excel_vanillaFloatingBond.Excel_vanillaFloatingCouponScheduleList_;
     string excel_vanillaFloatingCouponScheduleListtype = serial_excel_vanillaFloatingCouponScheduleList.Excel_type_.ValueStr;
     this.excel_vanillaFloatingCouponScheduleListViewModel_ = Excel_vanillaFloatingCouponScheduleListViewModel.CreateExcel_vanillaFloatingCouponScheduleList(excel_vanillaFloatingCouponScheduleListtype);
     this.excel_vanillaFloatingCouponScheduleListViewModel_.setFromSerial(serial_excel_vanillaFloatingCouponScheduleList);
     
     FpmlSerializedCSharp.Excel_vanillaFloatingBond_subtype serial_excel_vanillaFloatingBond_subtype = serial_Excel_vanillaFloatingBond.Excel_vanillaFloatingBond_subtype_;
     string excel_vanillaFloatingBond_subtypetype = serial_excel_vanillaFloatingBond_subtype.Excel_type_.ValueStr;
     this.excel_vanillaFloatingBond_subtypeViewModel_ = Excel_vanillaFloatingBond_subtypeViewModel.CreateExcel_vanillaFloatingBond_subtype(excel_vanillaFloatingBond_subtypetype);
     this.excel_vanillaFloatingBond_subtypeViewModel_.setFromSerial(serial_excel_vanillaFloatingBond_subtype);
     
 }
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            try
            {
                this.baseUnderlyingValue_ = Convert.ToDouble(excel_under.Excel_underlyingInfoViewModel_[0].BasePrice_);
            }
            catch (Exception e)
            {
                OutputLogViewModel.addResult(e.Message);
            }

        }
 public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_underlyingCalcInfoViewModel)
 {
     throw new NotImplementedException();
 }
 public abstract void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under);
 public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
 {
     this.excel_underlyingCalcInfoViewModel_ = excel_under;
 }
        //public void setReturnUnderCalcView(int underCount)
        //{

        //}

        public void setReturnUnderCalcView(Excel_underlyingCalcInfoViewModel excel_under)
        {
            if (excel_under == null || excel_under.Excel_underlyingInfoViewModel_.Count == 1)
            {
                this.ReturnUnderCalcPanel_.Visibility = System.Windows.Visibility.Collapsed;
            }
            else
            {
                this.ReturnUnderCalcPanel_.Visibility = System.Windows.Visibility.Visible;
            }

            
        }
        public void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            foreach (var item in this.excel_vanillaFloatingCouponScheduleViewModel_)
            {
                item.setUnderlying(excel_under);
            }
        }
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            int underCount = excel_under.Excel_underlyingInfoViewModel_.Count;

            if (underCount > 1)
            {
                if (this.returnUnderlyingCalcIDViewModel_ == null)
                {
                    this.returnUnderlyingCalcIDViewModel_ = new Excel_maximumUnderlyingCalcIDViewModel();
                }

                this.returnUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
            }
            
        }
        public ObservableCollection<Excel_correlation_paraViewModel> corrInfo(Excel_underlyingCalcInfoViewModel excel_ucivm)
        {
            DateTime refDate = this.owner_parameterSettingManager_.ReferenceDate_;

            ObservableCollection<Excel_correlation_paraViewModel> corrParaList = new ObservableCollection<Excel_correlation_paraViewModel>();
            ObservableCollection<Excel_underlyingInfoViewModel> underInfoVMList = excel_ucivm.Excel_underlyingInfoViewModel_;

            int underNum = excel_ucivm.Excel_underlyingInfoViewModel_.Count;

            Excel_correlation_paraViewModel corr = new Excel_correlation_paraViewModel();

            corr.First_ = underInfoVMList[0].KrCode_;
            corr.Second_ = underInfoVMList[0].KrCode_;
            corr.Value_ = "1.0";

            corrParaList.Add(corr);

            for (int under_i = 1; under_i < underInfoVMList.Count; under_i++)
            {
                int preUnderNum = under_i;

                Excel_correlation_paraViewModel diagCorrVM = new Excel_correlation_paraViewModel();

                diagCorrVM.First_ = underInfoVMList[under_i].KrCode_;
                diagCorrVM.Second_ = underInfoVMList[under_i].KrCode_;
                diagCorrVM.Value_ = "1.0";

                corrParaList.Add(diagCorrVM);

                for (int i = 0; i < preUnderNum; i++)
                {
                    //Excel_correlation_paraViewModel e_corr = new Excel_correlation_paraViewModel();

                    //// 새롭게 추가된 underlying을 넣음
                    //e_corr.First_ = addedUnderInfoVM.KrCode_;

                    //// 기존꺼를 넣음
                    //e_corr.Second_ = preCorrParaList[i];

                    //// value는 default 0 이 드감.

                    //e_corr.value_ = "0.0";

                    //this.correlationDataList_.Add(e_corr);

                    Excel_correlation_paraViewModel e_corrVM_1 = new Excel_correlation_paraViewModel();

                    e_corrVM_1.First_ = underInfoVMList[under_i].KrCode_;
                    e_corrVM_1.Second_ = underInfoVMList[i].KrCode_;

                    // data load
                    e_corrVM_1.Value_ = this.value(refDate, e_corrVM_1.First_, e_corrVM_1.Second_);

                    corrParaList.Add(e_corrVM_1);

                    Excel_correlation_paraViewModel e_corrVM_2 = new Excel_correlation_paraViewModel();

                    e_corrVM_2.First_ = underInfoVMList[i].KrCode_;
                    e_corrVM_2.Second_ = underInfoVMList[under_i].KrCode_;

                    e_corrVM_2.Value_ = this.value(refDate, e_corrVM_2.First_, e_corrVM_2.Second_); ;

                    corrParaList.Add(e_corrVM_2);

                }
            }


            return corrParaList;

        }
        public Excel_vanillaFloatingBond_subtypeViewModel() 
        {
            this.excel_underlyingCalcInfoViewModel_ = new Excel_underlyingCalcInfoViewModel();

            // shcuduleInfoVm 의 default 로드

            // 그냥 static에서 가져와서 해도댐

            this.scheduleGeneratorVM_ = new ScheduleGeneratorViewModel();
        }
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            this.excel_eventCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_occReturnCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_noOccReturnCalcInfoViewModel_.setUnderlying(excel_under);

        }
        //// 이놈을 쓸건지
        //public void underlyingInfoChangeObserver()
        //{
        //    Excel_underlyingCalcInfoViewModel excel_under = new Excel_underlyingCalcInfoViewModel();

        //    this.barrierUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
        //    this.returnUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
        //}

        // 이놈을 쓸건지 결정해야함
        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            this.barrierUnderlyingCalcIDViewModel_.setUnderlying(excel_under);
            this.returnUnderlyingCalcIDViewModel_.setUnderlying(excel_under);

        }
 public void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
 {
     this.excel_returnCalcInfoViewModel_.setUnderlying(excel_under);
 }
 public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
 {
     this.excel_underlyingCalcInfoViewModel_ = excel_under;
 }
        public void underlyingPropertyChangeObserver(object sender, PropertyChangedEventArgs e)
        {
            this.excel_underlyingCalcInfoViewModel_
                = sender as Excel_underlyingCalcInfoViewModel;

            this.buildProduct();
        }
 public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
 {
     throw new NotImplementedException();
 }
 public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
 {
     FpmlSerializedCSharp.Excel_interface serial_Excel_interface = serial_Class as FpmlSerializedCSharp.Excel_interface;
     FpmlSerializedCSharp.Excel_stepDownKICustom serial_Excel_stepDownKICustom = serial_Excel_interface.Excel_stepDownKICustom_;
 
     FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_stepDownKICustom.Excel_issueInfo_;
     string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;
     this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
     this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);
     
     FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_stepDownKICustom.Excel_underlyingCalcInfo_;
     string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;
     this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
     this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);
     
     FpmlSerializedCSharp.Excel_hifive_subtype serial_excel_hifive_subtype = serial_Excel_stepDownKICustom.Excel_hifive_subtype_;
     string excel_hifive_subtypetype = serial_excel_hifive_subtype.Excel_type_.ValueStr;
     this.excel_hifive_subtypeViewModel_ = Excel_hifive_subtypeViewModel.CreateExcel_hifive_subtype(excel_hifive_subtypetype);
     this.excel_hifive_subtypeViewModel_.setFromSerial(serial_excel_hifive_subtype);
     
 }
 public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
 {
     FpmlSerializedCSharp.Excel_interface serial_Excel_interface = serial_Class as FpmlSerializedCSharp.Excel_interface;
     FpmlSerializedCSharp.Excel_compositeOption serial_Excel_compositeOption = serial_Excel_interface.Excel_compositeOption_;
 
     FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_compositeOption.Excel_issueInfo_;
     string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;
     this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
     this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);
     
     FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_compositeOption.Excel_underlyingCalcInfo_;
     string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;
     this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
     this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);
     
     this.exerciseDate_ = StringConverter.xmlDateToDateTime(serial_Excel_compositeOption.ExerciseDate_.ValueStr);
     
     this.payoffDate_ = StringConverter.xmlDateToDateTime(serial_Excel_compositeOption.PayoffDate_.ValueStr);
     
     this.notionalMaturityPayment_ = serial_Excel_compositeOption.NotionalMaturityPayment_.ValueStr;
     
     List<FpmlSerializedCSharp.Excel_compositeOption_subtype> serial_excel_compositeOption_subtype = serial_Excel_compositeOption.Excel_compositeOption_subtype_;
     this.excel_compositeOption_subtypeViewModel_ = new ObservableCollection<Excel_compositeOption_subtypeViewModel>();
     foreach (var item in serial_excel_compositeOption_subtype)
     {
         string type = item.Excel_type_.ValueStr;
         Excel_compositeOption_subtypeViewModel viewModel = Excel_compositeOption_subtypeViewModel.CreateExcel_compositeOption_subtype(type);
         viewModel.setFromSerial(item);
         this.excel_compositeOption_subtypeViewModel_.Add(viewModel);
     }
     
 }
 public abstract void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under);
        public override Excel_underlyingCalcInfoViewModel getExcel_underlyingCalcInfoViewModel()
        {
            Excel_underlyingCalcInfoViewModel e_ucvm = new Excel_underlyingCalcInfoViewModel();


            foreach (var item in this.excel_swapLegViewModel_[0].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                e_ucvm.Excel_underlyingInfoViewModel_.Add(item);
            }

            foreach (var item in this.excel_swapLegViewModel_[1].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                e_ucvm.Excel_underlyingInfoViewModel_.Add(item);
            }

            //e_ucvm.Excel_underlyingInfoViewModel_.Add(

            return e_ucvm;
            //e_ucvm.Excel_underlyingInfoViewModel_.Add(

        }
예제 #49
0
        //public ReturnCalculationInfoViewModel returnCalcInfoVM()
        //{
        //    return this.excel_returnCalcInfoViewModel_.returnCalcInfoVM();
        //}

        public void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_returnCalcInfoViewModel_.setUnderlying(excel_under);
        }
        //public override void vmBuildFromExcel_interface()
        //{
        //    SimpleEventCouponTriggerViewModel sectvm = new SimpleEventCouponTriggerViewModel();

        //    sectvm.EventDate_ = this.EventDate_.ToString("yyyy-MM-dd");

        //    this.excel_eventCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
        //    this.excel_returnCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
            
        //    //if (this.excel_complementReturnCalcViewModel_ != null)
        //    //{
        //        this.excel_complementReturnCalcViewModel_.Excel_returnCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
        //    //}

        //    this.excel_eventCalcInfo_CallViewModel_.Excel_eventCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;
        //    this.excel_returnCalcInfo_CallViewModel_.Excel_returnCalcInfoViewModel_.ReferenceFixingDate_ = this.EventDate_;

        //    sectvm.EventCalculationInfoViewModel_ = this.excel_eventCalcInfoViewModel_.eventCalcInfoVM();

        //    sectvm.ReturnCalculationInfoViewModel_ = this.excel_returnCalcInfoViewModel_.returnCalcInfoVM();

        //    sectvm.ComplementReturnCalculationViewModel_ = new ComplementReturnCalculationViewModel();

        //    sectvm.ComplementReturnCalculationViewModel_.ReturnCalculationInfoViewModel_ 
        //        = this.excel_complementReturnCalcViewModel_.returnCalcInfoVM();

        //    // payoffDateInfo
        //    {
        //        PayoffDateInfoViewModel pdvm = new PayoffDateInfoViewModel();

        //        FixedFixingDateInfoViewModel ffdvm = new FixedFixingDateInfoViewModel();

        //        ffdvm.Date_ = this.EventDate_.ToString("yyyy-MM-dd");
        //        pdvm.FixingDateInfoViewModel_ = ffdvm;

        //        sectvm.PayoffDateInfoViewModel_ = pdvm;
        //    }

        //    // --------------- autoCallTrigger
        //    {
        //        AutoTerminationTriggerViewModel attvm = new AutoTerminationTriggerViewModel();

        //        attvm.EventCalculationInfoViewModel_
        //            = this.excel_eventCalcInfo_CallViewModel_.eventCalcInfoVM();

        //        attvm.ReturnCalculationInfoViewModel_
        //            = this.excel_returnCalcInfo_CallViewModel_.returnCalcInfoVM();

        //        sectvm.AutoTerminationTriggerViewModel_ = attvm;
        //    }
        //    {
        //        PayoffDateInfoViewModel pdvm = new PayoffDateInfoViewModel();

        //        FixedFixingDateInfoViewModel ffdvm_call = new FixedFixingDateInfoViewModel();

        //        pdvm.FixingDateInfoViewModel_ = ffdvm_call;

        //        ffdvm_call.Date_ = this.EventDate_.ToString("yyyy-MM-dd");

        //        sectvm.AutoTerminationTriggerViewModel_.PayoffDateInfoViewModel_ = pdvm;
        //    }

        //    this.eventTriggerViewModel_ = sectvm;

        //}

        public override void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
        {
            this.excel_underlyingCalcInfoViewModel_ = excel_under;

            this.excel_eventCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_returnCalcInfoViewModel_.setUnderlying(excel_under);
            this.excel_complementReturnCalcViewModel_.setUnderlying(excel_under);
            this.excel_eventCalcInfo_CallViewModel_.setUnderlying(excel_under);
            this.excel_returnCalcInfo_CallViewModel_.setUnderlying(excel_under);

        }
        public override Excel_underlyingCalcInfoViewModel getExcel_underlyingCalcInfoViewModel()
        {
            Excel_underlyingCalcInfoViewModel mergedUnderyingInfoVM = new Excel_underlyingCalcInfoViewModel();
            
            //part A
            foreach (var item in this.excel_swapLegViewModel_[0].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
	        {
                if (!mergedUnderyingInfoVM.hasUnderlying(item.KrCode_))
                {
                    mergedUnderyingInfoVM.addUnderlyingInfoVM(item);
                }
	        }

            //part B
            foreach (var item in this.excel_swapLegViewModel_[1].getExcel_underlyingCalcInfoViewModel().Excel_underlyingInfoViewModel_)
            {
                if (!mergedUnderyingInfoVM.hasUnderlying(item.KrCode_))
                {
                    mergedUnderyingInfoVM.addUnderlyingInfoVM(item);
                }
            }


            return mergedUnderyingInfoVM;
        }
예제 #52
0
        public ObservableCollection <Excel_correlation_paraViewModel> corrInfo(Excel_underlyingCalcInfoViewModel excel_ucivm)
        {
            DateTime refDate = this.owner_parameterSettingManager_.ReferenceDate_;

            ObservableCollection <Excel_correlation_paraViewModel> corrParaList    = new ObservableCollection <Excel_correlation_paraViewModel>();
            ObservableCollection <Excel_underlyingInfoViewModel>   underInfoVMList = excel_ucivm.Excel_underlyingInfoViewModel_;

            int underNum = excel_ucivm.Excel_underlyingInfoViewModel_.Count;

            Excel_correlation_paraViewModel corr = new Excel_correlation_paraViewModel();

            corr.First_  = underInfoVMList[0].KrCode_;
            corr.Second_ = underInfoVMList[0].KrCode_;
            corr.Value_  = "1.0";

            corrParaList.Add(corr);

            for (int under_i = 1; under_i < underInfoVMList.Count; under_i++)
            {
                int preUnderNum = under_i;

                Excel_correlation_paraViewModel diagCorrVM = new Excel_correlation_paraViewModel();

                diagCorrVM.First_  = underInfoVMList[under_i].KrCode_;
                diagCorrVM.Second_ = underInfoVMList[under_i].KrCode_;
                diagCorrVM.Value_  = "1.0";

                corrParaList.Add(diagCorrVM);

                for (int i = 0; i < preUnderNum; i++)
                {
                    //Excel_correlation_paraViewModel e_corr = new Excel_correlation_paraViewModel();

                    //// 새롭게 추가된 underlying을 넣음
                    //e_corr.First_ = addedUnderInfoVM.KrCode_;

                    //// 기존꺼를 넣음
                    //e_corr.Second_ = preCorrParaList[i];

                    //// value는 default 0 이 드감.

                    //e_corr.value_ = "0.0";

                    //this.correlationDataList_.Add(e_corr);

                    Excel_correlation_paraViewModel e_corrVM_1 = new Excel_correlation_paraViewModel();

                    e_corrVM_1.First_  = underInfoVMList[under_i].KrCode_;
                    e_corrVM_1.Second_ = underInfoVMList[i].KrCode_;

                    // data load
                    e_corrVM_1.Value_ = this.value(refDate, e_corrVM_1.First_, e_corrVM_1.Second_);

                    corrParaList.Add(e_corrVM_1);

                    Excel_correlation_paraViewModel e_corrVM_2 = new Excel_correlation_paraViewModel();

                    e_corrVM_2.First_  = underInfoVMList[i].KrCode_;
                    e_corrVM_2.Second_ = underInfoVMList[under_i].KrCode_;

                    e_corrVM_2.Value_ = this.value(refDate, e_corrVM_2.First_, e_corrVM_2.Second_);;

                    corrParaList.Add(e_corrVM_2);
                }
            }


            return(corrParaList);
        }
 public virtual void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
 {
     this.excel_underlyingCalcInfoViewModel_ = excel_under;
 }
예제 #54
0
 public virtual void setUnderlying(Excel_underlyingCalcInfoViewModel excel_under)
 {
     this.excel_underlyingCalcInfoViewModel_ = excel_under;
 }
 public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
 {
     FpmlSerializedCSharp.Excel_interface serial_Excel_interface = serial_Class as FpmlSerializedCSharp.Excel_interface;
     FpmlSerializedCSharp.Excel_hifive serial_Excel_hifive = serial_Excel_interface.Excel_hifive_;
 
     FpmlSerializedCSharp.Excel_issueInfo serial_excel_issueInfo = serial_Excel_hifive.Excel_issueInfo_;
     string excel_issueInfotype = serial_excel_issueInfo.Excel_type_.ValueStr;
     this.excel_issueInfoViewModel_ = Excel_issueInfoViewModel.CreateExcel_issueInfo(excel_issueInfotype);
     this.excel_issueInfoViewModel_.setFromSerial(serial_excel_issueInfo);
     
     FpmlSerializedCSharp.Excel_underlyingCalcInfo serial_excel_underlyingCalcInfo = serial_Excel_hifive.Excel_underlyingCalcInfo_;
     string excel_underlyingCalcInfotype = serial_excel_underlyingCalcInfo.Excel_type_.ValueStr;
     this.excel_underlyingCalcInfoViewModel_ = Excel_underlyingCalcInfoViewModel.CreateExcel_underlyingCalcInfo(excel_underlyingCalcInfotype);
     this.excel_underlyingCalcInfoViewModel_.setFromSerial(serial_excel_underlyingCalcInfo);
     
     FpmlSerializedCSharp.Excel_hifive_subtype serial_excel_hifive_subtype = serial_Excel_hifive.Excel_hifive_subtype_;
     string excel_hifive_subtypetype = serial_excel_hifive_subtype.Excel_type_.ValueStr;
     this.excel_hifive_subtypeViewModel_ = Excel_hifive_subtypeViewModel.CreateExcel_hifive_subtype(excel_hifive_subtypetype);
     this.excel_hifive_subtypeViewModel_.setFromSerial(serial_excel_hifive_subtype);
     
     FpmlSerializedCSharp.Excel_scheduleList serial_excel_scheduleList = serial_Excel_hifive.Excel_scheduleList_;
     string excel_scheduleListtype = serial_excel_scheduleList.Excel_type_.ValueStr;
     this.excel_scheduleListViewModel_ = Excel_scheduleListViewModel.CreateExcel_scheduleList(excel_scheduleListtype);
     this.excel_scheduleListViewModel_.setFromSerial(serial_excel_scheduleList);
     
     FpmlSerializedCSharp.Excel_kiEventCalculation serial_excel_kiEventCalculation = serial_Excel_hifive.Excel_kiEventCalculation_;
     string excel_kiEventCalculationtype = serial_excel_kiEventCalculation.Excel_type_.ValueStr;
     this.excel_kiEventCalculationViewModel_ = Excel_kiEventCalculationViewModel.CreateExcel_kiEventCalculation(excel_kiEventCalculationtype);
     this.excel_kiEventCalculationViewModel_.setFromSerial(serial_excel_kiEventCalculation);
     
 }