o
    i                     @   s   d Z ddlZddlZddlmZ ddlm	Z
 ddlmZ ejZeedd dks5eedd dkr<dd	lmZ ndd	lmZ dd
dZdddZdddZdddZdddZdS )u   
上海银行间同业拆放利率（Shibor）数据接口
Created on 2014/07/31
@author: Jimmy Liu
@group : waditu
@contact: jimmysoa@sina.cn
    N)cons)dateu)Client.      )StringIOc              	   C   s   | du rt  n| } tjd }tjr|dn|}zPttjtjd tj	d tj
d d| || f d}| }tt|}tj|_|d d	d
 |d< tjdk r^|d tj|d< |W S |d d|d< |W S    Y dS )ui  
    获取上海银行间同业拆放利率（Shibor）
    Parameters
    ------
      year:年份(int)
      
    Return
    ------
    date:日期
    ON:隔夜拆放利率
    1W:1周拆放利率
    2W:2周拆放利率
    1M:1个月拆放利率
    3M:3个月拆放利率
    6M:6个月拆放利率
    9M:9个月拆放利率
    1Y:1年拆放利率
    NShiborutf-8httpshibordwurldatec                 S      |   S Nr   x r   G/opt/alphahud/venv/lib/python3.10/site-packages/tushare/stock/shibor.py<lambda>2       zshibor_data.<locals>.<lambda>0.21datetime64[D])duget_yearctSHIBOR_TYPEPY3encoder   SHIBOR_DATA_URLP_TYPEDOMAINSPAGESgvaluepd
read_excelr   SHIBOR_COLScolumnsmap__version__astypenp
datetime64yearlabcltcontentdfr   r   r   shibor_data   s(   



r6   c              	   C      | du rt  n| } tjd }tjr|dn|}zSttjtjd tj	d tj
d d| || f d}| }tjt|dgd	}tj|_|d
 dd |d
< tjdk ra|d
 tj|d
< |W S |d
 d|d
< |W S    Y dS )u  
    获取Shibor银行报价数据
    Parameters
    ------
      year:年份(int)
      
    Return
    ------
    date:日期
    bank:报价银行名称
    ON:隔夜拆放利率
    ON_B:隔夜拆放买入价
    ON_A:隔夜拆放卖出价
    1W_B:1周买入
    1W_A:1周卖出
    2W_B:买入
    2W_A:卖出
    1M_B:买入
    1M_A:卖出
    3M_B:买入
    3M_A:卖出
    6M_B:买入
    6M_A:卖出
    9M_B:买入
    9M_A:卖出
    1Y_B:买入
    1Y_A:卖出
    NQuoter
   r   r   r   r   r   skiprowsr   c                 S   r   r   r   r   r   r   r   r   d   r   z#shibor_quote_data.<locals>.<lambda>r   r   )r   r   r   r   r    r!   r   r"   r#   r$   r%   r&   r'   r(   r   SHIBOR_Q_COLSr*   r+   r,   r-   r.   r/   r0   r   r   r   shibor_quote_data;   s(   



r<   c              	   C   s   | du rt  n| } tjd }tjr|dn|}zSttjtjd tj	d tj
d d| || f d}| }tjt|d	gd
}tj|_|d dd |d< tjdk ra|d tj|d< |W S |d d|d< |W S    Y dS )u   
    获取Shibor均值数据
    Parameters
    ------
      year:年份(int)
      
    Return
    ------
    date:日期
       其它分别为各周期5、10、20均价
    NTendencyr
   r   r   r   Shibor_Tendencyr   r   r9   r   c                 S   r   r   r   r   r   r   r   r      r   z shibor_ma_data.<locals>.<lambda>r   r   )r   r   r   r   r    r!   r   r"   r#   r$   r%   r&   r'   r(   r   SHIBOR_MA_COLSr*   r+   r,   r-   r.   r/   r0   r   r   r   shibor_ma_datam   (   



r@   c              	   C   r7   )u   
    获取贷款基础利率（LPR）
    Parameters
    ------
      year:年份(int)
      
    Return
    ------
    date:日期
    1Y:1年贷款基础利率
    NLPRr
   r   r   r   r   r   r9   r   c                 S   r   r   r   r   r   r   r   r      r   zlpr_data.<locals>.<lambda>r   r   )r   r   r   r   r    r!   r   r"   r#   r$   r%   r&   r'   r(   r   LPR_COLSr*   r+   r,   r-   r.   r/   r0   r   r   r   lpr_data   rA   rD   c              	   C   r7   )u   
    获取贷款基础利率均值数据
    Parameters
    ------
      year:年份(int)
      
    Return
    ------
    date:日期
    1Y_5:5日均值
    1Y_10:10日均值
    1Y_20:20日均值
    NLPR_Tendencyr
   r   r   r   r   r   r9   r   c                 S   r   r   r   r   r   r   r   r      r   zlpr_ma_data.<locals>.<lambda>r   r   )r   r   r   r   r    r!   r   r"   r#   r$   r%   r&   r'   r(   r   LPR_MA_COLSr*   r+   r,   r-   r.   r/   r0   r   r   r   lpr_ma_data   s(   



rG   r   )__doc__pandasr'   numpyr.   tushare.stockr   r   tushare.utilr   r   tushare.util.netbaser   r,   vintsplitior   pandas.compatr6   r<   r@   rD   rG   r   r   r   r   <module>   s   ,

'
2
!!