|
|
|
|
@ -295,14 +295,27 @@ class AmazingDataAdapter(DataSourceAdapter):
|
|
|
|
|
local_path=self.config.local_path,
|
|
|
|
|
is_local=self.config.use_local_cache
|
|
|
|
|
)
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]股本结构: {equity_dict}")
|
|
|
|
|
if symbol in equity_dict:
|
|
|
|
|
equity_df = equity_dict[symbol]
|
|
|
|
|
# 获取最新的股本数据
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]获取到 {len(equity_df)} 条股本结构数据")
|
|
|
|
|
# 获取最近交易日的 TOT_A_SHARE 作为总股本
|
|
|
|
|
if not equity_df.empty:
|
|
|
|
|
# 按日期排序,获取最新数据
|
|
|
|
|
if 'ANN_DATE' in equity_df.columns:
|
|
|
|
|
equity_df = equity_df.sort_values('ANN_DATE')
|
|
|
|
|
latest_equity = equity_df.iloc[-1]
|
|
|
|
|
tot_share = float(latest_equity.get('TOT_SHARE', 0)) * 10000 # 万股转股
|
|
|
|
|
float_share = float(latest_equity.get('FLOAT_SHARE', 0)) * 10000 # 万股转股
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]总股本: {tot_share}, 流通股: {float_share}")
|
|
|
|
|
|
|
|
|
|
# 获取 TOT_A_SHARE(A股总股本)
|
|
|
|
|
tot_a_share = float(latest_equity.get('TOT_A_SHARE', 0))
|
|
|
|
|
tot_share = tot_a_share * 10000 # 万股转股
|
|
|
|
|
|
|
|
|
|
# 流通股使用 FLOAT_A_SHARE(流通A股)
|
|
|
|
|
float_a_share = float(latest_equity.get('FLOAT_A_SHARE', 0))
|
|
|
|
|
float_share = float_a_share * 10000 # 万股转股
|
|
|
|
|
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]最近交易日 TOT_A_SHARE: {tot_a_share} 万股, FLOAT_A_SHARE: {float_a_share} 万股")
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]换算后总股本: {tot_share} 股, 流通股: {float_share} 股")
|
|
|
|
|
else:
|
|
|
|
|
tot_share = 0
|
|
|
|
|
float_share = 0
|
|
|
|
|
@ -377,8 +390,10 @@ class AmazingDataAdapter(DataSourceAdapter):
|
|
|
|
|
# ============================================
|
|
|
|
|
# 4.2 计算市值
|
|
|
|
|
# ============================================
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]close: {close}, 总股本: {tot_share}, 流通股本: {float_share}")
|
|
|
|
|
total_market_cap = close * tot_share if tot_share > 0 and close > 0 else None
|
|
|
|
|
float_market_cap = close * float_share if float_share > 0 and close > 0 else None
|
|
|
|
|
print(f"[amazingdata_adapter _fetch_klines_sync]总市值: {total_market_cap}, 流通市值: {float_market_cap}")
|
|
|
|
|
|
|
|
|
|
# ============================================
|
|
|
|
|
# 4.3 计算可交易日数
|
|
|
|
|
|