Exemple #1
0
 private void Adjustment1_ValueChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
 {
     if (e.OldValue != null && e.NewValue != null)
     {
         var contract = SubbedContracts?.FirstOrDefault();
         if (contract != null)
         {
             UpdateStrategyAdjustment(contract, StrategyVM.Model.IVM, (double)e.NewValue);
         }
     }
 }
Exemple #2
0
        private void volModelCB_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var modelParam = volModelCB.SelectedItem as ModelParamsVM;

            if (modelParam != null)
            {
                riskFree_Interest.DataContext = modelParam;
                var contract = SubbedContracts?.FirstOrDefault();
                if (contract != null)
                {
                    var strategy =
                        _otcOptionHandler.StrategyVMCollection.FirstOrDefault(s => s.Exchange == contract.Exchange && s.Contract == contract.Contract);
                    if (strategy != null && strategy.IVModel != modelParam.InstanceName)
                    {
                        strategy.IVModel = modelParam.InstanceName;
                        _otcOptionHandler.UpdateStrategyModel(strategy, StrategyVM.Model.IVM);
                    }
                }
            }
        }
Exemple #3
0
        private async void contract1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (contract1.SelectedItem != null)
            {
                var uexchange = exchange1.SelectedValue?.ToString();
                var uc        = contract1.SelectedItem?.ToString();
                var handler   = MessageHandlerContainer.DefaultInstance.Get <MarketDataHandler>();
                QuoteVMCollection1.Clear();

                var mktDataVM = await handler.SubMarketDataAsync(uc);

                if (mktDataVM != null)
                {
                    QuoteVMCollection1.Add(mktDataVM);
                }

                var contract = SubbedContracts?.FirstOrDefault();
                if (contract != null)
                {
                    var strategy =
                        _otcOptionHandler.StrategyVMCollection.FirstOrDefault(s => s.Exchange == contract.Exchange && s.Contract == contract.Contract);
                    var pricingContract = strategy.IVMContractParams.FirstOrDefault();
                    if (pricingContract != null && pricingContract.Exchange == uexchange && pricingContract.Contract == uc)
                    {
                        return;
                    }

                    if (pricingContract == null)
                    {
                        pricingContract = new PricingContractParamVM();
                        strategy.IVMContractParams.Add(pricingContract);
                    }
                    pricingContract.Exchange = uexchange;
                    pricingContract.Contract = uc;
                    _otcOptionHandler.UpdateStrategyPricingContracts(strategy, StrategyVM.Model.IVM);
                }
            }
        }
Exemple #4
0
        private async void expireDateCB_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (expireDateCB.SelectedValue != null)
            {
                var ed       = expireDateCB.SelectedValue.ToString();
                var uc       = underlyingContractCB.SelectedValue.ToString();
                var exchange = underlyingEX.SelectedValue.ToString();

                var optionList = (from c in _contractList
                                  where c.Exchange == exchange && c.UnderlyingContract == uc && c.ExpireDate == ed
                                  select new ContractKeyVM(c.Exchange, c.Contract)).ToList();

                SubbedContracts = await _otcOptionHandler.SubTradingDeskDataAsync(optionList);

                exchange1.ItemsSource   = null;
                underlying1.ItemsSource = null;
                contract1.ItemsSource   = null;
                volModelCB.ItemsSource  = null;
                adjustment1.Value       = null;
                exchange1.ItemsSource   = _futurecontractList.Select(c => c.Exchange).Distinct();
                volModelCB.ItemsSource  = _otcOptionHandler.GetModelParamsVMCollection("ivm");
                var contract = SubbedContracts?.FirstOrDefault();
                if (contract != null)
                {
                    var strategy =
                        _otcOptionHandler.StrategyVMCollection.FirstOrDefault(s => s.Exchange == contract.Exchange && s.Contract == contract.Contract);
                    if (strategy != null)
                    {
                        var pricingContract = strategy.IVMContractParams?.FirstOrDefault();
                        if (pricingContract != null)
                        {
                            var futureexchange   = pricingContract.Exchange;
                            var futurecontract   = pricingContract.Contract;
                            var futureunderlying = _futurecontractList.FirstOrDefault(c => c.Exchange == futureexchange && c.Contract == futurecontract)?.ProductID;
                            var volmodel         = strategy.IVModel;
                            var adjust           = pricingContract.Adjust;
                            volModelCB.SelectedValue = volmodel;
                            exchange1.SelectedValue  = futureexchange;
                            var exchangeTemp = exchange1.SelectedValue?.ToString();
                            if (exchangeTemp != null)
                            {
                                var productID = (from c in _futurecontractList
                                                 where c.Exchange == exchange.ToString()
                                                 orderby c.ProductID ascending
                                                 select c.ProductID).Distinct().ToList();
                                //underlying1.ItemsSource = _futurecontractList.Where(c => c.Exchange == exchangeTemp).Select(c => c.ProductID).Distinct();
                                underlying1.ItemsSource = productID;
                                contract1.ItemsSource   = null;
                            }
                            underlying1.SelectedValue = futureunderlying;
                            var productIdTemp = underlying1.SelectedValue?.ToString();

                            if (productIdTemp != null)
                            {
                                var underlyingContracts = (from c in _futurecontractList
                                                           where c.ProductID == productIdTemp.ToString()
                                                           select c.Contract).Distinct().ToList();
                                contract1.ItemsSource = underlyingContracts;
                            }
                            contract1.SelectedValue = futurecontract;
                            adjustment1.Value       = adjust;
                            var modelVM = volModelCB.SelectedItem as ModelParamsVM;
                            if (modelVM != null)
                            {
                                riskFree_Interest.DataContext = null;
                                riskFree_Interest.DataContext = modelVM;
                            }
                        }
                    }
                }
            }
        }