mirror of
https://github.com/ZhuLinsen/daily_stock_analysis
synced 2026-09-20 10:53:33 +08:00
Merge pull request #34 from hhaishen/main
- 修复深市指数数据获取异常 & 暂时禁用北向资金模块(北向资金数据已停止公布) - fix #54
This commit is contained in:
@@ -88,12 +88,12 @@ class MarketAnalyzer:
|
||||
|
||||
# 主要指数代码
|
||||
MAIN_INDICES = {
|
||||
'000001': '上证指数',
|
||||
'399001': '深证成指',
|
||||
'399006': '创业板指',
|
||||
'000688': '科创50',
|
||||
'000016': '上证50',
|
||||
'000300': '沪深300',
|
||||
'sh000001': '上证指数',
|
||||
'sz399001': '深证成指',
|
||||
'sz399006': '创业板指',
|
||||
'sh000688': '科创50',
|
||||
'sh000016': '上证50',
|
||||
'sh000300': '沪深300',
|
||||
}
|
||||
|
||||
def __init__(self, search_service: Optional[SearchService] = None, analyzer=None):
|
||||
@@ -128,7 +128,7 @@ class MarketAnalyzer:
|
||||
self._get_sector_rankings(overview)
|
||||
|
||||
# 4. 获取北向资金(可选)
|
||||
self._get_north_flow(overview)
|
||||
# self._get_north_flow(overview)
|
||||
|
||||
return overview
|
||||
|
||||
@@ -139,8 +139,8 @@ class MarketAnalyzer:
|
||||
try:
|
||||
logger.info("[大盘] 获取主要指数实时行情...")
|
||||
|
||||
# 使用 akshare 获取指数行情
|
||||
df = ak.stock_zh_index_spot_em()
|
||||
# 使用 akshare 获取指数行情(新浪财经接口,包含深市指数)
|
||||
df = ak.stock_zh_index_spot_sina()
|
||||
|
||||
if df is not None and not df.empty:
|
||||
for code, name in self.MAIN_INDICES.items():
|
||||
@@ -245,26 +245,26 @@ class MarketAnalyzer:
|
||||
except Exception as e:
|
||||
logger.error(f"[大盘] 获取板块涨跌榜失败: {e}")
|
||||
|
||||
def _get_north_flow(self, overview: MarketOverview):
|
||||
"""获取北向资金流入"""
|
||||
try:
|
||||
logger.info("[大盘] 获取北向资金...")
|
||||
# def _get_north_flow(self, overview: MarketOverview):
|
||||
# """获取北向资金流入"""
|
||||
# try:
|
||||
# logger.info("[大盘] 获取北向资金...")
|
||||
|
||||
# 获取北向资金数据
|
||||
df = ak.stock_hsgt_north_net_flow_in_em(symbol="北上")
|
||||
# # 获取北向资金数据
|
||||
# df = ak.stock_hsgt_north_net_flow_in_em(symbol="北上")
|
||||
|
||||
if df is not None and not df.empty:
|
||||
# 取最新一条数据
|
||||
latest = df.iloc[-1]
|
||||
if '当日净流入' in df.columns:
|
||||
overview.north_flow = float(latest['当日净流入']) / 1e8 # 转为亿元
|
||||
elif '净流入' in df.columns:
|
||||
overview.north_flow = float(latest['净流入']) / 1e8
|
||||
# if df is not None and not df.empty:
|
||||
# # 取最新一条数据
|
||||
# latest = df.iloc[-1]
|
||||
# if '当日净流入' in df.columns:
|
||||
# overview.north_flow = float(latest['当日净流入']) / 1e8 # 转为亿元
|
||||
# elif '净流入' in df.columns:
|
||||
# overview.north_flow = float(latest['净流入']) / 1e8
|
||||
|
||||
logger.info(f"[大盘] 北向资金净流入: {overview.north_flow:.2f}亿")
|
||||
# logger.info(f"[大盘] 北向资金净流入: {overview.north_flow:.2f}亿")
|
||||
|
||||
except Exception as e:
|
||||
logger.warning(f"[大盘] 获取北向资金失败: {e}")
|
||||
# except Exception as e:
|
||||
# logger.warning(f"[大盘] 获取北向资金失败: {e}")
|
||||
|
||||
def search_market_news(self) -> List[Dict]:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user