์๋
ํ์ธ์ JK ์
๋๋ค.
JATS ์ PRD V403051 ๋ฒ์ ์
๋๋ค. ( 2024๋
03์ 05์ผ 1๋ฒ์งธ ์๋ ๋ฒ์ )
V403051
Product Requirements Document (PRD)
1. ๊ฐ์ (Introduction)
1.1 ๋ฌธ์ ๋ชฉ์
๋ณธ ๋ฌธ์๋ ๋นํธ์ฝ์ธ ์๋ ๋งค๋งค ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ ๋ฐ ์๊ตฌ์ฌํญ์ ์ ์ํ๊ธฐ ์ํ ์ ํ ์๊ตฌ์ฌํญ ๋ฌธ์(Product Requirements Document, PRD)์ด๋ค.
1.2 ๋ฐฐ๊ฒฝ
๋นํธ์ฝ์ธ ๋ฐ ์ํธํํ ์์ฅ์ 24์๊ฐ ์ด์๋๋ฉฐ ๋์ ๋ณ๋์ฑ์ ๊ฐ๋๋ค. ์๋ ๋งค๋งค ๋ฐฉ์์ ํผ๋ก๋๊ฐ ๋๊ณ , ์ต์ ์ ๋งค๋งค ํ์ด๋ฐ์ ๋์น ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Python์ ํ์ฉํ ์๋ ๋งค๋งค ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ์ฌ ์์ฅ ๊ธฐํ๋ฅผ ํฌ์ฐฉํ๊ณ ์ง์์ ์ธ ๋งค๋งค ์ ๋ต์ ์คํํ๊ณ ์ ํ๋ค.
1.3 ๋ชฉํ
- ๋๋๋งค๋งค ๋ฐฉ์ง: ๊ฐ์ ๊ฐ์ ์์ด ๊ท์น ๊ธฐ๋ฐ ๋งค๋งค ์คํ
- ์์น ์ค์: ์ค์ ๋ ์ ๋ต๊ณผ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ์๊ฒฉํ ๋งค๋งค ์ํ
- ์ ๋ฌด ์ง์ค: ์๋ํ๋ ๋งค๋งค๋ก ์ธํด ๋ค๋ฅธ ์ ๋ฌด์ ์ง์ค ๊ฐ๋ฅ
- ์๋ ๋งค๋งค: ์ฌ์ ์ ์ ์๋ ๋งค๋งค ์ ๋ต์ ์๋์ผ๋ก ์คํ
- ์ค์๊ฐ ๋ชจ๋ํฐ๋ง: ํ์ฌ ์์ฅ ์ํฉ์ ๋ฐ์ํ ์ฆ๊ฐ์ ์ธ ์์ฌ๊ฒฐ์
2. ์ ํ ๊ฐ์ (Product Overview)
2.1 ํต์ฌ ๊ธฐ๋ฅ
- ์ฃผ๋ฌธ ์๋ํ: ์ง์ ๋ ์กฐ๊ฑด(๊ฐ๊ฒฉ, ์ด๋ ํ๊ท , ๊ฑฐ๋๋ ๋ฑ)์ ๋ฐ๋ฅธ ๋งค์/๋งค๋ ์๋ ์คํ
- ์ค์๊ฐ ์์ธ ์กฐํ: ๊ฑฐ๋์ API๋ฅผ ํตํด ์์ฅ ๋ฐ์ดํฐ๋ฅผ ์์ง ๋ฐ ๋ถ์
- ๋ก๊ทธ ๋ฐ ์๋ฆผ ์์คํ : ๋งค๋งค ์คํ ๋ด์ญ์ ๊ธฐ๋กํ๊ณ ํ ๋ ๊ทธ๋จ ์๋ฆผ ์ ๊ณต
- ์์ ๋ฆฌํฌํธ ์์ฑ: ๋งค๋งค ๊ฒฐ๊ณผ๋ฅผ ์์ ํ์ผ๋ก ์ ์ฅํ์ฌ ๋ถ์ ๊ฐ๋ฅ
3. ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ (Feature Requirements)
| ๊ธฐ๋ฅ | ์ค๋ช |
|---|---|
| ์์ธ ๋ฐ์ดํฐ ์์ง | ์ค์๊ฐ์ผ๋ก Upbit API๋ฅผ ํตํด ๊ฐ๊ฒฉ, ๊ฑฐ๋๋, ํธ๊ฐ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ด |
| ์๋ ๋งค๋งค ์ ๋ต ์คํ | ํน์ ์กฐ๊ฑด(์: ์ด๋ ํ๊ท ๊ต์ฐจ, RSI ์งํ ๋ฑ)์ ๋ฐ๋ผ ๋งค์/๋งค๋ ์คํ |
| ์ฃผ๋ฌธ ๊ด๋ฆฌ | ์์ฅ๊ฐ, ์์ ๋งค ๋ฐ ์ด์ต ์คํ ์ฃผ๋ฌธ ์ง์ |
| ๋ฆฌ์คํฌ ๊ด๋ฆฌ | ์ต๋ ์์ค ํ๋ ์ค์ |
| ๋ก๊ทธ ๋ฐ ์๋ฆผ | ๋งค๋งค ๋ด์ญ์ ๋ก๊น ํ๊ณ ํ ๋ ๊ทธ๋จ ์๋ฆผ ์ ๊ณต |
| ์์ ๋ฆฌํฌํธ ์์ฑ | ๋งค๋งค ๋ด์ญ์ ์์ ํ์ผ๋ก ์ ์ฅํ์ฌ ๋ถ์ |
| ๋ชจ๋ํฐ๋ง ์น ์ ๊ณต | streamlit ์ ์ด์ฉํ ๋ฐ์ ๋ณด๋ ์ ๊ณต |
4. ๊ธฐ์ ์๊ตฌ์ฌํญ (Technical Requirements)
4.1 ์์คํ ์ํคํ ์ฒ
- Python ๊ธฐ๋ฐ ๋ฐฑ์๋: Upbit API๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ์์ง ๋ฐ ์ฃผ๋ฌธ ์คํ
- ๋ก๊ทธ ์์คํ
:
logging๋ชจ๋ - ์๋ฆผ ์์คํ : ํ ๋ ๊ทธ๋จ ์ฐ๋
- ์์ ๋ฆฌํฌํ : ์์ ํ์ผ ๋ฆฌํฌํ
- ์๋ ๋ฐฐํฌ: Git action ๊ธฐ๋ฐ์ผ๋ก AWS EC2 VM์ ๋ฐฐํฌ
- ๋ชจ๋ํฐ๋ง: AWS EC2 VM ์์ streamlit ์ด์ฉํ์ฌ ๋ฐ์ ๋ณด๋ ์ ๊ณต
4.2 API ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ
- Upbit API์์ ์์ธ ๋ฐ์ดํฐ ์ค์๊ฐ ์์ง
- ๋งค๋งค ์ ๋ต ๋ชจ๋์ด ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ์ฃผ๋ฌธ ๊ฒฐ์
- ์ฃผ๋ฌธ ์คํ ๋ฐ ์ฒด๊ฒฐ ์ฌ๋ถ ํ์ธ
- ๊ฒฐ๊ณผ๋ฅผ ์์ ํ์ผ๋ก ์ ์ฅํ๊ณ ํ ๋ ๊ทธ๋จ์ผ๋ก ์๋ฆผ ์ ์ก
5. ํ๋ก์ ํธ ๊ตฌ์กฐ (Project Structure)
โโโ .gitignore
โโโ README.md
โโโ config
โ โโโ dev_config.yaml
โ โโโ prod_config.yaml
โ โโโ sample_config.yaml
โโโ log
โโโ main.py
โโโ requirements.txt
โโโ upbit
โ โโโ analyzer.py
โ โโโ api.py
โ โโโ trader.py
โโโ util
โโโ config.py
โโโ logger.py
โโโ telegram_bot.py
โโโ report_generator.py
config/: ํ๊ฒฝ๋ณ ์ค์ ํ์ผ ์ ์ฅ (๊ฐ๋ฐ, ์ด์, ์ํ)upbit/: ๋งค๋งค ๋ก์ง ๊ด๋ จ ๋ชจ๋util/:config.py: YAML ์ค์ ํ์ผ ๋ก๋logger.py: ๋ก๊ทธ ๊ธฐ๋ฅ ๊ตฌํtelegram_bot.py: ํ ๋ ๊ทธ๋จ ์๋ฆผ ๊ธฐ๋ฅreport_generator.py: ์์ ๋ฆฌํฌํธ ์์ฑ ๊ธฐ๋ฅ
- ๊ธฐํ
main.py: ํ๋ก๊ทธ๋จ ์คํ ์ํธ๋ฆฌ ํฌ์ธํธrequirements.txt: ํ๋ก์ ํธ ์์กด์ฑ ๋ชฉ๋ก (pip ํจํค์ง ๊ด๋ฆฌ)
6. ์ ์ฝ์ฌํญ (Constraints)
- ๊ฐ์ํ๊ฒฝ์
jact_venv๋ก ๋ช ๋ช ํ๋ค. - upbit api ์์ฒญ์
pyupbit์ฌ์ฉ ํ์ง ๋ง๊ณ docs.upbit.com ์ฌ์ดํธ ์ฐธ๊ณ ํด์ request ๋ก ๊ตฌํ - API Rate Limit ์ค์: ๊ฑฐ๋์ API ํธ์ถ ๋น๋ ์ ํ์ ์ค์ํด์ผ ํจ
- ๋ฒ์ ์ด์: ํน์ ๊ตญ๊ฐ์์๋ ์๋ ๋งค๋งค๊ฐ ๋ฒ์ ์ผ๋ก ์ ํ๋ ์ ์์
- ๋ณด์: API Key ๋ฐ ๊ฑฐ๋ ๋ด์ญ์ ์์ ํ๊ฒ ๊ด๋ฆฌํด์ผ ํจ
7. ์ฐธ๊ณ ์๋ฃ (References)
- Upbit API ๋ฌธ์: @https://docs.upbit.com
REULST
cursor ( v0.46.8)

agent: @prd.mdc ๊ธฐ์ค์ผ๋ก ํ๋ก์ ํธ ๋ง๋ค์ด์ค- ์ ์ฒด 1576 ์ค์ ์ฝ๋๊ฐ ์์ฑ ๋์๋ค.
streamlit์ผ๋ก ์์ฑ๋ ๋์๋ณด๋๋ ๋งค์ฐ ํ๋ฅญํ๋ค.

๋ฌธ์
- ๋ด๊ฐ ์์ค๋ฅผ ๋ค ์ดํด ํ์ง ๋ชปํ๋ค.
- ๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง์ด ๋ค์ด๊ฐ๋ค.
- ์ธ๋ถ์ ์ธ ์ฌํญ์ด ๋ด๊ฐ ์ํ๋ ๋ฐฉํฅ๊ณผ ๋ค๋ฅธ ๋ถ๋ถ์ด ๋ง๋ค.
๊ฐ์ ์ฌํญ
- MVP : ์ต์ ๊ธฐ๋ฅ ๋ถํฐ ์ ์ง์ ์ผ๋ก ๊ธฐ๋ฅ์ ๋ถ์ฌ ๋๊ฐ์.
- PRD ๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ์ธ๋ถํ ํ๊ณ ์์ธํ ์ฐ์.