def plot_contrast(self, moneyrecord1, moneyrecord2, date_ls, startdate, enddate): startdate = self.datetransfer(startdate) date_ls_change = [] for i in date_ls: if int(i) >= int(startdate) and int(i) <= int(enddate): date_ls_change.append(i) mondays = WeekdayLocator(MONDAY) months = MonthLocator(range(1, 13), bymonthday=1, interval=3) monthsFmt = DateFormatter("%b '%y") print(date_ls_change) #print(date_ls) date = [str(e) for e in date_ls_change] date_ls = [ datetime.datetime.strptime(d, '%Y%m%d').date() for d in date ] algo_pv = moneyrecord1['money'].tolist() print(algo_pv) bench_pv = moneyrecord2['moneybenchmark'].tolist() fig, ax = plt.subplots() plt.gca().set_color_cycle(['blue', 'red']) ax.plot_date(date_ls, algo_pv, '-') ax.plot_date(date_ls, bench_pv, '-') months.MAXTICKS = 5000 mondays.MAXTICKS = 5000 ax.xaxis.set_major_locator(months) ax.xaxis.set_major_formatter(monthsFmt) ax.xaxis.set_minor_locator(mondays) ax.autoscale_view() ax.grid(True) fig.autofmt_xdate() plt.title('P&L') plt.legend(['strategy', 'benchmark'], loc='upper left') plt.show()
def plot_contrast(self,moneyrecord1,moneyrecord2,date_ls,startdate,enddate): startdate=self.datetransfer(startdate) date_ls_change=[] for i in date_ls: if int(i)>=int(startdate) and int(i)<=int(enddate): date_ls_change.append(i) mondays = WeekdayLocator(MONDAY) months = MonthLocator(range(1, 13), bymonthday=1, interval=3) monthsFmt = DateFormatter("%b '%y") print(date_ls_change) #print(date_ls) date = [str(e) for e in date_ls_change] date_ls = [datetime.datetime.strptime(d,'%Y%m%d').date() for d in date] algo_pv=moneyrecord1['money'].tolist() print(algo_pv) bench_pv=moneyrecord2['moneybenchmark'].tolist() fig, ax = plt.subplots() plt.gca().set_color_cycle(['blue', 'red']) ax.plot_date(date_ls, algo_pv,'-') ax.plot_date(date_ls, bench_pv,'-') months.MAXTICKS=5000 mondays.MAXTICKS=5000 ax.xaxis.set_major_locator(months) ax.xaxis.set_major_formatter(monthsFmt) ax.xaxis.set_minor_locator(mondays) ax.autoscale_view() ax.grid(True) fig.autofmt_xdate() plt.title('P&L') plt.legend(['strategy', 'benchmark'], loc='upper left') plt.show()
def formatAxticks(ax): days = DayLocator() # every month months = MonthLocator() # every month months.MAXTICKS = 3000 yearsFmt = DateFormatter('%d/%m/%Y') ax.xaxis.set_major_locator(months) ax.xaxis.set_minor_locator(days) ax.xaxis.set_major_formatter(yearsFmt) ax.autoscale_view() ticks = ax.get_xticks() n = len(ticks)/4 ax.set_xticks(ticks[::n]) return ax
def plot_alpha(self, alpha, date_ls, startdate, enddate): startdate = self.datetransfer(startdate) date_ls_change = [] for i in date_ls: if int(i) >= int(startdate) and int(i) <= int(enddate): date_ls_change.append(i) mondays = WeekdayLocator(MONDAY) months = MonthLocator(range(1, 13), bymonthday=1, interval=3) monthsFmt = DateFormatter("%b '%y") #print(date_ls) date = [str(e) for e in date_ls_change] date_ls = [ datetime.datetime.strptime(d, '%Y%m%d').date() for d in date ] algo_pv = alpha['alpha'].tolist() #print(algo_pv) fig, ax = plt.subplots() plt.gca().set_color_cycle(['blue', 'red']) ax.plot_date(date_ls, algo_pv, '-') months.MAXTICKS = 5000 mondays.MAXTICKS = 5000 ax.xaxis.set_major_locator(months) ax.xaxis.set_major_formatter(monthsFmt) ax.xaxis.set_minor_locator(mondays) ax.autoscale_view() ax.grid(True) fig.autofmt_xdate() plt.title('Alpha') plt.legend(['alpha'], loc='upper left') plt.show() #KJ_profit_df=pd.DataFrame(columns=[i/10 for i in range(1,121)]) #for K in list_K: #for J in list_J: #KJ=B(cash,account,startdate,enddate,K,J) #KJ_total_portfolio=KJ.test(startdate,enddate,K,J,cash) #KJ_profit_df.loc[10*J-1,K]=KJ_total_portfolio #KJ_profit_df.to_csv('KJ_finalprofit.csv')
def plot_alpha(self,alpha,date_ls,startdate,enddate): startdate=self.datetransfer(startdate) date_ls_change=[] for i in date_ls: if int(i)>=int(startdate) and int(i)<=int(enddate): date_ls_change.append(i) mondays = WeekdayLocator(MONDAY) months = MonthLocator(range(1, 13), bymonthday=1, interval=3) monthsFmt = DateFormatter("%b '%y") #print(date_ls) date = [str(e) for e in date_ls_change] date_ls = [datetime.datetime.strptime(d,'%Y%m%d').date() for d in date] algo_pv=alpha['alpha'].tolist() #print(algo_pv) fig, ax = plt.subplots() plt.gca().set_color_cycle(['blue', 'red']) ax.plot_date(date_ls, algo_pv,'-') months.MAXTICKS=5000 mondays.MAXTICKS=5000 ax.xaxis.set_major_locator(months) ax.xaxis.set_major_formatter(monthsFmt) ax.xaxis.set_minor_locator(mondays) ax.autoscale_view() ax.grid(True) fig.autofmt_xdate() plt.title('Alpha') plt.legend(['alpha'], loc='upper left') plt.show() #KJ_profit_df=pd.DataFrame(columns=[i/10 for i in range(1,121)]) #for K in list_K: #for J in list_J: #KJ=B(cash,account,startdate,enddate,K,J) #KJ_total_portfolio=KJ.test(startdate,enddate,K,J,cash) #KJ_profit_df.loc[10*J-1,K]=KJ_total_portfolio #KJ_profit_df.to_csv('KJ_finalprofit.csv')