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); } } }
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); } } } }
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); } } }
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; } } } } } }