refactor: DeepCoin 1·2단계 파이프라인으로 구조 재편
레거시 분석·매칭·운영 코드를 정리하고 src/deepcoin 기반으로 재구성한다. 1단계 GT는 2년 스윙·눌림목·돌파·다이버전스 타점을 차트에 표시하고, 2단계는 8개 매매 기법과 GT 정합 평가 스크립트를 추가한다. .env와 GT JSON 산출물은 추적에서 제외한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
230
.env.example
230
.env.example
@@ -1,210 +1,50 @@
|
||||
# DeepCoin — .env.example (비밀값 없음). 복사: cp .env.example .env 후 키만 채우세요.
|
||||
# Python: conda activate ncue && pip install -r requirements.txt
|
||||
# DeepCoin — .env.example (비밀값 없음). 복사: cp .env.example .env
|
||||
|
||||
# --- 빗썸 API ---
|
||||
# --- 빗썸 API (캔들 수집은 Public API, 키 선택) ---
|
||||
BITHUMB_ACCESS_KEY=
|
||||
BITHUMB_SECRET_KEY=
|
||||
BITHUMB_API_URL=https://api.bithumb.com
|
||||
BITHUMB_API_CANDLE_COUNT=200
|
||||
BITHUMB_MINUTE_INTERVALS=1,3,5,10,15,30,60,240
|
||||
BITHUMB_MINUTE_INTERVALS=3,5,10,15,30,60,240
|
||||
HTS_API_RETRY_SLEEP_SEC=0.5
|
||||
|
||||
# --- 텔레그램 (선택, 알림 미사용 시 비워도 됨) ---
|
||||
# --- 텔레그램 (선택) ---
|
||||
COIN_TELEGRAM_BOT_TOKEN=
|
||||
COIN_TELEGRAM_CHAT_ID=
|
||||
|
||||
# --- 거래 대상 ---
|
||||
SYMBOL=WLD
|
||||
COIN_NAME=월드코인
|
||||
SYMBOL=BTC
|
||||
COIN_NAME=비트코인
|
||||
|
||||
# --- 경로 ---
|
||||
DB_PATH=data/coins.db
|
||||
GROUND_TRUTH_FILE=data/ground_truth/ground_truth_trades.json
|
||||
# --- 데이터 수집 (최대 2년) ---
|
||||
# 인터벌 코드: 분봉=분, 일봉=1440, 주봉=10080, 월봉=43200
|
||||
DB_PATH=coins.db
|
||||
DOWNLOAD_DAYS=730
|
||||
DOWNLOAD_INTERVALS=3,5,10,15,30,60,240,1440,10080,43200
|
||||
API_REQUEST_SLEEP_SEC=0.35
|
||||
API_REQUEST_RETRIES=3
|
||||
|
||||
# --- 타임프레임 (분) ---
|
||||
DAILY_INTERVAL_MIN=1440
|
||||
ENTRY_INTERVAL=3
|
||||
TREND_INTERVAL_1H=60
|
||||
TREND_INTERVAL_1D=1440
|
||||
ALL_INTERVALS=3,5,10,15,30,60,240,1440
|
||||
DOWNLOAD_INTERVALS=3,5,10,15,30,60,240,1440
|
||||
GENERAL_ANALYSIS_INTERVALS=3,5,10,15,30,60,240,1440,10080,43200
|
||||
TIMING_INTERVALS=3,5,10,15
|
||||
TREND_INTERVALS=60,240,1440,10080,43200
|
||||
INTERVAL_PREFIX=3:m3,5:m5,10:m10,15:m15,30:m30,60:m60,240:m240,1440:d1,10080:w1,43200:mo1
|
||||
|
||||
# --- 볼린저 / RSI ---
|
||||
BB_PERIOD=20
|
||||
BB_STD=2
|
||||
BB_MIN_WIDTH_PCT=0.8
|
||||
RSI_PERIOD=14
|
||||
DISPARITY_PERIODS=5,20,60
|
||||
DISPARITY_OVERBOUGHT=105
|
||||
DISPARITY_OVERSOLD=95
|
||||
MACD_FAST=12
|
||||
MACD_SLOW=26
|
||||
MACD_SIGNAL=9
|
||||
STOCH_K_PERIOD=14
|
||||
STOCH_D_PERIOD=3
|
||||
STOCH_SMOOTH_K=3
|
||||
STOCH_OVERSOLD=20
|
||||
STOCH_OVERBOUGHT=80
|
||||
TREND_RANGE_MA_GAP_PCT=0.5
|
||||
|
||||
# --- MTF 정렬 ---
|
||||
ALIGN_RSI_OVERSOLD=35
|
||||
ALIGN_RSI_OVERBOUGHT=65
|
||||
ALIGN_RSI_CONFLICT_TIMING_LOW=40
|
||||
ALIGN_RSI_CONFLICT_TIMING_HIGH=65
|
||||
ALIGN_RSI_CONFLICT_TREND_LOW=40
|
||||
ALIGN_RSI_CONFLICT_TREND_HIGH=65
|
||||
ALIGN_BB_POS_LOW=0.2
|
||||
ALIGN_BB_POS_HIGH=0.8
|
||||
|
||||
# --- 다운로드 / DB ---
|
||||
DOWNLOAD_MONTHS=12
|
||||
INCREMENTAL_OVERLAP_BARS=3
|
||||
DOWNLOAD_BACKFILL_EXTRA_BARS=200
|
||||
DOWNLOAD_MIN_INCREMENTAL_BARS=50
|
||||
DOWNLOAD_DAILY_EXTRA_DAYS=20
|
||||
CHART_LOOKBACK_DAYS=365
|
||||
DB_READ_LIMIT_DEFAULT=7000
|
||||
DB_ROW_WARMUP_BARS=200
|
||||
DB_ROW_MIN_DAILY_BARS=100
|
||||
DB_ROW_DAILY_PADDING_DAYS=30
|
||||
|
||||
# --- Ground Truth ---
|
||||
GT_MIN_SWING_PCT=4.0
|
||||
GT_PIVOT_ORDER=20
|
||||
GT_MIN_BARS_BETWEEN=30
|
||||
GT_MAX_ROUND_TRIPS=24
|
||||
GT_SELECTION_MODE=split_buy_peak_sell
|
||||
GT_MIN_LEG_PCT=8.0
|
||||
GT_BUY_MIN_SWING_PCT=3.0
|
||||
GT_BUY_BB_MAX=0.45
|
||||
GT_BUY_MIN_BARS=24
|
||||
GT_MAX_BUYS_PER_LEG=12
|
||||
GT_MAX_SELLS_PER_LEG=2
|
||||
GT_SELL_SPLIT_GAP_PCT=2.5
|
||||
GT_MARKER_SIZE_MIN=10
|
||||
GT_MARKER_SIZE_MAX=32
|
||||
# --- Ground Truth (1단계, 2년) — DOWNLOAD_DAYS와 동일 권장 ---
|
||||
GT_INTERVAL_MIN=3
|
||||
GT_LOOKBACK_DAYS=730
|
||||
GT_INITIAL_CASH_KRW=400000
|
||||
TRADING_FEE_RATE=0.0005
|
||||
GT_UNLIMITED_CHRONOLOGICAL_DAYS=300
|
||||
GT_TRADING_FEE_RATE=0.0005
|
||||
GT_ZIGZAG_REVERSAL_PCT=5.0
|
||||
GT_MIN_LEG_PCT=3.0
|
||||
GT_PULLBACK_MIN_PCT=1.5
|
||||
GT_PULLBACK_LOCAL_ORDER=10
|
||||
GT_BREAKOUT_BUFFER_PCT=0.1
|
||||
GT_BREAKOUT_CONSOLIDATION_BARS=200
|
||||
GT_BREAKOUT_MIN_RALLY_PCT=2.0
|
||||
GT_DIV_LOCAL_ORDER=20
|
||||
GT_DIV_MIN_BARS_BETWEEN=1500
|
||||
GT_DIV_MIN_RSI_DIFF=5.0
|
||||
GT_DIV_MIN_FUTURE_MOVE_PCT=4.0
|
||||
GROUND_TRUTH_FILE=data/ground_truth/ground_truth_trades.json
|
||||
GROUND_TRUTH_CHART_FILE=docs/02_ground_truth/ground_truth_chart.html
|
||||
|
||||
# --- 모니터 ---
|
||||
MONITOR_LOOP_SLEEP_SEC=180
|
||||
MONITOR_POOL_WORKERS=12
|
||||
MONITOR_DEFAULT_INTERVAL=60
|
||||
MONITOR_API_RETRIES=3
|
||||
MONITOR_API_BONG_COUNT=3000
|
||||
MONITOR_SLEEP_AFTER_REQUEST_SEC=0.5
|
||||
MONITOR_SLEEP_RATE_LIMIT_SEC=5
|
||||
MONITOR_SLEEP_BETWEEN_CHUNKS_SEC=0.3
|
||||
MONITOR_API_CHUNK_BARS=200
|
||||
MONITOR_MA_WINDOWS=5,20,40,120,200,240,720,1440
|
||||
MONITOR_NORM_WINDOW=20
|
||||
MONITOR_TELEGRAM_BATCH_SIZE=20
|
||||
|
||||
# --- general_analysis ---
|
||||
GA_COL_PREFIX=ga_
|
||||
LOOKBACK_BARS=3:120,5:100,10:80,15:60,30:50,60:40,240:30,1440:60,10080:12,43200:6
|
||||
CONTEXT_TAIL_ROWS=3:6000,5:5000,10:4000,15:3000,30:2000,60:1500,240:800,1440:500,10080:120,43200:48
|
||||
GA_DEFAULT_TAIL_EXPORT=200
|
||||
GA_PATTERN_TOLERANCE_PCT=2.5
|
||||
GA_VP_BINS=30
|
||||
GA_VP_VALUE_AREA_PCT=0.70
|
||||
GA_HV_ROLLING_BARS=20
|
||||
GA_HV_PERCENTILE_WINDOW=120
|
||||
GA_HV_ANNUALIZE_SQRT=339.41148133
|
||||
GA_DIVERGENCE_LOOKBACK=10
|
||||
GA_SMA_PERIODS=5,20,60,120
|
||||
GA_EMA_SPANS=12,26
|
||||
GA_ATR_PERIOD=14
|
||||
GA_KELTNER_ATR_MULT=2
|
||||
GA_AO_FAST=5
|
||||
GA_AO_SLOW=34
|
||||
GA_LINREG_WINDOW=20
|
||||
GA_ADX_PERIOD=14
|
||||
GA_ADX_TREND_THRESHOLD=25
|
||||
GA_SUPERTREND_ATR_MULT=3
|
||||
GA_VOL_SPIKE_MULT=1.8
|
||||
GA_VOL_MA_WINDOW=20
|
||||
GA_CCI_PERIOD=20
|
||||
GA_WILLIAMS_PERIOD=14
|
||||
GA_ROC_PERIOD=10
|
||||
GA_MFI_PERIOD=14
|
||||
GA_CMF_PERIOD=20
|
||||
GA_DONCHIAN_PERIOD=20
|
||||
GA_BB_SQUEEZE_WINDOW=50
|
||||
GA_BB_SQUEEZE_QUANTILE=0.2
|
||||
GA_PIVOT_ORDER=3
|
||||
GA_PSAR_AF_START=0.02
|
||||
GA_PSAR_AF_STEP=0.02
|
||||
GA_PSAR_AF_MAX=0.2
|
||||
|
||||
# --- .env.example 누락 키 추가 (2026-06-01) ---
|
||||
GT_MIN_ORDER_KRW=5000
|
||||
GT_BUY_PCT_LARGE_LEG=1.0
|
||||
GT_BUY_PCT_SMALL_LEG=0.05
|
||||
GT_LARGE_LEG_TOP_PCT=0.2
|
||||
GT_SIGNAL_CAUSAL=1
|
||||
SIM_CAUSAL_TIER=1
|
||||
CAUSAL_GT_PEAK_MODE=local
|
||||
CAUSAL_GT_MIN_LEG_PCT=5.0
|
||||
CAUSAL_GT_MIN_BARS_BETWEEN_LEGS=60
|
||||
CAUSAL_GT_USE_LOCAL_TROUGH=1
|
||||
CAUSAL_GT_DD_LARGE_PCT=5.0
|
||||
CAUSAL_GT_DD_MEDIUM_PCT=2.0
|
||||
GT_BUY_PCT_MEDIUM_LEG=0.25
|
||||
SIM_TIER_CONVICTION_DD_PCT=10.0
|
||||
SIM_PRIMARY_SIZING=auto
|
||||
SIM_HYBRID_MIN_HOLDOUT_PNL_PCT=0.0
|
||||
SIM_HYBRID_MAX_MDD_PCT=30.0
|
||||
SIM_OPTION_C_TARGET_PNL_PCT=300.0
|
||||
SIM_OPTION_C_PHASE2_TARGET_PNL_PCT=1000.0
|
||||
SIM_OPTION_C_PHASE2_FEE_STRESS_RATIO=0.85
|
||||
SIM_OPTION_C_MIN_GT_CAPTURE=0.23
|
||||
SIM_HYBRID_PORTFOLIO_WF_MIN_RATIO=0.5
|
||||
GT_BUY_WEIGHT_RULE=inverse_price_normalized
|
||||
GT_SELL_SPLIT_WEIGHTS=0.65,0.35
|
||||
MATCH_LABEL_MODE=leg_gt
|
||||
MATCH_HOLDOUT_RATIO=0.15
|
||||
MATCH_MONITOR_MAX_PER_SIDE=1
|
||||
SIM_GO_WF_POSITIVE_RATIO=0.5
|
||||
SIM_FEE_STRESS_MULT=2.0
|
||||
# 3분봉(MATCH_PRIMARY_INTERVAL=3) — 규칙·알림 쿨다운 1봉
|
||||
MONITOR_ALERT_COOLDOWN_MIN=3
|
||||
MONITOR_ALERT_KRW_AMOUNT=40000
|
||||
# Phase B-1: 실거래 (06_execute_live.py 만 빗썸 주문 — 05는 알림만)
|
||||
LIVE_TRADING_ENABLED=1
|
||||
# LIVE_* 원화 한도: GT_INITIAL_CASH_KRW(40만) — B-1: 일한도 1배, 손실 10%, 1회참고 10%
|
||||
LIVE_ORDER_KRW=40000
|
||||
LIVE_BUY_PCT_LARGE=1.0
|
||||
LIVE_BUY_PCT_SMALL=0.05
|
||||
LIVE_DAILY_KRW_MAX=400000
|
||||
LIVE_COOLDOWN_MIN=3
|
||||
LIVE_MAX_TRADES_PER_DAY=15
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=40000
|
||||
LIVE_SLIPPAGE_PCT=0.05
|
||||
# 06: 시뮬 sim_causal_hybrid 정합 — fire_outcomes monitor 발화 부트스트랩
|
||||
LIVE_HYBRID_BOOTSTRAP_FIRES=1
|
||||
# 07 일일 24h 수익률 텔레그램 (scripts/07_daily_pnl_telegram.py)
|
||||
DAILY_PNL_REPORT_ENABLED=1
|
||||
DAILY_PNL_REPORT_HOUR=19
|
||||
DAILY_PNL_REPORT_MINUTE=0
|
||||
DAILY_PNL_REPORT_TZ=Asia/Seoul
|
||||
DAILY_PNL_SNAPSHOT_ON_LIVE=1
|
||||
DAILY_PNL_SNAPSHOT_RETENTION_DAYS=90
|
||||
# 05/06 루프 시 봉 DB 증분 · live_eval 캐시(루프 주기와 동일)
|
||||
MONITOR_PERSIST_CANDLES=1
|
||||
MATCH_LIVE_CACHE_SEC=180
|
||||
# 05/06 시작·루프마다 지연 봉 자동 보완 (간격당 허용 지연 = 간격분×OPS_SYNC_MAX_LAG_BARS)
|
||||
OPS_SYNC_ON_START=1
|
||||
OPS_SYNC_MAX_LAG_BARS=2
|
||||
|
||||
# --- 주·월봉 다운로드 (01_download) ---
|
||||
DOWNLOAD_INTERVALS_WM=10080,43200
|
||||
DOWNLOAD_MONTHS_WM=24
|
||||
WEEK_INTERVAL_MIN=10080
|
||||
MONTH_INTERVAL_MIN=43200
|
||||
# --- 매매 기법 (2단계) ---
|
||||
TECHNIQUES_DIR=data/techniques
|
||||
ANALYSIS_REPORT_JSON=docs/03_analysis/comparison_report.json
|
||||
ANALYSIS_REPORT_HTML=docs/03_analysis/comparison_report.html
|
||||
GT_ALIGN_TOLERANCE_BARS=480
|
||||
|
||||
Reference in New Issue
Block a user