Files
MoFin/venv/lib/python3.12/site-packages/akshare/economic/macro_finance_ths.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

137 lines
4.7 KiB
Python

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
Date: 2025/10/21 20:00
Desc: 同花顺-数据中心-宏观数据-股票筹资
https://data.10jqka.com.cn/macro/finance/
"""
from io import StringIO
import pandas as pd
import requests
def macro_stock_finance() -> pd.DataFrame:
"""
同花顺-数据中心-宏观数据-股票筹资
https://data.10jqka.com.cn/macro/finance/
:return: 股票筹资
:rtype: pandas.DataFrame
"""
url = "https://data.10jqka.com.cn/macro/finance/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
r = requests.get(url, headers=headers)
temp_df = pd.read_html(StringIO(r.text))[0]
temp_df.rename(
columns={
"月份": "月份",
"募集资金(亿元)": "募集资金",
"首发募集资金(亿元)": "首发募集资金",
"增发募集资金(亿元)": "增发募集资金",
"配股募集资金(亿元)": "配股募集资金",
},
inplace=True,
)
temp_df = temp_df[
["月份", "募集资金", "首发募集资金", "增发募集资金", "配股募集资金"]
]
temp_df["募集资金"] = pd.to_numeric(temp_df["募集资金"], errors="coerce")
temp_df["首发募集资金"] = pd.to_numeric(temp_df["首发募集资金"], errors="coerce")
temp_df["增发募集资金"] = pd.to_numeric(temp_df["增发募集资金"], errors="coerce")
temp_df["配股募集资金"] = pd.to_numeric(temp_df["配股募集资金"], errors="coerce")
temp_df.sort_values(by=["月份"], inplace=True, ignore_index=True)
return temp_df
def macro_rmb_loan() -> pd.DataFrame:
"""
同花顺-数据中心-宏观数据-新增人民币贷款
https://data.10jqka.com.cn/macro/loan/
:return: 新增人民币贷款
:rtype: pandas.DataFrame
"""
url = "https://data.10jqka.com.cn/macro/loan/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
r = requests.get(url, headers=headers)
temp_df = pd.read_html(StringIO(r.text), skiprows=0)[0]
temp_df.columns = [
"月份",
"新增人民币贷款-总额",
"新增人民币贷款-同比",
"新增人民币贷款-环比",
"累计人民币贷款-总额",
"累计人民币贷款-同比",
]
temp_df["新增人民币贷款-总额"] = pd.to_numeric(
temp_df["新增人民币贷款-总额"], errors="coerce"
)
temp_df["累计人民币贷款-总额"] = pd.to_numeric(
temp_df["累计人民币贷款-总额"], errors="coerce"
)
temp_df.sort_values(by=["月份"], inplace=True, ignore_index=True)
return temp_df
def macro_rmb_deposit() -> pd.DataFrame:
"""
同花顺-数据中心-宏观数据-人民币存款余额
https://data.10jqka.com.cn/macro/rmb/
:return: 人民币存款余额
:rtype: pandas.DataFrame
"""
url = "https://data.10jqka.com.cn/macro/rmb/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
r = requests.get(url, headers=headers)
temp_df = pd.read_html(StringIO(r.text), skiprows=0)[0]
temp_df.columns = [
"月份",
"新增存款-数量",
"新增存款-同比",
"新增存款-环比",
"新增企业存款-数量",
"新增企业存款-同比",
"新增企业存款-环比",
"新增储蓄存款-数量",
"新增储蓄存款-同比",
"新增储蓄存款-环比",
"新增其他存款-数量",
"新增其他存款-同比",
"新增其他存款-环比",
]
temp_df["新增存款-数量"] = pd.to_numeric(temp_df["新增存款-数量"], errors="coerce")
temp_df["新增企业存款-数量"] = pd.to_numeric(
temp_df["新增企业存款-数量"], errors="coerce"
)
temp_df["新增企业存款-数量"] = pd.to_numeric(
temp_df["新增企业存款-数量"], errors="coerce"
)
temp_df["新增储蓄存款-数量"] = pd.to_numeric(
temp_df["新增储蓄存款-数量"], errors="coerce"
)
temp_df["新增其他存款-数量"] = pd.to_numeric(
temp_df["新增其他存款-数量"], errors="coerce"
)
temp_df.sort_values(by=["月份"], inplace=True, ignore_index=True)
return temp_df
if __name__ == "__main__":
macro_stock_finance_df = macro_stock_finance()
print(macro_stock_finance_df)
macro_rmb_loan_df = macro_rmb_loan()
print(macro_rmb_loan_df)
macro_rmb_deposit_df = macro_rmb_deposit()
print(macro_rmb_deposit_df)