Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-15.441
Tracking Error
0.062
Treynor Ratio
0
Total Fees
$0.00
namespace QuantConnect.Algorithm.CSharp
{
       public class ExploreOptionsArrays : QCAlgorithm
    {
           
        private Symbol optionSymbol;
        
        public override void Initialize()
        {
            SetStartDate(2020, 5, 27);  //Set Start Date
            SetCash(100000);             //Set Strategy Cash
        	
        	var ibm = AddEquity("IBM", Resolution.Minute);
            
        	var ibmOptions = AddOption("IBM", Resolution.Minute);
        	ibmOptions.SetFilter(-3, 0, TimeSpan.FromDays(10), TimeSpan.FromDays(300));
        	optionSymbol = ibmOptions.Symbol;
           
        }

        /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
        /// Slice object keyed by symbol containing the stock data
        public override void OnData(Slice data)
        {
        	OptionChain chain;
        	
            if (data.OptionChains.TryGetValue(optionSymbol, out chain))
           {
           	
           	var atmContract = chain
        		.OrderByDescending(i => i.Expiry)
        		.ThenBy(i => Math.Abs(chain.Underlying.Price - i.Strike))
        		.ThenBy(i => i.Right)
        		.FirstOrDefault();
        	
        	Console.WriteLine(atmContract.UnderlyingSymbol + " " + atmContract.UnderlyingLastPrice);
        	Console.WriteLine(atmContract.Symbol + " " +atmContract.Expiry + " " + atmContract.Strike + " " + atmContract.Right.ToString() + "/r");
        	
        	return;
        		
        	/*int n = 1;
        	foreach (OptionContract k in chain)
        	{
        		Console.WriteLine(k.Symbol + " " + k.Expiry + " " + k.Strike + " " + k.Right.ToString() + "/n");
        	}	
        	*/
        	//Console.WriteLine(atmContract.ToString());
           }
           //Console.WriteLine(data.Time.ToString("dd/mm/yyyy"));
           var x = 1;
           /* if (!Portfolio.Invested)
            {
                SetHoldings("IBM", 1);
                Console.WriteLine("Purchased Stock");
            }
           */
        }

    }
}