MagicInputデータセットビルダー

概要

MagicInput Dataset Builder は、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
  • メモリ制限と書き込みしきい値
  • オプションのドライラン(テスト実行)

🧩 カテゴリ / 方向 / 戦略の階層構造

各データセットは、3階層のフォルダー構造で整理されます:

  • カテゴリ:例 meme, layer1, AI
  • 方向Long, Short, Both
  • 戦略balance_midterm, long_term, scalp, swing

各プリセットのYAMLファイルでは、データ生成のためのパラメーター範囲が定義されています。

🧠 プリセットの例

name: Scalping Strategy - Long
description: SL/TPがタイトで高いレバレッジを伴う短期高頻度取引プロファイル

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ログ、Run IDトラッキング
  • ✔️ プレビュー用のドライランモード(オプション)
  • ✔️ 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