Example #1
0
        private void StartClick(object sender, RoutedEventArgs e)
        {
            var option = SelectedOption;

            // create DOM window
            var wnd = new QuotesWindow {
                Title = option.Name
            };

            wnd.Init(option);

            // create delta hedge strategy
            var hedge = new DeltaHedgeStrategy
            {
                Security  = option.GetUnderlyingAsset(Connector),
                Portfolio = Portfolio.SelectedPortfolio,
                Connector = Connector,
            };

            // create option quoting for 20 contracts
            var quoting = new VolatilityQuotingStrategy(Sides.Buy, 20,
                                                        new Range <decimal>(ImpliedVolatilityMin.Value ?? 0, ImpliedVolatilityMax.Value ?? 100))
            {
                // working size is 1 contract
                Volume    = 1,
                Security  = option,
                Portfolio = Portfolio.SelectedPortfolio,
                Connector = Connector,
            };

            // link quoting and hending
            hedge.ChildStrategies.Add(quoting);

            // start henging
            hedge.Start();

            wnd.Closed += (s1, e1) =>
            {
                // force close all strategies while the DOM was closed
                hedge.Stop();
            };

            // show DOM
            wnd.Show();
        }
Example #2
0
        private void StartClick(object sender, RoutedEventArgs e)
        {
            var option = SelectedOption;

            // создаем окно для отображения стакана
            var wnd = new QuotesWindow {
                Title = option.Name
            };

            wnd.Init(option);

            // создаем дельта-хеджирование, передав в него опционные стратегии для отслеживания их позиции
            var hedge = new DeltaHedgeStrategy
            {
                Security  = option.GetUnderlyingAsset(Connector),
                Portfolio = Portfolio.SelectedPortfolio,
                Connector = Connector,
            };

            // создаем котирование на покупку 20-ти контрактов
            var quoting = new VolatilityQuotingStrategy(Sides.Buy, 20,
                                                        new Range <decimal>(ImpliedVolatilityMin.Value ?? 0, ImpliedVolatilityMax.Value ?? 100))
            {
                // указываем, что котирование работает с объемом в 1 контракт
                Volume    = 1,
                Security  = option,
                Portfolio = Portfolio.SelectedPortfolio,
                Connector = Connector,
            };

            // добавляем стратегию, которую необходимо хеджировать
            hedge.ChildStrategies.Add(quoting);

            // запускаем дельта-хеджирование
            hedge.Start();

            wnd.Closed += (s1, e1) =>
            {
                // принудительная остановка стратегии при закрытие окна со стаканом
                hedge.Stop();
            };

            // показываем окно
            wnd.Show();
        }
Example #3
0
		private void StartClick(object sender, RoutedEventArgs e)
		{
			var option = SelectedOption;

			// создаем окно для отображения стакана
			var wnd = new QuotesWindow { Title = option.Name };
			wnd.Init(option);

			// создаем дельта-хеджирование, передав в него опционные стратегии для отслеживания их позиции
			var hedge = new DeltaHedgeStrategy
			{
				Security = option.GetUnderlyingAsset(Connector),
				Portfolio = Portfolio.SelectedPortfolio,
				Connector = Connector,
			};

			// создаем котирование на покупку 20-ти контрактов
			var quoting = new VolatilityQuotingStrategy(Sides.Buy, 20,
					new Range<decimal>(ImpliedVolatilityMin.Value ?? 0, ImpliedVolatilityMax.Value ?? 100))
			{
				// указываем, что котирование работает с объемом в 1 контракт
				Volume = 1,
				Security = option,
				Portfolio = Portfolio.SelectedPortfolio,
				Connector = Connector,
			};

			// добавляем стратегию, которую необходимо хеджировать
			hedge.ChildStrategies.Add(quoting);

			// запускаем дельта-хеджирование
			hedge.Start();

			wnd.Closed += (s1, e1) =>
			{
				// принудительная остановка стратегии при закрытие окна со стаканом
				hedge.Stop();
			};

			// показываем окно
			wnd.Show();
		}