增加arbr计算,增强情绪分析师mcp
This commit is contained in:
+255
@@ -0,0 +1,255 @@
|
||||
# 市场情绪分析模块使用说明
|
||||
|
||||
## 概述
|
||||
|
||||
本系统已集成市场情绪数据分析功能,使用akshare获取包括ARBR在内的多项市场情绪指标,为市场情绪分析师提供实际数据支撑。
|
||||
|
||||
## 主要功能
|
||||
|
||||
### 1. ARBR指标(情绪人气指标)
|
||||
|
||||
**AR指标(人气指标)**
|
||||
- 计算公式:AR = (N日内(H-O)之和 / N日内(O-L)之和) × 100
|
||||
- 含义:反映市场买卖人气
|
||||
- 标准:
|
||||
- AR > 180:极度超买,市场过热
|
||||
- AR > 150:超买,市场情绪过热
|
||||
- 70 < AR < 150:正常区间
|
||||
- AR < 70:超卖,市场情绪低迷
|
||||
- AR < 40:极度超卖,市场过冷
|
||||
|
||||
**BR指标(意愿指标)**
|
||||
- 计算公式:BR = (N日内(H-CY)之和 / N日内(CY-L)之和) × 100
|
||||
- 含义:反映市场买卖意愿强度
|
||||
- 标准:
|
||||
- BR > 400:极度超买,投机情绪过热
|
||||
- BR > 300:超买,投机情绪旺盛
|
||||
- 50 < BR < 300:正常区间
|
||||
- BR < 50:超卖,投机情绪低迷
|
||||
- BR < 30:极度超卖,投机情绪冰点
|
||||
|
||||
### 2. 换手率数据
|
||||
|
||||
- 反映股票交易活跃程度
|
||||
- 标准:
|
||||
- >20%:极高,资金活跃度极高
|
||||
- >10%:较高,交易活跃
|
||||
- 5%-10%:正常,交易适中
|
||||
- 2%-5%:偏低,交易清淡
|
||||
- <2%:很低,交易清淡
|
||||
|
||||
### 3. 大盘情绪指数
|
||||
|
||||
- 上证指数涨跌情况
|
||||
- 市场涨跌家数统计
|
||||
- 市场情绪得分(基于涨跌家数比例)
|
||||
|
||||
### 4. 涨跌停统计
|
||||
|
||||
- 涨停股数量
|
||||
- 跌停股数量
|
||||
- 涨跌停比例
|
||||
- 反映市场热度和情绪极端程度
|
||||
|
||||
### 5. 融资融券数据
|
||||
|
||||
- 融资余额:反映看多资金
|
||||
- 融券余额:反映看空资金
|
||||
- 融资买入额:反映当日看多力度
|
||||
|
||||
### 6. 市场恐慌贪婪指数
|
||||
|
||||
- 综合多个指标计算
|
||||
- 0-100分制
|
||||
- 等级划分:
|
||||
- 75-100:极度贪婪
|
||||
- 60-75:贪婪
|
||||
- 40-60:中性
|
||||
- 25-40:恐慌
|
||||
- 0-25:极度恐慌
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 方法1:在主应用中自动调用
|
||||
|
||||
当你在主应用(`app.py`)中分析A股股票时,系统会自动:
|
||||
|
||||
1. 获取市场情绪数据(包括ARBR等指标)
|
||||
2. 将数据传递给市场情绪分析师
|
||||
3. 分析师基于实际数据进行专业分析
|
||||
|
||||
### 方法2:单独使用市场情绪数据模块
|
||||
|
||||
```python
|
||||
from market_sentiment_data import MarketSentimentDataFetcher
|
||||
|
||||
# 创建市场情绪数据获取器
|
||||
fetcher = MarketSentimentDataFetcher()
|
||||
|
||||
# 获取某只股票的市场情绪数据
|
||||
symbol = "000001" # 平安银行
|
||||
sentiment_data = fetcher.get_market_sentiment_data(symbol)
|
||||
|
||||
# 检查是否成功获取数据
|
||||
if sentiment_data.get("data_success"):
|
||||
print("✅ 数据获取成功")
|
||||
|
||||
# 查看ARBR数据
|
||||
if sentiment_data.get("arbr_data"):
|
||||
arbr = sentiment_data["arbr_data"]
|
||||
print(f"AR值: {arbr['latest_ar']:.2f}")
|
||||
print(f"BR值: {arbr['latest_br']:.2f}")
|
||||
print(f"信号: {arbr['signals']['overall_signal']}")
|
||||
print("解读:")
|
||||
for interpretation in arbr['interpretation']:
|
||||
print(f" - {interpretation}")
|
||||
|
||||
# 格式化输出(适合AI阅读)
|
||||
formatted_text = fetcher.format_sentiment_data_for_ai(sentiment_data)
|
||||
print(formatted_text)
|
||||
else:
|
||||
print("❌ 数据获取失败")
|
||||
```
|
||||
|
||||
### 方法3:计算单独的ARBR指标
|
||||
|
||||
```python
|
||||
from market_sentiment_data import MarketSentimentDataFetcher
|
||||
import akshare as ak
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
# 创建获取器
|
||||
fetcher = MarketSentimentDataFetcher()
|
||||
|
||||
# 获取股票历史数据
|
||||
symbol = "000001"
|
||||
end_date = datetime.now().strftime('%Y%m%d')
|
||||
start_date = (datetime.now() - timedelta(days=120)).strftime('%Y%m%d')
|
||||
|
||||
stock_data = ak.stock_zh_a_hist(
|
||||
symbol=symbol,
|
||||
period="daily",
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
adjust="qfq"
|
||||
)
|
||||
|
||||
# 计算ARBR
|
||||
arbr_data = fetcher._calculate_arbr(symbol, stock_data)
|
||||
|
||||
if arbr_data:
|
||||
print(f"最新AR: {arbr_data['latest_ar']:.2f}")
|
||||
print(f"最新BR: {arbr_data['latest_br']:.2f}")
|
||||
print(f"整体信号: {arbr_data['signals']['overall_signal']}")
|
||||
```
|
||||
|
||||
## 数据说明
|
||||
|
||||
### 数据来源
|
||||
|
||||
- **akshare**:提供A股实时行情、历史数据、市场统计等
|
||||
- **实时性**:大部分数据为实时或T+1数据
|
||||
|
||||
### 数据限制
|
||||
|
||||
1. **仅支持A股**:当前仅支持中国A股(6位数字代码)
|
||||
2. **网络依赖**:需要稳定的网络连接访问akshare数据源
|
||||
3. **频率限制**:某些数据源有访问频率限制,建议合理使用
|
||||
|
||||
### 数据可靠性
|
||||
|
||||
- ARBR指标:基于历史K线数据计算,准确可靠
|
||||
- 换手率、涨跌停:来自交易所实时数据
|
||||
- 融资融券:T+1数据,具有一定滞后性
|
||||
- 大盘情绪:基于实时市场统计
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **数据获取失败处理**
|
||||
- 系统会自动处理数据获取失败的情况
|
||||
- 如果无法获取某项数据,分析师仍会基于其他可用信息进行分析
|
||||
|
||||
2. **指标解读**
|
||||
- ARBR指标应结合其他技术指标综合判断
|
||||
- 市场情绪具有一定的滞后性和反转性
|
||||
- 极端情绪往往是反转信号
|
||||
|
||||
3. **风险提示**
|
||||
- 市场情绪指标仅供参考,不构成投资建议
|
||||
- 投资有风险,决策需谨慎
|
||||
|
||||
## 集成到分析流程
|
||||
|
||||
系统已自动将市场情绪数据集成到分析流程中:
|
||||
|
||||
```
|
||||
1. 数据获取(股票基本信息、历史数据)
|
||||
2. 技术面分析(技术指标、趋势)
|
||||
3. 基本面分析(财务数据、估值)
|
||||
4. 资金面分析(资金流向、主力行为)
|
||||
5. 市场情绪数据获取(⭐ ARBR、换手率、涨跌停等)
|
||||
6. 风险管理分析(风险识别、控制)
|
||||
7. 市场情绪分析(⭐ 基于实际情绪数据的深度分析)
|
||||
8. 团队讨论(综合各方观点)
|
||||
9. 最终决策(投资建议)
|
||||
```
|
||||
|
||||
## 输出示例
|
||||
|
||||
```
|
||||
【ARBR市场情绪指标】
|
||||
- 计算周期:26日
|
||||
- AR值:98.45(人气指标)
|
||||
- BR值:105.23(意愿指标)
|
||||
- 信号:中性信号
|
||||
- 解读:
|
||||
* AR处于正常区间(98.45),市场情绪相对平稳
|
||||
* BR处于正常区间(105.23),投机情绪适中
|
||||
* 多头力量强劲(AR>100且BR>100),但需警惕过热风险
|
||||
* 意愿指标强于人气指标(BR>AR),投机性较强,需注意资金稳定性
|
||||
|
||||
ARBR统计数据:
|
||||
- AR历史均值:95.67
|
||||
- BR历史均值:102.34
|
||||
- 历史买入信号比例:15.2%
|
||||
- 历史卖出信号比例:12.8%
|
||||
|
||||
【换手率数据】
|
||||
- 当前换手率:3.45%
|
||||
- 解读:换手率正常(5%-10%),交易适中
|
||||
|
||||
【大盘市场情绪】
|
||||
- 指数:上证指数
|
||||
- 涨跌幅:0.85%
|
||||
- 市场情绪得分:15.32
|
||||
- 涨家数:2856只
|
||||
- 跌家数:1987只
|
||||
- 平家数:234只
|
||||
- 市场情绪:市场情绪偏多
|
||||
```
|
||||
|
||||
## 技术支持
|
||||
|
||||
如有问题或建议,请查看:
|
||||
- `market_sentiment_data.py`:市场情绪数据模块源码
|
||||
- `ai_agents.py`:AI分析师实现(包括市场情绪分析师)
|
||||
- `app.py`:主应用程序
|
||||
|
||||
## 更新日志
|
||||
|
||||
**v1.0** (当前版本)
|
||||
- ✅ ARBR指标计算和解读
|
||||
- ✅ 换手率数据获取
|
||||
- ✅ 大盘情绪指数
|
||||
- ✅ 涨跌停统计
|
||||
- ✅ 融资融券数据
|
||||
- ✅ 市场恐慌贪婪指数
|
||||
- ✅ 集成到市场情绪分析师
|
||||
- ✅ 自动格式化为AI可读文本
|
||||
|
||||
**未来计划**
|
||||
- 🔲 支持更多情绪指标(VIX等)
|
||||
- 🔲 历史情绪数据回测
|
||||
- 🔲 情绪指标可视化图表
|
||||
- 🔲 美股市场情绪数据支持
|
||||
|
||||
Reference in New Issue
Block a user