feat(api): 为美股/港股数据添加 stock info 信息
- 在 universal_fetcher._fetch_yfinance 中获取公司信息 - 包含 sector、industry、market_cap 字段 - 将信息存储在 DataFrame.attrs 中 - Flask API 自动提取并返回 info 字段
This commit is contained in:
@@ -362,6 +362,20 @@ class UniversalDataFetcher:
|
||||
|
||||
try:
|
||||
ticker = yf.Ticker(yf_code)
|
||||
|
||||
# 获取公司信息(仅对股票)
|
||||
info = {}
|
||||
if asset_type in ['us_stock', 'hk_stock']:
|
||||
try:
|
||||
stock_info = ticker.info
|
||||
info = {
|
||||
'sector': stock_info.get('sector'),
|
||||
'industry': stock_info.get('industry'),
|
||||
'market_cap': stock_info.get('marketCap'),
|
||||
}
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# end_date 需要加一天(yfinance 的 end 是排他的)
|
||||
end_date_obj = pd.Timestamp(end_date) + timedelta(days=1)
|
||||
data = ticker.history(
|
||||
@@ -388,6 +402,10 @@ class UniversalDataFetcher:
|
||||
data = data[available]
|
||||
data['code'] = code
|
||||
|
||||
# 添加公司信息到 DataFrame 的 attrs(属性)
|
||||
if info:
|
||||
data.attrs['info'] = info
|
||||
|
||||
return data
|
||||
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user