def draw_fig(self,datafile,start,save=0): data = self.close_price ma5 = [] for i in range(3): ma5.append(0) # for i in range(3,len(data)): mean_5 = np.mean(data[i-2:i+1]) ma5.append(mean_5) # # data = ma5 data = self.close_price my_emd = one_dimension_emd(data) (imf, residual) = my_emd.emd(0.01,0.01) imf = imf[2] imf_buy_value = [imf[i] for i in self.buy_x_index] imf_sell_value = [imf[i] for i in self.sell_x_index] buy_x = [i-start for i in self.buy_x_index] sell_x = [i-start for i in self.sell_x_index] data1 = data data = self.close_price plt.figure(1) plt.subplot(311).axis([start,len(data),min(data[start:]),max(data[start:])]) plt.plot([i for i in range(len(data))],data,'o',[i for i in range(len(data))],data,'b',self.buy_x_index,self.buy_y_index,'r*',self.sell_x_index,self.sell_y_index,'g*') plt.subplot(312).axis([start,len(data),min(data1[start:]),max(data1[start:])]) plt.plot([i for i in range(len(data1))],data1,'o',[i for i in range(len(data1))],data1,'b') plt.subplot(313).axis([start,len(imf),min(imf[start:]),max(imf[start:])]) plt.plot([i for i in range(len(imf))],imf,'o',[i for i in range(len(imf))],imf,'b',self.buy_x_index,imf_buy_value,'r*',self.sell_x_index,imf_sell_value,'g*') ##### ##### asset_list=[] x_spline_asset=[] for i in range(1,len(self.total_asset_list)): if abs(self.total_asset_list[i]-self.total_asset_list[i-1])>10: x_spline_asset.append(i) asset_list.append(self.total_asset_list[i]) spline_asset = linerestruct(x_spline_asset,asset_list) plt.figure(2) plt.plot([i for i in range(len(self.total_asset_list))],self.total_asset_list,'b',x_spline_asset,spline_asset,'r') plt.show()
def profit_smooth(data): x=[] y=[] for i in range(1,len(data)): if abs(data[i]-data[i-1])>10: x.append(i) y.append(data[i]) yy = linerestruct(x,y) cha= [] for i in range(len(y)): cha.append((y[i]-yy[i])*(y[i]-yy[i])) print "rss %s"%sum(cha) print "increase %s"%((yy[-1]-yy[0])/(x[-1]-x[0]))
def draw_fig(self, datafile, start, save=0): data = self.close_price ma5 = [] for i in range(3): ma5.append(0) # for i in range(3, len(data)): mean_5 = np.mean(data[i - 2:i + 1]) ma5.append(mean_5) # # data = ma5 #ma5 = [] #for i in range(3): # ma5.append(0) # #for i in range(3,len(data)): # mean_5 = np.mean(data[i-2:i+1]) # ma5.append(mean_5) # data = ma5 data = self.close_price my_emd = one_dimension_emd(data) (imf, residual) = my_emd.emd(0.01, 0.01) imf = imf[2] imf_buy_value = [imf[i] for i in self.buy_x_index] imf_sell_value = [imf[i] for i in self.sell_x_index] buy_x = [i - start for i in self.buy_x_index] sell_x = [i - start for i in self.sell_x_index] data1 = data data = self.close_price plt.figure(1) plt.subplot(311).axis( [start, len(data), min(data[start:]), max(data[start:])]) plt.plot([i for i in range(len(data))], data, 'o', [i for i in range(len(data))], data, 'b', self.buy_x_index, self.buy_y_index, 'r*', self.sell_x_index, self.sell_y_index, 'g*') plt.subplot(312).axis( [start, len(data), min(data1[start:]), max(data1[start:])]) plt.plot([i for i in range(len(data1))], data1, 'o', [i for i in range(len(data1))], data1, 'b') plt.subplot(313).axis( [start, len(imf), min(imf[start:]), max(imf[start:])]) plt.plot([i for i in range(len(imf))], imf, 'o', [i for i in range(len(imf))], imf, 'b', self.buy_x_index, imf_buy_value, 'r*', self.sell_x_index, imf_sell_value, 'g*') ##### ##### asset_list = [] x_spline_asset = [] for i in range(1, len(self.total_asset_list)): if abs(self.total_asset_list[i] - self.total_asset_list[i - 1]) > 10: x_spline_asset.append(i) asset_list.append(self.total_asset_list[i]) spline_asset = linerestruct(x_spline_asset, asset_list) plt.figure(2) plt.plot([i for i in range(len(self.total_asset_list))], self.total_asset_list, 'b', x_spline_asset, spline_asset, 'r') plt.show()