
    fie                        d Z ddlZddlZddlZddlmZ ddlmZ ddlZ	ddl
Z
ddlmZ ddlmZmZ ddlmZ  ej                    Z e	j        g dg d	d
          Z e	j        g dg dd
          Zdej        fdedefdZdej        fdedede	j        fdZdej        fdedede	j        fdZdej        fdedede	j        fdZdej        fdedefdZdej        fdedefdZdej        fdedede	j        fdZdej        fdedede	j        fdZ ddej        fdededefdZ!e"dk    r e!dddg          Z# e$e#           dS dS )u   
Date: 2025/7/21 15:00
Desc: 每日注册仓单数据
大连商品交易所, 上海期货交易所, 郑州商品交易所, 广州期货交易所
    N)BytesIO)List)cons)requests_linkpandas_read_html_link)chinese_to_english)CUALZNRUFUAURBWR)iWt  iZ iA i i    i8 r   )varreceipt)i.  i1} i" ie  i     i  r   date	vars_listc                    t          |t                    st          j        d          S | t	          j        |           nt          j                                        } | 	                    d          t          vr,t          j        | 	                    d           d           dS d}| 	                    d          dd}t          j        ||          }|                                }t          j        |d	         d
                   }t          j                    |                    d          D ]}t          |d         t"                    r|d         dd         dk    r|d         dd         }t%          |          t'          |d                   t'          |d                   | 	                    d          d}	t          j        t          j        |	dg          g          t+          j                  dk    r,d         _        fd|D             }
j        |
ddf                             d          S )u  
    大连商品交易所-注册仓单数据
    http://www.dce.com.cn/dce/channel/list/187.html
    :param date: 开始日期: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象, 为空时为当天
    :type date: str
    :param vars_list: 合约品种如 RB, AL等列表, 为空时为所有商品数据从 20060106开始，每周五更新仓单数据。直到20090407起，每交易日都更新仓单数据
    :type vars_list: list
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
       vars_list: 必须是列表N%Y%m%d   非交易日zEhttp://www.dce.com.cn/dcereport/publicweb/dailystat/wbillWeeklyQuotesall)	tradeDate	varietyId)jsondata
entityListrecords)orientvariety   小计wbillQtydiffr   r   receipt_chgr   r   indexr   c                 &    g | ]}|j         v |S  r*   .0ir!   s     B/usr/local/lib/python3.11/dist-packages/akshare/futures/receipt.py
<listcomp>z#get_dce_receipt.<locals>.<listcomp>M   %    EEE!w}2D2D!2D2D2D    Tdrop)
isinstancelistwarningswarnr   convert_datedatetimer   todaystrftimecalendarrequestspostr   pd	DataFrameto_dictstrr   intconcatlenr+   locreset_index)r   r   urlpayloadr	data_jsontemp_dfxr   	temp_datavars_in_marketr!   s              @r1   get_dce_receiptrS   %   s*    i&& ;}9:::&*&64T"""HM<O<O<Q<QD}}Xh..x00>>>???t
QC]]8,, G 	c(((AIl9V,\:;;GlnnG__I_.. 
S 
Sa	lC(( 		S|BCC H,,	l3B3'-c22"1Z=11#&qy>> MM(33	 	 )Wbl9QC.P.P.P$QRR
7=QEEEEYEEE+naaa/0D)))r4   returnc                 t  	
 t          |t                    st          j        d          | 't	          j        |                               d          nt          j        	                                } | t          vr=t          j        |                     d           d           t          j                    S | dk    r| t          d<   t          S | dk    r| t          d<   t          S | dv r"t          d	           t          j                    S g d
t          j        | z  }t#          |          d         		fd	j        D             }	fd	j        D             d         dz
  }t          j                    
t          t'          t)          |                              D ]<}|t)          |          dz
  k    r&	j        ||         ||dz            dz
  ddf         }n/	j        ||         |ddf         }|                    d          }t/                      }t1          |d                                         d                   |d<   t5          |d                                         d                   |d<   t5          |d                                         d                   |d<   | |d<   t          j        
t          j        |dg          g          
>t)          
j                  dk    r,
d         
_        
fd|D             }
j        |ddf         

                    d          S )u  
    上海期货交易所-注册仓单数据-类型1
    适用 20081006 至 20140518(包括)、20100126、20101029日期交易所格式混乱，直接回复脚本中 pandas.DataFrame, 20100416、20130821日期交易所数据丢失
    :param date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象为空时为当天
    :type date: str
    :param vars_list: 合约品种如RB、AL等列表为空时为所有商品
    :type vars_list: list
    :return: 注册仓单数据-类型1
    :rtype: pandas.DataFrame
       symbol_list: 必须是列表Nr   r   20100126r   20101029)2010041620130821u(   20100416、20130821交易所数据丢失)u   天然橡胶u   沥青仓库u   沥青厂库u   热轧卷板u	   燃料油u   白银u   线材u	   螺纹钢u   铅u   铜u   铝u   锌u   黄金u   锡u   镍r   c                 X    g | ]&}d                                           |         v $|'S )r   )tolist)r/   rP   r   var_lists     r1   r2   z&get_shfe_receipt_1.<locals>.<listcomp>   s6    NNNT!W^^-=-=a-@H-L-L1-L-L-Lr4   c                 r    g | ]3}d t          d                                         |                   v 1|4S )u   注r   rE   r\   r/   rP   r   s     r1   r2   z&get_shfe_receipt_1.<locals>.<listcomp>   s>    QQQAuDGNN<L<LQ<O8P8P/P/Pa/P/P/Pr4      padmethodr      r      r)   r*   c                 &    g | ]}|j         v |S r-   r*   r.   s     r1   r2   z&get_shfe_receipt_1.<locals>.<listcomp>   r3   r4   Tr5   )r7   r8   r9   r:   r   r;   r>   r<   r   r=   r?   rB   rC   shfe_20100126shfe_20101029printSHFE_RECEIPT_URL_1r   r+   rangerH   rI   fillnadictr   r\   rF   rG   rJ   )r   r   rK   indexes
last_indexr0   data_cut	data_dictrR   r   r!   r]   s            @@@r1   get_shfe_receipt_1rt   R   s5    i&& <m:;;;  	$((222]  "" 	
 8x00>>>???|~~z $f			 $f	)	)	)8999|~~
 
 
" %,$S))!,NNNNNdjNNNQQQQQQQRSTWXX
,..eCLL))** 	O 	OACLL1$$$8GAJQ!1C$CQQQ$FG8GAJ$;QQQ$>?#??%?88I1(1+2D2D2F2Fq2IJJIe#&x{'9'9';';B'?#@#@Ii '*8A;+=+=+?+?+C'D'DIm$ $Ifi",y*L*L*L MNNGG
7=QEEEEYEEE+naaa/0D)))r4   c                    t          |t                    st          j        d          | 't	          j        |                               d          nt          j        	                                } | t          vr=t          j        d|                     d          z             t          j                    S t          j        | z  }t          |dt          j                  }	 |                                }n#  t          j                    cY S xY wt          j        |d                   }t#          |j                  dk     rt          j                    S t          j                    t'          |d	                                                   D ]h}||d	         |k             }d
|v r^d
t+          |d                                         d                   t+          |d                                         d                   | d}n~t-          t/          j        dd|                    t+          |d                                         d                   t+          |d                                         d                   | d}t          j        t          j        |dg          g                              d          ddg                                                                         }	| |	d<   |	jt#          j                  dk    r,d         _        fd|D             }
j        |
ddf                             d          S )  
    上海期货交易所-注册仓单数据-类型2
    适用 20140519(包括)-至今
    :param date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天
    :type date: str
    :param vars_list: 合约品种如 RB、AL 等列表 为空时为所有商品
    :type vars_list: list
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
    rV   Nr      %s 非交易日utf-8encodingheaderso_cursorra   VARNAMEBCWRTWGHTSrf   	WRTCHANGEr(   z\W|[a-zA-Z] r   r*   r   r   r)   r   c                 &    g | ]}|j         v |S r-   r*   r.   s     r1   r2   z&get_shfe_receipt_2.<locals>.<listcomp>   r3   r4   Tr5   )r7   r8   r9   r:   r   r;   r>   r<   r   r=   r?   rB   rC   SHFE_RECEIPT_URL_20250701r   shfe_headersr   rH   columnssetr\   rF   r   resubrG   groupbysumrJ   r+   rI   )r   r   rK   rM   contextr   r   rr   rs   temp_recordsrR   r!   s              @r1   get_shfe_receipt_2r      s    i&& <m:;;;  	$((222]  "" 	
 8'$--*A*AABBB|~~

(4
/CcGT5FGGGA&&((|~~<
+,,D
4<1|~~lnnG4	?))++,,  Y3./3;;x
3::<<R@AA"8K#8#?#?#A#A"#EFF	 II *"&S*I*IJJx
3::<<R@AA"8K#8#?#?#A#A"#EFF	 I )Wbl9QC&H&H&HIJJOOE""I}#=>BBDDPPRR 	  $V
7=QEEEEYEEE+naaa/0D)))s   $C9 9Dc                    t          |t                    st          j        d          | 't	          j        |                               d          nt          j        	                                } | t          vr=t          j        d|                     d          z             t          j                    S d|  d}t          j        |t          j                  }dd	lm} t          j         ||j                            }t)          |           t          j                    t+          d
t)          |                    D ]}t          j         ||j                            |         }t-          |j        d                   t1          |j        d                   t1          |j        d                   | d}t          j        t          j        |dg          g                              d          ddg                                                                         }	| |	d<   |	t)          j                  dk    r,d         _        fd|D             }
j        |
ddf                             d          S )rv   rV   Nr   rw   zChttps://www.shfe.com.cn/data/tradedata/future/stockdata/dailystock_z/ZH/all.html)r{   r   )StringIOra   )r   ra   )rf   re   )rf   rg   r(   r*   r   r   r)   r   c                 &    g | ]}|j         v |S r-   r*   r.   s     r1   r2   z&get_shfe_receipt_3.<locals>.<listcomp>  r3   r4   Tr5   )r7   r8   r9   r:   r   r;   r>   r<   r   r=   r?   rB   rC   r@   getr   ior   	read_htmltextrH   rm   r   ilocrF   rG   r   r   rJ   r+   rI   )r   r   rK   rM   r   temp_tables	table_numrO   rs   r   rR   r!   s              @r1   get_shfe_receipt_3r      sk    i&& <m:;;;  	$((222]  "" 	
 8'$--*A*AABBB|~~
bPT
b
b
bCS$"3444A,xx//00KlnnG1c+..//  	,xx//00;%gl4&8997<.//w|E233	
 
	 )Wbl9QC&H&H&HIJJOOE""I}#=>BBDDPPRR 	  $V
7=QEEEEYEEE+naaa/0D)))r4   c           
         | 't          j        |                               d          nt          j                                        } | t          vr,t          j        d|                     d          z             dS | dk    rt          j
                    S t           j        | z  }t          |dt           j                  }|j        }t          j        |          d         t          j
                    fdj        D             }fd	j        D             }t#          t%          t'          |                              D ]}|t'          |          dz
  k    r6j        ||         ||         ddf         }|                    d
          }n/j        ||         dddf         }|                    d
          }d|d                                         d         v rd}	nIt/          t1          j        dd|d                                         d         dd                             }	|	dk    rA|d                                         d         }
|d                                         d         }n@|d                                         d         }
|d                                         d         }|	t5          |
          t5          |          | d}t          j        t          j
        |dg          g          t'          j                  dk    r,d         _        fd|D             }j        |ddf                             d          S )u  
    郑州商品交易所-注册仓单数据
    适用 20080222 至 20100824(包括)
    :param date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天
    :type date: str
    :param vars_list: list
    :type vars_list: 合约品种如 CF、TA 等列表 为空时为所有商品
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
    Nr      %s非交易日20090820rx   ry   ra   c                 r    g | ]3}d t          d                                         |                   v 1|4S )u	   品种：r   r_   r`   s     r1   r2   z&get_czce_receipt_1.<locals>.<listcomp>'  s>    PPPQs47>>;K;KA;N7O7O(O(Oq(O(O(Or4   c                 r    g | ]3}d t          d                                         |                   v 1|4S )u   总计r   r_   r`   s     r1   r2   z&get_czce_receipt_1.<locals>.<listcomp>(  s>    JJJ!XT!W^^5E5Ea5H1I1I%I%IA%I%I%Ir4   rb   rc   PTAr   TA[A-Z]+r   rg   CF   rf         r(   r*   r   c                 &    g | ]}|j         v |S r-   r*   r.   s     r1   r2   z&get_czce_receipt_1.<locals>.<listcomp>C  r3   r4   Tr5   )r   r;   r>   r<   r   r=   r?   r9   r:   rB   rC   CZCE_RECEIPT_URL_1r   r   r   r   r+   r8   rm   rH   rI   rn   r\   r   r   r   rF   rG   rJ   )r   r   rK   rM   r   rp   endsr0   rr   r   r   r)   rs   rR   r   r!   s                 @@r1   get_czce_receipt_1r     s<     	$((222]  "" 	
 8&x)@)@@AAAtz|~~

!D
(CcGT5FGGGAfG<  #DlnnGPPPP$*PPPGJJJJtzJJJD%G%%&& K KGq   x
T!W 4aaa 78He44HHx
aaa0He44HHQK&&((+++CC$RVIr8A;;M;M;O;OPQ;RSTSUSU;V%W%WXXC$;;qk((**2.G"1+,,..r2KKqk((**2.G"1+,,..r2K7||{++	
 
	 )Wbl9QC&H&H&HIJJ
7=QEEEEYEEE+naaa/0D)))r4   c                    t          |t                    st          j        d          S | 't	          j        |                               d          nt          j        	                                } | t          vr,t          j        d|                     d          z             dS t          j        | dd         | fz  }t          j        |          }d|_        t          j        |j                  dd         }t          j                    |D ]t'          j                  dk    rfdj        D             }t'          |          d	k    r|d	         d
z
  }j        d|ddf         dd	                                         d	         v rd}nfd	                                         d	         }|                    d          d	         dd         }	t3          t5          j        dd|	                    }j        d
                                         _        d                                         d         }
d                                         d         }|t;          |
          t;          |          | d}t          j        t          j        |d	g          g          t'          j                  d	k    r,d         _        fd|D             }j        |ddf                             d          S )u  
    郑州商品交易所-注册仓单数据
    http://www.czce.com.cn/cn/jysj/cdrb/H770310index_1.htm
    适用 20100825(包括) - 20151111(包括)
    :param date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天
    :type date: str
    :param vars_list: 合约品种如 CF、TA 等列表为空时为所有商品
    :type vars_list: list
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
    rV   Nr   r      rx   rg   c                 r    g | ]3}d t          d                                         |                   v 1|4S )u   注：r   r_   )r/   rP   rr   s     r1   r2   z&get_czce_receipt_2.<locals>.<listcomp>e  sH       XXa[=O=O=Q=QRS=T9U9U-U-U-U-U-Ur4   r   ra   r   r    r   r      仓单数量rf      当日增减r(   r*   r   c                 &    g | ]}|j         v |S r-   r*   r.   s     r1   r2   z&get_czce_receipt_2.<locals>.<listcomp>}  r3   r4   Tr5   ) r7   r8   r9   r:   r   r;   r>   r<   r   r=   r?   CZCE_RECEIPT_URL_2r@   r   rz   rB   r   r   rC   rH   r   r+   rI   r\   splitr   r   r   TrF   rG   rJ   )r   r   rK   rM   r   last_indexesrq   r   stringsstringr   r)   rs   rR   rr   r!   s                 @@r1   get_czce_receipt_2r   H  s    i&& =};<<<  	$((222]  "" 	
 8&x)@)@@AAAt

!T"1"Xt$4
4CSAAJ<#DlnnG O Ox  1$$   #>  L <  1$$)!_q0
#<QQQ7**,,Q///"1+,,..q1 s++A.qrr2(	2v)F)FGG'z!}3355H~.5577;G">299;;B?Kw<<";//	 I i",y*L*L*L MNNG
7=QEEEEYEEE+naaa/0D)))r4   c           	         t          |t                    s"t          d           t          j                    S | 't          j        |                               d          nt          j	        
                                } | t          vr=t          j        d|                     d          z             t          j                    S t          |           dk    rd| dd          d|  d	}nd| dd          d|  d
}t          |dt
          j                  }t          j        t%          |j                            }|d d |j        dddf         j                            d          D             D                      }|                    dd           t          |d |j        dddf         j                            d          D                      j                  }t          |d |j        dddf         j                            d          D                      j                  dd         }|                    d           g }g }g }	t          j                    }
t5          t7          |                    D ]N}|||         ||                  }t9          j        d          }	 |                    |j        d                   d         }n#  Y YxY w|                    |           |j        dddf         |_        |j        ddddf         }|                     dd          }|dk    re	 |                    |d         j        d         t          |d         j        d                   z              n#  |                    d           Y nxY w|d k    r	 	 |                    |d         j        d!         t          |d         j        d!                   z              n-#  |                    |d         j        d!                    Y nxY wn`#  |                    d           Y nGxY w	 |                    |d"         j        d                    n#  |                    d           Y nxY w|d k    r(|	                    |d#         j        d!                    (|	                    |d#         j        d                    Pt          j        |||	| gt7          |	          z  g          j!        g d$_        d%         "                                }d& |D             d%<   t7          j                  dk    r,d%         _        fd'|D             }j#        |ddf         }
|
                    d(          S ))u  
    郑州商品交易所-注册仓单数据
    适用 20151008-至今
    http://www.czce.com.cn/cn/jysj/cdrb/H770310index_1.htm
    :param date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天
    :type date: str
    :param vars_list: 合约品种如 CF、TA 等列表为空时为所有商品
    :type vars_list: list
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
    r   Nr   r   i5z0http://www.czce.com.cn/cn/DFSStaticFiles/Future/r   /z/FutureDataWhsheet.xlsxz/FutureDataWhsheet.xlsrx   ry   c                 2    g | ]}t          d |z
            S )ra   )boolr/   items     r1   r2   z&get_czce_receipt_3.<locals>.<listcomp>  s2     	
 	
 	
 TNN	
 	
 	
r4   c                 2    g | ]}|t           j        ur|nd S F)rB   NAr   s     r1   r2   z&get_czce_receipt_3.<locals>.<listcomp>  s8        BE))u  r4   r   u   非农产品T)inplacer6   c                 >    g | ]}t          j        |          s|nd S r   rB   isnullr   s     r1   r2   z&get_czce_receipt_3.<locals>.<listcomp>  9        IdOO6  r4   u   品种c                 >    g | ]}t          j        |          s|nd S r   r   r   s     r1   r2   z&get_czce_receipt_3.<locals>.<listcomp>  r   r4   ra   r   )r   r   re   r   )axishowr   u   仓单数量(完税)rf   u   仓单数量(保税)MAr$   r   r   r(   r   c                 "    g | ]}|d k    r|ndS )r   r   r-   r   s     r1   r2   z&get_czce_receipt_3.<locals>.<listcomp>  s$    LLL$demmddLLLr4   c                 &    g | ]}|j         v |S r-   r*   )r/   r0   data_dfs     r1   r2   z&get_czce_receipt_3.<locals>.<listcomp>  r3   r4   r5   )$r7   r8   rk   rB   rC   r   r;   r>   r<   r   r=   r?   r9   r:   rF   r   r   
read_excelr   contentr   rE   containsrJ   r+   appendrm   rH   r   compilefindallr   dropnar   r\   rI   )r   r   rK   rM   rO   range_list_onerange_list_twosymbol_listreceipt_listreceipt_chg_listr!   pageinner_dfregsymbol	temp_listrR   r   s                    @r1   get_czce_receipt_3r     s    i&& *+++|~~  	$((222]  "" 	
 8&x)@)@@AAA|~~
4yy8ibqbiiDiiihbqbhhDhhhcGT5FGGGAmGAI..//G	
 	
 #LA.2;;NKK  	
 	
 	
G 4000 #LA.2;;HEE  	

  N  #LA.2;;HEE  	

   bb
N $KLlnnGc.))** (G (G>$/.2FFGj##	[[t!455a8FF	H6"""#=AAA.=QQQ'??u?55U??'##349"=(#9:?CDDE   '##A&&&&&t^^' '' !78=bAh'=>CBGHHI    '' !78=bA    '##A&&&&&'##H^$<$A"$EFFFF'##A&&&&&T>>##H^$<$A"$EFFFF##H^$<$A"$EFFFFl	l$4tfsCS?T?T6TU   @??GO%%''ILL)LLLGEN
7=QEEEEYEEE+naaa/0D)))sD   .&KK8AN  N$AO,+P,(PPP37&QQ7c                 b   t          |t                    st          j        d          | t	          j        |           nt          j                                        } | 	                    d          t          vr=t          j        | 	                    d           d           t          j                    S d}d|                                                     dd          i}d	d
ddddddddddddd}t          j        |||          }|                                }t          j        |d                   }||d         j                            d                   }|ddg                                         }|j        rt          j                    S |                                                     dd          |j        dddf<   d |d                                         D             |j        ddd f<   |                    d!d!"           |                    d#d$d%d!&           |g d'         }|                    d gd!(           d)|j        vr|                    d)           d*|j        vr|                    d*           |j        |ddf         }|                    d!+           |S ),u  
    广州期货交易所-注册仓单数据
    http://www.gfex.com.cn/gfex/cdrb/hqsj_tjsj.shtml
    :param date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天
    :type date: str
    :param vars_list: 合约品种如 SI 等列表为空时为所有商品
    :type vars_list: list
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
    r   Nr   r   zBhttp://www.gfex.com.cn/u/interfacesWebTdWbillWeeklyQuotes/loadListgen_date-r   z.application/json, text/javascript, */*; q=0.01zgzip, deflatezzh-CN,zh;q=0.9,en;q=0.8zno-cache32z0application/x-www-form-urlencoded; charset=UTF-8zwww.gfex.com.cnzhttp://www.gfex.com.cnz
keep-alivez0http://www.gfex.com.cn/gfex/rihq/hqsj_tjsj.shtmlzoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36XMLHttpRequestz!application/x-www-form-urlencoded)AcceptzAccept-EncodingzAccept-LanguagezCache-ControlzContent-LengthzContent-TypeHostOriginPragmazProxy-ConnectionRefererz
User-AgentzX-Requested-Withzcontent-type)r   r{   r   r#   r%   r&   r'   r   c                 6    g | ]}|                                 S r-   )upperr   s     r1   r2   z$get_gfex_receipt.<locals>.<listcomp>%  s-       

  r4   varietyOrderr   Tr6   r   r   r)   )r&   r'   )r   r   r(   )keysr   LCPS)r   )r7   r8   r9   r:   r   r;   r<   r   r=   r>   r?   rB   rC   	isoformatreplacer@   rA   r   rE   r   copyemptyrI   r\   rJ   rename	set_indexr+   remove)	r   r   rK   rL   r{   rM   rN   rO   	result_dfs	            r1   get_gfex_receiptr     s    i&& :m8999&*&64T"""HM<O<O<Q<QD}}Xh..x00>>>???|~~
NC4>>++33C<<=GB*4#J!*(E),; G" 	c999AIl9V,--Ggi(,55h??@GV,-2244I |~~#~~//77R@@IM!!!V) !(!8!?!?!A!A  IM!!!U( tT222!!
 
      CCCDIeWd3339?""9?""il+I$'''r4   
start_dateend_datec                 r   t          |t                    st          j        d          S | t	          j        |           nt          j                                        } |t	          j        |          nAt	          j        t	          j	        t          j        
                                                    }t          j                    }| |k    r|                     d          t          vr,t          j        |                     d           d           n_t          |            t          j                                        D ]0\  }d}|dk    r6| t          j        ddd          k    r	t$          }nt          d	           d}n|d
k    rt          j        ddd          | cxk    rt          j        ddd          k    rn n	t&          }nit          j        ddd          | cxk    rt          j        ddd          k    rn n	t(          }n(| t          j        ddd          k    r	t*          }nd}t          d           n|dk    r4| t          j        ddd          k    rt,          }nd}t          d           n|dk    rt          j        ddd          | cxk    rt          j        ddd          k    rn nt.          }nst          j        ddd          | cxk     rt          j        ddd          k    rn nt0          }n3| t          j        ddd          k    rt2          }nd}t          d           fd |D             }|d!k    r(|g k    r"| t          j        | || |          g          }2| t          j        d"#          z  } | |k    |                    d$d$%           |j        r|S |S )&u  
    大宗商品-注册仓单数据
    :param start_date: 开始日期 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象 为空时为当天
    :type start_date: str
    :param end_date: 结束数据 format：YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象 为空时为当天
    :type end_date: str
    :param vars_list: 合约品种如 RB、AL 等列表为空时为所有商品
    :type vars_list: str
    :return: 注册仓单数据
    :rtype: pandas.DataFrame
    r   Nr   u    非交易日dcei  r   r   uE   20090407 起，大连商品交易所每个交易日更新仓单数据shfei  
   r   i  r      i        uE   20081006 起，上海期货交易所每个交易日更新仓单数据gfexi  r      czcerg   i        i  uE   20080303 起，郑州商品交易所每个交易日更新仓单数据c                     g | ]}|v |	S r-   r-   )r/   r   market_varss     r1   r2   zget_receipt.<locals>.<listcomp>  s#    KKKC{8J8JC8J8J8Jr4   cffexra   )daysTr   )r7   r8   r9   r:   r   r;   r<   r   r=   get_latest_data_datenowrB   rC   r>   r?   rk   market_exchange_symbolsitemsrS   rt   r   r   r   r   r   r   rG   	timedeltarJ   r   )r   r   r   r!   marketfget_varsr  s          @r1   get_receiptr  ;  sJ     i&& ;}9::: ! 	*%%%]  ""   	(###t89J9N9N9P9PQQRR 
 lnnG

 
 x((88MZ00::IIIJJJJ*'+'C'I'I'K'K 5P 5P#U??!X]4A%>%>>>+efff v%% dB22%6 6 6 6#=q"556 6 6 6 6 / dAr22%7 7 7 7#=r2667 7 7 7 7 /#hmD"b&A&AAA. effffv%%!HM$B$?$???, effffv%% dAq11%6 6 6 6#=q"556 6 6 6 6 / dAr22$7 7 7 7#=r2667 7 7 7 7 /#hmD"b&A&AAA. efffKKKK9KKKW$$R}"$)Waa
H6M6M,N"O"Oh(a0000
w 
 
 x T4000} Nr4   __main__20260130r   )r   r   r   )%__doc__r<   r   r9   r   r   typingr   pandasrB   r@   akshare.futuresr   akshare.futures.requests_funr   r   akshare.futures.symbol_varr   get_calendarr?   rC   ri   rj   contract_symbolsrE   rS   rt   r   r   r   r   r   r   r  __name__get_receipt_dfrk   r-   r4   r1   <module>r     s     				                               M M M M M M M M 9 9 9 9 9 94???III   ???GGG   !%8M ** **# ** ** ** ** **\ (=G* G*
G*!%G*\G* G* G* G*V (=;* ;*
;*!%;*\;* ;* ;* ;*~ (=0* 0*
0*!%0*\0* 0* 0* 0*f $(4;P 8* 8*S 8*D 8* 8* 8* 8*v $(4;P 7* 7*S 7*D 7* 7* 7* 7*v (=q* q*
q*!%q*\q* q* q* q*j (=B B
B!%B\B B B BL +\ \\\ \ \ \ \~ z [
tf  N 
E.	 r4   