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
```import numpy as np
import pandas as pd

class MyAlgo(QCAlgorithm):

def __init__(self):

# Period of sma
self.sma_period = 60   # Base period for SMA
self.comp_period = 1   # Number of the previous periods to compare
# Here, we compare current sma vs 1-period previous sma

def Initialize(self):

self.SetCash(1000000)
# Start and end dates for the backtest.
self.SetStartDate(2017,1,1)
self.SetEndDate(2017,3,31)

self.security_list = ["XLK", "XLF", "IVV", "XLE", "XLV"]

for i in range(len(self.security_list)):

# Schedule the rebalance function
self.Schedule.On(self.DateRules.EveryDay("SPY"),
self.TimeRules.AfterMarketOpen("SPY", 30),
Action(self.rebalance))

def OnData(self, data):
pass

def rebalance(self):

# ---------------------------------------------------------------
# Stocks History               ----------------------------------
# ---------------------------------------------------------------

# Get history of stocks ('close') for the past N-days
history = self.History(self.security_list, self.sma_period+self.comp_period, Resolution.Daily)
price_history = history['close'].unstack(level=0)
# Get the current close of each stock
current = self.History(self.security_list, 1, Resolution.Minute)
curr_history = current['close'].unstack(level=0)
# Combine all in one
price_history = price_history.append(curr_history.iloc[0])

# Re-Create working dataframe to play with  --------------------
# DF
df1 = pd.DataFrame(price_history.values, columns = price_history.columns)
df1 = df1.dropna()
#self.Log('Working_DF : ' +'\n' + str(df1) + '\n')

##############################################################
# SMA   ------------------------------------------
##############################################################

# Get current sma
curr_sma = df1[-self.sma_period:].mean(0)
# Get the previous sma
prev_sma = df1[-(self.sma_period+self.comp_period):-self.comp_period].mean(0)

self.Log('\n'+'Curr_sma:'+'\n'+str(curr_sma)+'\n'+'Prev_sma:'+'\n'+str(prev_sma)+'\n')```