leducanh0803-ops/btc_fomo_detection
GitHub: leducanh0803-ops/btc_fomo_detection
一个用于量化和分析比特币投资者FOMO行为强度的特征工程与聚类系统。
Stars: 1 | Forks: 0
# 评估比特币投资者的FOMO行为得分
## 本项目功能
该项目基于模拟交易历史和市场数据,为每位个人比特币投资者计算 **FOMO(害怕错过)强度得分**。它会识别出投资者行为异常偏离其自身过往的特定时期,这些时期通常由以下因素触发:强劲的价格上涨、在历史高点附近买入、交易量激增以及现金迅速耗尽。
输出结果是一个表格,每一行代表一个 **投资者-月份窗口**,包含连续得分(0–100)、分类级别(低 / 中 / 高)、模型可信度以及导致该分数的关键信号。
## 输入数据
- **btc_market_ohlcv.csv** – 2021-01-01 至 2025-12-31 期间每日的比特币价格数据(开盘、最高、最低、收盘、成交量)。
- **btc_trade_log.csv** – 模拟交易日志,包含投资者ID、时间、方向(买/卖)、价格、数量、价值、交易后现金和头寸信息。
- **sample_submission.csv** – 参考输出格式示例。
## 流程管线结构
1. **加载与清洗** – 排序、去重。
2. **市场特征** – 计算每日7日收益率和与历史最高价(ATH)的距离。
3. **合并与窗口划分** – 将每笔交易分配到其对应的月份窗口,并附上市场背景信息。
4. **行为特征工程** – 按投资者-月份进行聚合:交易次数、买卖强度、在市场大幅上涨时买入、在历史高点附近买入、不活跃交易间隔、现金变化。
5. **基线标准化** – 计算扩展历史z分数(仅使用同一投资者的过往窗口)以衡量个人行为偏差程度。
6. **FOMO得分计算** – 对五个偏差组成部分(涨幅、ATH、强度、交易量激增、现金)进行加权求和,经过下限截断和最小-最大标准化至0-100范围。
7. **聚类(HDBSCAN)** – 对窗口进行无监督聚类;具有最高FOMO信号中位数的聚类被视为FOMO聚类(用于验证和计算可信度)。
8. **最终标签** – 分数映射为低(<40)、中(40-70)、高(>70);可信度基于聚类概率和分数到分类边界的距离;提取贡献最大的三个信号。
9. **输出** – 生成包含所有要求列的 `submission.csv` 文件。
## 输出规范 (`submission.csv`)
| 列名 | 描述 |
|-----|-------|
| `investor_id` | 投资者标识符 |
| `window_start` | 月份窗口的开始日期 (YYYY-MM-DD) |
| `window_end` | 月份窗口的结束日期 |
| `fomo_score` | FOMO 强度得分 0–100(越高表示越强烈) |
| `fomo_level` | 低 / 中 / 高 |
| `confidence` | 模型对所分配 FOMO 级别的可信度 (0–1) |
| `top_1_signal` | 影响最大的信号 (例如:`buy_after_rally`) |
| `top_2_signal` | 影响第二大的信号 |
| `top_3_signal` | 影响第三大的信号 |
| `notes` | 可选备注 (例如:聚类标签、稀疏数据警告) |
## 安装要求
- Python 3.8 或更高版本
- pandas, numpy, matplotlib, seaborn, scikit‑learn, hdbscan
## 运行方法
1. 将 `btc_market_ohlcv.csv` 和 `btc_trade_log.csv` 文件放入工作目录。
2. 运行流程管线脚本。
3. `submission.csv` 文件将被生成。
## 注意事项
- 仅对拥有 ≥3 笔交易的月份窗口进行评分,以确保信号足够可靠。
- 所有特征仅使用当前和历史信息,不存在未来数据泄露。
- 可信度综合了聚类成员概率和分数到分类阈界的距离。
标签:Apex, BSD, FOMO, HDBSCAN, PCA, 交易系统, 人工智能, 分类模型, 加密货币, 大数据, 市场分析, 异常检测, 异常评分, 得分模型, 情绪分析, 投资策略, 投资者行为, 数据挖掘, 数据科学, 时间序列, 机器学习, 模拟数据, 比特币, 特征工程, 特征提取, 用户模式Hook绕过, 目录扫描, 聚类, 行为金融学, 资源验证, 趋势识别, 逆向工具, 金融分析