개요
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: 스캘핑 전략 - 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 추적
- ✔️ 드라이런(미리보기) 모드 지원
- ✔️ 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
와 구성으로 모든 시뮬레이션은 재현 가능합니다.