akshare 1.17.45__py3-none-any.whl → 1.17.47__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of akshare might be problematic. Click here for more details.

akshare/__init__.py CHANGED
@@ -3152,9 +3152,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3152
3152
  1.17.43 fix: fix fund_rating_all interface
3153
3153
  1.17.44 fix: fix stock_individual_spot_xq interface
3154
3154
  1.17.45 fix: fix stock_dxsyl_em interface
3155
+ 1.17.46 fix: fix stock_financial_us_analysis_indicator_em interface
3156
+ 1.17.47 fix: fix get_receipt interface
3155
3157
  """
3156
3158
 
3157
- __version__ = "1.17.45"
3159
+ __version__ = "1.17.47"
3158
3160
  __author__ = "AKFamily"
3159
3161
 
3160
3162
  import sys
@@ -3176,6 +3178,11 @@ if sys.version_info < (3, 9):
3176
3178
 
3177
3179
  del sys
3178
3180
 
3181
+ """
3182
+ 中国外汇交易中心暨全国银行间同业拆借中心-基准-外汇市场-外汇掉期曲线-外汇掉漆 C-Swap 定盘曲线
3183
+ """
3184
+ from akshare.fx.fx_c_swap_cm import fx_c_swap_cm
3185
+
3179
3186
  """
3180
3187
  上海证券交易所-产品-股票期权-信息披露-当日合约
3181
3188
  """
@@ -4777,7 +4784,6 @@ from akshare.stock_feature.stock_a_pe_and_pb import (
4777
4784
  stock_index_pe_lg,
4778
4785
  )
4779
4786
  from akshare.stock_feature.stock_a_indicator import (
4780
- stock_a_indicator_lg,
4781
4787
  stock_hk_indicator_eniu,
4782
4788
  )
4783
4789
  from akshare.stock_feature.stock_a_high_low import stock_a_high_low_statistics
@@ -172,6 +172,7 @@ def chinese_to_english(chinese_var: str):
172
172
  "瓶片",
173
173
  "纯苯",
174
174
  "多晶硅",
175
+ "铸造铝合金",
175
176
  ]
176
177
  english_list = [
177
178
  "RU",
@@ -294,6 +295,7 @@ def chinese_to_english(chinese_var: str):
294
295
  "PR",
295
296
  "BZ",
296
297
  "PS",
298
+ "AD",
297
299
  ]
298
300
  pos = chinese_list.index(chinese_var)
299
301
  return english_list[pos]
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2025/9/9 14:57
5
+ Desc: 中国外汇交易中心暨全国银行间同业拆借中心-基准-外汇市场-外汇掉期曲线-外汇掉漆 C-Swap 定盘曲线
6
+ https://www.chinamoney.org.cn/chinese/bkcurvfsw
7
+ """
8
+
9
+ import ssl
10
+
11
+ import pandas as pd
12
+ import requests
13
+ from requests.adapters import HTTPAdapter
14
+
15
+
16
+ class LegacySSLAdapter(HTTPAdapter):
17
+ def init_poolmanager(self, *args, **kwargs):
18
+ context = ssl.create_default_context()
19
+ # 允许不安全的 legacy renegotiation
20
+ context.options |= ssl.OP_LEGACY_SERVER_CONNECT
21
+ kwargs['ssl_context'] = context
22
+ return super().init_poolmanager(*args, **kwargs)
23
+
24
+
25
+ def fx_c_swap_cm():
26
+ """
27
+ 中国外汇交易中心暨全国银行间同业拆借中心-基准-外汇市场-外汇掉期曲线-外汇掉期 C-Swap 定盘曲线
28
+ https://www.chinamoney.org.cn/chinese/bkcurvfsw
29
+ :return: 外汇掉期 C-Swap 定盘曲线
30
+ :rtype: pandas.DataFrame
31
+ """
32
+ session = requests.Session()
33
+ session.mount(prefix='https://', adapter=LegacySSLAdapter())
34
+ url = "https://www.chinamoney.org.cn/r/cms/www/chinamoney/data/fx/fx-c-sw-curv-USD.CNY.json"
35
+
36
+ payload = {
37
+ "t": "1757402201554",
38
+ }
39
+ r = session.post(url, data=payload)
40
+ data_json = r.json()
41
+ temp_df = pd.DataFrame(data_json['records'])
42
+ temp_df.rename(columns={
43
+ "tenor": "期限品种",
44
+ "swapPnt": "掉期点(Pips)",
45
+ "dataSource": "掉期点数据源",
46
+ "swapAllPrc": "全价汇率",
47
+ }, inplace=True)
48
+ temp_df = temp_df[[
49
+ "期限品种",
50
+ "掉期点(Pips)",
51
+ "掉期点数据源",
52
+ "全价汇率",
53
+ ]]
54
+ temp_df["掉期点(Pips)"] = pd.to_numeric(temp_df["掉期点(Pips)"], errors='coerce')
55
+ temp_df["全价汇率"] = pd.to_numeric(temp_df["全价汇率"], errors='coerce')
56
+ return temp_df
57
+
58
+
59
+ if __name__ == '__main__':
60
+ fx_c_swap_cm_df = fx_c_swap_cm()
61
+ print(fx_c_swap_cm_df)
@@ -46,50 +46,6 @@ def get_token_lg() -> str:
46
46
  return token
47
47
 
48
48
 
49
- def stock_a_indicator_lg(symbol: str = "000001") -> pd.DataFrame:
50
- """
51
- 市盈率, 市净率, 股息率数据接口
52
- https://legulegu.com/stocklist
53
- :param symbol: 通过 ak.stock_a_indicator_lg(symbol="all") 来获取所有股票的代码
54
- :type symbol: str
55
- :return: 市盈率, 市净率, 股息率查询
56
- :rtype: pandas.DataFrame
57
- """
58
- if symbol == "all":
59
- url = "https://legulegu.com/stocklist"
60
- r = requests.get(url, headers=headers)
61
- soup = BeautifulSoup(r.text, features="lxml")
62
- node_list = soup.find_all(attrs={"class": "col-xs-6"})
63
- href_list = [item.find("a")["href"] for item in node_list]
64
- title_list = [item.find("a")["title"] for item in node_list]
65
- temp_df = pd.DataFrame([title_list, href_list]).T
66
- temp_df.columns = ["stock_name", "short_url"]
67
- temp_df["code"] = temp_df["short_url"].str.split("/", expand=True).iloc[:, -1]
68
- del temp_df["short_url"]
69
- temp_df = temp_df[["code", "stock_name"]]
70
- return temp_df
71
- else:
72
- url = "https://legulegu.com/api/s/base-info/"
73
- token = get_token_lg()
74
- params = {"token": token, "id": symbol}
75
- r = requests.post(
76
- url,
77
- params=params,
78
- **get_cookie_csrf(url="https://legulegu.com/"),
79
- )
80
- temp_json = r.json()
81
- temp_df = pd.DataFrame(
82
- temp_json["data"]["items"],
83
- columns=temp_json["data"]["fields"],
84
- )
85
- temp_df["trade_date"] = pd.to_datetime(temp_df["trade_date"]).dt.date
86
- temp_df[temp_df.columns[1:]] = temp_df[temp_df.columns[1:]].astype(float)
87
- temp_df.sort_values(by=["trade_date"], inplace=True, ignore_index=True)
88
- if len(set(temp_df["trade_date"])) <= 0:
89
- raise ValueError("数据获取失败, 请检查是否输入正确的股票代码")
90
- return temp_df
91
-
92
-
93
49
  def stock_hk_indicator_eniu(
94
50
  symbol: str = "hk01093", indicator: str = "市盈率"
95
51
  ) -> pd.DataFrame:
@@ -128,12 +84,6 @@ def stock_hk_indicator_eniu(
128
84
 
129
85
 
130
86
  if __name__ == "__main__":
131
- stock_a_indicator_lg_all_df = stock_a_indicator_lg(symbol="all")
132
- print(stock_a_indicator_lg_all_df)
133
-
134
- stock_a_indicator_lg_df = stock_a_indicator_lg(symbol="000001")
135
- print(stock_a_indicator_lg_df)
136
-
137
87
  stock_hk_indicator_eniu_df = stock_hk_indicator_eniu(
138
88
  symbol="hk01093", indicator="市盈率"
139
89
  )
@@ -16,7 +16,7 @@ def __stock_financial_us_report_query_market_em(symbol: str = "TSLA") -> str:
16
16
  """
17
17
  东方财富-美股-财务分析-三大报表-查询市场
18
18
  https://emweb.eastmoney.com/PC_USF10/pages/index.html?code=TSLA&type=web&color=w#/cwfx
19
- :param symbol: choice of {"资产负债表", "综合损益表", "现金流量表"}
19
+ :param symbol: 股票代码
20
20
  :type symbol: str
21
21
  :return: 查询市场
22
22
  :rtype: str
@@ -36,7 +36,6 @@ def __stock_financial_us_report_query_market_em(symbol: str = "TSLA") -> str:
36
36
  "client": "PC",
37
37
  "v": "04406064331266868",
38
38
  }
39
-
40
39
  r = requests.get(url, params=params)
41
40
  data_json = r.json()
42
41
  stock_code = data_json["result"]["data"][0]["SECUCODE"]
@@ -174,11 +173,19 @@ def stock_financial_us_analysis_indicator_em(
174
173
  "pageNumber": "",
175
174
  "pageSize": "",
176
175
  "sortTypes": "-1",
177
- "sortColumns": "STD_REPORT_DATE",
178
- "source": "F10",
176
+ "sortColumns": "REPORT_DATE",
177
+ "source": "SECURITIES",
179
178
  "client": "PC",
180
- "v": "01975982096513973",
181
179
  }
180
+ if "_" in symbol:
181
+ params["reportName"] = "RPT_USF10_FN_IMAININDICATOR"
182
+ params["columns"] = ("ORG_CODE,SECURITY_CODE,SECUCODE,SECURITY_NAME_ABBR,SECURITY_INNER_CODE,"
183
+ "STD_REPORT_DATE,REPORT_DATE,DATE_TYPE,DATE_TYPE_CODE,REPORT_TYPE,REPORT_DATA_TYPE,"
184
+ "FISCAL_YEAR,START_DATE,NOTICE_DATE,ACCOUNT_STANDARD,ACCOUNT_STANDARD_NAME,CURRENCY,"
185
+ "CURRENCY_NAME,ORGTYPE,TOTAL_INCOME,TOTAL_INCOME_YOY,PREMIUM_INCOME,PREMIUM_INCOME_YOY,"
186
+ "PARENT_HOLDER_NETPROFIT,PARENT_HOLDER_NETPROFIT_YOY,BASIC_EPS_CS,BASIC_EPS_CS_YOY,"
187
+ "DILUTED_EPS_CS,PAYOUT_RATIO,CAPITIAL_RATIO,ROE,ROE_YOY,ROA,ROA_YOY,DEBT_RATIO,"
188
+ "DEBT_RATIO_YOY,EQUITY_RATIO")
182
189
  if indicator == "年报":
183
190
  params.update({"filter": f"""(SECUCODE="{symbol}")(DATE_TYPE_CODE="001")"""})
184
191
  elif indicator == "单季报":
@@ -206,7 +213,7 @@ if __name__ == "__main__":
206
213
  print(stock_financial_us_analysis_indicator_em_df)
207
214
 
208
215
  stock_financial_us_analysis_indicator_em_df = (
209
- stock_financial_us_analysis_indicator_em(symbol="TSLA", indicator="单季报")
216
+ stock_financial_us_analysis_indicator_em(symbol="BRK_A", indicator="单季报")
210
217
  )
211
218
  print(stock_financial_us_analysis_indicator_em_df)
212
219
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare
3
- Version: 1.17.45
3
+ Version: 1.17.47
4
4
  Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
5
5
  Home-page: https://github.com/akfamily/akshare
6
6
  Author: AKFamily
@@ -34,7 +34,7 @@ Requires-Dist: decorator>=4.4.2
34
34
  Requires-Dist: nest_asyncio>=1.6.0
35
35
  Requires-Dist: mini-racer>=0.12.4; platform_system != "Linux"
36
36
  Requires-Dist: py-mini-racer>=0.6.0; platform_system == "Linux"
37
- Requires-Dist: akracer[py-mini-racer]>=0.0.13; platform_system == "Linux"
37
+ Requires-Dist: akracer>=0.0.13; platform_system == "Linux"
38
38
  Provides-Extra: full
39
39
  Requires-Dist: akqmt; extra == "full"
40
40
  Provides-Extra: qmt
@@ -1,4 +1,4 @@
1
- akshare/__init__.py,sha256=52RtTW25wCQDfOTRGzTvFKryFzJRIomQtg5DB3pjA3Y,196981
1
+ akshare/__init__.py,sha256=XnWe6QGoXDd6ddnLIpp4ynBs-44-sPL9QiPg2ayrGTs,197253
2
2
  akshare/datasets.py,sha256=rKuRNZrqi6IMsZ9nyvO3Rx02js0tH3zMLjz8HQNAoPQ,963
3
3
  akshare/exceptions.py,sha256=WEJjIhSmJ_xXNW6grwV4nufE_cfmmyuhmueVGiN1VAg,878
4
4
  akshare/request.py,sha256=HtFFf9MhfEibR-ETWe-1Tts6ELU4VKSqA-ghaXjegQM,4252
@@ -134,7 +134,7 @@ akshare/futures/futures_warehouse_receipt.py,sha256=hspakSk5ErPFbJBKjAjhkoo7--QO
134
134
  akshare/futures/futures_zh_sina.py,sha256=wFFiPdud7a6HUHxohlQmN0FsnrvsadTYhbq0cZT4dpo,26191
135
135
  akshare/futures/receipt.py,sha256=6KFgO6BJcQ0S5ZlRIQfPwXOuMLuncn7pcFCPOp1QJGI,23588
136
136
  akshare/futures/requests_fun.py,sha256=w4inzqYjrAiRx_E3oszbcJwrRJR3MKpm5Rkropdusoo,2893
137
- akshare/futures/symbol_var.py,sha256=Iqwzz6fOe2XN0Hlz8YMeIGx7ERDYW3W2NKqQtnGwWOs,5816
137
+ akshare/futures/symbol_var.py,sha256=dlDxz6K6_sn1B1xalCGR9Inc_apbQP-F3tJ_ZuKH1rQ,5857
138
138
  akshare/futures_derivative/__init__.py,sha256=COFyP01gIUhWs4EBr6hwL73B7IWePIzg7vP7oEY3G3I,82
139
139
  akshare/futures_derivative/cons.py,sha256=VkG1HMwPVxvj7BaMifcvDpRYLsfd506npVNiEIaLF_s,5914
140
140
  akshare/futures_derivative/futures_contract_info_cffex.py,sha256=Vv8ovM3FR1HTNj0Oe6LDmP1CO3lWYhcls9ck-iFir8U,3497
@@ -150,6 +150,7 @@ akshare/futures_derivative/futures_spot_sys.py,sha256=Ufqh7S7UAeW_zkASap_DZGqwyW
150
150
  akshare/fx/__init__.py,sha256=fvH_pVxTFPnzXvnPvJZDD_vv0IBJusHkJxZ3dJ8ogl8,82
151
151
  akshare/fx/cons.py,sha256=6BC2DoF02ptSILzmYuT1so7z3Ne47Z0eHC95i3a3Zt4,604
152
152
  akshare/fx/currency_investing.py,sha256=rvrz_XD8M6z7ZBSucFInaH3kDX_vASTAsmAOhLW6p4k,2909
153
+ akshare/fx/fx_c_swap_cm.py,sha256=P_pjjP0X7t13VEPNWC-cm2gW6DE34jJDKru-UHCer6Y,1983
153
154
  akshare/fx/fx_quote.py,sha256=lkBSwc6dJQ2qq1JAODk4knCZInIw3iLhJOGpCnYJo88,3426
154
155
  akshare/fx/fx_quote_baidu.py,sha256=mTJ5Lf_OFre9leWngC3OMtGAhQ9ppk0iKuhwSH3krPE,2329
155
156
  akshare/hf/__init__.py,sha256=hFNcepESmuHlH6Ipv9IrHbB6KMxMOD43u_EVX6BzcAo,81
@@ -299,7 +300,7 @@ akshare/stock_feature/__init__.py,sha256=c2VDBGyg8nWZYLvtnnSqUoQ92Cu6dJ7UFOeJsB2
299
300
  akshare/stock_feature/cons.py,sha256=h_cIhO4YEx8joPozwE5-jHABPsT8tN7tkZ5v-gcTfmw,466
300
301
  akshare/stock_feature/stock_a_below_net_asset_statistics.py,sha256=XrhZI-wLuXXufI5Nh1l9gUx9x7f0iDtdtKa14wexo54,2653
301
302
  akshare/stock_feature/stock_a_high_low.py,sha256=xS7btdwjlMvxrOu0I3qhezOqLV0gUuHl66FLB_ioxTo,2044
302
- akshare/stock_feature/stock_a_indicator.py,sha256=jOb9EVtPgcDPVziy_ZAo0RqHL3eoviwycbvp9Sr5wQw,4818
303
+ akshare/stock_feature/stock_a_indicator.py,sha256=R8RArKYY3eI3IOTbpb0H7zqMkYBy5peswafRPQRy3Ws,2714
303
304
  akshare/stock_feature/stock_a_pe_and_pb.py,sha256=9HfjTSL_DTlAVvv7o3--pOdZiFwhRzYki7O5DfTrNW8,19089
304
305
  akshare/stock_feature/stock_account_em.py,sha256=4Vh1zoRXmuoGWu1Dw65c9mhIALqOVpb9PLqG5BJgQVg,3312
305
306
  akshare/stock_feature/stock_all_pb.py,sha256=hshUYjNXPPYf3LYj4N0zeT9Q9kxpdBhQVLB9AEPSkAc,1196
@@ -369,7 +370,7 @@ akshare/stock_fundamental/stock_basic_info_xq.py,sha256=ghl-cx1RmaGFnKpzVmmNsPoM
369
370
  akshare/stock_fundamental/stock_finance_hk_em.py,sha256=iStOF9f7e0iPx3p6qmXdFOBDc7Ikn3LR-p_NGh9jC8g,7017
370
371
  akshare/stock_fundamental/stock_finance_sina.py,sha256=hBZ5AKacr6PFn7zoasdoV6k7yYC3Jb2_mz0v90lwbGY,32545
371
372
  akshare/stock_fundamental/stock_finance_ths.py,sha256=nS9bt_hzklzh7pBTCH1PjOa69OUcNZ41Z_zSHiz9Y1U,11527
372
- akshare/stock_fundamental/stock_finance_us_em.py,sha256=ugXfJzgYnXGkTMN68ttK19BBMHze-862vsYrjwM4pHk,9835
373
+ akshare/stock_fundamental/stock_finance_us_em.py,sha256=A53FFiG-bESAbbbYak2dszhHFF4SlaJonvaO8OtvSsE,10566
373
374
  akshare/stock_fundamental/stock_gbjg_em.py,sha256=oKzX9BSMphRSrx0eAyLZ7qfdz-wT-4P2-03fLu_desA,3573
374
375
  akshare/stock_fundamental/stock_hold.py,sha256=hiJx2i3hCW7Kl7kMs4Kh1QNvsg-sIUORvgQaeGjOB-Y,5472
375
376
  akshare/stock_fundamental/stock_ipo_declare.py,sha256=INsQCHRz-j992mg8x71AiIPsLBSr5e_J03EuWmoP0kc,1810
@@ -394,10 +395,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
394
395
  akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
395
396
  akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
396
397
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
397
- akshare-1.17.45.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
398
+ akshare-1.17.47.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
398
399
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
399
400
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
400
- akshare-1.17.45.dist-info/METADATA,sha256=vGjoKUOro_ef0m8cXF9jV9Y4Dl7SyLAqNdwVDR5EQV0,12608
401
- akshare-1.17.45.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
402
- akshare-1.17.45.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
403
- akshare-1.17.45.dist-info/RECORD,,
401
+ akshare-1.17.47.dist-info/METADATA,sha256=ffGu4k9FkY0XIEcT0XrmMAoCG4wpAe9djDsakuxnR9o,12593
402
+ akshare-1.17.47.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
403
+ akshare-1.17.47.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
404
+ akshare-1.17.47.dist-info/RECORD,,