Beispiel #1
0
 def shou_bc_all(self):
     c_li = []
     kk = gu_save('')
     code_list = kk.get_from_csv('shou.csv').code.values.tolist()
     #周
     code_list = []
     for code in code_list:
         co = (kk.getSixDigitalStockCode(code))
         f, bz = s.shou_bc(co, 'w')
         if f == 1:
             c_li.append([co, bz])
     df = DataFrame(c_li, columns=['code', 'name'])
     df.to_csv('shou_w.csv')
     #首日先
     code_list = kk.get_from_csv('shou_w.csv').code.values.tolist()
     #code_list=[]
     for code in code_list:
         co = (kk.getSixDigitalStockCode(code))
         f, bz = s.shou_bc(co, 'D')
         if f == 1:
             c_li.append([co, bz])
     df = DataFrame(c_li, columns=['code', 'name'])
     df.to_csv('shou_d.csv')
     c_li.clear()
     return 0
Beispiel #2
0
    def shou_all_dmi_d(self):
        kk = gu_save('')
        c_li = []
        c_li2 = []
        c_li3 = []

        gxrq = datetime.datetime.now().strftime('%Y-%m-%d')
        gxsj = datetime.datetime.now().strftime('%H%M')
        code_list = kk.get_from_csv('shou_m.csv').code.values.tolist()
        #计算增加部分
        code_list2 = kk.get_from_csv('shou_d1.txt').code.values.tolist()
        c_l = []
        for code in code_list2:
            co = (kk.getSixDigitalStockCode(code))
            c_l.append(co)

        for code in code_list:
            co = (kk.getSixDigitalStockCode(code))
            f = self.shou_dmi_d(co)
            if f == 1:
                c_li.append([co, '趋势增强' + gxrq + gxsj])
                if co not in c_l:
                    c_li3.append([co, '新增' + gxrq + gxsj])
            if f == 2:
                c_li2.append([co, '趋势减弱'])

        df = DataFrame(c_li, columns=['code', 'name'])
        df.to_csv('shou_d1.txt')
        df = DataFrame(c_li2, columns=['code', 'name'])
        df.to_csv('shou_d2.txt')
        df = DataFrame(c_li3, columns=['code', 'name'])
        df.to_csv('shou_d3.txt', mode='a', header=False)
        return 0
Beispiel #3
0
 def shou_din_bc(self, code1, ktype1):
     #
     kk = gu_save('')
     hh = gu_zb('')
     df = kk.get_k_from_csv(code1, ktype1)
     cci = hh.cci(df)
     pass
Beispiel #4
0
	def draw_cci3(self,code,ktype):
		kk=gu_save('')
		hh=gu_zb(0)
		name=kk.get_name(code)
		print(name+code)
		#取4个类型的df
		df=kk.get_k_from_api(code,ktype)
		#取4个类型的CCi
		if df.empty:
			return 0
		cci=hh.cci(df)[-self.total:]
		df=df[-self.total:]
		up,dw=hh.cci_ana_dd2(cci)
		cciii=[]
		for i in range(0,self.total):
			if i in dw:
				cciii.append(cci[i])
			else:
				cciii.append(0)

		#画出最后3条线
		fig, ax = plt.subplots(2, 1, figsize=(16,8))
		ax[0].set_title(name+code+'--'+ktype,fontproperties = 'SimHei',fontsize = 20)
		mpf.candlestick2_ochl(ax=ax[0],opens=df["open"].values.tolist(), closes=df["close"].values, highs=df["high"].values, lows=df["low"].values,width=0.7,colorup='r',colordown='g',alpha=0.7)
		
		ax[1].axhline(y=100, color='b', linestyle=':')
		ax[1].axhline(y=-100, color='b', linestyle=':')
		ax[1].plot(cci,'r')
		ax[1].plot(cciii,'b')

		plt.show()

		return 0
Beispiel #5
0
    def shou_all_cci_d(self):
        kk = gu_save('')
        c_li = []
        c_li2 = []
        c_li3 = []
        c_li4 = []
        code_list = kk.get_from_csv('shou_m.csv').code.values.tolist()
        for code in code_list:
            co = (kk.getSixDigitalStockCode(code))
            f = self.shou_bc_last_s(co)
            if f == 1:
                c_li3.append([co, '最后一个是顶背驰'])
                c_li4.append(co)
        #print(c_li3)
        for code in code_list:

            co = (kk.getSixDigitalStockCode(code))
            #if co in c_li4:
            #continue
            #print(co)
            f = self.shou_cci_D_qrs(co)
            if f == 1:
                c_li.append([co, '强势、cci 0+'])
            if f == 2:
                c_li2.append([co, '弱势、cci-100-'])
        df = DataFrame(c_li, columns=['code', 'name'])
        df.to_csv('shou_d1_cci.txt')
        df = DataFrame(c_li2, columns=['code', 'name'])
        df.to_csv('shou_d2_cci.txt')

        df = DataFrame(c_li3, columns=['code', 'name'])
        df.to_csv('shou_d3_cci.txt')
        c_li.clear()
        c_li2.clear()
        return 0
Beispiel #6
0
 def shou_bc_last_s(self, code1):
     kk = gu_save('')
     hh = gu_zb('')
     df = kk.get_k_from_csv(code1, 'D')
     li_last_s = self.buy_0(df)[-1]
     if li_last_s == 's':
         return 1
     return 0
Beispiel #7
0
 def shou_tt_all(self):
     c_li = []
     kk = gu_save('')
     code_list = kk.get_from_csv('shou.csv').code.values.tolist()
     for co in code_list:
         code = (kk.getSixDigitalStockCode(co))
         f, ttt_li = self.two_little(code, 'D')
         if f:
             print(ttt_li)
     return 0
Beispiel #8
0
    def shou_bc_last_s2(self, code1):
        kk = gu_save('')
        hh = gu_zb('')
        df = kk.get_k_from_csv(code1, 'D')
        a, b, c = self.d_bc(df)
        cn1 = a > 0  #最后一个顶背驰

        if cn1 and (c - b) in [8]:
            return 1
        return 0
Beispiel #9
0
 def shou_Macd_w_0z(self, code1):
     kk = gu_save('')
     hh = gu_zb('')
     #搜周Macd-dea为在0轴上
     df = kk.get_k_from_csv(code1, 'w')
     diff, dea3, macd3 = hh.macd(df)
     dea = dea3.tolist()
     cn2 = dea[-1] > 0  #dea 0轴之上
     if cn2:
         return 1
     return 0
Beispiel #10
0
 def shou_bc9_all(self, list):
     kk = gu_save('')
     c_li3 = []
     code_list = kk.get_from_csv('shou_m.csv').code.values.tolist()
     for code in code_list:
         co = (kk.getSixDigitalStockCode(code))
         f = self.shou_bc_last_s2(co)
         if f == 1:
             c_li3.append([co, '最后一个是顶背驰9'])
     df = DataFrame(c_li3, columns=['code', 'name'])
     df.to_csv('shou_bc9.txt')
Beispiel #11
0
    def shou_sz(self, x1, x2):
        kk = gu_save('')
        code_list = kk.get_code_list()
        c_li = []
        for code in code_list:
            sz = kk.get_sz(code)
            if sz > x1 and sz < x2:
                c_li.append([code, '市值在{0}-{1}之间'.format(x1, x2)])

        df = DataFrame(c_li, columns=['code', 'name'])
        df.to_csv('shou.csv')
        return c_li
Beispiel #12
0
 def shou_all_Macd_M_H(self):
     c_li = []
     kk = gu_save('')
     code_list = kk.get_from_csv('sv_dmd1.csv').code.values.tolist()
     for code in code_list:
         co = (kk.getSixDigitalStockCode(code))
         print(co)
         f = self.shou_Macd_M_H(co)
         if f == 1:
             c_li.append([co, '月线Macd红柱'])
     df = DataFrame(c_li, columns=['code', 'name'])
     df.to_csv('shou_m.csv')
     c_li.clear()
     return 0
Beispiel #13
0
    def shou_cci_D_qrs(self, code1):
        kk = gu_save('')
        hh = gu_zb('')
        df = kk.get_k_from_csv(code1, 'D')
        cci = hh.cci(df)
        cciqrfj = hh.cci_ana_qrfj(cci)
        cn4 = cciqrfj[-1] > 0 and cci[-1] > 0
        cn5 = cciqrfj[-1] < 1 and cci[-1] < -100

        if cn4:
            return 1
        if cn5:
            return 2
        return 0
Beispiel #14
0
    def shou_Macd_M_H(self, code1):
        kk = gu_save('')
        hh = gu_zb('')
        df = kk.get_k_from_csv(code1, 'm')
        #如果不存在该代码的数据???

        #搜月Macd为红柱
        diff, dea, macd3 = hh.macd(df)
        macd = macd3.tolist()
        cn1 = macd[-1] > 0  #Macd为红柱

        if cn1:
            return 1  #Macd为红柱
        return 0
Beispiel #15
0
 def shou_xdj(self, code1, ktype1):
     kk = gu_save('')
     hh = gu_zb('')
     df = kk.get_k_from_csv(code1, ktype1)
     #print(df.head())
     day = df.date.values.tolist()
     cci = hh.cci(df)
     up_li, dw_li = hh.cci_ana_dd(cci)
     #cci=cci[-10:]
     d_ln = len(day)
     ln = len(cci)
     #print(d_ln,ln)
     for i in range(2, ln):
         if (i - 2) in up_li: continue
         xdj = self.xdj(cci[i - 2], cci[i - 1], cci[i])
         if i + 4 >= ln:
             pp = ln - 1
         else:
             pp = i + 3
         if xdj == 1:
             print(i, day[i], cci[i], df.loc[i]['high'], df.loc[pp]['high'])
     return 0
Beispiel #16
0
 def shou_all_Macd_w(self):
     c_li = []
     kk = gu_save('')
     #周
     code_list = kk.get_from_csv('shou_m.csv').code.values.tolist()
     for code in code_list:
         co = (kk.getSixDigitalStockCode(code))
         print(co)
         f = self.shou_Macd_w_0z(co)
         if f == 1:
             c_li.append([co, '周线macd的Dea在0轴之上'])
     df = DataFrame(c_li, columns=['code', 'name'])
     df.to_csv('shou_w.csv')
     if len(df) > 590:
         df1 = df[:590]
         df1.to_csv('shou_w1.txt')
         df1 = df[591:]
         df1.to_csv('shou_w2.txt')
     else:
         df.to_csv('shou_w1.txt')
     c_li.clear()
     return 0
Beispiel #17
0
    def two_little(self, code, ktype1):
        kk = gu_save('')
        hh = gu_zb('')
        df = kk.get_k_from_csv(code, ktype1)
        cci = hh.cci(df)
        up, mid, lo = hh.boll(df)
        #print(up.tolist())
        high_li = df.high.values.tolist()
        open_li = df.open.values.tolist()
        close_li = df.close.values.tolist()
        ln = len(cci)
        ttt_li = []
        for i in range(2, ln):
            cn1 = cci[i] > 100 and cci[i - 1] > 100 and cci[i] < cci[i - 1]
            cn2 = high_li[i] > up[i] and high_li[i - 1] > up[i - 1]
            cn3 = open_li[i] > close_li[i] and open_li[i - 1] > close_li[i - 1]
            cn4 = open_li[i - 2] < close_li[i - 2] and close_li[i] < close_li[
                i - 1] and close_li[i - 1] < close_li[i - 2]
            if cn1 and cn2 and cn3 and cn4:
                print(code, i, df.loc[i].date)
                ttt_li.append([code, i, df.loc[i].date])

        return len(ttt_li), ttt_li
Beispiel #18
0
import math
from gu_zb import gu_zb
from gu_save import gu_save
from gu_draw import gu_draw
from gu_shou import gu_shou
from stockmd import stockzb
from stockmd import m_kl
from stockmd import w_kl
from stockmd import D_kl
from stockmd import Hf_kl
from stockmd2 import jiekou
#from stockmd2 import cciorder
import os
import tensorflow as tf

kk=gu_save('')

hh=gu_zb(0)
rr=gu_shou('')
ddd=gu_draw('')
jk=jiekou()
ts.set_token('4d4e8c66f3fe804a585a345419362a9982790682a79ef65214b5d5e1')
pro = ts.pro_api('4d4e8c66f3fe804a585a345419362a9982790682a79ef65214b5d5e1')
#df=jk.get_k_from_api_pro('600598','D')
#df=df.sort_values(by='date' , ascending=True)
#df = ts.pro_bar(ts_code='000001.SZ', adj='qfq', start_date='20180101', end_date='20181011')
#df = pro.daily(ts_code='002498.SZ', start_date='20180701', end_date='20200718')
#print(df.vol.values.tolist())
#df=ts.get_h_data('002498',start='2019-01-01', end='2020-03-16')
#df = pro.daily(trade_date='20201022')
#df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
Beispiel #19
0
	def dr_cci2(self,code,ktype):
		kk=gu_save('')
		hh=gu_zb(0)
		name=kk.get_name(code)
		print(name+code)
		#取4个类型的df
		df=kk.get_k_from_api(code,ktype)
		#取4个类型的CCi
		if df.empty:
			return 0
		cci=hh.cci(df)
		ln=len(cci)
		total=self.total
		if ln<self.total:
			total=ln
		PLUS_DI,MINUS_DI,ADX,ADXR=hh.dmi(df)
		df=df[-total:]
		cci=cci[-total:]
		MINUS_DI=MINUS_DI[-total:]
		PLUS_DI=PLUS_DI[-total:]
		ADX=ADX[-total:]
		ADXR=ADXR[-total:]
		#df=df[-self.total:]
		#4个类型的顶点
		#画出最后3条线

		fig, ax = plt.subplots(3, 1, figsize=(16,8))
		ax[0].set_title(name+code+'--'+ktype,fontproperties = 'SimHei',fontsize = 20)
		ax[1].plot(cci,'r')
		ax[2].plot(ADX,'r')
		ax[2].plot(PLUS_DI,'y')
		ax[2].plot(MINUS_DI,'b')
		ax[2].plot(ADXR,'g')
		ax[2].axhline(y=80, color='b', linestyle=':')
		ax[2].axhline(y=50, color='b', linestyle=':')
		ax[2].axhline(y=20, color='b', linestyle=':')
		#取顶点
		up_li2=hh.gjbc(df)
		dw_li2=hh.gj_d_bl(df)
		#up_li2,dw_li2=hh.gj_bl(df)
		print(up_li2)
		if len(up_li2)>4:
			up=up_li2[-4:]
		else:
			up=up_li2

		if len(dw_li2)>2:
			dw=dw_li2[-2:]
		else:
			dw=dw_li2
		#up=[]
		for u in up:
			y1=u[1]
			y2=u[3]
			x1=u[0]
			x2=u[2]
			k=(y2-y1)/(x2-x1)
			if k>0:continue
			b=y2-k*x2
			c1=(300-b)/k
			c2=(-200-b)/k
			if c2>total:
				c2=total
			if c1<0:
				c1=0
			l_x=np.linspace(c1,c2,10)
			y=k*l_x+b
			ax[1].plot(l_x,y,'-.y')
		for u in dw:
			y1=u[1]
			y2=u[3]
			x1=u[0]
			x2=u[2]
			k=(y2-y1)/(x2-x1)
			if k<0:continue
			b=y2-k*x2
			c1=(200-b)/k
			c2=(-350-b)/k
			if c1>total:
				c1=total
			if c2<0:
				c2=0
			l_x=np.linspace(c1,c2,10)
			y=k*l_x+b
			ax[1].plot(l_x,y,'-.y')
		#画K线
		
		
		mpf.candlestick2_ochl(ax=ax[0],opens=df["open"].values.tolist(), closes=df["close"].values, highs=df["high"].values, lows=df["low"].values,width=0.7,colorup='r',colordown='g',alpha=0.7)
		
		ax[1].axhline(y=100, color='b', linestyle=':')
		ax[1].axhline(y=-100, color='b', linestyle=':')
		#文字
		##gd_li=self.gdjl(df)
		jddd_li=self.jddd(df)
		#for x in gd_li:
			#plt.text(x[0],0,x[1],size = 10)
		for x in jddd_li:
			plt.text(x[0],250,x[1],size = 7)
		plt.style.use('ggplot')
		plt.show()
		return 1
Beispiel #20
0
 def shou_bc(self, code1, ktype1):
     kk = gu_save('')
     hh = gu_zb('')
     df = kk.get_k_from_csv(code1, ktype1)
     cci = hh.cci(df)
     return self.bc(cci)
Beispiel #21
0
 def shou_dmi_d(self, code1):
     kk = gu_save('')
     hh = gu_zb('')
     df = kk.get_k_from_csv(code1, 'D')
     x_dmi = hh.sel_dmi(df)
     return x_dmi