/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using QuantConnect.Interfaces; using QuantConnect.Orders; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace QuantConnect.Securities.Option { /// /// Option strategy specification class. Describes option strategy and its parameters for trading. /// public class OptionStrategy { /// /// Option strategy name /// public string Name { get; set; } /// /// Underlying symbol of the strategy /// public Symbol Underlying { get; set; } /// /// Option strategy legs /// public List OptionLegs { get; set; } /// /// Option strategy underlying legs (usually 0 or 1 legs) /// public List UnderlyingLegs { get; set; } /// /// This class is a POCO containing basic data for the option legs of the strategy /// public class OptionLegData { /// /// Option right (type) of the option leg /// public OptionRight Right { get; set; } /// /// Quantity multiplier used to specify proper scale (and direction) of the leg within the strategy /// public int Quantity { get; set; } /// /// Expiration date of the leg /// public DateTime Expiration { get; set; } /// /// Strike price of the leg /// public decimal Strike { get; set; } /// /// Type of order that is to be sent to the market on strategy execution /// public OrderType OrderType { get; set; } /// /// Order limit price of the leg in case limit order is sent to the market on strategy execution /// public decimal OrderPrice { get; set; } } /// /// This class is a POCO containing basic data for the underlying leg of the strategy /// public class UnderlyingLegData { /// /// Quantity multiplier used to specify proper scale (and direction) of the leg within the strategy /// public int Quantity { get; set; } /// /// Type of order that is to be sent to the market on strategy execution /// public OrderType OrderType { get; set; } /// /// Order limit price of the leg in case limit order is sent to the market on strategy execution /// public decimal OrderPrice { get; set; } } } }