示例#1
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

        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() 
示例#2
0
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]))
示例#3
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()