- 1분봉 다운로드 제외, MONITOR_PERSIST로 05/06 수집 시 coins.db INSERT - Phase C paper_fires 로그·07 모의 리포트, hybrid 시뮬 산출물·reference 문서 갱신 - .env Phase C(LIVE=0), bootstrap dotenv override=True Co-authored-by: Cursor <cursoragent@cursor.com>
4.9 KiB
4.9 KiB
DeepCoin — WLD MTF 분석·정답·운영
빗썸 KRW-WLD. 3, 5, 10, 15, 30, 60, 240, 1440분 봉을 적재하고 (1분봉은 다운로드 제외, 모니터는 API 최신 1봉만),
Ground Truth·기술적 분석·규칙 매칭·알림·**실거래(선택)**까지 단계별로 관리합니다.
남은 작업 순서
| 순서 | 단계 | 상태 | 실행 |
|---|---|---|---|
| 1 | 시뮬레이션 | 완료 (GO) | python scripts/04_simulation_report.py |
| 2 | 문서화 | 완료 | docs/reference/SIMULATION.md 등 |
| 3 | 오픈(실거래 B-1) | 기동 | python scripts/06_execute_live.py (LIVE=1) |
| (C) | dry-run·알림 | 선택 병행 | 05_run_monitor.py |
| 4 | 1~2주 검증 | 대기 | docs/05_ops/live_verification_*.md |
| 5 | 지속 거래 | 대기 | 06 상시 + 월간 재시뮬 |
운영 배분: hybrid primary (= 시뮬 sim_causal_hybrid). LIVE_TRADING.md
파이프라인 CLI
| 단계 | 목적 | 실행 |
|---|---|---|
| 01 데이터 | 1년치 봉 적재 | python scripts/01_download.py |
| 02 Ground Truth | 매수·매도 정답 타점 | python scripts/02_ground_truth.py |
| 03 분석 | 8TF 기술 지표 enrich | python scripts/03_analyze_enrich.py |
| 03b 분석 | GT 타점 MTF 스냅샷 | python scripts/03_analyze_trades.py |
| 04 매칭 | GT 프로필 + leg_gt EV | python scripts/04_match_rules.py |
| 04 시뮬 | Go/No-Go 리포트 | python scripts/04_simulation_report.py |
| 05 알림 | 텔레그램 (주문 없음) | python scripts/05_run_monitor.py |
| 06 실거래 | 빗썸 주문 (LIVE_TRADING_ENABLED=1) |
python scripts/06_execute_live.py |
디렉터리 구조
DeepCoin/
├── .env, config.py
├── scripts/ # ★ 단계별 CLI (유일한 진입점)
├── deepcoin/
│ ├── api/bithumb.py # 빗썸 API
│ ├── data/ # 01 다운로드
│ ├── ground_truth/ # 02 정답 타점
│ ├── analysis/ # 03·03b 지표·스냅샷
│ ├── matching/ # 04·시뮬
│ └── ops/ # 05 알림·06 실거래
├── data/ # coins.db, ground_truth/, ops/
└── docs/
├── reference/ # 가이드·기법 명세 (Git)
└── 02~05, charts/ # 단계별 HTML·CSV (재생성)
상세: docs/reference/STRUCTURE.md · docs/README.md
환경 변수
| 파일 | 용도 |
|---|---|
.env |
전역 설정·API 키 (Git 제외, 프로젝트 루트에 필수) |
config.py와 scripts/_bootstrap.py가 프로젝트 루트 .env를 python-dotenv로 자동 로드합니다. 새 환경에서는 팀에서 .env를 전달받거나 기존 로컬 파일을 복사하세요.
pip install -r requirements.txt
빠른 시작
python scripts/01_download.py
python scripts/02_ground_truth.py
python scripts/03_analyze_enrich.py
python scripts/03_analyze_trades.py
python scripts/03_gt_mtf_profile.py # GT 타점 3분~일봉 프로필 (04 입력)
python scripts/04_match_rules.py
python scripts/05_chart_truth.py
주요 설정 (config.py / .env)
| 항목 | 설명 |
|---|---|
BITHUMB_ACCESS_KEY |
빗썸 API (다운로드·시세) |
DB_PATH |
data/coins.db (.env로 변경 가능) |
GROUND_TRUTH_FILE |
data/ground_truth/ground_truth_trades.json |
CHART_LOOKBACK_DAYS |
기본 365일 |
DOWNLOAD_MONTHS |
3분 이상 봉 12개월 |
MONITOR_LOOP_SLEEP_SEC |
05 모니터 루프 주기(초) |
MONITOR_ALERT_KRW_AMOUNT |
규칙 알림 참고 금액(원, 매수·잔고 미조회 시) |
MONITOR_ALERT_COOLDOWN_MIN |
동일 규칙 텔레그램 재알림 최소 간격(분, 기본 180) |
MATCH_HOLDOUT_RATIO |
홀드아웃(최근) 구간 비율 (기본 0.15) |
MATCH_MONITOR_MAX_PER_SIDE |
05·06 감시 규칙 수 (매수·매도 각, 기본 1) |
LIVE_TRADING_ENABLED |
1일 때만 06 실주문 (기본 0) |
LIVE_ORDER_KRW / LIVE_DAILY_KRW_MAX |
1회·일 주문 한도 |
산출물
| 경로 | 내용 |
|---|---|
data/coins.db |
전 간격 OHLCV |
data/ground_truth/ground_truth_trades.json |
정답 타점 |
docs/charts/wld_bb_chart.html |
3분 BB 차트 |
docs/02_ground_truth/wld_ground_truth_chart.html |
정답 차트 |
docs/03_analysis/latest/*_latest.csv |
간격별 최근 봉 전 기법 |
docs/03_analysis/general_analysis_trades.csv |
GT 타점 MTF 스냅샷 |
docs/04_matching/matched_rules.json |
EV·holdout 통과 규칙 |
docs/04_matching/simulation_report.html |
1단계 Go/No-Go |
data/ops/live_trades.jsonl |
06 실거래 로그 |
면책
실거래 손익은 사용자 책임입니다. LIVE_TRADING_ENABLED=0이면 06은 주문하지 않습니다.