๐Ÿ“ˆ
TOSS ORBIT
์—…๋ฐ์ดํŠธ: --
โ— LIVE
๋‹น๊ฒจ์„œ ์ƒˆ๋กœ๊ณ ์นจ
KOSPI
--
KOSDAQ
--
USD/KRW
--
โš 
๋ด‡ ์—๋Ÿฌ โ€” 

๋ณด์œ  ์ข…๋ชฉ

์ •๊ทœ์žฅ ๋งค๋งค

PAM
๋ฐ์ดํ„ฐ ์—†์Œ

๊ธ‰์ƒ์Šน ์˜ˆ์ธก

NXT
๋ฐ์ดํ„ฐ ์—†์Œ

๋‰ด์Šค ๋ถ„์„

๋กœ๋”ฉ ์ค‘...

์„นํ„ฐ ๋ถ„์„

AI ์ข…ํ•ฉ ๋ถ„์„

๋กœ๋”ฉ ์ค‘...

์•ก์…˜ํ”Œ๋žœ

๋ด‡ Status

๐Ÿ“Š ํˆฌ์ž ์ „๋žต ๋ฐ ๋งค๋งค ๊ทœ์น™

์ฝ”์–ด ์ „๋žต
--
์ถ”์  ์†์ ˆ ๋ฃฐ
--
๋งค์ˆ˜ ์‹œ๊ทธ๋„
--
๋งค๋„ ์‹œ๊ทธ๋„
--
๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ ๋ฃฐ
--
๋ณต๊ธฐ(Learning) ๋ฃฐ
--

โ˜๏ธ EC2 ์ธ์Šคํ„ด์Šค

โ— ์‹คํ–‰ ์ค‘
์ธ์Šคํ„ด์Šค ID
i-08c2b083c8c39b185
ํผ๋ธ”๋ฆญ IP
54.180.102.82
์ธ์Šคํ„ด์Šค ์œ ํ˜•
t3.micro
๋ฆฌ์ „
ap-northeast-2 (์„œ์šธ)
IAM ์—ญํ• 
Toss_Instancerole
๋Œ€์‹œ๋ณด๋“œ
tossbot.pages.dev

๐Ÿ—๏ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡ ํ‚ค์›€ REST API
์‹œ์„ธ ์ „์šฉ
Gemini AI
Vision / ๋ถ„์„
โ†“
EC2 t3.micro (์„œ์šธ)
APScheduler ยท SQLite ยท tossbot.service
โ†“
GitHub API PUT โ†’ Cloudflare Pages
tossbot.pages.dev

โฐ ์ž๋™ํ™” ์Šค์ผ€์ค„ (KST)

06:00AM Audit โ€” API ํ—ฌ์Šค์ฒดํฌ, ์•ผ๊ฐ„ ์—๋Ÿฌ ์ˆ˜์ง‘ โ†’ ํ…”๋ ˆ๊ทธ๋žจAMaudit
07:30์„นํ„ฐยท๋‰ด์Šค ๋ชจ๋ฉ˜ํ…€ ๋ธŒ๋ฆฌํ•‘ โ†’ ํ…”๋ ˆ๊ทธ๋žจ + ๋Œ€์‹œ๋ณด๋“œSectorAnalyzer
08:30์žฅ์ „ AI ๋ธŒ๋ฆฌํ•‘ โ€” ์˜ค๋Š˜ ์ „๋žตยท์„นํ„ฐ ์š”์•ฝ โ†’ ํ…”๋ ˆ๊ทธ๋žจpre_market
09:00~15:00ํŠธ๋ ˆ์ผ๋ง ์Šคํƒ‘ ์ ๊ฒ€ + ์†์ ˆ ์•Œ๋ฆผ (๋งค ์ •์‹œ, ํ‰์ผ)TrailingStop
12:00์˜ค์ „ ์ ๊ฒ€ โ€” ์˜ค์ „ ์ˆ˜์ต๋ฅ ยท์†์ ˆ์„  ์ƒํƒœ โ†’ ํ…”๋ ˆ๊ทธ๋žจmidday
14:30์žฅ๋งˆ๊ฐ ์˜ˆ๊ณ  โ€” ์†์ ˆ ์œ„ํ—˜ ์ข…๋ชฉ ์ตœ์ข… ๊ฒฝ๋ณด โ†’ ํ…”๋ ˆ๊ทธ๋žจpre_close
15:35EOD Learning โ€” ๋‹น์ผ ๊ธ‰๋“ฑ์ฃผ ๋ณต๊ธฐ ๋ฐ ํ”ผ๋“œ๋ฐฑ DB ์ถ•์  โ†’ ํ…”๋ ˆ๊ทธ๋žจLessonsGenerator
15:40์‹œ๊ฐ„์™ธ ๋Œ€์ฒด ๋ธŒ๋ฆฌํ•‘ โ€” 1์ฐจ ์‹œ๊ฐ„์™ธ ๊ฑฐ๋ž˜ ๋Œ€๋น„ ์ถ”์ฒœ โ†’ ํ…”๋ ˆ๊ทธ๋žจStockAnalyzer
16:30PM Audit โ€” ์—๋Ÿฌ ๋กœ๊ทธ, DB ์ƒํƒœ โ†’ ํ…”๋ ˆ๊ทธ๋žจPMaudit
17:00๋ณด์œ ์ข…๋ชฉ AI ์ •๋ฐ€ ๋ถ„์„ ๋ฆฌํฌํŠธ โ†’ ํ…”๋ ˆ๊ทธ๋žจ + ๋Œ€์‹œ๋ณด๋“œStockAnalyzer

๐Ÿ”ง ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ

๐Ÿค–
Gemini AI
2.5-flash ๊ธฐ๋ณธ ยท Vision ํฌํ•จ
์—ฐ๊ฒฐ๋จ
โœˆ๏ธ
Telegram Bot
์•Œ๋ฆผ ๋ฐœ์‹  ยท ์Šคํฌ๋ฆฐ์ƒท ์ˆ˜์‹ 
์—ฐ๊ฒฐ๋จ
๐Ÿ“Š
Cloudflare Pages
tossbot.pages.dev
๋ฐฐํฌ๋จ
๐Ÿ—„๏ธ
SQLite DB
toss_bot.db ยท EC2 ๋กœ์ปฌ
์ •์ƒ
โฑ๏ธ
APScheduler
AM/PM Audit + ์žฅ์ค‘ ์ ๊ฒ€
์‹คํ–‰ ์ค‘
๐Ÿ“ˆ
Kiwoom REST API
์‹œ์„ธ ์ „์šฉ (์ž๋™๋งค๋งค ๋ถˆ๊ฐ€)
์—ฐ๊ฒฐ๋จ

โš ๏ธ ์ด์Šˆ ํ˜„ํ™ฉ

โœ…
int64 JSON serializable ์˜ค๋ฅ˜_SafeEncoder + int()/float() ๋ช…์‹œ์  ์บ์ŠคํŒ… โ€” exporter.py
์™„๋ฃŒ
โœ…
Kiwoom 8001 ์ธ์ฆ ์˜ค๋ฅ˜main.py ์ตœ์ƒ๋‹จ load_dotenv ์ถ”๊ฐ€
์™„๋ฃŒ
โœ…
Gemini gemini-1.5-pro 404gemini-2.5-flash ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ
์™„๋ฃŒ
โœ…
AM Audit ํ‚ค์›€ ํ† ํฐ ์ถฉ๋Œ์‹ ๊ทœ ๋ฐœ๊ธ‰ ์ œ๊ฑฐ, ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ํ™•์ธ์œผ๋กœ ๋ณ€๊ฒฝ
์™„๋ฃŒ
โณ
ํ† ์Šค์ฆ๊ถŒ APIAPI ์ถœ์‹œ ์‹œ ์ž๋™๋งค๋งค ์—ฐ๊ฒฐ ์˜ˆ์ •
๋Œ€๊ธฐ

๐Ÿ–ฅ๏ธ EC2 ๋ฐฐํฌ ๋ช…๋ น์–ด

# EC2 ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ cd ~/tossbot && bash scripts/ec2_update.sh # ๊ฐ•์ œ ๋™๊ธฐํ™” git fetch origin && git reset --hard origin/main # ์„œ๋น„์Šค ์žฌ์‹œ์ž‘ sudo systemctl restart tossbot.service tossbot-api.service # ๋กœ๊ทธ ํ™•์ธ tail -50 ~/tossbot/logs/tossbot.log