LSTM v3 멀티피처, KIS OHLCV 배치, 동적 전략 강화
- deep_learning.py: INPUT_SIZE=7 (close/open/high/low/volume/rsi/macd), feature_scaler/target_scaler 분리, ModelRegistry LRU 종목별 격리 (v3 체크포인트) - kis.py: get_daily_ohlcv() OHLCV 전체 반환, KISAsyncClient 비동기 배치 조회 추가, order() 지정가/조건부 주문 지원 - strategy/process.py: ATR/ADX 기반 동적 손절익절, 트레일링 스탑, 포지션 사이징 강화 - config.py: OLLAMA_NUM_THREAD=8 (9800X3D 최적화), LSTM_COOLDOWN/FAST_EPOCHS 환경변수화 - macro.py: 거시경제 지표 계산 개선 - ollama.py: VRAM 여유량 기반 선택적 언로드 - monitor.py: CPU 서킷 브레이커 연속 횟수 조건 추가 - ipc.py: IPC_STALENESS 600초로 확대 - news.py: 비동기 뉴스 수집 개선 - telegram.py, runner.py: 안정성 개선 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -22,31 +22,32 @@ class MacroAnalyzer:
|
||||
"""
|
||||
indicators = {
|
||||
"KOSPI": "0001",
|
||||
"KOSDAQ": "1001"
|
||||
"KOSDAQ": "1001",
|
||||
"KOSPI200": "0028",
|
||||
}
|
||||
|
||||
|
||||
results = {}
|
||||
risk_score = 0
|
||||
|
||||
|
||||
print("🌍 [Macro] Fetching market indices via KIS API...")
|
||||
|
||||
|
||||
for name, code in indicators.items():
|
||||
data = kis_client.get_current_index(code)
|
||||
time.sleep(0.6) # Rate Limit 방지 (초당 2회 제한)
|
||||
|
||||
if data:
|
||||
price = data['price']
|
||||
|
||||
if data and data.get('price', 0) != 0:
|
||||
results[name] = data
|
||||
print(f" - {name}: {data['price']} ({data['change']}%)")
|
||||
|
||||
# 리스크 평가 로직 (2% 이상 폭락 장이면 위험)
|
||||
change = data['change']
|
||||
results[name] = {"price": price, "change": change}
|
||||
print(f" - {name}: {price} ({change}%)")
|
||||
|
||||
# 리스크 평가 로직 (단순화: 2% 이상 폭락 장이면 위험)
|
||||
if change <= -2.0:
|
||||
risk_score += 2 # 패닉 상태
|
||||
elif change <= -1.0:
|
||||
risk_score += 1 # 주의 상태
|
||||
else:
|
||||
results[name] = {"price": 0, "change": 0}
|
||||
results[name] = {"price": 0, "change": 0, "high": 0, "low": 0,
|
||||
"prev_close": 0, "volume": 0, "trade_value": 0}
|
||||
|
||||
# [신규] 시장 스트레스 지수(MSI) 추가
|
||||
time.sleep(0.6)
|
||||
|
||||
Reference in New Issue
Block a user