
    6i5j                         d Z ddlZddlZddlZddlmc mZ ddlm	c m
Z ddlmc mZ ddlm	c mZ ddlmc mZ ddlmc m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S )u   
宏观数据，宏观经济数据
@author: baostock.com
@group : baostock.com
@contact: baostock@163.com
@copyright: baostock System & alpha.All Rights Reserved.
    N c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   存款利率
    @param sart_date: 起始日期，包含次此日期，可为空
    @param end_date: 结束日期，包含次此日期，可为空
    Nr   *   起始日期格式不正确，请修改。*   结束日期格式不正确，请修改。%Y-%m-%d-   起始日期大于结束日期，请修改。user_idyou don't login.zquery_deposit_rate_data,,1,,utf-8encoding   网络接收错误。r                           	   )-rs
ResultDatastrUtilis_valid_dateprintconsBSERR_DATE_ERR
error_code	error_msgdatetimestrptimeBSERR_START_BIGTHAN_ENDgetattrconx	ExceptionBSERR_NO_LOGINstrBAOSTOCK_PER_PAGE_COUNTorganize_msg_body	msgheaderto_message_header)MESSAGE_TYPE_QUERYDEPOSITRATEDATA_REQUESTlenmsg_typemsg_bodyzlibcrc32bytessocksend_msgMESSAGE_SPLITstripBSERR_RECVSOCK_FAILMESSAGE_HEADER_LENGTHsplitmsg_body_lengthBSERR_SUCCESSmethodr	   cur_page_numper_page_countsetData
start_dateend_date	setFieldsrD   rE   datastart_date_timeend_date_timer	   paramr3   
msg_header	head_bodycrc32strreceive_data
header_arrbody_arrs                 M/usr/local/lib/python3.11/dist-packages/baostock/macroscopic/economic_data.pyquery_deposit_rate_datarS      s   
 =??DZ2--

 ,, 	>???"1DOIDNK8r>> ** 	>???"1DOIDNKRHNN"+44
$ $ )228ZHH?**ABBB":DOLDNKG$	**    !!!-+	 'W5=D())**oo #$&)(mm4E (//H,6HG GJ BDMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+ x{###K   $D: :3E0/E0c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   贷款利率
    @param sart_date: 起始日期，包含次此日期，可为空
    @param end_date: 结束日期，包含次此日期，可为空
    Nr   r   r   r   r   r	   r
   zquery_loan_rate_data,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,   r-   r.   r/   &MESSAGE_TYPE_QUERYLOANRATEDATA_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   rF   rG   s                 rR   query_loan_rate_datarW   k   s   
 =??DZ2--

 ,, 	>???"1DOIDNK8r>> ** 	>???"1DOIDNKRHNN"+44
$ $ )228ZHH?**ABBB":DOLDNKG$	**    !!!-+	 $c'll2U:D())**oo #$&)(mm4E (//H,3S]]D DJ ?DMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+ x{###KrT   0c                 L   t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S ||dk    r)t	          d           d|_        t
          j        |_        |S d}	 t          t          d          }n9# t          $ r, t	          d	           t
          j        |_        d	|_        |cY S w xY wd
t#          |          z   dz   t#          t
          j                  z   dz   t#          |           z   dz   t#          |          z   dz   t#          |          z   }t          j        |          }t)          j        t
          j        t/          |                    }	t
          j        |_        ||_        |	|z   }
t5          j        t9          |
d                    }t;          j        |
t
          j        z   t#          |          z             }||                                 dk    rt
          j!        |_        d|_        |S |dt
          j"                 }	|t
          j"        d         }|	#                    t
          j                  }|#                    t
          j                  }|d         |_$        |d         |_        |d         |_        t
          j%        |j        k    r|d         |_&        |d         |_'        |d         |_(        |d         |_)        |*                    |d                    |d         |_+        |d         |_,        |d         |_-        |.                    |d                    |S )u   存款准备金率
    @param sart_date: 起始日期，包含次此日期，可为空
    @param end_date: 结束日期，包含次此日期，可为空
    @param yearType: 日期类型，默认0为公告日期，1为生效日期
    Nr   r   r   r   r   u'   年份类别输入有误，请修改。r	   r
   z"query_required_reserve_ratio_data,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&   BSERR_PARAM_ERRr'   r(   r)   r*   r+   r,   r-   r.   r/   2MESSAGE_TYPE_QUREYREQUIREDRESERVERATIODATA_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   yearTyperF   )rD   rE   r]   rH   rI   rJ   r	   rK   r3   rL   rM   rN   rO   rP   rQ   s                  rR   !query_required_reserve_ratio_datar^      s    =??DZ2--

 ,, 	>???"1DOIDNK8r>> ** 	>???"1DOIDNKRHNN"+44
$ $ )228ZHH?**ABBB":DOLDNK8r>>7888B.G$	**    !!!-+	 13w<<?%GD())**oo #$&)(mm469:<?MMJE (//H,?XP PJ KDMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+  x|$$$Ks   E+ +3F! F!c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   货币供应量
    @param sart_date: 起始年月yyyy-MM，包含次此日期，可为空
    @param end_date: 结束年月yyyy-MM，包含次此日期，可为空
    Nr   u=   起始日期格式不正确，应为：yyyy-mm，请修改。u=   结束日期格式不正确，应为：yyyy-mm，请修改。z%Y-%mr   r	   r
   zquery_money_supply_data_month,r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )-r   r   r   is_valid_year_month_dater   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   .MESSAGE_TYPE_QUERYMONEYSUPPLYDATAMONTH_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   rF   rG   s                 rR   query_money_supply_data_monthrb   !  s   
 =??DZ2--

+J77 	QRRR"1DO\DNK8r>>+H55 	QRRR"1DO\DNKRHNN"+44ZII )228WEE?**ABBB":DOLDNKG$	**    !!!-+	 -s7||;eCD())**oo #$&)(mm4E (//H,;S]]L LJ GDMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+ x{###KrT   c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   货币供应量（年底余额）
    @param sart_date: 起始年份yyyy，包含次此年份，可为空
    @param end_date: 结束年份yyyy，包含次此年份，可为空
    Nr   u:   起始日期格式不正确，应为：yyyy，请修改。u:   结束日期格式不正确，应为：yyyy，请修改。z%Yr   r	   r
   zquery_money_supply_data_year,r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )-r   r   r   is_valid_year_dater   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   -MESSAGE_TYPE_QUERYMONEYSUPPLYDATAYEAR_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   rF   rG   s                 rR   query_money_supply_data_yearrf   w  s   
 =??DZ2--

%j11 	NOOO"1DOYDNK8r>>%h// 	NOOO"1DOYDNKRHNN"+44ZFF )228TBB?**ABBB":DOLDNKG$	**    !!!-+	 ,c'll:UBD())**oo #$&)(mm4E (//H,:CMMK KJ FDMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+ x{###KrT   c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   居民价格消费指数
    @param sart_date: 起始日期，包含次此日期，可为空
    @param end_date: 结束日期，包含次此日期，可为空
    Nr   r   r   r   r   r	   r
   zquery_cpi_data,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,   r-   r.   r/   !MESSAGE_TYPE_QUERYCPIDATA_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   rF   rG   s                 rR   query_cpi_datari        
 =??DZ2--

 ,, 	>???"1DOIDNK8r>> ** 	>???"1DOIDNKRHNN"+44
$ $ )228ZHH?**ABBB":DOLDNKG$	**    !!!-+	 G,u4D())**oo #$&)(mm4E (//H,.H? ?J :DMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+ x{###KrT   c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   工业品出厂价格指数
    @param sart_date: 起始日期，包含次此日期，可为空
    @param end_date: 结束日期，包含次此日期，可为空
    Nr   r   r   r   r   r	   r
   zquery_ppi_data,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,   r-   r.   r/   !MESSAGE_TYPE_QUERYPPIDATA_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   rF   rG   s                 rR   query_ppi_datarm   '  rj   rT   c                    t          j                    }| | dk    rd} n>t          j        |           rn)t	          d           t
          j        |_        d|_        |S ||dk    rd}n>t          j        |          rn)t	          d           t
          j        |_        d|_        |S | dk    ru|dk    rot          j	        
                    | d          }t          j	        
                    |d          }||k     r)t	          d           t
          j        |_        d|_        |S d}	 t          t          d          }n9# t          $ r, t	          d           t
          j        |_        d|_        |cY S w xY wd	t!          |          z   d
z   t!          t
          j                  z   dz   t!          |           z   dz   t!          |          z   }t          j        |          }t'          j        t
          j        t-          |                    }t
          j        |_        ||_        ||z   }	t3          j        t7          |	d                    }
t9          j        |	t
          j        z   t!          |
          z             }||                                dk    rt
          j         |_        d|_        |S |dt
          j!                 }|t
          j!        d         }|"                    t
          j                  }|"                    t
          j                  }|d         |_#        |d         |_        |d         |_        t
          j$        |j        k    r|d         |_%        |d         |_&        |d         |_'        |d         |_(        |)                    |d                    |d         |_*        |d         |_+        |,                    |d                    |S )u   采购经理人指数
    @param sart_date: 起始日期，包含次此日期，可为空
    @param end_date: 结束日期，包含次此日期，可为空
    Nr   r   r   r   r   r	   r
   zquery_pmi_data,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,   r-   r.   r/   !MESSAGE_TYPE_QUERYPMIDATA_REQUESTr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r	   rA   rB   rC   rD   rE   rF   rG   s                 rR   query_pmi_datarp   ~  rj   rT   )r   r   )r   r   rX   )!__doc__timer4   r$   baostock.data.resultsetrH   	resultsetr   baostock.common.contantscommoncontantsr    baostock.util.stringutilutil
stringutilr   baostock.common.contextcontextr(   baostock.util.socketutil
socketutilr7   baostock.data.messageheadermessageheaderr.   rS   rW   r^   rb   rf   ri   rm   rp        rR   <module>r      s       $ $ $ $ $ $ $ $ $ ' ' ' ' ' ' ' ' ' * * * * * * * * * & & & & & & & & & ' ' ' ' ' ' ' ' ' / / / / / / / / /T T T TnT T T Tn\ \ \ \~S S S SlS S S SrT T T TnT T T TnT T T T T Tr   