'StartTrading', 'EndTrading', 'Date', 'DateTime', 'Close', 'IsPeriod', 'Action', \ 'PosSize', 'PosDir', 'PosPrc', 'DynamicPNL', 'RealizedPNL']) yearSummary.TradeID = tradeID yearSummary.Year = year yearSummary.Symbol = symbol yearSummary.Strat = strat #yearSummary.Buy = MRCI.ix[i, 'Buy'] + " " + MRCI.ix[i, 'b_Month'] + str(y_buy) #yearSummary.Sell = MRCI.ix[i, 'Sell'] + " " + MRCI.ix[i, 's_Month'] + str(y_sell) yearSummary.StartTrading = datetime_toString(start_trading_date) yearSummary.EndTrading = datetime_toString(end_trading_date) yearSummary.Date = df.Date yearSummary.DateTime = dt #yearSummary.DateCode = t yearSummary.Close = df.Close yearSummary.IsPeriod = seasonal_trading_period yearSummary.Action = rsi_action yearSummary.PosSize = abs(posSize) yearSummary.PosDir = posSize yearSummary.PosPrc = posPrc yearSummary.DynamicPNL = dynamicPNL yearSummary.RealizedPNL = realizedPNL yearSummaryList.append(yearSummary) """ Error Check for a single trade""" if len(yearSummary) == []: print ("Check the year cases logic error for this trade") raise SystemExit """ Generate a time-series trade summary for the trade """ if yearSummaryList != []: tradeSummary = mergeResultList(yearSummaryList) tradeSummary = addDollarPNLColumn(buy_symbol, tradeSummary, 'DynamicPNL', 'DynamicDollarPNL') tradeSummary = addDollarPNLColumn(buy_symbol, tradeSummary, 'RealizedPNL', 'RealizedDollarPNL')