akshare 1.15.41__py3-none-any.whl → 1.15.43__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
@@ -2951,9 +2951,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2951
2951
  1.15.39 fix: fix macro_china_new_house_price interface
2952
2952
  1.15.40 fix: fix macro_china_fdi interface
2953
2953
  1.15.41 fix: fix macro_china_fdi interface
2954
+ 1.15.42 fix: fix get_roll_yield_bar interface
2955
+ 1.15.43 fix: fix macro_china_urban_unemployment interface
2954
2956
  """
2955
2957
 
2956
- __version__ = "1.15.41"
2958
+ __version__ = "1.15.43"
2957
2959
  __author__ = "AKFamily"
2958
2960
 
2959
2961
  import sys
@@ -327,6 +327,7 @@ def macro_china_urban_unemployment() -> pd.DataFrame:
327
327
  temp_df.columns = ["date", "item", "value"]
328
328
  temp_df["item"] = temp_df["item"].map(code_item_map)
329
329
  temp_df["value"] = pd.to_numeric(temp_df["value"], errors="coerce")
330
+ temp_df.sort_values(by=["date"], ignore_index=True, inplace=True)
330
331
  return temp_df
331
332
 
332
333
 
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/1/12 16:58
4
+ Date: 2024/12/6 13:58
5
5
  Desc: 中国期货各合约展期收益率
6
6
  日线数据从 daily_bar 函数获取, 需要在收盘后运行
7
7
  """
8
+
8
9
  import datetime
9
10
  import re
10
11
  import warnings
@@ -31,9 +32,7 @@ def get_roll_yield(date=None, var="BB", symbol1=None, symbol2=None, df=None):
31
32
  df: DataFrame或None 从dailyBar得到合约价格,如果为空就在函数内部抓dailyBar,直接喂给数据可以让计算加快
32
33
  """
33
34
  # date = "20100104"
34
- date = (
35
- cons.convert_date(date) if date is not None else datetime.date.today()
36
- )
35
+ date = cons.convert_date(date) if date is not None else datetime.date.today()
37
36
  if date.strftime("%Y%m%d") not in calendar:
38
37
  warnings.warn("%s非交易日" % date.strftime("%Y%m%d"))
39
38
  return None
@@ -46,9 +45,7 @@ def get_roll_yield(date=None, var="BB", symbol1=None, symbol2=None, df=None):
46
45
  df = df[
47
46
  ~df["symbol"].str.contains("efp")
48
47
  ] # 20200304 由于交易所获取的数据中会有比如 "CUefp",所以在这里过滤
49
- df = df[df["variety"] == var].sort_values(
50
- "open_interest", ascending=False
51
- )
48
+ df = df[df["variety"] == var].sort_values("open_interest", ascending=False)
52
49
  # df["close"] = df["close"].astype("float")
53
50
  df["close"] = pd.to_numeric(df["close"])
54
51
  if len(df["close"]) < 2:
@@ -69,7 +66,7 @@ def get_roll_yield(date=None, var="BB", symbol1=None, symbol2=None, df=None):
69
66
  if close1 == 0 or close2 == 0:
70
67
  return False
71
68
  if c > 0:
72
- return math.log(close2 / close1) / c * 12, symbol2, symbol1
69
+ return math.log(close1 / close2) / c * 12, symbol2, symbol1
73
70
  else:
74
71
  return math.log(close2 / close1) / c * 12, symbol1, symbol2
75
72
 
@@ -93,20 +90,14 @@ def get_roll_yield_bar(
93
90
  ry 展期收益率
94
91
  index 日期或品种
95
92
  """
96
- date = (
97
- cons.convert_date(date) if date is not None else datetime.date.today()
98
- )
93
+ date = cons.convert_date(date) if date is not None else datetime.date.today()
99
94
  start_day = (
100
- cons.convert_date(start_day)
101
- if start_day is not None
102
- else datetime.date.today()
95
+ cons.convert_date(start_day) if start_day is not None else datetime.date.today()
103
96
  )
104
97
  end_day = (
105
98
  cons.convert_date(end_day)
106
99
  if end_day is not None
107
- else cons.convert_date(
108
- cons.get_latest_data_date(datetime.datetime.now())
109
- )
100
+ else cons.convert_date(cons.get_latest_data_date(datetime.datetime.now()))
110
101
  )
111
102
 
112
103
  if type_method == "symbol":
@@ -122,13 +113,11 @@ def get_roll_yield_bar(
122
113
  df = pd.concat(
123
114
  [
124
115
  df,
125
- get_futures_daily(
126
- start_date=date, end_date=date, market=market
127
- ),
116
+ get_futures_daily(start_date=date, end_date=date, market=market),
128
117
  ]
129
118
  )
130
119
  var_list = list(set(df["variety"]))
131
- for i_remove in ['IO', 'MO', 'HO']:
120
+ for i_remove in ["IO", "MO", "HO"]:
132
121
  if i_remove in var_list:
133
122
  var_list.remove(i_remove)
134
123
  df_l = pd.DataFrame()
@@ -165,7 +154,7 @@ def get_roll_yield_bar(
165
154
  ),
166
155
  ]
167
156
  )
168
- except:
157
+ except: # noqa: E722
169
158
  pass
170
159
  start_day += datetime.timedelta(days=1)
171
160
  return df_l
@@ -186,7 +175,5 @@ if __name__ == "__main__":
186
175
  )
187
176
  print(get_roll_yield_bar_range_df)
188
177
 
189
- get_roll_yield_bar_symbol = get_roll_yield_bar(
190
- type_method="var", date="20210201"
191
- )
178
+ get_roll_yield_bar_symbol = get_roll_yield_bar(type_method="var", date="20210201")
192
179
  print(get_roll_yield_bar_symbol)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.41
3
+ Version: 1.15.43
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
@@ -1,4 +1,4 @@
1
- akshare/__init__.py,sha256=LeHG3wPM_WM_m1_18naCMwQbJarUARRH-5S6ABncMWg,184739
1
+ akshare/__init__.py,sha256=uxia6EqdSE8ySJmzG-tkP6xbZEwVKYQXA_jzhb13j84,184843
2
2
  akshare/datasets.py,sha256=-qdwaQjgBlftX84uM74KJqCYJYkQ50PV416_neA4uls,995
3
3
  akshare/exceptions.py,sha256=WEJjIhSmJ_xXNW6grwV4nufE_cfmmyuhmueVGiN1VAg,878
4
4
  akshare/request.py,sha256=HtFFf9MhfEibR-ETWe-1Tts6ELU4VKSqA-ghaXjegQM,4252
@@ -54,7 +54,7 @@ akshare/economic/cons.py,sha256=0JM61Eiro0xqXGnCaDSoLsw5iQWKAtqhRHcXmDfJgyw,1659
54
54
  akshare/economic/macro_australia.py,sha256=JKNaedN19Rw15dn8bPur1yrsQA5j6hfX4tjgh7OCBHY,10801
55
55
  akshare/economic/macro_bank.py,sha256=wG_u5w5YjeFRn1wr-Re7ty_s2CbQ0Qphxs_bIF_20UQ,11495
56
56
  akshare/economic/macro_canada.py,sha256=nNaZ3yZIvgTtRiQhwoEybMX6UpqszPKeixzYITv9ox0,15195
57
- akshare/economic/macro_china.py,sha256=vrlOrV0D88JPeJzL1yWzpLlVuoBoQL-UY_wVT6ooUMs,148785
57
+ akshare/economic/macro_china.py,sha256=O3pgTke7VbHMJKY3ZRU6hC_noOXnaQFPr0u2qJsebEY,148855
58
58
  akshare/economic/macro_china_hk.py,sha256=dIBc9gAYiHZUjXLF4c3yBK-2s3iLx46GcgJGlVJpv4c,5974
59
59
  akshare/economic/macro_china_nbs.py,sha256=nP6dI-fawch8dz7GMcfGVJsTri-FfIAkvTf3h7DT-kc,9679
60
60
  akshare/economic/macro_constitute.py,sha256=cCfWupKJ86uUzg_pULsg1C2FleHb25mYbfE4x29VnKA,8197
@@ -120,7 +120,7 @@ akshare/futures/futures_inventory_99.py,sha256=Nvw39obGGhgOkk_C4jOrV4gdq78dtHPOn
120
120
  akshare/futures/futures_inventory_em.py,sha256=C5nt4F51WB-oc8o3GrMvEGo0SO2mIq_H1vHVl42vzT0,2340
121
121
  akshare/futures/futures_news_baidu.py,sha256=uqXUgQa7_aNjj1g4IBt6Ic4DhlsuBvjEEYC3OTPeqmA,1544
122
122
  akshare/futures/futures_news_shmet.py,sha256=NQXUo6bwsDwxWID-5CUgJxENWtiaDK4JgMaTEmurYvM,2464
123
- akshare/futures/futures_roll_yield.py,sha256=QOCZOmpGassI9sYfnC7Fj4d6_7iAxnIwQl5Tbq8GN7A,6272
123
+ akshare/futures/futures_roll_yield.py,sha256=RiwN0yYwzYy8zGhmTopBwJ37aUQ7Llwh3eQRzn0apaE,6135
124
124
  akshare/futures/futures_rule.py,sha256=38fJnUTohGqbwE65ZR1id7Oy-0DS-ODrGYsmx2jtGZ8,1571
125
125
  akshare/futures/futures_settlement_price_sgx.py,sha256=R0PZOEkdYDf7H242iHYz70rxdvsMWoAL60bmGlj-0GY,2428
126
126
  akshare/futures/futures_spot_stock_em.py,sha256=43CPkAouDu691M6aCMdO1SGKglTak2aba2Np7ftkAdg,3523
@@ -383,8 +383,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
383
383
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
384
384
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
385
385
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
386
- akshare-1.15.41.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
387
- akshare-1.15.41.dist-info/METADATA,sha256=ny57_HacSUG1p8NIwHlc6Hk0gys4TXmD5fPixQrX1BQ,13423
388
- akshare-1.15.41.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
389
- akshare-1.15.41.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
390
- akshare-1.15.41.dist-info/RECORD,,
386
+ akshare-1.15.43.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
387
+ akshare-1.15.43.dist-info/METADATA,sha256=5B4yFcajS1Zn5CFYJDXvjfhWWYlYIkd_N2qI51xOex8,13423
388
+ akshare-1.15.43.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
389
+ akshare-1.15.43.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
390
+ akshare-1.15.43.dist-info/RECORD,,