Обзор
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
- Ограничения по памяти и пороги записи
- Опциональный тестовый режим (dry-run)
🧩 Иерархия Категория / Направление / Стратегия
Каждый датасет организуется в 3-уровневую структуру папок:
- Категория: например
meme
,layer1
,AI
- Направление:
Long
,Short
,Both
- Стратегия:
balance_midterm
,long_term
,scalp
,swing
Каждый YAML-пресет задаёт диапазоны параметров для генерации данных.
🧠 Пример пресета
name: Стратегия для скальпинга – 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
- ✔️ Опциональный режим 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 и памяти. Настройте параметры
maxMemoryMB
иwriteThreshold
соответствующим образом. - Используйте
isDryRun: true
для предварительной проверки конфигурации без записи файлов. - maxVariations предотвращает переполнение памяти при большом количестве комбинаций параметров.
- Все симуляции воспроизводимы при использовании одного и того же
RunId
и конфигурации.