U
    1ߺc                    @   s  d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlZd dlZd dlZed edd e
d d\ZZZZZ Z!Z"d\Z#Z$e% e% e%   a&Z'Z(G d	d
 d
Z)dS )    )OnedbN)create_engine88f6e67ec8a48922bbb531b95687625d99ee263940a07561ae95f4648zmode.chained_assignmentignore)gMbP?g      ?r   r   r      r   )z	300027.SSz119.45.95.223c                       s  e Zd ZdZde fdd	Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Z d=d> Z!d?d@ Z"dAdB Z#dCdD Z$dEdF Z%dGdH Z&dIdJ Z'dKdL Z(dMdN Z)dOdP Z*dQdR Z+dSdT Z,dUdV Z-dWdX Z.dYdZ Z/d[d\ Z0d]d^ Z1d_d` Z2dadb Z3dcdd Z4  Z5S )fKdatau    K线类 技术分析评分机制Nc                    s(   t    t | _|   t | _d S N)super__init__pd	DataFrameallstocklistinit_parameterr   onedb)self	stockcodeshowtypehavelistseqparent	__class__ /home/one/k/oneclass/kclass.pyr
      s
    

zKdata.__init__c                 C   s  d| _ d| _d| _d| _ddddddg| _d	d
ddddg| _d	d
ddddd| _ddddddg| _ddddddd| _ddddddd| _	ddddddd| _
ddddddd| _dddddddddddddddd| _t | _t | _t | _t | _t | _t | _i | _i | _i | _i | _i | _i | _i | _i | _i | _i | _i | _i | _ i | _!i | _"t | _#t | _$t | _%d | _&t'| _'t(| _(t)| _)d| _*t | _+t | _,t | _-d!S )"u   定义参数        r   monthweekdaym30m5m1mwdtfo)r   r   r   r   r   r   d   2      
         g{Gz?g{Gz?g{Gz?g{Gz?g{Gzt?g{Gzd?r   g? )QSNDGNKLDDKaiGGLuoCHL1DDCGorGGCD1CHL
DDCGorGGCDDDCGorGGCD1ma30DDCGorGGCDma30GGdayDDdayi'  N).hpttlupttldownmstatusperiodperiodabp2abZQSKJdiffbypspacer-   JGkeypointr   r   kdata_mkdata_wkdata_dkdata_tkdata_fkdata_oQS_mQS_wQS_dQS_tQS_fQS_oJG_mJG_wJG_dJG_tJG_fJG_oZall_YLZCPnSpnspnsttl	newpnsttlZrefreshK_timeinterr   r   r   sighavelistxgresultqsresultr   r   r   r   r      sX    &










zKdata.init_parameterc                 C   s   |    d S r   )whole_processra   r   r   r   runL   s    z	Kdata.runc                 C   s$   |    |   |   |   d S r   )get_div	get_K_all
cal_ma_all
cal_qs_allra   r   r   r   rb   O   s    zKdata.whole_processc                 G   s$   t j||d}|d |  d S )N)targetargsT)	threadingThread	setDaemonstart)r   funcri   Ztaskr   r   r   	thread_itT   s    
zKdata.thread_itc                 C   s  t   }t | _t | _dg}t }|jdddd}|jdddgd	d
}|jdddgd	d
}|jdddgd	d
}|| _	t
| j	 | j	jd }d}t|| }td|D ]}||d  qt
d| d}	t|	}
t||	 }t
d| |
| j|}t| \}}tt|D ]*}| j|| | _| j|| | _q| jtjtj gd| _| jtjtj gd| _t }|d |d || jddd || jddd t
dt   |  d S )Nr   stock_basicr,   LexchangeZlist_statusz	000001.SHu   上证综指)ts_codenameTignore_indexz	399006.SZu   创业板指z	399001.SZu   深圳成指r&   r   zXXXX corelist   qtyperthreadxgallZqsallr   	   	TTL time:)timer   r   r_   r`   tspro_apiqueryappendr   printshapemathceilrangempPoolmapxg_all_for_mpziplenreplacenpinfr   	del_table
into_table)r   	starttimecorelistpro	stockliststockqtyZ	qtyperjobZcoreqtyi	threadqtypoolry   resultabr   r   r   r   	xg_all_mpZ   sD    







zKdata.xg_all_mpc           	      C   s  t  }t  }| j}|||d  }td|jd  d}| D ]\}}|d | _t|| j |   z|   W n   Y qBY nX | j	jd dkrqB| 
  |   | j	dd  | _	z| d| _| | j| _W n   Y qBY nX z| d| _| | j| _W n   Y qBY nX z| d	| _| | j| _W n   Y qBY nX |   | | j| jd
\| _| _| _| | j| jd\| _| _| _| | j	| jd\| _	| _| _| | j| jd\| _| _| _| | j| jd\| _| _| _| | j| jd	\| _| _| _ t| j!d
 | j!d | j!d | j!d | j!d | j!d	  | jdd | j|d | jd | jd | j!d
 | j!d | j!d | j!d | j!d | j!d	 | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd  | jd! | jd" | jd# | jd$ | jd  | jd! | jd" | jd# | jd$ | jd  | jd! | jd" | jd# | jd$ | jd  | jd! | jd" | jd# | jd$ | jd  | jd! | jd" | jd# | jd$ | j d  | j d! | j d" | j d# | j d$ | j"| j#| j$| j%d%}|j&|d&d'}|j&| jd&d'}|j&| jd&d'}|j&| jd&d'}|j&| jd&d'}|j&| jd&d'}|j&| jd&d'}|d7 }| '  qB||fS )(Nr&   stock qty =r   r   rt   r   r   r   r   r   r      ru   
reviseTimeCma30ma10spacePprofitPriskPr.   r/   r0   r1   r2   r3   r4   r5   r6   r7   ConfirmedJG	CurrentJGJGdoneQXJGQRscoder   	stocknamer}   cZQSmZQSwZQSdZQStZQSfZQSoZma30mZma30wZma30dZma30tZma30fZma30oZma10mZma10wZma10dZma10tZma10fZma10oZspacePmZprofitPmZriskPmZNDGmZNKLmZDDmZKaimZGGmZLuomZCHL1mZDDCGorGGCD1mZCHLmZDDCGorGGCDmZspacePwZprofitPwZriskPwZNDGwZNKLwZDDwZKaiwZGGwZLuowZCHL1wZDDCGorGGCD1wZCHLwZDDCGorGGCDwZspacePdZprofitPdZriskPdZNDGdZNKLdZDDdZKaidZGGdZLuodZCHL1dZDDCGorGGCD1dZCHLdZDDCGorGGCDdZspacePtZprofitPtZriskPtZNDGtZNKLtZDDtZKaitZGGtZLuotZCHL1tZDDCGorGGCD1tZCHLtZDDCGorGGCDtZspacePfZprofitPfZriskPfZNDGfZNKLfZDDfZKaifZGGfZLuofZCHL1fZDDCGorGGCD1fZCHLfZDDCGorGGCDfZspacePoZprofitPoZriskPoZNDGoZNKLoZDDoZKaioZGGoZLuooZCHL1oZDDCGorGGCD1oZCHLoZDDCGorGGCDoZConfirmedJGmZ
CurrentJGmZJGdonemZQXmZJGQRmZConfirmedJGwZ
CurrentJGwZJGdonewZQXwZJGQRwZConfirmedJGdZ
CurrentJGdZJGdonedZQXdZJGQRdZConfirmedJGtZ
CurrentJGtZJGdonetZQXtZJGQRtZConfirmedJGfZ
CurrentJGfZJGdonefZQXfZJGQRfZConfirmedJGoZ
CurrentJGoZJGdoneoZQXoZJGQRor<   r=   r>   r?   Trv   )(r   r   r   r   r   iterrowsr   rd   get_K_DrI   get_K_wget_K_m	get_K_TFOrJ   
wash_K_divrK   rL   rf   cal_qsrG   rM   rS   rH   rN   rT   rO   rU   rP   rV   rQ   rW   rR   rX   r-   r<   r=   r>   r?   r   r   )	r   nr_   r`   r   r   indexrowtmpr   r   r   r      sp   

 



6&                                                                                                      &
zKdata.xg_all_for_mpc                 C   s  t   }t | _t | _td}td|jd   |dg}td|jd   |jd }d}t	
|}t|| }td| dddd	d
dg}t| || j|}t| \}	}
tt|	D ](}| j|	| | _| j|
| | _q| jtjtj gd| _| jtjtj gd| _t }|d |d || jddd || jddd |d || jddd | jjdddd | jjdddd tdt   |  d S )N./csv/2022.csvzformer qty = r   r   r   ry      <   Z   x      xg2022Zqs2022r{   zSdelete `xgall` from `xgall`,`xg2022` where `xgall`.`stockcode`=`xg2022`.`stockcode`rz   z./tmpout/xg2022.csv	utf_8_sigTencodingr   z./tmpout/qs2022.csvr|   )r}   r   r   r_   r`   read_csvr   r   drop_duplicatesr   r   r   r   r   xg_2022_for_mpr   r   r   r   r   r   r   r   r   r   execute_sqlto_csv)r   r   r   r   r   r   ry   r   r   r   r   r   r   r   r   r   
xg_2022_mp   s>    








zKdata.xg_2022_mpc                 C   s  t  }t  }t d}|dg}|||d  }td|jd  | D ]\}}t|d dk r|d dd d	ks|d dd d
kr|d dd d |d< |d dd dkr|d dd d |d< qN|d dd |d< qNd}| D ]\}}|d | _t|| j | 	  z| 
  W n   Y qY nX | jjd dkrPq|   |   | jdd  | _| d| _| | j| _| d| _| | j| _| d| _| | j| _|   | | j| jd\| _| _| _| | j| jd\| _| _| _| | j| jd\| _| _| _| | j| jd\| _| _| _| | j| jd\| _| _| _ | | j| jd\| _| _!| _"t| j#d | j#d | j#d | j#d | j#d | j#d  z~| jdd | j|d | jd | jd | j#d | j#d | j#d | j#d | j#d | j#d | jd | jd | jd | jd | jd | j!d | jd | jd | jd | jd | jd | j!d | jd | jd | jd | jd  | jd! | jd" | jd# | jd$ | jd% | jd& | jd' | jd( | jd) | jd | jd | jd | jd  | jd! | jd" | jd# | jd$ | jd% | jd& | jd' | jd( | jd) | jd | jd | jd | jd  | jd! | jd" | jd# | jd$ | jd% | jd& | jd' | jd( | jd) | jd | jd | jd | jd  | jd! | jd" | jd# | jd$ | jd% | jd& | jd' | jd( | jd) | jd | jd | jd | jd  | jd! | jd" | jd# | jd$ | jd% | jd& | jd' | jd( | jd) | j!d | j!d | j!d | j!d  | j!d! | j!d" | j!d# | j!d$ | j!d% | j!d& | j!d' | j!d( | j!d) | jd* | jd+ | jd, | jd- | jd. | jd* | jd+ | jd, | jd- | jd. | jd* | jd+ | jd, | jd- | jd. | jd* | jd+ | jd, | jd- | jd. | j d* | j d+ | j d, | j d- | j d. | j"d* | j"d+ | j"d, | j"d- | j"d. | j$| j%| j&| j'd/}	|	( D ]6\}
}z|d0krt)|}||	|
< W n   Y nX q|j*|	d1d2}W n   Y nX |j*| jd1d2}|j*| jd1d2}|j*| jd1d2}|j*| jd1d2}|j*| jd1d2}|j*| j!d1d2}|d7 }| +  q||fS )3Nr   r   r   r   r   r{   r   r+   30   .SZ6.SHr)   r   r   r   r   r   r   r   r   ru   r   r   r   r   r   r   r   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r   r   r   r   r   r     Trv   ),r   r   r   r   r   r   r   r   r   rd   r   rI   r   r   r   rJ   r   rK   rL   rf   r   rG   rM   rS   rH   rN   rT   rO   rU   rP   rV   rQ   rW   rR   rX   r-   r<   r=   r>   r?   itemsroundr   r   )r   r   r_   r`   r   r   stockr   r   r   keyvaluer   r   r   r   .  s   
(

 
6&                                                                                                      


zKdata.xg_2022_for_mpc                 C   s   t  }t  }| j D ]D\}}d|jks6d|jkr@||}d|jksTd|jkr||}qtd t| td t| d S )Nz-1abcz-1a-2zday -1abc and m30 -1abczm30 -1a or m30 -2:)r   r   r_   r   r   r   r   r   )r   newlistZnewlisttr   r   r   r   r   xg_2022_after_mp  s    
zKdata.xg_2022_after_mpc                 C   s  t  }t }t| j | j}| D ]\}}|d d d dksX|d d d dkrz|d d d d |d< ||}|d d d dkr(|d d d d |d< ||}q(t| | D ]4\}}|d | _|   td	 t| j	 | 
  qtd
t |  d S )Ncoder   r   r   r   r   r   r   zin xg_havelistr|   )r   r   r}   r   r^   r   r   r   rc   r\   r   )r   Zmycoder   r   r   r   r   r   r   r   xg_havelist  s&    
(



zKdata.xg_havelistc                 C   sz   | j jdddd | jjdddd | jjdddd | jjdddd | jjdddd | jjd	ddd td
 d S )Nz./kdata/kdata_m.csvr   Tr   z./kdata/kdata_w.csvz./kdata/kdata_d.csvz./kdata/kdata_t.csvz./kdata/kdata_f.csvz./kdata/kdata_o.csvzfake export K data done!)	rG   r   rH   rI   rJ   rK   rL   logginginfora   r   r   r   export  s    zKdata.exportc                 C   s   t d d S )Nzfake show_log done!)r   r   ra   r   r   r   show_log  s    zKdata.show_logc                 C   s4   t d t }|d}|jdddd t d d S )Nzstart get_divdata_fromdbzselect * from divdata./csv/divdata.csvr   Fr   zend get_divdata_fromdb)r   r   
From_tabler   )r   r   Zmydivr   r   r   get_div_fromdb  s
    
zKdata.get_div_fromdbc                 C   s\   t d| _| j| jd | jk | _t | jd | jd< | jd| _| jjdd| _d S )Nr   r   dateF)	ascending)r   r   divpdr   to_datetime	set_index
sort_indexra   r   r   r   rd     s
    zKdata.get_divc                 C   s   | j  D ]\}}|tjdd }||jd k r4 q|jjD ]}|dkr<|dkr<|jd ||f  |jd 8  < |jd ||f  |j	|j
d  7  < |jd ||f  d|jd  |j
d    < q<q
|S )Nr   )minutesr   volumeamountr)   )r   r   datetime	timedeltar   columnsvalueslocZbonuspriceZrationedpresent)r   kdatar   valr   fieldr   r   r   r     s      &2zKdata.wash_K_divc                 C   sz   |    |   |   | jdd  | _| d| _| | j| _| d| _| | j| _| d| _| | j| _d S )Nr   r   r   r   )	r   r   r   rI   r   rJ   r   rK   rL   ra   r   r   r   re     s    zKdata.get_K_allc                 C   sJ  d}| j dd   | j d d  }d| d}| |}tdd|}t|}|dks||d	ks||d
ks||d | d }n|d | d }t|}t	j
|ddddddgd| _| jddddg t	jd| jddddg< | jd t	jt| jd< t	| jd | jd< | jjdgdd | jd dd d| jd< d S )Nr   r   8http://web.ifzq.gtimg.cn/appstock/app/fqkline/get?param=z,day,1990-12-01,,2000,qfq	,{(.+?)}]]sz399001sz399006sh000001dataZqfqdayr   r   openclosehighlowvolr   r+   Tinplacec                 S   s   | d S Nr   r   xr   r   r   <lambda>      zKdata.get_K_D.<locals>.<lambda>   )r   lowergethtmlresubjsonloadsr   arrayr   r   rI   apply
to_numericr   astypeintr   r   r   )r   my_kurlstockcodeurloriginaltxtgoodtxtmy_jsonarraykr   r   r   r     s      


.zKdata.get_K_Dc                 C   sF  | j dd   | j d d  }d| d}| |}tdd|}t|}|dksx|dksx|d	ksx|d
 | d }n|d
 | d }t|}t	j
|ddddddgd| _| jddddg t	jd| jddddg< | jd t	jt| jd< t	| jd | jd< | jjdgdd | jd dd d| jd< d S )Nr   r   r   z,week,1990-12-01,,2000,qfqr   r   r   r   r   r   Zqfqweekr   r   r   r   r  r  r  r  r+   Tr  c                 S   s   | d S r  r   r  r   r   r   r
  0  r  zKdata.get_K_w.<locals>.<lambda>r  )r   r  r  r  r  r  r  r   r  r   r   rH   r  r  r   r  r  r   r   r   r   r  r  r  r  r  r  r  r   r   r   r     s     


.zKdata.get_K_wc                 C   sF  | j dd   | j d d  }d| d}| |}tdd|}t|}|dksx|dksx|d	ksx|d
 | d }n|d
 | d }t|}t	j
|ddddddgd| _| jddddg t	jd| jddddg< | jd t	jt| jd< t	| jd | jd< | jjdgdd | jd dd d| jd< d S )Nr   r   r   z,month,1990-12-01,,2000,qfqr   r   r   r   r   r   Zqfqmonthr   r   r   r   r  r  r  r  r+   Tr  c                 S   s   | d S r  r   r  r   r   r   r
  F  r  zKdata.get_K_m.<locals>.<lambda>r  )r   r  r  r  r  r  r  r   r  r   r   rG   r  r  r   r  r  r   r   r   r  r   r   r   r   3  s     


.zKdata.get_K_mc                 C   sj   | j dd   | j d d  }td| j d d  d| _t| jd | jd< | jjdgdd d S )Nr   r   kdata/z_d.csvr   Tr  )r   r  r   r   rI   r   r   r   r  r   r   r   get_K_D_csvI  s     zKdata.get_K_D_csvc                 C   sj   | j dd   | j d d  }td| j d d  d| _t| jd | jd< | jjdgdd d S )Nr   r   r   z_t.csvr   Tr  )r   r  r   r   rJ   r   r   r!  r   r   r   get_K_T_csvN  s     zKdata.get_K_T_csvc                 C   sj   | j dd   | j d d  }td| j d d  d| _t| jd | jd< | jjdgdd d S )Nr   r   r   z_f.csvr   Tr  )r   r  r   r   rK   r   r   r!  r   r   r   get_K_F_csvS  s     zKdata.get_K_F_csvc                 C   sj   | j dd   | j d d  }td| j d d  d| _t| jd | jd< | jjdgdd d S )Nr   r   r   z_o.csvr   Tr  )r   r  r   r   rL   r   r   r!  r   r   r   get_K_O_csvX  s     zKdata.get_K_O_csvc                 C   s  | j d d d}| j d d d}| j d d d}| j d d d}| j d d d}tj	|||||gdd	| _
| j
jd
dd| _
| j d  d}| j d  d}| j jd
 }| j d |d  d}	z(|	| || d  | _| jd| _W n   td Y nX | j d d d}
| j d d d}| j d d d}| j d d d}| j d d d}tj	|||||
gdd	| _| jjd
dd| _d S )Nr  Mr+   r   r   r  r  r   axisr   any)r(  howr&   zcalculate self.hp errorzW-FRI)rI   resamplesumr   firstlastmaxminr   concatrG   dropnar   r<   r   rH   )r   ZmvolZmopenZmcloseZmhighZmlowZhhhZlllttlkcpZwvolZwopenZwcloseZwhighZwlowr   r   r   get_K_MW]  s.    zKdata.get_K_MWc                 C   s   d}|dk rFzt j|ddj}|W S  t jjk
rB   |d7 }Y qX q|dkrdtd| d| d |dkr|dkrt| d	| d
 dS )u    
        最多读取10次，每次等待3秒钟
        如果超过3次没有抓到K线数据，就把 i+url 输出到htmlerror.txt文件中
        每次程序开始运行的时候，清空 htmlerror.txt 文件
        r   r)   r  timeoutr   u	   尝试过u   次后，依然没有通过u   得到数据u
    次通过u    没有得到数据N)requestsgettext
exceptionsZRequestExceptionr   )r   r  r   htmlr   r   r   r  y  s    zKdata.gethtmlc           
      C   s  | j dd   | j d d  }d| d| d}| |}tdd|}|dd  }t|}|d	 | | }t|}t	j
|d
dddddgd}	|	ddddg t	jd|	ddddg< |	d t	jt|	d< t	|	d
 |	d
< |	jd
gdd |	d dd d|	d< |	S )Nr   r   z5http://ifzq.gtimg.cn/appstock/app/kline/mkline?param=,z$,,320&_var=m1_today&r=0.260880015116z	,{}(.+?)]r   r{   r   r   r   r   r  r  r  r  r+   Tr  c                 S   s   | d S r  r   r  r   r   r   r
    r  z!Kdata.get_K_TFO.<locals>.<lambda>r  )r   r  r  r  r  r  r  r   r  r   r   r  r  r   r  r  r   r   r   )
r   r@   r  r  r  r  r  r  r  r   r   r   r   r     s&     


zKdata.get_K_TFOc                 C   s"  |  | j| _|  | j| _|  | j| _|  | j| _|  | j| _|  | j| _| jjd }|dkr| j}t||d |d k jd | d | _	t||d |d  d |d k  jd | d | _
|d |d  |d |d  ks|d |d	  |d |d	  krd	| _nd| _d S )
Nr   r   r  r   r&   r  r+   r*   r   )cal_ma_KrG   rH   rI   rJ   rK   rL   r   r  r=   r>   r?   )r   Zttlkmdfr   r   r   rf     s    
(4DzKdata.cal_ma_allc                 C   s   |d  d }|d  d }|d  d }|dd| |dd| |dd	| |jd
d}|d d|d< |d d|d< |d	 d|d	< |S )Nr   r*   r)   r   ma5r   r   r   r   bfill)methodr  )rollingmeaninsertfillnar   )r   r   r@  r   r   r   r   r   r>    s    zKdata.cal_ma_Kc                 C   s   ||}|S r   r   )r   Zdict1Zdict2resr   r   r   Merge  s    zKdata.Mergec                 C   s  t  }|d| _| jjd | j_| jddddg | _ddd	d
g| j_| jd	 d | jd	< | jd	 d| jd	< d}| j|dd | j|d dd | j|d dd | j|d dd | j|d dd | j|d d| jd | jd	  d  | jd d| jd< | jjddddd| _| jjd | j_| j|d dd | j|d dd | j|d d d | j|d! d"| jj |   d S )#Nzselect * from havelistr   u   代码u   成本u   数量u   名称r   costqtyru   r&   r   r  %r   S1Qr+   S1B1   B1Qr*   ZamtFT)r(  byr   rw   r   Qr   +   -r{   Zsn)	r   r   r^   r   r   r   rE  sort_valuesget_hq)r   r   Zinsertxr   r   r   get_havelist  s,    (zKdata.get_havelistc           
      C   s\  d}| j  D ]@\}}|jd d dkr<|d |j d }q|d |j d }qtj|ddj}|d	}|D ]}t|d
krn|d}| j jd }t	d|d D ]}	| j d |	 |d kr|d | j d |	< t
|d | j d |	< |d | j d |	< |d | j d |	< t
|d
 | j d |	< |d | j d |	< |d | j d |	< |d | j d |	< qqnd S )Nhttp://qt.gtimg.cn/q=r   r   shr=  szr  r6  ;r)   ~r   r   r+       rK  r(   rL     rM  r{   rN  rP  1   rR  /   rS  0   rU  )r^   r   r   r8  r9  r:  splitr   r   r   r  )
r   seqr   Zhaver<  spspnspnnttljr   r   r   rW    s*    

zKdata.get_hqc                 C   sr  t  }|jdddd}|jd |_|d d }d|d< d|d	< d|d
< d|d< d}| D ]P\}}|jd d dkr|d |jd d  d }q\|d |jd d  d }q\tj|ddj}|	d}|D ]}t
|dkr|	d}	|jd }
td|
d D ]d}|d | d d |	d k r|	d |d |< |	d |d	 |< |	d |d
 |< |	d |d |<  qqt| d S )Nrp   r,   rq   rr   r   i   r   r   percentZhighmaxZlowmaxrY  r   rZ  r   r=  r[  r  r6  r\  r)   r]  r   rt   r+   r^  ra  rb  )r~   r   r   r   r   rt   r8  r9  r:  rc  r   r   r   r   )r   r   r   rd  r   r   r<  re  rf  rg  rh  ri  r   r   r   
get_hq_all  s4    


zKdata.get_hq_allc                 C   s   |dkr|    t| j |dkr|    | jjtd df | _| jd d dkr`| jd | _n| jd | _|   td| j td| j |d	kr|   d S )
Nr   r+   r   r   r   r   z[0;31;40m	stockcode:[0mzseq stockcoder  )rX  r   r^   ilocr   r   rc   )r   r   r   r   r   show  s    
z
Kdata.showc                 C   s  | ddd | ddd | ddd | d	d
d td|d D ]
}d}|d | |d |d  krR|d | |d |d  k rRtdD ]d}|d ||  |d ||   d |d ||  kr|d ||  |d || d  k r|d }q|dkrd|d |< ||d |d  }||d |d k jd dkrRd|d |< qF|d | |d |d  krF|d | |d |d  krFtdD ]j}|d ||  |d ||   d |d ||  k r|d ||  |d || d  kr|d }q|dkrd|d |< ||d |d  }||d |d k  jd dkrFd|d |< qFtddD ]}|| }|d | |d |d  kr|d | |d |d  k r|d |d  |d |d  krd|d |<  qPnp|d | |d |d  kr^|d | |d |d  kr^|d |d  |d |d  k r^d|d |<  qPq^td|D ],}|d | dkrt|d |D ]p}|d | dkr|d } q|d | dkr|d | |d | krd|d |< |}nd|d |< qn|d | dkrZt|d |D ]p}|d | dkr8|d } qZ|d | dkr|d | |d | k rvd|d |< |}nd|d |< qqZ|S )NrT  kkllr   r{   kkllvr   r)   kkllx   kkllxvr   r   r   r  r  r+   r   rO     )rE  r   r   )r   r   r3  r   Z	bcheckttlktmpkri  r   r   r   cal_qs_KaiLuo,  st    <4"

  86"
 ^^
zKdata.cal_qs_KaiLuoc           
      C   sz  t |d ddD ]b}|d | dkr|d | }d}t |d ddD ]z}|d | dksb|dkrFt |d |dD ](}|d | |krr|| }|d | }qrd|d || < ||d	 || <  qqF|d | dkr|d
 | }d}	t |d ddD ]}|d | dks|dkrt |d |dD ],}|d
 | |kr || }	|d
 | }q d|d ||	 < ||d	 ||	 <  qqq|S )Nr   r   rs  rn  r  r   r   rp  rr  r  r+   )r   )
r   r   r3  r   ZLLZdisLLri  ru  ZHHZdisHHr   r   r   cal_qs_GGDDr  s4    zKdata.cal_qs_GGDDc                 C   s  t |D ]*}|d | dkrd}d}t ||D ]n}||d | |d |   }||d |  }|d | dkr0|}|dkrd|d |< n|| |d |<  qq0|d | d	krd}d}t ||D ]p}||d | |d |   }||d |  }|d | d
kr|}|dkrd|d |< n|| |d |<  qqq|d d|d< |d d|d< |d d|d< |d d|d< |S )Nrp  r+   r   r   r  rn  r   ro  r   rs  rr  )r   r   )r   r   r3  r   ZTTLaZTTLvri  r   r   r   cal_qs_kkllv  s<    
zKdata.cal_qs_kkllvc           	      C   s(  d }}d }}t |d ddD ]}|d | dkr|}t |d ddD ]@}|d | dkrh|d | }|d | dkrH|d | } qqH qq |d | d	kr |}t |d ddD ]@}|d | dkr|d | }|d | d	kr|d | } qq qq || jd
< || jd< || jd< || jd< |S )Nr   r   rs  rp  r   rn  ro  rr  r+   r.   r/   r:   r;   )r   rF   )	r   r   r3  r.   r/   r;   r:   r   ri  r   r   r   cal_qs_QSmodule_NDGNKL  s4    



zKdata.cal_qs_QSmodule_NDGNKLc                 C   s2  d } } } } }}t |d ddD ]:}	|d |	 dkr(|dd|d |	  |d |	 } qdq(|jd }
|
dkr|ddd t |d ddD ]:}	|d	 |	 dkr|d
d|d |	  |d |	 } qq||	 }|jd }
|
d
kr|d
dd t |d ddD ]@}	|d |	 dkr|dd|d |	  |d |	 } qJq|jd }
|
dkrl|ddd t |d ddD ]@}	|d	 |	 dkr||dd|d |	  |d |	 } qq|||	 }|jd }
|
dkr|ddd ||krd}nd}|| jd< || jd< || jd< || jd< || jd< |S )Nr   r   rs  rp  r      r0   rr  rn     r1   ro  r+      r2      r3   r-   )r   rE  r   rF   )r   r   r3  r0   r1   r2   r3   ZKaidayZLuodayr   Zaddedr-   r   r   r   cal_qs_QSmodule_QSDDKaiGGLuo  sX    
 
 


 


 





z"Kdata.cal_qs_QSmodule_QSDDKaiGGLuoc           *      C   sx  | j d }| j d }| j d }| j d }| j d }	| j d }
| j d }d}d	}d	}d	}d
}d	}d
}d
}|d d }d	}d	}d	}d	}d	}d	}d	}t|d ddD ]}||d kr|d | }|d | }|}|}|d | |kr|d | }|}|d | |k r|d | }|}|d | dkr|}|}|} |d	krR|| d d d}nd	}t|d | dD ]}!|d |! |d |! krf|d |! }|!}t|!| dD ](}"|d |" |k r|d |" }|"}q|d | }t||dD ]4}"|d |" |kr|d |" }|d |" }|"}q q"qft|d |dD ]V}!|!|d kr\|d |! }|d |! }|d |! |kr2|d |! }|d |! }q2|d	kr|d |d  }|d |d  } qR|d | dkr|}|}|}#|
| d d d}t|d |#dD ]}!|d |! |d |! k r|d |! }|!}t|!|#dD ](}"|d |" |kr6|d |" }|"}q6|d | }t||dD ]4}"|d |" |k rx|d |" }|d |" }|"}qx qqt|d |dD ]V}!|!|d kr|d |! }|d |! }|d |! |k r|d |! }|d |! }q|d	krJ|d |d  }|d |d  } qRq|
| d d d}|d	kr|| d d d}nd}|d |d  d d d}||	d ks||d k rd}$nd	}$|	d	ks|d	ks|d	ks|
d	kr d}%nd	}%|d	kr&|
| d d d}&nd	}&tjtj d}'z|d}|d}W n   Y nX || |||||||	|
||||||&|$||d d d|d d d|d d d||d d  d d d||d d  d d d||d d  d d d|||'||||d}(|| |||'d})|| j d< || j d< || j d< || j d< || j d < || j d!< ||(fS )"Nr.   r/   r0   r1   r2   r3   r-    r   r   r   rs  r   r  r  rn  r&   r   g     8@g)\(?gGz?z%m-%d %H:%Mr+   r@  r   r   r   r@   r   r-   r0   r1   r2   r3   r   r   PLPr6   CHLPr   
outofrange
QSabnormalr@  r   r   Zma5PZma10PZma30PZ
periodSuggr7   r   r.   r/   r4   r5   )r   r   r@   r   r4   r5   r6   r7   r8   r9   )rF   r   r   r   strftimenow)*r   r   r   r3  r@   r.   r/   r0   r1   r2   r3   r-   Zperiodsuggestionr   r   r  r6   r  r7   r9   
closepricer4   r5   r8   ZDDCGorGGCD1locationZCHL1locationZHHHlocationZLLLlocationr   ZHHHZLLLZCHLlocationZLuolocationru  r    ZKailocationr  r  r   
revisetimeperiodQSZperiodQStimer   r   r   cal_qs_QSmodule_CHL1andCHL   sD   












(

!	





z Kdata.cal_qs_QSmodule_CHL1andCHLc                 C   s\  | j d }| j d }| j d }| j d }| j d }| j d }	| j d }
| j d }| j d	 }| j d
 }| j d }| j d }| j d }|d |d  }d}d}d| j|< |dkr|	| d| j|  krd}t||}t||}|dks|dkr|}||d| j|   krX||d| j|   k rXd}|
dkrD| j|  d7  < n| j|  d7  < n0|
dkrv| j|  d7  < n| j|  d7  < nj||d| j|   kr| j|  d7  < n>||d| j|   k r| j|  d7  < n| j|  d7  < |
dkr:t|||d| j|   k r.| j|  d7  < d}d}||krR|| dkrRd}||krn|| dkrnd}|sz|r| j|  d7  < |dkr||k r||d| j|   k r| j|  d7  < |dd  }|d  |d |d   }t|d  d!}z(||d" d# kr&| j|  d$7  < W n   Y nX n&|
dkr`t|||	d| j|   krt| j|  d7  < d}d}||k rd}||k rd}|s|r| j|  d7  < |dkr||kr||	d| j|   kr| j|  d7  < |dd  }|d  |d |d   }t|d  d!}z(||d" d# krP| j|  d$7  < W n   Y nX | jd%d  }zt	d&d dD ]^}|j
| |j
|d   d'kr||j
|d  |j
|d&   d'kr|| j|  d(7  <  qܐq|t	d&d dD ]^}|j
| |j
|d   d)k r|j
|d  |j
|d&   d)k r| j|  d*7  <  qHqW n   Y nX d S )+Nr.   r/   r0   r1   r2   r3   r-   r4   r6   r5   r8   r7   r9   r   r   Fr,   r   Trs  -1+1r   +2z+0z-0z=0r   r   r   ir   rO  r      r"   ir+   gHzG?z+egq=
ףp?z-e)rF   r-   rD   r0  r/  rC   r,  r   rI   r   r   )r   r   r3  r@   r.   r/   r0   r1   r2   r3   r-   r4   r6   r5   r8   r7   r9   r  Z	goodspaceZinsidespaceZminchlZmaxchlZDoGfinishJGZDoG1finishJGrv  Znewma30r?  r   r   r   r   cal_qs_QSmessage  s    
















 0


,



,@
@zKdata.cal_qs_QSmessagec           6      C   s  |d }|d }|d }|d }| j d }	| j d }
|d }|dd	d
 |ddd
 |ddd |ddd
 d}d}d}d}d}d}d}d}d}d}d}t|d ddD ]}|d | dk
r,|d | |d |  }|}t||d dD ],}|d | |d |  }||k r|}|}qd|d	 |< d|d |< |d | |d |< ||d krb qt|d |d dD ]}|d | |d |d  k rv|d | }|d | }t|d |d dD ]J}||d | kr|} qv||d | k rd|d	 |< |} qvqĐqvt||d dD ]}|d	 | dkr$|d | }|}d}t|d |d dD ]D}|d | |kr|d | }|}|d	 | dkrb|} qqb||d kr$d|d |< q$t||d dD ]l}|d | dkrt|d | |d |  }t|d | |d |  } |d | |d | k r| d |k rd|d |< d}!t||d dD ]*}|d	 | dkrn|}"|!d }! qqnt|ddD ]*}|d	 | dkr|}#|!d }! qҐq|!dkr|d |" |d |# kr6|d	 |# dkr(zd|d |#< W n   Y nX nd|d	 |"< nd|d	 |"< qt|d |d dD ]}|d | dkrZt|d | |d |  }$t|d | |d |  }t|d | |d |  } |d | |d | ks|$|d k rvd|d |< d}||d k rd}|d | |d |< t||d dD ]>}|d	 | dkr4d |d |< |d | |d |<  qq4n|d | |d | ks|| d k rZd!|d |< |d | |d |< t||d dD ]>}|d	 | dkrd"|d |< |d | |d |<  qZqΐqZt||d dD ]}|d	 | dkr"t|d |d dD ]}|d | dkrh q"|d	 | dkrL|d | dkr|d | |d | k rd|d	 |< nd|d	 |< nd|d	 |< qLq"t|d |d dD ]}|d | }%|%dkrtd#| d|%  |%dkrn|d |d  |d | krZd!}|d |d  }nd}|d |d  }|%d!kr|d |d  |d | k rd"}|d |d  }nd!}|d |d  }|%d"kr|d |d  |d | krd}|d |d  }nd"}|d |d  }|%dkrd|d |d  |d | k rPd }|d |d  }nd}|d |d  }|%d kr|d |d  |d | krd$}|d |d  }nd }|d |d  }||d |d < ||d |d < |%} qqt|	|d dD ]V}|d | dkr|j|	|d%f  }&|j||d d%f  }'|'|&k rd}qt|d |d dD ]}|d | dk	s|d | d"k	s|d | d k	r`t|d |d dD ]l}|d | dk	s|d | d"k	s|d | d k	r|d | |d | k
rd} 
qn
d} 
q	q 
q&	q` q|d | d&kr|d | |d |  }|}t||d dD ]0}|d | |d |  }(|(|k
rh|}|(}
qhd|d |< d'|d |< |d | |d |< ||d k
r qt|d |d dD ]}|d | |d |d  k
r|d | })|d | }*t|d |d dD ]J}|*|d | k r\|} 
q|)|d | kr<d|d |< |} 
qq<
qd}t||d dD ]}|d | dkr|d | }+|},t|d |d dD ]D}|d | |+k r |d | }+|},|d | dkr|} q q||d krd|d	 |,< qt||d dD ]p}|d	 | dkrNt|d | |d |  }-t|d | |d |  }.|d | |d | krN|.d |-krNd|d	 |< d}!t||d dD ]*}|d | dkr|}/|!d }! qqt|ddD ]*}|d | dkr|}0|!d }! qJq|!dkrNtd(|0 d)|/  |d |/ |d |0 kr|d |0 d'krd|d |0< nd|d |/< nd|d |/< qNt|d |d dD ]}|d	 | dkrt|d | |d |  }1t|d | |d |  }-t|d | |d |  }.|d | |d | k sj|1|-d k rd*|d |< d}||d krd}2|d | |d |< t||d dD ]>}|d | dkrd+|d |< |d | |d |<  qqn|d | |d | k s|-|.d k rd,|d |< |d | |d |< t||d dD ]>}|d | dkrJd-|d |< |d | |d |<  q֐qJqt||d dD ]}|d | dkrt|d |d dD ]}|d	 | dkr q|d | dkr|d | d'kr>|d | |d | kr0d|d |< nd|d |< nd|d |< qȐqt|d |d dD ]}|d | }%|%dkrf|%d'kr|d |d  |d | k rd,}|d |d  }nd'}|d |d  }|%d,kr&|d |d  |d | krd-}|d |d  }nd,}|d |d  }|%d-krx|d |d  |d | k rdd*}|d |d  }nd-}|d |d  }|%d*kr|d |d  |d | krd+}|d |d  }nd*}|d |d  }|%d+kr|d |d  |d | k rd.}|d |d  }nd+}|d |d  }||d |d < ||d |d < |%} qJqft|
|d dD ]V}|d | d*krZ|j|
|df  }3|j||d df  }4|4|3krZd}qZt|d |d dD ]}|d | d'ks |d | d-ks |d | d+krt|d |d dD ]l}|d | d'ksN|d | d-ksN|d | d+kr|d | |d | k rtd} qn
d} qq qq qq|||||d/}5||5fS )0u  
        DD -2
        Kai -1
        GG 2
        Luo 1
        从后向前找，如果第一个找到-2，即当前在上涨趋势中
        1，下跌趋势中找底分型，
        2，两个底分型之间找最高点（或碰MA10或MA30的点）
        r6   r1   r3   r-   r:   r;   r   rx   ZJGVFXr      ZJGAFX   rE   r  r_  ZJGVr   r   rs  rp  r+   r  r   r   r  r   r@  zJGVFX 9g?r   78z-i am here Z01r  r   1zlastAFX is z ||| nextAFX is 452r   Z06r   r   r   r   r   )	rF   rE  r   absr   r   rl  r0  r/  )6r   r   r3  r@   r  r6   r1   r3   r-   r:   r;   r  r   ZKJdoner   r   r   r   Z
CurrentJGVZminlpercentZminllocationZmaxhpercentZmaxhlocationr   ri  ZminlpercentnewZlowhighZlowlowru  ZcurrentHighZcurrentHighLocationZ	high2ma10Zhigh2ma5Zcomp_OKZnextVFXZlastVFXZ	high2ma30ZlastFXisZ	lowbeforeZlowafterZmaxhpercentnewZhighlowZhighhighZ
currentLowZcurrentLowLocationZlow2ma10Zlow2ma5ZnextAFXZlastAFXZlow2ma30ZXDKJZ
highbeforeZ	highafterperiodJGr   r   r   cal_jg_JGmoduleZ  s   

 




((







 66


 






((







 66

zKdata.cal_jg_JGmodulec                 C   s(   ||||d|d}| j j|dd| _ d S )Nr   )modulerZ   reasonr   perr@   Trv   )rZ   r   )r   r  rZ   r  r   r@   Ztmppnsr   r   r   topns&  s    zKdata.topnsc                 C   s~  |  ddd|d | j|  |  ddd|d | j|  |  ddd|d | j|  |  ddd|d | j|  | j| }d|ksd	|ksd
|kr|dkr|  ddd|d | j|  t|d dkr|d d
kr|dkr|dkr|  ddd|d | j|  d|ksd|krz|dkrz|  ddd|d | j|  t|d dkrz|dkrz|dkrz|  ddd|d | j|  d S )Nr-   Pr2   r3   Sr1   r0   r  r   r   r   rE   r   r   r   r   r   r  r  r+   )r  rB   r-   r  )r   r  r  r@   Ztmpqsr   r   r   cal_qsjg_pns)  s    
 ,&zKdata.cal_qsjg_pnsc                    s   j d dkrp j d  j d  d  jd krp j d  j d  j d  j d  j d  j d	  j d
 d _ jd dkr jd  jd  d  jd kr  j jd  jd  jd  jd  jd  jd	  jd
 d _ jd dkrh jd  jd  d  jd krh  j jd  jd  jd  jd  jd  jd	  jd
 d _ jd dkr jd  jd  d  jd kr  j jd  jd  jd  jd  jd  jd	  jd
 d _ jd dkrd jd  jd  d  jd krd  j jd  jd  jd  jd  jd  jd	  jd
 d _ jd dkr jd  jd  d  jd kr  j jd  jd  jd  jd  jd  jd	  jd
 d _  j j d  j	d  j	j
d d   j	d  j	j
d d  d _tjj jddgd}| jddid}|dd d! |d  fd"d#|d < |d  d|d < |jd d$d%}|jd&d'}|jd |_| _d S )(Nr1   r   r3   r   r   r2   r0   r@  r   r   )ZmGGZmLuoZmDDZmKaiZmma5Zmma10Zmma30r   )ZwGGZwLuoZwDDZwKaiZwma5Zwma10Zwma30r   )ZdGGZdLuoZdDDZdKaiZdma5Zdma10Zdma30r   )ZtGGZtLuoZtDDZtKaiZtma5Ztma10Ztma30r   )ZfGGZfLuoZfDDZfKaiZfma5Zfma10Zfma30r   )ZoGGZoLuoZoDDZoKaiZoma5Zoma10Zoma30r   r  r  )r   Hrq   r   r   )orientr   ru   r  r+   pctr   c                    s   |  j d  d d S )Nr   r   r&   )rM   r  ra   r   r   r
  k  r  z%Kdata.cal_qs_pnsall.<locals>.<lambda>FrQ  r   Tdrop)rM   rD   rY   rN   rH  rO   rP   rQ   rR   rI   r   r   r   	from_dictreset_indexrenamerE  r   r   rV  r   ZPnSpd)r   Ztmppdr   ra   r   cal_qs_pnsall9  s    "   "   $   $   $   $   <zKdata.cal_qs_pnsallc                 C   s   | j D ]}qd S r   )rA   )r   r   r   r   r   cal_qs_pnsbyperiodq  s    
zKdata.cal_qs_pnsbyperiodc                 C   s	  | j }d| jd kr$||d dk }d| jd krB||d dk }d| jd kr`||d dk }d| jd	 kr~||d d
k }d| jd kr||d dk }d| jd kr||d dk }| j| jd | jd d k }|jdd}|d d }|d d }||d |k |d |k@  }|jdd}t| | j | j d dk| j d dkB  }|dddg }|jdd}z| j | j d dk| j d dkB | j d dkB  }|jdd}z||d dk jd }W n   d}Y nX ||d dk jd }t||}z||d dk jd }	W n   d}	Y nX ||d dk jd }
t|	|
}	|||	d   }|dddg }|jdd}W n   t	
 }Y nX z| j | j d dk| j d dkB | j d dkB | j d dkB  }|jdd}z||d d!k jd }W n   d}Y nX ||d dk jd }t||}z||d d"k jd }	W n   d}	Y nX ||d dk jd }
t|	|
}	|||	d   }|dddg }|jdd}W n   t	
 }Y nX z| j | j d dk| j d dkB | j d dkB | j d d
kB | j d dkB  }|jdd}z||d d#k jd }W n   d}Y nX ||d dk jd }t||}z||d d$k jd }	W n   d}	Y nX ||d dk jd }
t|	|
}	|||	d   }|dddg }|jdd}W n   t	
 }Y nX z,| j | j d dk| j d dkB | j d dkB | j d d
kB | j d dkB | j d dkB  }|jdd}z||d d%k jd }W n   d}Y nX ||d dk jd }t||}z||d d&k jd }	W n   d}	Y nX ||d dk jd }
t|	|
}	|||	d   }|dddg }|jdd}W n   Y nX z:| j | j d dk| j d dkB | j d dkB | j d d
kB | j d dkB | j d dkB | j d dkB  }|jdd}z||d d'k jd }W n   d}Y nX ||d dk jd }t||}z||d d(k jd }	W n   d}	Y nX ||d dk jd }
t|	|
}	|||	d   }|dddg }|jdd}W n   Y nX t	j||||||gd d)}|d}||d d*k }|}|}|}|}|}d| jd kr||d |k |d |k@  }d| jd kr||d |k |d |k@  }d| jd kr2||d |k |d |k@  }d| jd	 kr^||d |k |d |k@  }d| jd kr||d |k |d |k@  }d| jd kr||d |k |d |k@  }t	j||||||gd d)}|d}|   t| j d+| jd  d,| jd  d-| jd  d.| jd	  d/| jd  d0| jd  d1}td2| d3 t| td2| d3 t| td2| d3 || _|| _d S )4Nr   r   r@   r    r   r!   r   r"   r   r#   r   r$   r   r%   r   r   Tr  rS  r   rU  r   r  r,   r  r  ZGG_wr&   ZH_ZDD_wZL_r   ZGG_dZDD_dZGG_tZDD_tZGG_fZDD_fZGG_oZDD_or'  Zfakez--M:z-------------W:z-------------D:z-------------T:z--------------F:z-------------O:z
----------z[0;31;40m	 z [0m)rZ   r-   r^   r   r  r   r   r0  r/  r   r   r1  rF  rX  r[   r\   )r   ZnewpnsZnewhavelistZmaxpriceZminpriceZpnsmZpnswZstartxZstartx1ZendxZendx1ZpnsdZpnstZpnsfZpnsor[   ZnewpnsmZnewpnswZnewpnsdZnewpnstZnewpnsfZnewpnsor\   Ztmpstrr   r   r   cal_pnsy  s6         "0



>



L



Z



h




      

NzKdata.cal_pnsc                 C   s  |d d }|| ||dddddddddddddddddddddddddddd}dddddd}|j d }|dk r~|||fS | ||}| ||}| ||}| ||}| ||}| ||||\}}| ||| | ||||\}}| 	||| |||fS )Nr   rs  c   r  r  r   r'   )
r   rw  rx  ry  rz  r  r  r  r  r  )r   r   r   r@   r  r  r  r3  r   r   r   r   '  sf    "!
 
zKdata.cal_qsc                 C   s  |  | j| jd\| _| _| _|  | j| jd\| _| _| _|  | j| jd\| _| _	| _
|  | j| jd\| _| _| _|  | j| jd\| _| _| _|  | j| jd\| _| _| _|   |   | ddd| jd	 | jjd
 d  d | ddd| jd | jjd
 d  d | ddd| jd d t| jd | jd  d d d| jd< | j| jd d
k| jd dk@  }| j|jdd| _| j| jd d
k | jd dk@  }| j|jdd| _| jjdgdd| _| jd d | jd  | jd< |   d S )Nr   r   r   r   r   r   r,   r  r  r   r   rq   r  r   r   r&   r  rZ   r  F)keepr  r  r  _r@   )r   rG   r   rM   rS   rH   rN   rT   rI   rO   rU   rJ   rP   rV   rK   rQ   rW   rL   rR   rX   r  r  r  r   r   rZ   r   r   rV  r  )r   Zpns1r   r   r   rg     s&    (((""zKdata.cal_qs_all)N)6__name__
__module____qualname____doc__r
   r   rc   rb   ro   r   r   r   r   r   r   r   r   r   rd   r   re   r   r   r   r"  r#  r$  r%  r5  r  r   rf   r>  rH  rX  rW  rk  rm  rw  rx  ry  rz  r  r  r  r  r  r  r  r  r  r   rg   __classcell__r   r   r   r   r      sp   26p.r	F $- X    O8 /Zr   )*oneclass.onedbr   osr   sysr}   r  r  r   r8  warningsr   xlrd	tracebacknumpyr   pandasr   tusharer~   
sqlalchemyr   pymysqlmultiprocessingr   	set_token
set_optionfilterwarningsdurtimedurting1FocusPerioduihandleplockr   r   r   	mysqlhostr   r_   r`   r   r   r   r   r   r   <module>   s   `

