refactor: GT·시뮬·운영 3축 정리 및 hybrid 실거래 정합
Phase C/dry-run·미사용 모듈·재생성 HTML을 제거하고, 운영 체결을 sim_causal_hybrid와 동일한 hybrid 로직으로 통합한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
30
config.py
30
config.py
@@ -66,7 +66,7 @@ BITHUMB_SECRET_KEY = _getenv("BITHUMB_SECRET_KEY")
|
||||
BITHUMB_API_URL = _getenv("BITHUMB_API_URL", "https://api.bithumb.com")
|
||||
BITHUMB_API_CANDLE_COUNT = _getenv_int("BITHUMB_API_CANDLE_COUNT", "200")
|
||||
BITHUMB_MINUTE_INTERVALS = _parse_int_set(
|
||||
"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 = _getenv_float("HTS_API_RETRY_SLEEP_SEC", "0.5")
|
||||
|
||||
@@ -87,11 +87,19 @@ TREND_INTERVAL_1D = _getenv_int("TREND_INTERVAL_1D", "1440")
|
||||
ALL_INTERVALS: tuple[int, ...] = _parse_int_tuple(
|
||||
"ALL_INTERVALS", "3,5,10,15,30,60,240,1440"
|
||||
)
|
||||
# 1분봉은 시뮬·MTF 분석 미사용. 실시간 모니터는 API로 최신 1봉만 조회.
|
||||
# 1분봉은 01_download·ops_sync 미적재 (DOWNLOAD_EXCLUDED_INTERVALS).
|
||||
DOWNLOAD_INTERVALS: tuple[int, ...] = _parse_int_tuple(
|
||||
"DOWNLOAD_INTERVALS",
|
||||
"3,5,10,15,30,60,240,1440",
|
||||
)
|
||||
# 주봉(10080)·월봉(43200) — 01_download 별도 적재, 기본 2년(DOWNLOAD_MONTHS_WM)
|
||||
WEEK_INTERVAL_MIN = _getenv_int("WEEK_INTERVAL_MIN", "10080")
|
||||
MONTH_INTERVAL_MIN = _getenv_int("MONTH_INTERVAL_MIN", "43200")
|
||||
DOWNLOAD_INTERVALS_WM: tuple[int, ...] = _parse_int_tuple(
|
||||
"DOWNLOAD_INTERVALS_WM",
|
||||
"10080,43200",
|
||||
)
|
||||
DOWNLOAD_MONTHS_WM = _getenv_int("DOWNLOAD_MONTHS_WM", "24")
|
||||
GENERAL_ANALYSIS_INTERVALS: tuple[int, ...] = _parse_int_tuple(
|
||||
"GENERAL_ANALYSIS_INTERVALS", "3,5,10,15,30,60,240,1440"
|
||||
)
|
||||
@@ -104,7 +112,7 @@ TREND_INTERVALS: tuple[int, ...] = _parse_int_tuple(
|
||||
|
||||
INTERVAL_PREFIX: dict[int, str] = _parse_str_map(
|
||||
"INTERVAL_PREFIX",
|
||||
"1:m1,3:m3,5:m5,10:m10,15:m15,30:m30,60:m60,240:m240,1440:d1",
|
||||
"3:m3,5:m5,10:m10,15:m15,30:m30,60:m60,240:m240,1440:d1,10080:w1,43200:mo1",
|
||||
)
|
||||
|
||||
# --- 볼린저 / RSI ---
|
||||
@@ -143,7 +151,6 @@ ALIGN_BB_POS_HIGH = _getenv_float("ALIGN_BB_POS_HIGH", "0.8")
|
||||
|
||||
# --- 다운로드 / DB ---
|
||||
DOWNLOAD_MONTHS = _getenv_int("DOWNLOAD_MONTHS", "12")
|
||||
DOWNLOAD_MONTHS_1M = _getenv_int("DOWNLOAD_MONTHS_1M", "6")
|
||||
INCREMENTAL_OVERLAP_BARS = _getenv_int("INCREMENTAL_OVERLAP_BARS", "3")
|
||||
DOWNLOAD_BACKFILL_EXTRA_BARS = _getenv_int("DOWNLOAD_BACKFILL_EXTRA_BARS", "200")
|
||||
DOWNLOAD_MIN_INCREMENTAL_BARS = _getenv_int("DOWNLOAD_MIN_INCREMENTAL_BARS", "50")
|
||||
@@ -370,7 +377,7 @@ MATCH_KIND_PRIORITY: tuple[str, ...] = tuple(
|
||||
if x.strip()
|
||||
)
|
||||
|
||||
# --- 1단계 시뮬레이션 리포트 ---
|
||||
# --- Simulation: 시뮬레이션 리포트 ---
|
||||
SIM_WALK_FORWARD_MIN_MONTHS = _getenv_int("SIM_WALK_FORWARD_MIN_MONTHS", "3")
|
||||
SIM_FEE_STRESS_MULT = _getenv_float("SIM_FEE_STRESS_MULT", "2.0")
|
||||
SIM_GO_MIN_HOLDOUT_EV = _getenv_float("SIM_GO_MIN_HOLDOUT_EV", "0.0")
|
||||
@@ -388,8 +395,8 @@ SIM_PRIMARY_SIZING = _getenv("SIM_PRIMARY_SIZING", "auto").strip().lower()
|
||||
if SIM_PRIMARY_SIZING not in ("auto", "hybrid", "causal_tier"):
|
||||
SIM_PRIMARY_SIZING = "auto"
|
||||
|
||||
# --- 3단계 실거래 (오픈 전 문서·시뮬 Go 필수) ---
|
||||
LIVE_TRADING_ENABLED = _getenv("LIVE_TRADING_ENABLED", "0").strip() in (
|
||||
# --- Operations: 실거래 (LIVE=1, 시뮬 Go·monitor_rules 선행) ---
|
||||
LIVE_TRADING_ENABLED = _getenv("LIVE_TRADING_ENABLED", "1").strip() in (
|
||||
"1",
|
||||
"true",
|
||||
"True",
|
||||
@@ -398,9 +405,16 @@ LIVE_TRADING_ENABLED = _getenv("LIVE_TRADING_ENABLED", "0").strip() in (
|
||||
LIVE_ORDER_KRW = _getenv_int("LIVE_ORDER_KRW", "40000")
|
||||
LIVE_BUY_PCT_LARGE = _getenv_float("LIVE_BUY_PCT_LARGE", "1.0")
|
||||
LIVE_BUY_PCT_SMALL = _getenv_float("LIVE_BUY_PCT_SMALL", "0.05")
|
||||
# Phase B-1 기본: 일한도=초기자금 1배. Phase C dry-run은 .env에서 4000000 등으로 상향.
|
||||
# 운영 기본: 일한도=초기자금 1배 (GT_INITIAL_CASH_KRW).
|
||||
LIVE_DAILY_KRW_MAX = _getenv_int("LIVE_DAILY_KRW_MAX", "400000")
|
||||
LIVE_COOLDOWN_MIN = _getenv_int("LIVE_COOLDOWN_MIN", "3")
|
||||
LIVE_MAX_TRADES_PER_DAY = _getenv_int("LIVE_MAX_TRADES_PER_DAY", "15")
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW = _getenv_int("LIVE_DAILY_LOSS_LIMIT_KRW", "40000")
|
||||
LIVE_SLIPPAGE_PCT = _getenv_float("LIVE_SLIPPAGE_PCT", "0.05")
|
||||
# 06: fire_outcomes monitor 발화로 hybrid 이력 부트스트랩 (시뮬 sim_causal_hybrid 정합)
|
||||
LIVE_HYBRID_BOOTSTRAP_FIRES = _getenv("LIVE_HYBRID_BOOTSTRAP_FIRES", "1").strip() in (
|
||||
"1",
|
||||
"true",
|
||||
"True",
|
||||
"yes",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user