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绕过, 目录扫描, 聚类, 行为金融学, 资源验证, 趋势识别, 逆向工具, 金融分析