MagicInput 数据集构建器

概述

MagicInput 数据集构建器 在为基于 AI 的加密货币交易模型准备高质量、带标签的训练数据方面发挥着关键作用。 它根据各种策略预设和历史市场条件模拟交易结果,生成 .parquet 格式的丰富数据集,优化用于高性能模型训练。

🛠 配置文件 (config.yaml)

daysBack: 30
exportFolder: exports
categories: 
  - meme
datasetDir: datasets
baseDir: presets
direction: Both     # Long, Short, Both
strategy: scalp     # balance_midterm, long_term, scalp, swing
maxVariations: 100  # 0: 跳过 / 限制测试
isDryRun: false
writeThreshold: 500
maxMemoryMB: 8000

database:
  provider: sqlite
  connectionString: Data Source=trade.db

该配置指导模拟器如何运行:

  • 目标交易对与时间周期(如:BTC, 1m)
  • 回测的天数范围
  • 包含的类别与策略
  • 交易方向:Long / Short / Both
  • 内存限制与写入阈值
  • 可选的试运行模式(dry-run)

🧩 类别 / 方向 / 策略层级结构

每个数据集按照三层目录结构组织:

  • 类别:如 meme, layer1, AI
  • 方向Long, Short, Both
  • 策略balance_midterm, long_term, scalp, swing

每个预设 YAML 文件定义了用于数据集生成的参数范围。

🧠 示例预设

name: Scalping 策略 - Long
description: 高频短线交易,设置紧凑的止损/止盈并使用高杠杆

leverage: [25, 50, 75]
strategy: [0, 1, 2]
virtualBalance: [100, 250]
riskPercent: [3, 5]

stopLoss: [0.3, 0.5, 1.0]
takeProfit: [0.5, 1.0, 2.0]
trailingSLOffset: [0.2, 0.5]
breakevenActivation: [0.5, 1.0]
breakevenBuffer: [0.1, 0.2]
trailingTPTrigger: [1.0, 2.0]
trailingTPOffset: [0.5]

timeTriggerEnabled: [true]
timeTriggerMinutes: [1, 3, 5]
timeTriggerModes: [2]

change: [0.3, 0.5, 1.0]
direction: [0, 1]
interval: [1, 3, 5]
match: [0, 1, 2]

📦 数据集输出

最终生成的数据集将保存至目录: /datasets/parquet_{YYYYMMDD}/{category}/{direction}/{symbol}.parquet

示例:

/datasets/parquet_20250713/meme/Both/WIF.parquet

🚀 模拟流程特点

  • ✔️ 加载与过滤预设文件
  • ✔️ 支持方向选择(Long / Short / Both
  • ✔️ 内存安全的并行模拟
  • ✔️ 智能批处理、ETA 记录、运行 ID 跟踪
  • ✔️ 支持 dry-run 预览模式
  • ✔️ 支持导出为 CSV 格式

🧼 数据验证与修复

  • ✔️ 检查列头结构是否正确
  • ✔️ 自动跳过包含 null/NaN 或无交易的数据行
  • ✔️ 覆盖错误文件前自动生成 .bak 备份
  • ✔️ 压缩保存为 .gz
  • ✔️ 生成调试日志,并将有问题的文件移动至 __bad__/
  • ✔️ 支持多线程安全处理大数据集

📚 支持的类别

以下类别代表逻辑市场板块或代币类型。 可在 config.yaml 中自由组合配置。

  • AI
  • bitcoin-layer2
  • bluechip / bluechip-alt
  • defin / defin-alt
  • enterprise-alt
  • gaming
  • highcap-alt
  • high-volatility-alt
  • identity
  • infrastructure
  • layer1 / layer2 / layer1-highcap
  • legacy / legacy-alt
  • meme
  • metaverse
  • new-alt
  • ordinals
  • pow-alt
  • stablecoin
  • storage
  • video
  • zero-knowledge

💡 注意事项

  • 构建数据集会占用大量 CPU 和内存。请合理配置 maxMemoryMBwriteThreshold
  • 使用 isDryRun: true 可验证配置并预览数据组合,无需实际写入文件。
  • maxVariations 有助于在参数组合过多时避免内存溢出。
  • 所有模拟都是可复现的,只需使用相同的 RunId 和配置。

📎 Related Topics