def generate_bars(pair,START = "2001-01-01"): """this function is used to get bars(adjclose) from pair""" bars = pd.DataFrame([]) bars[pair[0]] = get_price(pair[0], START) bars[pair[1]] = get_price(pair[1], START) return bars
def generate_bars(pair, START="2001-01-01"): """this function is used to get bars(adjclose) from pair""" bars = pd.DataFrame([]) bars[pair[0]] = get_price(pair[0], START) bars[pair[1]] = get_price(pair[1], START) return bars
def plot(self): ticker = str(self.lineEdit.text()) data = gy.get_price(ticker, START) # create an axis ax = self.figure.add_subplot(111) # discards the old graph ax.hold(False) # plot data ax.plot(data.index, data) # refresh canvas self.canvas.draw()
def plot_2(self): ticker = self.lineEdit_2.text() data = get_price(ticker, START) # create an axis ax = self.figure_2.add_subplot(111) # discards the old graph ax.hold(False) # plot data ax.plot(data.index,data) # refresh canvas self.canvas_2.draw()
def backtest_portfolio(self): portfolio = pd.DataFrame(index=self.signals.index) pos_diff = self.positions.diff().fillna(0.0) #CaculationMatrix['pair'] portfolio['holdings'] = (self.positions*self.bars).sum(axis=1) portfolio['cash'] = self.initial_capital - ((pos_diff*self.bars).sum(axis=1)).cumsum() portfolio['total'] = portfolio['cash'] + portfolio['holdings'] portfolio['returns'] = portfolio['total'].pct_change() portfolio['SPY'] = get_price('SPY',self.signals.index[0]) portfolio['SPY'] = self.initial_capital/portfolio['SPY'][0]*portfolio['SPY'] return portfolio
def backtest_portfolio(self): portfolio = pd.DataFrame(index=self.bars.index) pos_diff = self.positions.diff() #CaculationMatrix['pair'] portfolio['holdings'] = (self.positions * self.bars).sum(axis=1) portfolio['cash'] = self.initial_capital - (pos_diff * self.bars).sum( axis=1).cumsum() portfolio['total'] = portfolio['cash'] + portfolio['holdings'] portfolio['returns'] = portfolio['total'].pct_change().fillna(0.0) portfolio['SPY'] = get_price('SPY', self.bars.index[0]) portfolio['SPY'] = self.initial_capital / portfolio['SPY'][ 0] * portfolio['SPY'] return portfolio