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 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 |
using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using QuantConnect.Data; using QuantConnect.Data.Market; using QuantConnect.Indicators; using QuantConnect.Orders; using QuantConnect.Securities; using QuantConnect.Securities.Option; namespace QuantConnect.Algorithm.CSharp.Options { public class SellingCoveredCallsAlgorithm : QCAlgorithm { const string underlyingTicker = "PFE"; public readonly decimal cash = 20000; public readonly int minExpirationDays = 0; public readonly int maxExpirationDays = 30; public readonly int minStrike = -5; public readonly int maxStrike = 5; public readonly Symbol underlying = QuantConnect.Symbol.Create(underlyingTicker, SecurityType.Equity, Market.USA); public readonly Symbol optionSymbol = QuantConnect.Symbol.Create(underlyingTicker, SecurityType.Option, Market.USA); DateTime startDate = new DateTime(2016, 1, 1); DateTime endDate = new DateTime(2016, 1, 5); public override void Initialize() { this.SetStartDate(startDate); this.SetEndDate(endDate); this.SetCash(cash); this.AddEquity(underlyingTicker); this.SetBenchmark(this.underlying); var option = this.AddOption(underlyingTicker); option.SetFilter(universe => from symbol in universe.Strikes(minStrike, maxStrike).IncludeWeeklys().Expiration(TimeSpan.FromDays(this.minExpirationDays), TimeSpan.FromDays(this.maxExpirationDays)) select symbol); } public override void OnData(Slice slice) { decimal stockPrice = this.Securities[this.underlying].Price; this.Log("stockPrice=" + stockPrice); } } }