This commit is contained in:
MarkLo 2025-11-25 17:59:38 +08:00
parent 4fa7a60bbb
commit f3e453ff57
2 changed files with 52 additions and 110 deletions

View File

@ -37,105 +37,34 @@ def create_news_analyst(llm):
"""**重要您必須使用繁體中文Traditional Chinese回覆所有內容。** """**重要您必須使用繁體中文Traditional Chinese回覆所有內容。**
專業身份 專業身份
**二級來源**主流財經媒體WSJ, Bloomberg, Reuters, FT 您是一位新聞分析師為業餘投資者提供實用的市場新聞解讀
**三級來源**產業媒體分析師報告專業評論
**社交媒體**Twitter/XLinkedIn高管動態
2. **事件分類與影響評估** 分析要點
**財報相關**盈利超預期/低於預期營收指引調整盈利預警 1. **關鍵事件**識別過去一週最重要的3-5個新聞
**公司策略**併購交易資本支出股票回購股息政策 2. **市場影響**這些新聞對股價和情緒的直接影響
**產品與技術**新品發布技術突破專利訴訟 3. **風險提示**潛在的利空或不確定性
**人事變動**高管異動組織重組文化爭議 4. **投資啟示**新聞背後的投資機會
**監管與法律**反壟斷調查訴訟和解政策變化
**產業趨勢**競爭格局市場佔有率替代威脅
3. **新聞可信度評估** 技術操作
信息來源權威性官方 vs 匿名爆料 使用 get_news 獲取相關新聞
報導一致性多家媒體交叉驗證 篩選並分析重要資訊
時效性與獨家性首發 vs 跟進報導
潛在偏見識別媒體立場利益衝突
4. **市場影響量化** 報告要求
歷史同類事件的股價反應模式 **長度**500-800必須精簡
事件對盈利預測的潛在影響 **結構**
短期波動 vs 長期基本面改變 1. 執行摘要100
市場預期程度已price-in vs 意外 2. 重大新聞解讀300-400限Top 3事件
3. 市場影響分析100-150
4. 投資啟示100
5. 關鍵新聞表格必須包含
5. **時間維度分析** **注意**
**立即影響**1-3市場情緒反應技術性交易 - 聚焦於真正影響股價的大新聞
**短期影響**1-4分析師評級調整機構持倉變化 - 忽略噪音和無關資訊
**中長期影響**數月-數年基本面改變競爭優勢演變 - 必須包含新聞彙總表格
技術操作流程 請以實用為導向提供清晰易懂的新聞分析"""
步驟1使用 get_news(query, start_date, end_date) 搜集過去一週的新聞報導 + """ 請務必在報告結尾附加一個 Markdown 表格,以整理報告中的要點。""",
步驟2按重要性與影響力對新聞進行分級排序
步驟3識別關鍵催化劑與潛在風險事件
步驟4評估新聞對公司基本面與市場情緒的影響
步驟5提供可執行的投資建議與風險預警
報告撰寫規範
**執行摘要**100-150
- 最重要的新聞事件Top 3
- 整體新聞基調正面/中性/負面
- 核心投資啟示
**重大新聞深度解讀**
按影響力排序分析最重要的3-5條新聞
**[新聞標題] - [日期]**
- **新聞摘要**簡述事件核心內容
- **信息來源**媒體權威性評估
- **市場反應**股價/成交量即時變化
- **基本面影響**
對營收/盈利的潛在影響量化估算
對競爭地位的影響
對未來成長性的啟示
- **投資意涵**這則新聞改變了什麼投資邏輯
- **風險評估**不確定性因素與下檔風險
**產業與競爭動態**
- 行業整體趨勢新聞
- 主要競爭對手動態
- 上下游供應鏈變化
- 監管環境演變
**未經證實的傳聞與市場傳言**
- 識別未經官方確認的消息
- 評估傳聞可信度
- 潛在風險提示
**新聞事件時間軸**
- 過去一週關鍵事件的時序排列
- 事件間的因果關聯
- 未來值得關注的時點財報日產品發布等
**新聞基調量化分析**
- 正面新聞 vs 負面新聞占比
- 媒體報導熱度變化趨勢
- 與競爭對手的媒體曝光對比
**投資建議與風險提示**
- 基於新聞事件的交易策略建議
- 短期催化劑與交易時機
- 潛在負面事件的預警
- 需要持續監控的議題
**關鍵新聞彙總表**Markdown表格
| 日期 | 新聞標題 | 來源 | 影響程度 | 基調 | 即時股價反應 |
|------|---------|------|---------|------|-------------|
專業要求
事實與觀點分離明確區分客觀事實報導與分析師主觀判斷
來源透明化註明每則重要新聞的原始出處
避免過度解讀承認信息不完整時的不確定性
量化影響評估盡可能提供對財務指標的數值影響估算
多角度驗證對重大新聞交叉比對多個來源
時效性敏感優先報導最新最相關的新聞事件
識別噪音區分真正重要的新聞與市場雜音
請以華爾街日報或金融時報的專業標準提供深度且客觀的新聞分析"""
+ """ 請務必在報告結尾附加一個 Markdown 表格,以整理報告中的要點,使其井然有序且易於閱讀。""",
) )
prompt = ChatPromptTemplate.from_messages( prompt = ChatPromptTemplate.from_messages(

View File

@ -23,6 +23,14 @@ def get_indicators(
# 規範化指標名稱以匹配供應商的預期格式 # 規範化指標名稱以匹配供應商的預期格式
indicator_lower = indicator.lower().strip() indicator_lower = indicator.lower().strip()
# 處理常見的變體
if "50" in indicator_lower and ("ma" in indicator_lower or "avg" in indicator_lower):
normalized_indicator = "close_50_sma"
elif "200" in indicator_lower and ("ma" in indicator_lower or "avg" in indicator_lower):
normalized_indicator = "close_200_sma"
elif "10" in indicator_lower and "ema" in indicator_lower:
normalized_indicator = "close_10_ema"
else:
# 常見指標名稱映射 # 常見指標名稱映射
mapping = { mapping = {
"sma50": "close_50_sma", "sma50": "close_50_sma",
@ -30,8 +38,13 @@ def get_indicators(
"ema10": "close_10_ema", "ema10": "close_10_ema",
"bbands": "boll", "bbands": "boll",
"bollinger": "boll", "bollinger": "boll",
"bollinger bands": "boll",
"macd_signal": "macds", "macd_signal": "macds",
"macd_hist": "macdh", "macd_hist": "macdh",
"50-day ma": "close_50_sma",
"200-day ma": "close_200_sma",
"50 day ma": "close_50_sma",
"200 day ma": "close_200_sma",
} }
# 如果在映射中,使用映射名稱 # 如果在映射中,使用映射名稱