akshare-one 0.3.0__py3-none-any.whl → 0.3.2__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.
@@ -35,9 +35,9 @@ class EastMoneyClient:
35
35
  market = "116"
36
36
  code = symbol[2:]
37
37
  elif len(symbol) == 6:
38
- if symbol.startswith(("000", "001", "002", "003", "300")):
38
+ if symbol.startswith(("000", "001", "002", "003", "300", "200")):
39
39
  market = "0"
40
- elif symbol.startswith(("600", "601", "603", "605", "688")):
40
+ elif symbol.startswith(("600", "601", "603", "605", "688", "900")):
41
41
  market = "1"
42
42
  else:
43
43
  market = "0" # Default to SZ for ambiguity
@@ -98,8 +98,44 @@ class SinaHistorical(HistoricalDataProvider):
98
98
  )
99
99
  return self._clean_minute_data(raw_df)
100
100
 
101
+ def _get_b_share_data(self, stock: str) -> pd.DataFrame:
102
+ """Fetches B-share historical data"""
103
+ start_date = self._convert_date_format(self.start_date)
104
+ end_date = self._convert_date_format(self.end_date)
105
+
106
+ if self.interval in ["minute", "hour"]:
107
+ period = "1" if self.interval == "minute" else "60"
108
+ raw_df = ak.stock_zh_b_minute(
109
+ symbol=stock,
110
+ period=period,
111
+ adjust=self._map_adjust_param(self.adjust),
112
+ )
113
+ # Rename 'day' to 'date' for consistency
114
+ raw_df = raw_df.rename(columns={"day": "date"})
115
+
116
+ if self.interval_multiplier > 1:
117
+ freq = f"{self.interval_multiplier}{'min' if self.interval == 'minute' else 'h'}"
118
+ raw_df = self._resample_intraday_data(raw_df, freq)
119
+ else:
120
+ raw_df = ak.stock_zh_b_daily(
121
+ symbol=stock,
122
+ start_date=start_date,
123
+ end_date=end_date,
124
+ adjust=self._map_adjust_param(self.adjust),
125
+ )
126
+ if self.interval_multiplier > 1:
127
+ raw_df = self._resample_data(
128
+ raw_df, self.interval, self.interval_multiplier
129
+ )
130
+
131
+ return self._clean_data(raw_df)
132
+
101
133
  def _get_daily_plus_data(self, stock: str) -> pd.DataFrame:
102
134
  """Fetches daily and higher-level data (day/week/month/year)"""
135
+ # Check if it's a B-share symbol
136
+ if stock.startswith(("sh9", "sz2")):
137
+ return self._get_b_share_data(stock)
138
+
103
139
  start_date = self._convert_date_format(self.start_date)
104
140
  end_date = self._convert_date_format(self.end_date)
105
141
 
@@ -112,4 +112,4 @@ class XueQiuInsider(InsiderDataProvider):
112
112
  if col in df.columns:
113
113
  df[col] = pd.to_numeric(df[col], errors="coerce")
114
114
 
115
- return df
115
+ return df.reset_index(drop=True)
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare-one
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Standardized interface for Chinese financial market data, built on AKShare with unified data formats and simplified APIs
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/zwldarren/akshare-one
7
7
  Project-URL: Repository, https://github.com/zwldarren/akshare-one.git
8
8
  Keywords: akshare,financial-data,stock-data,quant
9
- Requires-Python: >=3.12
9
+ Requires-Python: >=3.10
10
10
  Description-Content-Type: text/markdown
11
11
  License-File: LICENSE
12
- Requires-Dist: akshare>=1.17.8
12
+ Requires-Dist: akshare>=1.17.15
13
13
  Requires-Dist: cachetools>=6.1.0
14
14
  Provides-Extra: talib
15
15
  Requires-Dist: ta-lib>=0.6.4; extra == "talib"
@@ -6,7 +6,7 @@ akshare_one/news.py,sha256=Pqap-23VCosG9vf70eEeFAC4O0emS-CORHjwkuDuoUA,696
6
6
  akshare_one/stock.py,sha256=VFMNn3Sqa2P9dKZueOa8ekqbxo4jc08iXS94B8eClMo,2344
7
7
  akshare_one/modules/cache.py,sha256=LBOfMQE9-Mr49GRS7d0dATGdMZCZcQWiY41p4GUI2DA,382
8
8
  akshare_one/modules/utils.py,sha256=msHqsjWSRULbX-3Bnit1p26a4a7MOEuNfkPSaECXr4k,333
9
- akshare_one/modules/eastmoney/client.py,sha256=C320WKr_9dpmtQ_KZY5NTUkuV0kCDU2Btitj6YABIvU,3192
9
+ akshare_one/modules/eastmoney/client.py,sha256=npxW6H8tfehDBAVAsUBOD0T4zpn7OnXfM-t2ZWr02hs,3206
10
10
  akshare_one/modules/eastmoney/utils.py,sha256=0hs1kE51kZs3A9cOK448w5K8YKHaKZi0WWgtGZHVPGc,3000
11
11
  akshare_one/modules/financial/base.py,sha256=D-leZAXdKe5srbB4rrxdjNc8TWk2bflt7qtL_KBddY0,558
12
12
  akshare_one/modules/financial/factory.py,sha256=Lv66xSmmQyE8jZZvnYcgl_oZ0VUmBISN2yegsN38_oM,1345
@@ -15,7 +15,7 @@ akshare_one/modules/historical/base.py,sha256=4jdHW99-5U1mzv0WPopIkxeh20yYUDrNFz
15
15
  akshare_one/modules/historical/eastmoney.py,sha256=VbOaf0zXxuGmmm60x4FMh-9T5N9mYTUGmG1suMFUPfU,8489
16
16
  akshare_one/modules/historical/eastmoney_direct.py,sha256=EF5AhViBwdNywqZnJYacRrdw4Up0gbuUr7RgssK7rpw,2893
17
17
  akshare_one/modules/historical/factory.py,sha256=qfMod5HSV-itE-i1ludIp0w8Zq7Vjp2LPomajVd5Kjc,1548
18
- akshare_one/modules/historical/sina.py,sha256=lKCwBrGzz8yZYQGbLFxUy6EHXGJHND7pCbM_sZRQMaM,7467
18
+ akshare_one/modules/historical/sina.py,sha256=CI7eiXG7xo-2J6TEyq0Lr25vogAedbSa3mMHI9REgIQ,8939
19
19
  akshare_one/modules/indicators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  akshare_one/modules/indicators/base.py,sha256=DhFivpVIUIkdIv24U2WoOy1GCDySxsw0tD0-rBRe5Lc,4376
21
21
  akshare_one/modules/indicators/factory.py,sha256=pKx57oej_L0Lz3kkXwzVievKpOYph0T_Y7fzSwO3Zd4,1021
@@ -23,7 +23,7 @@ akshare_one/modules/indicators/simple.py,sha256=vAqE3v9HYpW-Sy6KsG9oV5fppWchQTxt
23
23
  akshare_one/modules/indicators/talib.py,sha256=w0KpV-BXVxU0LmWs_EbXJUFgo9dbMeUQijjJMkjtWtU,10773
24
24
  akshare_one/modules/insider/base.py,sha256=NE45w-B9sQ2AoUSSKNPU9U6wPHK4fiLV5Zgj_byrBMQ,977
25
25
  akshare_one/modules/insider/factory.py,sha256=32bueJA3E8yCZc0v5EAen_48RZ23yojYzpzaZyQ6WnA,1324
26
- akshare_one/modules/insider/xueqiu.py,sha256=ztvfIw8_WARZfZY4NAmIzLoZgl7RBM2GuwKf2uZi3Hw,4086
26
+ akshare_one/modules/insider/xueqiu.py,sha256=6WKEvdE-8cjVQjTsJIkgnqhaQUS5sXZCyxKPLMLyers,4109
27
27
  akshare_one/modules/news/base.py,sha256=D5BDtRQ9vdi1Gj-ikbtjAaCAbimW6mCEhRo_NJTmqN4,581
28
28
  akshare_one/modules/news/eastmoney.py,sha256=2gPEnzQ347MJMXAUsxxu8MnizvCrfGPse9V83wfCsXE,1380
29
29
  akshare_one/modules/news/factory.py,sha256=3FMkNBpYF7l-v2NHHR5TzbvklQNzJ-R_XzG8AlRjJcg,1308
@@ -32,8 +32,8 @@ akshare_one/modules/realtime/eastmoney.py,sha256=IRAPokCm_-aOn16w5_dkbKVjdYcqL-y
32
32
  akshare_one/modules/realtime/eastmoney_direct.py,sha256=HiHrhsTcDTswMg4b7JSUXHLtf-oYziWxLGXLhFJ2pYo,1275
33
33
  akshare_one/modules/realtime/factory.py,sha256=_7jBDgqWqkt5xTTT1SpZoUHM9IpMRpcUQeyyCglM5z0,1528
34
34
  akshare_one/modules/realtime/xueqiu.py,sha256=j_cjJZD0fTva_jgXKeQAJSFVHKJHb5zMu3Crf_8zLs0,2301
35
- akshare_one-0.3.0.dist-info/licenses/LICENSE,sha256=3bqxoD7aU4QS7kpNtQmRd4MikxXe6Gtm_DrojyFHGAc,1087
36
- akshare_one-0.3.0.dist-info/METADATA,sha256=FndXexmkJ23O7ApSpDTXZZdyHYEXKRW0ZLm-Ih_mRBE,2131
37
- akshare_one-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
- akshare_one-0.3.0.dist-info/top_level.txt,sha256=kNiucyLVAGa89wmUSpXbBLWD7pF_RuahuiaOfLHZSyw,12
39
- akshare_one-0.3.0.dist-info/RECORD,,
35
+ akshare_one-0.3.2.dist-info/licenses/LICENSE,sha256=3bqxoD7aU4QS7kpNtQmRd4MikxXe6Gtm_DrojyFHGAc,1087
36
+ akshare_one-0.3.2.dist-info/METADATA,sha256=1qV4rAqnvSDrYHQHbtho8lJgXhzCvbbSdfvup6zk400,2132
37
+ akshare_one-0.3.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
+ akshare_one-0.3.2.dist-info/top_level.txt,sha256=kNiucyLVAGa89wmUSpXbBLWD7pF_RuahuiaOfLHZSyw,12
39
+ akshare_one-0.3.2.dist-info/RECORD,,