Overall Statistics
Total Trades
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
16.444%
Drawdown
9.000%
Expectancy
0
Net Profit
32.794%
Sharpe Ratio
1.364
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0.009
Beta
0.973
Annual Standard Deviation
0.095
Annual Variance
0.009
Information Ratio
0.475
Tracking Error
0.011
Treynor Ratio
0.133
Total Fees
$1.00
namespace QuantConnect 
{   
    /*
    *   Basic Template Algorithm
    *
    *   The underlying QCAlgorithm class has many methods which enable you to use QuantConnect.
    *   We have explained some of these here, but the full base class can be found at:
    *   https://github.com/QuantConnect/Lean/tree/master/Algorithm
    */
    public class BasicTemplateAlgorithm : QCAlgorithm
    {
        public override void Initialize() 
        {
        	// backtest parameters
            SetStartDate(2016, 1, 1);         
            SetEndDate(DateTime.Now);
            
            // cash allocation
            SetCash(25000);
            
            // request specific equities
            // including forex. Options and futures in beta.
            AddEquity("SPY", Resolution.Daily,null, false, 0, true);
            //AddForex("EURUSD", Resolution.Minute);
            
            var weekly = new TradeBarConsolidator(TimeSpan.FromDays(7));
            
            weekly.DataConsolidated += weeklyBars;
            
            SubscriptionManager.AddConsolidator("SPY", weekly);
            
            
        }
        
        public void weeklyBars(object sender, TradeBar bar){
        	Debug(bar.EndTime + " Open:" + bar.Open + " Close:" + bar.Close);
        }

        /* 
        *	New data arrives here.
        *	The "Slice" data represents a slice of time, it has all the data you need for a moment.	
        */ 
        public override void OnData(Slice data) 
        {
        	// slice has lots of useful information
        	TradeBars bars = data.Bars;
        	Splits splits = data.Splits;
        	Dividends dividends = data.Dividends;
        	
        	//Get just this bar.
        	TradeBar bar;
        	
        	if (bars.ContainsKey("SPY")) bar = bars["SPY"];
        	
        	
            if (!Portfolio.HoldStock) 
            {
                // place an order, positive is long, negative is short.
                // Order("SPY",  quantity);
                
                // or request a fixed fraction of a specific asset. 
                // +1 = 100% long. -2 = short all capital with 2x leverage.
                SetHoldings("SPY", 1);
                
                // debug message to your console. Time is the algorithm time.
                // send longer messages to a file - these are capped to 10kb
                Debug("Purchased SPY on " + Time.ToShortDateString());
                //Log("This is a longer message send to log.");
            }
        }
    }
}