Overall Statistics
Total Trades
248
Average Win
0.58%
Average Loss
-0.03%
Annual Return
22.082%
Drawdown
33.100%
Expectancy
7.572
Net Profit
66.287%
Sharpe Ratio
0.684
Loss Rate
52%
Win Rate
48%
Profit-Loss Ratio
16.86
Alpha
0.018
Beta
1.716
Annual Standard Deviation
0.326
Annual Variance
0.107
Information Ratio
0.662
Tracking Error
0.157
Treynor Ratio
0.13
using System;
using System.Collections;
using System.Collections.Generic; 
using QuantConnect.Securities;  
using QuantConnect.Models;   

namespace QuantConnect { 
    /*************************************************************************** 
        HELPER FUNCTIONS
        Debug - Logging: Display log messages
        Quit - End Node Analysis: Call Quit() to end the server analysis
        Liquidate - Close all: sells all holdings in your portfolio at market 
        rates. If a string symbol is provided it will liquidate your holdings in 
        that security only. 
        
        THIS IS AN EXAMPLE ALGORITHM FROM THE QUANTCONNECT'S API DOCUMENTATION
    ***************************************************************************/
    public class SecurityManagerExample : QCAlgorithm
    {
        public override void Initialize()
        {
            AddSecurity(SecurityType.Equity, "SPY", Resolution.Minute);
            SetCash(50000);
            SetStartDate(2010,1, 1);
            SetEndDate(2013, 1, 1);
        }
        
        public void OnData(TradeBars securityData)
        {
            if (!Portfolio.HoldStock && Portfolio.Cash == 50000) 
            {
                SetHoldings("SPY", 0.99);
            }
            //Sell all if SPY's price is too low
            if (Portfolio.HoldStock && securityData["SPY"].High > 135)
            {
                Liquidate();
                //Liquidate("SPY");
            }
            if (!Portfolio.HoldStock && securityData["SPY"].Low < 135)
            {
            	SetHoldings("SPY", 1);
            }
            //Debug example
            if (securityData["SPY"].High < securityData["SPY"].Low){
                Debug("Data is wrong!" + Time.ToShortTimeString());
            }
            //Quit Example:
            /*if (rsi < 10) 
            {
	            Quit("Insufficient RSI Strength for Trading");
            }*/
        }
    }
}