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.Generic;
using System.Diagnostics;

namespace QuantConnect
{


    public class BasicTemplateAlgorithm : QCAlgorithm
    {
    	
    	private List<CoarseFundamental> lst = new List<CoarseFundamental>();

        public override void Initialize()
        {
            SetCash(100000);
            SetStartDate(2017, 9, 6);
            SetEndDate(2017, 9, 7);

            AddUniverse(coarse => {
            	
                List<string> testSymbolSet = new List<string>();
                testSymbolSet.Add("A");
                testSymbolSet.Add("AA");
                //testSymbolSet.Add("AAAP");
                //testSymbolSet.Add("AAC");
                //testSymbolSet.Add("AADR");
                //testSymbolSet.Add("AAL");
                //testSymbolSet.Add("AAMC");
                //testSymbolSet.Add("AAME");
                //testSymbolSet.Add("AAOI");
                //testSymbolSet.Add("AAON");
                
                lst = coarse.Where(c => testSymbolSet.Contains(c.Symbol.Value)).ToList();
                Debug(" ----  Prices when adding universe, " + Time + " ----");
                foreach (CoarseFundamental x in lst) {
                    Debug(x.Symbol.ToString() 
                        + ", price: " + x.Price.ToString() 
                        + ", volume: " + x.Volume.ToString()
                        + " at " + Time.ToString()
                        );
                }
                
                var selected_coarse = lst.Select(c => c.Symbol).ToList();
                return selected_coarse;
            });
            

            var spy = AddEquity("SPY", Resolution.Minute).Symbol;

            Schedule.On(DateRules.EveryDay("SPY"),
                        TimeRules.AfterMarketOpen("SPY", 0), 
                        showCurrentPrices);
                        
            Schedule.On(DateRules.EveryDay("SPY"),
                        TimeRules.AfterMarketOpen("SPY", 1), 
                        showCurrentPrices);                        

            Schedule.On(DateRules.EveryDay("SPY"),
                        TimeRules.AfterMarketOpen("SPY", 5), 
                        showCurrentPrices);

            Schedule.On(DateRules.EveryDay("SPY"),
                        TimeRules.AfterMarketOpen("SPY", 5), 
                        showHistory5min);

        }


        private void showCurrentPrices()
        {
            
            Debug(" ----  Prices at " + Time + " ----");
            
            foreach (var x in Portfolio.Values) {
                Debug("Portfolio: " 
                    + x.Symbol.ToString() 
                    + ", price: " + x.Price.ToString()
                    + " at " + Time.ToString());
            }
            
            foreach (var x in Portfolio.Values) {
                Debug("Securities: " 
                    + x.Symbol.ToString() 
                    + ", price: " + (Securities[x.Symbol]).Price.ToString()
                    + ", volume: " + (Securities[x.Symbol]).Volume.ToString()
                    + " at " + Time.ToString());
            }            

            
            foreach (CoarseFundamental x in lst) {
                  Debug("CoarseFundamental: "
                  	+ x.Symbol.ToString() 
                      + ", price: " + x.Price.ToString() 
                      + ", volume: " + x.Volume.ToString()
                      + " at " + Time.ToString()
                      );            
            }
            
        }
        
        private void showHistory5min() {

            Debug(" ----  History data at " + Time + " ----");

            foreach (var x in Portfolio.Values) {
                var hist = History(x.Symbol, 6); // additional minute represente the currnt one, this takes close price of last minute of previous day
                //foreach(var tradeBar in hist) {
                //	Debug( tradeBar.EndTime.ToString() + ", close price: " + tradeBar.Close.ToString() );
                //}
                Debug("History, 5' ago,  " + x.Symbol.ToString() + ": " + hist.First().EndTime.ToString() + ", price: " + hist.First().Price.ToString() );
                Debug("History, 5' ago,  " + x.Symbol.ToString() + ": " + hist.First().EndTime.ToString() + ", close price: " + hist.First().Close.ToString() );
                Debug("History, 5' ago,  " + x.Symbol.ToString() + ": " + hist.First().EndTime.ToString() + ", volume: " + hist.First().Volume.ToString() );
                Debug("History,   last,  " + x.Symbol.ToString() + ": " + hist.Last().EndTime.ToString() + ", price: " + hist.Last().Price.ToString() );
                Debug("History,   last,  " + x.Symbol.ToString() + ": " + hist.Last().EndTime.ToString() + ", close price: " + hist.Last().Close.ToString() );
                Debug("History,   last,  " + x.Symbol.ToString() + ": " + hist.Last().EndTime.ToString() + ", volume: " + hist.Last().Volume.ToString() );
            }
            
            
        }




        
    }
}