Overall Statistics |
Total Orders 1 Average Win 0% Average Loss 0% Compounding Annual Return -1.096% Drawdown 36.300% Expectancy 0 Net Profit -10.384% Sharpe Ratio -0.217 Sortino Ratio -0.147 Probabilistic Sharpe Ratio 0.004% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.036 Beta 0.189 Annual Standard Deviation 0.099 Annual Variance 0.01 Information Ratio -0.659 Tracking Error 0.152 Treynor Ratio -0.114 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset WIKI/IBM.NasdaqCustomColumns 2S Portfolio Turnover 0.03% |
#region imports using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Globalization; using System.Drawing; using QuantConnect; using System.Text.RegularExpressions; using QuantConnect.Algorithm.Framework; using QuantConnect.Algorithm.Framework.Selection; using QuantConnect.Algorithm.Framework.Alphas; using QuantConnect.Algorithm.Framework.Portfolio; using QuantConnect.Algorithm.Framework.Execution; using QuantConnect.Algorithm.Framework.Risk; using QuantConnect.Algorithm.Selection; using QuantConnect.Parameters; using QuantConnect.Benchmarks; using QuantConnect.Brokerages; using QuantConnect.Util; using QuantConnect.Interfaces; using QuantConnect.Algorithm; using QuantConnect.Indicators; using QuantConnect.Data; using QuantConnect.Data.Consolidators; using QuantConnect.Data.Custom; using QuantConnect.DataSource; using QuantConnect.Data.Fundamental; using QuantConnect.Data.Market; using QuantConnect.Data.UniverseSelection; using QuantConnect.Notifications; using QuantConnect.Orders; using QuantConnect.Orders.Fees; using QuantConnect.Orders.Fills; using QuantConnect.Orders.Slippage; using QuantConnect.Scheduling; using QuantConnect.Securities; using QuantConnect.Securities.Equity; using QuantConnect.Securities.Future; using QuantConnect.Securities.Option; using QuantConnect.Securities.Forex; using QuantConnect.Securities.Crypto; using QuantConnect.Securities.Interfaces; using QuantConnect.Storage; using QCAlgorithmFramework = QuantConnect.Algorithm.QCAlgorithm; using QCAlgorithmFrameworkBridge = QuantConnect.Algorithm.QCAlgorithm; #endregion namespace QuantConnect.Algorithm.CSharp { public class NasdaqImporterAlgorithm : QCAlgorithm { private string nasdaqCode = "WIKI/IBM"; private SimpleMovingAverage sma; public override void Initialize() { // Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. // All algorithms must be initialized. // Optional argument - personal token necessary for restricted dataset // NasdaqDataLink.SetAuthCode(this.GetParameter("nasdaq-data-link-api-key")); SetStartDate(2014, 4, 1); //Set Start Date SetEndDate(DateTime.Today.AddDays(-1)); //Set End Date SetCash(25000); //Set Strategy Cash AddData<NasdaqCustomColumns>(nasdaqCode, Resolution.Daily, TimeZones.NewYork); sma = SMA(nasdaqCode, 14); } public override void OnData(Slice data) { // OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. if (!Portfolio.HoldStock) { SetHoldings(nasdaqCode, 1); Debug("Purchased " + nasdaqCode + " >> " + Time); } Plot(nasdaqCode, "PriceSMA", sma.Current.Value); } } } // NasdaqDataLink often doesn't use close columns so need to tell LEAN which is the "value" column. public class NasdaqCustomColumns : NasdaqDataLink { // Custom nasdaq data type for setting customized value column name. // Value column is used for the primary trading calculations and charting. public NasdaqCustomColumns() : base("adj. close") { ValueColumnName = "adj. close"; } }