Skip to content

JaehwanPark/KORStockScan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ KORStockScan V13.0 - μ™„μ „ μžλ™ν™” λ©€ν‹° μ—”μ§„ ν€€νŠΈ μŠ€λ‚˜μ΄νΌ

Python Kiwoom API Machine Learning Generative AI Telegram Security

KORStockScan은 ν‚€μ›€μ¦κΆŒ REST API와 λ¨Έμ‹ λŸ¬λ‹(Stacking Ensemble), 그리고 **μƒμ„±ν˜• AI(Gemini 2.5 Flash)**λ₯Ό κ²°ν•©ν•˜μ—¬ 주식 μ‹œμž₯을 μŠ€μΊλ‹ν•˜κ³ , μ‹€μ‹œκ°„ μ›Ήμ†ŒμΌ“μ„ 톡해 졜적의 타점을 μž‘μ•„λ‚΄μ–΄ μ™„μ „ μžλ™λ§€λ§€λ₯Ό μˆ˜ν–‰ν•˜λŠ” μ§€λŠ₯ν˜• ν€€νŠΈ νŠΈλ ˆμ΄λ”© λ΄‡μž…λ‹ˆλ‹€.

μ΅œμ‹  μ—…λ°μ΄νŠΈλ₯Ό 톡해 κΈ°μ‘΄ μ½”μŠ€ν”Ό μš°λŸ‰μ£Ό μŠ€μœ™ λ§€λ§€λ₯Ό λ„˜μ–΄, μ½”μŠ€λ‹₯ 주도주(ν•˜μ΄λΈŒλ¦¬λ“œ)와 μ΄ˆλ‹¨νƒ€ μŠ€μΊ˜ν•‘κΉŒμ§€ λ™μ‹œμ— κ°μ‹œν•˜λŠ” **'3-Way λ©€ν‹° μŠ€λ ˆλ“œ μ•„ν‚€ν…μ²˜'**둜 μ§„ν™”ν–ˆμŠ΅λ‹ˆλ‹€.

특히, μ‹œμŠ€ν…œμ˜ 전두엽 역할을 ν•˜λŠ” **'Gemini-Brain(ai_engine.py)'**이 λ„μž…λ˜μ–΄, λ‹¨μˆœν•œ 쑰건 검색을 λ„˜μ–΄ ν˜Έκ°€μ°½μ˜ 뎁슀(Depth)와 ν‹± 체결 흐름을 AIκ°€ μ‹€μ‹œκ°„μœΌλ‘œ νŒλ…ν•©λ‹ˆλ‹€. μˆ˜κΈ‰κ°•λ„(VPW)λΌλŠ” 기계적 기쀀에 AI의 직관(Score)을 λ”ν•œ 동적 타점 μ œμ–΄(Dynamic Pullback Matrix) μ‹œμŠ€ν…œμ„ 톡해, μ‹œμž₯ 상황에 맞좰 맀수 그물의 깊이λ₯Ό 슀슀둜 μ‘°μ ˆν•˜λŠ” μ§„μ •ν•œ 의미의 무호흑 무인 λ§€λ§€λ₯Ό μ§‘ν–‰ν•©λ‹ˆλ‹€.


πŸ›°οΈ μŠ€μΊλ„ˆ μ—”μ§„ 비ꡐ (Scanner Comparison)

μ‹œμŠ€ν…œμ€ SniperRadar λͺ¨λ“ˆμ„ κ³΅μœ ν•˜μ§€λ§Œ, μ‹œμž₯의 νŠΉμ„±κ³Ό λ§€λ§€ ν˜Έν‘μ— 따라 3κ°€μ§€μ˜ 독립적인 AI μŠ€μΊλ‹ 엔진을 κ°€λ™ν•©λ‹ˆλ‹€. λͺ¨λ“  엔진은 **Gemini 2.5 Flash 기반의 AI λ‘λ‡Œ(ai_engine.py)**와 κ²°ν•©λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

ꡬ뢄 ⚑ μ΄ˆλ‹¨νƒ€ μŠ€μΊ˜ν•‘ + AI (Scalping) 🏒 μ½”μŠ€ν”Ό AI 앙상블 (KOSPI) πŸš€ μ½”μŠ€λ‹₯ AI ν•˜μ΄λΈŒλ¦¬λ“œ (KOSDAQ)
κ°μ‹œ λŒ€μƒ μ‹œμž₯ 전체 (000: μ½”μŠ€ν”Ό + μ½”μŠ€λ‹₯) μ½”μŠ€ν”Ό λŒ€ν˜•/μš°λŸ‰μ£Ό 쀑심 (001) μ½”μŠ€λ‹₯ μ€‘μ†Œν˜•/ν…Œλ§ˆμ£Ό 쀑심 (101)
μŠ€μΊ” μ£ΌκΈ° 1λΆ„ μ£ΌκΈ° (μ΄ˆκ³ μ† ν‹±/ν˜Έκ°€ 탐색) 15λΆ„ μ£ΌκΈ° (μΆ”μ„Έ 및 νŒ¨ν„΄ 뢄석) 15λΆ„ μ£ΌκΈ° (μˆ˜κΈ‰ 및 ν…Œλ§ˆ 뢄석)
뢄석 깊이 μ‹€μ‹œκ°„ μˆ˜κΈ‰(VPW) + Gemini-Brain ν‹± 흐름 뢄석 기술적 μ§€ν‘œ(MACD/RSI) + AI νŽ€λ”λ©˜ν„Έ νŒλ… 외ꡭ인/κΈ°κ΄€ μˆ˜κΈ‰ 및 μ‹ μš©μž”κ³  + AI ν…Œλ§ˆ νŒλ…
맀수 타점 [슀마트 눌림λͺ©] AI 점수 + μ§€μˆ˜ 연동 κ°€λ³€ 타점 (-0.35% λ“±) [μŠ€μœ™ 타점] 1μ°¨ μŠ€μΊ” 톡과 + AI 확신도 80점 이상 [μŠ€μœ™ 타점] 1μ°¨ μŠ€μΊ” 톡과 + AI 확신도 80점 이상
μ „λž΅ νƒœκ·Έ SCALPING_AI (μ§€λŠ₯ν˜• μ΄ˆλ‹¨νƒ€) KOSPI_ML (μ•ˆμ •ν˜• μŠ€μœ™ μ „μˆ ) KOSDAQ_ML (탄λ ₯ν˜• μŠ€μœ™ μ „μˆ )
λ§€λ§€ λͺ©ν‘œ +2.0% 읡절 / -2.5% μΉΌμ†μ ˆ μ „λž΅λ³„ κ°€λ³€ 읡절 및 트레일링 μŠ€νƒ‘ 적용 μ „λž΅λ³„ κ°€λ³€ 읡절 및 트레일링 μŠ€νƒ‘ 적용
핡심 λͺ¨λ“ˆ scalping_scanner.py final_ensemble_scanner.py kosdaq_scanner.py

β€» Scalping 3.0: μ§€λŠ₯ν˜• 타점 μ œμ–΄ μ‹œμŠ€ν…œ (Dynamic Pullback Matrix) μŠ€μΊ˜ν•‘ λͺ¨λ“ˆμ€ λ‹¨μˆœνžˆ μ§€μ •λœ νΌμ„ΌνŠΈ(-0.5%)μ—μ„œ κΈ°κ³„μ μœΌλ‘œ λŒ€κΈ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹€μ‹œκ°„ 체결강도(VPW)와 Gemini-Brain이 μ‚°μ •ν•œ **AI 확신도(0~100점)**λ₯Ό μœ΅ν•©ν•˜μ—¬, AIκ°€ κ°•ν•˜κ²Œ μΆ”μ²œν•˜λŠ” μ’…λͺ©μ€ 얕은 눌림λͺ©(-0.1%)μ—μ„œ 곡격적으둜 λ‚šμ•„μ±„κ³ , μœ„ν—˜ μš”μ†Œκ°€ κ°μ§€λœ μ’…λͺ©(DROP)은 심해(-1.5%)둜 그물을 λ‚΄λ € λ°©μ–΄μ μœΌλ‘œ λŒ€μ‘ν•©λ‹ˆλ‹€.


✨ 핡심 κΈ°λŠ₯ (Key Features)

1. SniperRadar (톡합 정보ꡭ)

  • 7개 API μž…μ²΄ 뢄석: κ±°λž˜λŸ‰ 급증(ka10023), ν”„λ‘œκ·Έλž¨ 순맀수(ka90008), 체결강도 좔이(ka10046) λ“± 7개 APIλ₯Ό μ‘°ν•©ν•˜μ—¬ μ„Έλ ₯의 μ§„μž… 쑰짐을 ν¬μ°©ν•©λ‹ˆλ‹€.
  • 투망 & ν˜„λ―Έκ²½ μ „λž΅: μ‹œμž₯ 전체λ₯Ό λ„“κ²Œ ν›‘λŠ” '투망' 단계와 κ°œλ³„ μ’…λͺ©μ˜ μˆ˜κΈ‰μ„ μ •λ°€ κ²€μ¦ν•˜λŠ” 'ν˜„λ―Έκ²½' 단계λ₯Ό 거쳐 κ³ ν™•μ‹  νƒ€μ λ§Œ μΆ”μΆœν•©λ‹ˆλ‹€.

2. AI 앙상블 νŒλ… (KOSPI/KOSDAQ μŠ€μœ™)

  • Stacking Ensemble: XGBoost, LightGBM λ“± 4개 λͺ¨λΈμ˜ 예츑치λ₯Ό 메타 λͺ¨λΈμ΄ μ΅œμ’… ν†΅ν•©ν•˜μ—¬ 당일 μƒμŠΉ ν™•λ₯ μ„ μ‚°μΆœν•©λ‹ˆλ‹€.
  • 데이터 톡합: μ‹€μ‹œκ°„ 일봉(OHLCV), νˆ¬μžμžλ³„ 순맀수, μ‹ μš© μž”κ³ μœ¨ 데이터λ₯Ό κ²°ν•©ν•˜μ—¬ μž…μ²΄μ μΈ 차트 뢄석을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

3. μ‹€μ‹œκ°„ λ§€λ§€ μ—”μ§„ (Sniper V2)

  • λ©€ν‹° μ „λž΅ λŒ€μ‘: DB에 기둝된 strategy νƒœκ·Έμ— 따라 μ΄ˆλ‹¨νƒ€, μ½”μŠ€ν”Ό μŠ€μœ™, μ½”μŠ€λ‹₯ μŠ€μœ™ λ“± 각기 λ‹€λ₯Έ λ§€λ§€ 룰을 μ μš©ν•©λ‹ˆλ‹€.
  • 눌림λͺ© μžλ™ μ§„μž…: μŠ€μΊ˜ν•‘ 포착 μ‹œ ν˜„μž¬κ°€ λŒ€λΉ„ μ •ν™•ν•œ ν˜Έκ°€ λ‹¨μœ„λ₯Ό κ³„μ‚°ν•˜μ—¬ 2ν˜Έκ°€ μ•„λž˜μ— 맀수 λŒ€κΈ° 주문을 λ„£μ–΄ μ•ˆμ „ν•œ μ§„μž…μ„ 도λͺ¨ν•©λ‹ˆλ‹€.
  • μ„±κ³Ό 좔적: 맀수/맀도가, λ§€λ§€ μ‹œκ°„, 수읡λ₯ μ„ DB에 영ꡬ κΈ°λ‘ν•˜μ—¬ μ „λž΅λ³„ 승λ₯ κ³Ό μ„±κ³Όλ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

πŸš€ μ£Όμš” κΈ°λŠ₯ (New Updates!)

πŸ€– AI νŠΈλ ˆμ΄λ”© μ—”μ§„ 고도화

  • Gemini 2.5 Flash λͺ¨λΈ νƒ‘μž¬: μ‹œμž₯ 상황에 λŒ€ν•œ μ΄ˆκ³ μ† νŒλ‹¨ 및 μ’…λͺ© 뢄석 μˆ˜ν–‰.
  • AI μ„€λ„μš° λͺ¨λ“œ: μ‹€λ§€λ§€ μ „ AI의 νŒλ‹¨μ„ κΈ°λ‘ν•˜κ³  κ²€μ¦ν•˜λŠ” 둜직 μ•ˆμ •ν™”.

🧠 Gemini-Brain: ν•˜μ΄λΈŒλ¦¬λ“œ μ˜μ‚¬κ²°μ • 및 리슀크 관리 μ‹œμŠ€ν…œ

λ³Έ μ‹œμŠ€ν…œμ˜ κ°€μž₯ 큰 νŠΉμ§•μ€ λ‹¨μˆœν•œ μ§€ν‘œ 쑰건뢀 λ§€λ§€λ₯Ό λ„˜μ–΄, μƒμ„±ν˜• AI(Gemini 2.5 Flash)κ°€ ν˜Έκ°€μ°½ 뎁슀(Depth)와 1뢄봉(Micro-VWAP λ“±)을 μ‹€μ‹œκ°„μœΌλ‘œ 읽고 μ΅œμ’… λ§€λ§€ μŠΉμΈκΆŒμ„ ν–‰μ‚¬ν•œλ‹€λŠ” μ μž…λ‹ˆλ‹€. AIλŠ” μŠ€λ‚˜μ΄νΌ μ—”μ§„ λ‚΄μ—μ„œ 두 κ°€μ§€ 핡심 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  • 🚫 AI κ±°λΆ€κΆŒ (Veto Power) λ°œλ™

    • κΈ°μ‘΄ ν€€νŠΈ μŠ€μΊλ„ˆκ°€ "μˆ˜κΈ‰ 폭발"을 μ™ΈμΉ˜λ©° 맀수 사인을 내더라도, AIκ°€ 1λΆ„λ΄‰μ˜ μœ—κΌ¬λ¦¬λ‚˜ VWAP μ΄νƒˆμ„ κ°μ§€ν•˜μ—¬ ν•˜λ°© λ¦¬μŠ€ν¬κ°€ 크닀고 νŒλ‹¨(Score 40점 μ΄ν•˜)ν•˜λ©΄ **즉각 맀수 ν”„λ‘œμ„ΈμŠ€λ₯Ό κ°•μ œ μ’…λ£Œ(Veto)**ν•©λ‹ˆλ‹€.
    • μ„Έλ ₯의 'κ°€μ§œ 돌파(Bull Trap)' 및 'μ„€κ±°μ§€ νŒ¨ν„΄'에 λ‹Ήν•˜λŠ” λ‡Œλ™λ§€λ§€λ₯Ό μ›μ²œ μ°¨λ‹¨ν•˜κ³  3λΆ„(180초)의 μΏ¨νƒ€μž„μ„ λΆ€μ—¬ν•©λ‹ˆλ‹€.
  • 🎯 동적 타점 μ œμ–΄ (Dynamic Pullback Matrix)

    • λ¬΄μ‚¬νžˆ AI의 κ±°λΆ€κΆŒμ„ ν†΅κ³Όν•œ μ’…λͺ©μ— λŒ€ν•΄μ„œλŠ”, AI의 확신도(Score 0~100)와 μ‹€μ‹œκ°„ 체결강도(VPW)λ₯Ό μœ΅ν•©ν•˜μ—¬ 맀수 그물의 깊이λ₯Ό 슀슀둜 μ‘°μ ˆν•©λ‹ˆλ‹€.

    • κ°•ν•œ ν™•μ‹ (BUY): 얕은 눌림λͺ©(-0.1%)μ—μ„œ 곡격적으둜 λ¬ΌλŸ‰ 확보

    • 보톡 μˆ˜κΈ‰(WAIT): κΈ°λ³Έ 눌림λͺ©(-0.5%)μ—μ„œ 보수적으둜 λŒ€κΈ°

    • πŸƒβ€β™‚οΈ μ§€λŠ₯ν˜• μ‘°κΈ° μ²­μ‚° 및 λ°©μ–΄ (Smart Exit & Risk-Cut)

    • 맀수 이후에도 AI 엔진은 15초 주기둜 보유 μ’…λͺ©μ˜ 1뢄봉 흐름과 μ‹€μ‹œκ°„ 체결강도λ₯Ό κ°μ‹œν•©λ‹ˆλ‹€.

    • μ‘°κΈ° 읡절 (Take-Profit μ‘°κΈ°ν™”): 기계적 λͺ©ν‘œ 수읡λ₯ (+2.0%)에 λ„λ‹¬ν•˜κΈ° 전이라도, λ§€μˆ˜μ„Έκ°€ λ‘”ν™”λ˜κ³  고점 μ§•ν›„κ°€ 보이면(Score < 50) 수읡ꢌ(+0.5% 이상)μ—μ„œ μš•μ‹¬λ‚΄μ§€ μ•Šκ³  μ¦‰μ‹œ λ¬ΌλŸ‰μ„ λ„˜κΉλ‹ˆλ‹€.

    • μ§€λŠ₯ν˜• μΉΌμ†μ ˆ (Smart Stop-Loss): 기계적 μ†μ ˆμ„ (-2.5%)을 ν„°μΉ˜ν•˜κΈ° 전이라도, μ„Έλ ₯의 μ΄νƒˆμ΄λ‚˜ 투맀 μ§•ν›„κ°€ 포착되면(Score <= 35) μ¦‰μ‹œ 뼈λ₯Ό κΉŽμ•„λ‚΄λŠ” μ†μ ˆμ„ κ°ν–‰ν•˜μ—¬ κ³„μ’Œλ₯Ό λ°©μ–΄ν•©λ‹ˆλ‹€.

  • πŸ›‘οΈ 무결점 μžλ™ μ „ν™˜ (Zero-Code Fallback System)

    • ꡬ글 API μ„œλ²„ μž₯μ• λ‚˜ 일일 μΏΌν„° μ†Œμ§„μœΌλ‘œ 인해 AIκ°€ μ‘λ‹΅ν•˜μ§€ λͺ»ν•  경우, μ‹œμŠ€ν…œμ€ μ—λŸ¬λ₯Ό 뿜으며 λ©ˆμΆ”μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    • AIκ°€ κΈ°λ³Έκ°’(50점)을 λ°˜ν™˜ν•˜λ©΄ μ‹œμŠ€ν…œμ€ 이λ₯Ό "AI νŒλ‹¨ 보λ₯˜"둜 μΈμ‹ν•˜μ—¬ 슀마트 μ²­μ‚°(Smart Exit) λ‘œμ§μ„ λΆ€λ“œλŸ½κ²Œ 우회(Bypass)ν•©λ‹ˆλ‹€. 이후 봇은 즉각 감정을 λ°°μ œν•œ '기계적 ν€€νŠΈ 맀도 λ£°(μ‹œκ°„/가격 νƒ€μž„μ•„μ›ƒ)'둜 λŒμ•„κ°€ λ§€λ§€λ₯Ό λ¬΄μ‚¬νžˆ λ§ˆλ¬΄λ¦¬ν•©λ‹ˆλ‹€.

🧠 AI μ§€λŠ₯ν˜• μ‘°κΈ° μ²­μ‚° 및 λ°©μ–΄ μ‹œμŠ€ν…œ (Smart Exit & Fallback)

KORStockScan의 Gemini-Brain은 λ‹¨μˆœνžˆ μ§„μž…(Buy) νƒ€μ λ§Œ μž‘λŠ” 것을 λ„˜μ–΄, 주식을 λ³΄μœ ν•œ μˆœκ°„λΆ€ν„° 맀도(Sell)ν•  λ•ŒκΉŒμ§€ μ „ ꡬ간에 걸쳐 μ‹€μ‹œκ°„μœΌλ‘œ κ°œμž…ν•˜λ©° κ³„μ’Œλ₯Ό λ°©μ–΄ν•©λ‹ˆλ‹€.

🩺 1. μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§ (15초 건강 κ²€μ§„)

  • μŠ€λ‚˜μ΄νΌ 엔진이 주식을 맀수(HOLDING μƒνƒœ)ν•˜λ©΄, AI 엔진은 15초 주기둜 졜근 1뢄봉 흐름과 μ‹€μ‹œκ°„ ν˜Έκ°€μ°½ λ§€λ¬ΌλŒ€λ₯Ό λ‹€μ‹œ λΆ„μ„ν•©λ‹ˆλ‹€.
  • ν˜„μž¬ μ£Όκ°€μ˜ μΆ”κ°€ μƒμŠΉ μ—¬λ ₯κ³Ό ν•˜λ°© 리슀크λ₯Ό 0~100점(Score)의 점수둜 μ§€μ†ν•΄μ„œ μž¬ν‰κ°€ν•©λ‹ˆλ‹€.

πŸƒβ€β™‚οΈ 2. μ§€λŠ₯ν˜• μ‘°κΈ° 읡절 (Smart Take-Profit)

  • λ°œλ™ 쑰건: ν˜„μž¬ 수읡 쀑(+0.5% 이상) & AI 점수 50점 미만
  • λ™μž‘ 원리: 기계적 λͺ©ν‘œκ°€(+2.0%)에 λ„λ‹¬ν•˜μ§€ μ•Šμ•˜λ”λΌλ„, AIκ°€ ν˜Έκ°€μ°½μ˜ λ§€μˆ˜μ„Έ λ‘”ν™”λ‚˜ μ°¨νŠΈμƒμ˜ 고점 μ§•ν›„(κΈ΄ μœ—κΌ¬λ¦¬ λ“±)λ₯Ό ν¬μ°©ν•˜λ©΄ μš•μ‹¬μ„ 버리고 μ¦‰μ‹œ μ‹œμž₯κ°€λ‘œ μ΅μ ˆν•˜μ—¬ μˆ˜μ΅μ„ μ•ˆμ „ν•˜κ²Œ ν™•μ • μ§“μŠ΅λ‹ˆλ‹€.

πŸ”ͺ 3. μ§€λŠ₯ν˜• μΉΌμ†μ ˆ (Smart Stop-Loss)

  • λ°œλ™ 쑰건: ν˜„μž¬ 손싀 쀑 & AI 점수 35점 μ΄ν•˜ (DROP)
  • λ™μž‘ 원리: 기계적 μ†μ ˆμ„ (-2.5%)κΉŒμ§€ λŒλ €κ°€λ©° κ³„μ’Œκ°€ λ…Ήμ•„λ‚΄λ¦¬λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€. λ‹¨μˆœν•œ 눌림λͺ©μ΄ μ•„λ‹Œ μ„Έλ ₯의 νˆ¬λ§€λ‚˜ μ„€κ±°μ§€ νŒ¨ν„΄μœΌλ‘œ νŒλ‹¨λ˜λ©΄, 손싀이 컀지기 전에 뼈λ₯Ό κΉŽμ•„λ‚΄λŠ” 즉각적인 μ†μ ˆμ„ κ°ν–‰ν•˜μ—¬ 치λͺ…상을 ν”Όν•©λ‹ˆλ‹€.

πŸ›‘οΈ 4. 무결점 μ•ˆμ „μž₯치 (Zero-Code Fallback Mechanism)

  • μž₯μ•  λŒ€μ‘: ꡬ글 Gemini API의 일일 μΏΌν„°κ°€ μ†Œμ§„λ˜κ±°λ‚˜ μΌμ‹œμ μΈ 톡신 μž₯μ• κ°€ λ°œμƒν•  경우, μ‹œμŠ€ν…œμ΄ λ©ˆμΆ”κ±°λ‚˜ μ˜€μž‘λ™ν•˜μ§€ μ•Šλ„λ‘ μ™„λ²½ν•œ Fallback ꡬ쑰가 μ„€κ³„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • λ™μž‘ 원리: 톡신 λΆˆκ°€ μ‹œ AI 엔진은 기본값인 **50점**을 λ°˜ν™˜ν•©λ‹ˆλ‹€. 50점은 μ‘°κΈ° 읡절(< 50)κ³Ό μ‘°κΈ° μ†μ ˆ(<= 35) 쑰건을 λͺ¨λ‘ λΉ—κ²¨κ°€λŠ” '투λͺ…망토' μ μˆ˜μž…λ‹ˆλ‹€.
  • κ²°κ³Ό: AI κ°œμž… 둜직이 μžμ—°μŠ€λŸ½κ²Œ 우회(Bypass)되며, μŠ€λ‚˜μ΄νΌλŠ” 즉각 감정을 λ°°μ œν•œ 기계적 ν€€νŠΈ λ£°(λͺ©ν‘œκ°€ 도달, μ†μ ˆκ°€ ν„°μΉ˜, μž₯ 마감 μ‹œκ°„ 초과 λ“±)둜 μžλ™ μ „ν™˜λ˜μ–΄ μ•ˆμ „ν•˜κ²Œ λ§€λ§€λ₯Ό λ§ˆλ¬΄λ¦¬ν•©λ‹ˆλ‹€.

⚑ 슀마트 μŠ€μΊ˜ν•‘ μ‹œμŠ€ν…œ (Scalping 2.0)

  • μˆ˜κΈ‰κ°•λ„(VPW) 연동: κ±°λž˜λŸ‰κ³Ό 체결 강도에 따라 맀수 눌림λͺ© 깊이λ₯Ό μžλ™μœΌλ‘œ 쑰절.
  • ν˜Έκ°€ λ‹¨μœ„(Tick) μ΅œμ ν™”: μ’…λͺ©μ˜ κ°€κ²©λŒ€λ³„ ν˜Έκ°€ κ·œκ²©μ„ κ³„μ‚°ν•˜μ—¬ 졜적의 체결 가격 μ‚°μΆœ.

πŸ„β€β™‚οΈ 5. 수읡 κ·ΉλŒ€ν™”: AI κ°€λ³€ 트레일링 읡절 (Dynamic Trailing Stop)

  • 기계적 쑱쇄 ν•΄μ œ (Let it Run): μ£Όκ°€κ°€ μ„€μ •λœ κΈ°λ³Έ λͺ©ν‘œ 수읡λ₯ (+2.0%)에 λ„λ‹¬ν•˜λ”λΌλ„ 무쑰건 λ§€λ„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • μ§€λŠ₯ν˜• 홀딩 (Smart Holding): AIκ°€ μ‹€μ‹œκ°„ ν˜Έκ°€μ°½μ˜ κ°•λ ₯ν•œ 맀수 λ²½ λŒνŒŒμ™€ 1λΆ„λ΄‰μ˜ μƒμŠΉ μ—λ„ˆμ§€λ₯Ό κ°μ§€ν•˜μ—¬ 높은 확신도(Score >= 75)λ₯Ό μœ μ§€ν•œλ‹€λ©΄, 맀도λ₯Ό 보λ₯˜ν•˜κ³  수읡이 +3%, +5% μ΄μƒμœΌλ‘œ κ·ΉλŒ€ν™”λ  λ•ŒκΉŒμ§€ μΆ”μ„Έλ₯Ό λκΉŒμ§€ μΆ”μ ν•©λ‹ˆλ‹€.
  • 타점 μ΅œμ ν™” 읡절: μƒμŠΉ λͺ¨λ©˜ν…€μ΄ κΊΎμ΄κ±°λ‚˜ 맀도세가 μΆœνšŒλ˜μ–΄ μ μˆ˜κ°€ ν•˜λ½ν•˜λŠ” μˆœκ°„, κ°€μž₯ μœ λ¦¬ν•œ κ³ μ μ—μ„œ 즉각 μ‹œμž₯κ°€λ‘œ 던져 μˆ˜μ΅μ„ μ΅œμ’… ν™•μ • μ§“μŠ΅λ‹ˆλ‹€.
  • μΏΌν„° μ•ˆμ „μž₯치 연동: AI ν•œλ„ 초과 μ‹œ(Score 50 λ°˜ν™˜) 트레일링 μ‘°κ±΄μ—μ„œ μžμ—°μŠ€λŸ½κ²Œ νƒˆλ½ν•˜λ―€λ‘œ, 주식을 μ₯” 채 λ©ˆμΆ”μ§€ μ•Šκ³  μ¦‰μ‹œ '기계적 2.0% 읡절'둜 λΆ€λ“œλŸ½κ²Œ 볡귀(Fallback)ν•©λ‹ˆλ‹€.

πŸ› οΈ μ‹œμŠ€ν…œ μ•ˆμ •μ„± κ°œμ„ 

  • DB 동기화 무결성: 맀도 체결 영수증 처리 둜직 κ°œμ„ μœΌλ‘œ μ‹€μ‹œκ°„ μž”κ³ μ™€ DB μƒνƒœ 뢈일치 ν•΄κ²°.
  • κΆŒν•œλ³„ μ•Œλ¦Ό μ‹œμŠ€ν…œ: Admin 및 VIP 등급에 λ”°λ₯Έ μ°¨λ“± ν…”λ ˆκ·Έλž¨ μ•Œλ¦Ό λ°œμ†‘.

πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰 (Project Structure)

/KORStockScan
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ bot_main.py             # πŸ€– 메인 컨트둀러 (μ‹œμŠ€ν…œ 가동 및 ν…”λ ˆκ·Έλž¨ μΈν„°νŽ˜μ΄μŠ€)
β”‚   β”œβ”€β”€ signal_radar.py         # πŸ“‘ SniperRadar (전체 μŠ€μΊλ‹ μŠ€μΌ€μ€„ 및 데이터 흐름 μ œμ–΄)
β”‚   β”‚
β”‚   β”œβ”€β”€ ai_engine.py            # 🧠 [NEW] AI core (Gemini 2.5 Flash API 톡신 및 ν”„λ‘¬ν”„νŠΈ 관리)
β”‚   β”œβ”€β”€ final_ensemble_scanner.py # πŸ” KOSPI μŠ€μœ™ 뢄석 (ai_engine 호좜 및 기술적 μ§€ν‘œ κ²°ν•©)
β”‚   β”œβ”€β”€ kosdaq_scanner.py       # πŸ” KOSDAQ ν•˜μ΄λΈŒλ¦¬λ“œ AI μŠ€μΊλ„ˆ
β”‚   β”œβ”€β”€ scalping_scanner.py     # πŸ” SCALPING μˆ˜κΈ‰ κΈ‰λ“±μ£Ό μΆ”μΆœ μ—”μ§„
β”‚   β”‚
β”‚   β”œβ”€β”€ kiwoom_sniper_v2.py     # πŸ”« λ§€λ§€ μ§‘ν–‰ μ—”μ§„ (Scalping 2.0: μˆ˜κΈ‰ 연동 슀마트 λ§€λ§€)
β”‚   β”œβ”€β”€ kiwoom_websocket.py     # πŸ”Œ μ‹€μ‹œκ°„ 데이터 μ„Όν„° (ν˜Έκ°€ μˆ˜μ‹  & '00' TR 체결 κ°μ‹œ)
β”‚   β”œβ”€β”€ kiwoom_orders.py        # πŸ›’ μ£Όλ¬Έ 톡신 λͺ¨λ“ˆ (REST API 기반 맀수/맀도 μ§‘ν–‰)
β”‚   β”œβ”€β”€ kiwoom_utils.py         # πŸ› οΈ μœ ν‹Έλ¦¬ν‹° (get_smart_target_price: ν˜Έκ°€/μˆ˜κΈ‰ μ΅œμ ν™”)
β”‚   β”œβ”€β”€ db_manager.py           # πŸ—„οΈ SQLite 톡합 관리 (μƒνƒœ 동기화 및 VIP κΆŒν•œ 관리)
β”‚   └── constants.py            # πŸ“ μ‹œμŠ€ν…œ μƒμˆ˜ (λ§€λ§€ κ·œμΉ™ 및 μ „λž΅ νŒŒλΌλ―Έν„° μ •μ˜)
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ config_prod.json        # βš™οΈ μ„€μ • 파일 (API ν‚€, ADMIN_ID, λͺ¨λΈ μ„€μ •)
β”‚   β”œβ”€β”€ user_data.db            # πŸ‘€ μ‚¬μš©μž DB (VIP κΆŒν•œ 및 ν…”λ ˆκ·Έλž¨ μœ μ € 관리)
β”‚   └── kospi_stock_data.db     # πŸ“Š λ§€λ§€ DB (μΆ”μ²œ νžˆμŠ€ν† λ¦¬, 수읡λ₯ , 체결 기둝)
β”‚
β”œβ”€β”€ README.md                   # πŸ“ ν”„λ‘œμ νŠΈ λ¬Έμ„œ (AI λͺ¨λΈ 사양 및 λ§€λ§€ 둜직 κ°€μ΄λ“œ)
└── .gitignore                  # πŸ™ˆ λ³΄μ•ˆ 파일 및 DB μΊμ‹œ μ œμ™Έ μ„€μ •

βš™οΈ μ„€μΉ˜ 및 μ„€μ • (Installation & Setup)

1. ν™˜κ²½ μ€€λΉ„

  • OS: Windows λ˜λŠ” Linux (ν‚€μ›€μ¦κΆŒ REST API 기반으둜 OS μ œμ•½μ΄ μ μŠ΅λ‹ˆλ‹€.)
  • Python: 3.13 버전 이상 ꢌμž₯
  • λ°μ΄ν„°λ² μ΄μŠ€: SQLite3 (κΈ°λ³Έ λ‚΄μž₯)

2. νŒ¨ν‚€μ§€ μ„€μΉ˜

μ €μž₯μ†Œλ₯Ό λ³΅μ œν•˜κ³  ν•„μš”ν•œ 라이브러리λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€.

git clone [https://github.com/your-username/KORStockScan.git](https://github.com/your-username/KORStockScan.git)
cd KORStockScan
pip install -r requirements.txt

3. μ‹œμŠ€ν…œ 가동

μ„€μ • 파일(config_prod.json) μ„ΈνŒ… ν›„, 전체 μ‹œμŠ€ν…œ μ œμ–΄ 센터인 bot_main.pyλ₯Ό μ‹€ν–‰ν•˜λ©΄ λ©€ν‹° μŠ€μΊλ„ˆμ™€ λ§€λ§€ 엔진이 μŠ€λ ˆλ“œ λ°©μ‹μœΌλ‘œ λ™μ‹œμ— κ°€λ™λ©λ‹ˆλ‹€.

  1. μ„€μ • 파일 μž‘μ„±: data/config_prod.json νŒŒμΌμ— 킀움 API μ•±ν‚€, μ‹œν¬λ¦Ών‚€, ν…”λ ˆκ·Έλž¨ 토큰 등을 μ˜¬λ°”λ₯΄κ²Œ μž…λ ₯ν•©λ‹ˆλ‹€.
  2. 톡합 μ—”μ§„ μ‹€ν–‰: ν„°λ―Έλ„μ—μ„œ μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜μ—¬ μ‹œμŠ€ν…œμ„ μ‹œμž‘ν•©λ‹ˆλ‹€.
    python src/bot_main.py
  3. 가동 확인: 터미널에 [μ‹œμŠ€ν…œ] μ •μƒκ±°λž˜μΌ - μŠ€λ‚˜μ΄νΌ λ§€λ§€ μ—”μ§„ 가동 μ™„λ£Œ λ“±μ˜ λ©”μ‹œμ§€κ°€ λœ¨λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

πŸ“Š λ°μ΄ν„°λ² μ΄μŠ€ 및 μ„±κ³Ό 관리

μ‹œμŠ€ν…œμ€ λͺ¨λ“  μΆ”μ²œ 이λ ₯κ³Ό λ§€λ§€ μ„±κ³Όλ₯Ό 투λͺ…ν•˜κ²Œ κ΄€λ¦¬ν•˜λ©°, μ „λž΅λ³„ 승λ₯  뢄석이 κ°€λŠ₯ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • 톡합 DB 관리: data/kospi_stock_data.dbλ₯Ό 톡해 λͺ¨λ“  μΆ”μ²œ 이λ ₯, 맀수/맀도가, 수읡λ₯ μ„ 톡합 κ΄€λ¦¬ν•©λ‹ˆλ‹€.
  • μžλ™ μŠ€ν‚€λ§ˆ μ΅œμ ν™”: μ‹œμŠ€ν…œ 가동 μ‹œ strategy(μ „λž΅ νƒœκ·Έ), sell_price(맀도가), profit_rate(수읡λ₯ ) λ“± ν•„μˆ˜ μ»¬λŸΌμ„ μžλ™μœΌλ‘œ κ²€μ‚¬ν•˜κ³  μƒμ„±ν•˜μ—¬ DB μ—λŸ¬λ₯Ό μ›μ²œ μ°¨λ‹¨ν•©λ‹ˆλ‹€.
  • μ‹€μ‹œκ°„ μ„±μ ν‘œ: λ§€λ§€ 체결 μ‹œ 수읡λ₯ μ„ 영ꡬ κΈ°λ‘ν•˜λ©°, ν…”λ ˆκ·Έλž¨μ„ 톡해 μ„±μ ν‘œ 리포트λ₯Ό μ¦‰μ‹œ λ³΄κ³ ν•©λ‹ˆλ‹€.
  • 쀑볡 μΆ”μ²œ λ°©μ§€: 동일 μ’…λͺ©μ΄ 당일 μ—¬λŸ¬ 번 ν¬μ°©λ˜λ”λΌλ„ already_picked λ‘œμ§μ„ 톡해 쀑볡 μ•Œλ¦Όκ³Ό λ‡Œλ™λ§€λ§€λ₯Ό λ°©μ§€ν•©λ‹ˆλ‹€.

πŸš€ Future Roadmap (Upcoming Features)

  • λ³΄μ‘°μ§€ν‘œ 앙상블 μΆ”κ°€: ν˜„μž¬ VWAP 및 5-MA μ€‘μ‹¬μ˜ μŠ€μΊ˜ν•‘ 타점에 RSI(14), MACD ν•˜λ½ λ‹€μ΄λ²„μ „μŠ€ ν•„ν„° μΆ”κ°€ (1뢄봉 μˆ˜μ§‘ ν•œλ„ ν™•μž₯ ν•„μš”)
  • AI 동적 μ²­μ‚°(Tightening): HOLDING μƒνƒœμ—μ„œ AI μŠ€μ½”μ–΄ 감쇠에 λ”°λ₯Έ 가변적 읡절/μ†μ ˆμ„  적용

⚠️ λ©΄μ±… μ‘°ν•­ (Disclaimer)

λ³Έ μ†Œν”„νŠΈμ›¨μ–΄λŠ” 개인적인 투자 μ°Έκ³  및 μ•Œκ³ λ¦¬μ¦˜ νŠΈλ ˆμ΄λ”© ν•™μŠ΅ λͺ©μ μœΌλ‘œ μ œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  1. 투자 μ±…μž„: λͺ¨λ“  투자 결정에 λŒ€ν•œ μ΅œμ’… μ±…μž„μ€ μ‚¬μš©μž λ³ΈμΈμ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€. μ œμž‘μžλŠ” 이 ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ—¬ λ°œμƒν•œ μ–΄λ– ν•œ 경제적 손싀에 λŒ€ν•΄μ„œλ„ 법적 μ±…μž„μ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  2. μ‹œμŠ€ν…œ 리슀크: 주식 κ±°λž˜λŠ” μ›κΈˆ μ†μ‹€μ˜ μœ„ν—˜μ΄ 맀우 크며, μžλ™ λ§€λ§€ μ‹œμŠ€ν…œμ˜ 예기치 λͺ»ν•œ 였λ₯˜, λ„€νŠΈμ›Œν¬ μž₯μ• , λ˜λŠ” API 톡신 μ§€μ—°μœΌλ‘œ 인해 손싀이 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  3. 사전 ν…ŒμŠ€νŠΈ: μ‹€νˆ¬μž μ „μ—λŠ” λ°˜λ“œμ‹œ λͺ¨μ˜νˆ¬μž ν™˜κ²½μ—μ„œ μΆ©λΆ„ν•œ ν…ŒμŠ€νŠΈλ₯Ό 거친 ν›„ μš΄μš©ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

About

πŸš€ KORStockScan - AI 기반 μ½”μŠ€ν”Ό ν€€νŠΈ μžλ™λ§€λ§€ μŠ€λ‚˜μ΄νΌ KORStockScan은 ν‚€μ›€μ¦κΆŒ REST API+와 λ¨Έμ‹ λŸ¬λ‹(Stacking Ensemble)을 ν™œμš©ν•˜μ—¬ μ½”μŠ€ν”Ό(KOSPI) μš°λŸ‰μ£Όλ₯Ό μŠ€μΊλ‹ν•˜κ³ , μ‹€μ‹œκ°„ μ›Ήμ†ŒμΌ“μ„ 톡해 졜적의 타점을 μž‘μ•„λ‚΄μ–΄ μ™„μ „ μžλ™λ§€λ§€λ₯Ό μˆ˜ν–‰ν•˜λŠ” ν€€νŠΈ νŠΈλ ˆμ΄λ”© λ΄‡μž…λ‹ˆλ‹€. λ‹¨μˆœν•œ 기술적 μ§€ν‘œλ₯Ό λ„˜μ–΄ **'슀마트 λ¨Έλ‹ˆ 가속도(외인/κΈ°κ΄€ λ§€μ§‘ 속도)'**와 **'μ‹œμž₯ μƒνƒœ(Regime) νŒλ…'**을 톡해 폭락μž₯μ—μ„œλ„ μ‚΄μ•„λ‚¨λŠ” κ°•λ ₯ν•œ 생쑴λ ₯을 λͺ©ν‘œλ‘œ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors