์ฃผ์ ์์ฅ ๋ถ์๊ณผ ํฌํธํด๋ฆฌ์ค ์์ฑ์ ์ง์ํ๊ธฐ ์ํ ๋ฐ์ดํฐ ์์ง ๋ฐ ํ์ดํ๋ผ์ธ ์ฝ๋ ๋ชจ์์ ๋๋ค. ํ๊ตญ ์ฃผ์ ์์ฅ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ๊ฒฝ์ ์งํ์ ๋ด์ค, ๊ธฐ์ ๊ณต์ ์๋ฃ๋ฅผ ์๋์ผ๋ก ์์งํ์ฌ GPT ๊ธฐ๋ฐ ๋ถ์์ ํ์ฉํฉ๋๋ค.
- get_data/ : ์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์คํฌ๋ฆฝํธ ๋ชจ์
raw/ํด๋์์ FRED, OpenDART, KRX ๋ฑ ์ฌ๋ฌ ์์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์ฅํฉ๋๋ค.raw_main.py์update_all_raw_info()ํจ์๋ฅผ ํธ์ถํ๋ฉด ์ ๋ฐ์ ์ธ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ ๊ณผ์ ์ ์คํํ ์ ์์ต๋๋ค.
- store_data/ : ์์งํ ์๋ณธ ์๋ฃ์ ๊ฐ๊ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์์น
- pipeline/ : GPT ๋ฐ ํต๊ณ ๋ชจ๋ธ์ ํ์ฉํ ํฌํธํด๋ฆฌ์ค ์์ฑ ํ์ดํ๋ผ์ธ
pf_selection.py์sub_func/ํ์ ๋ชจ๋์ ์นํฐ ์ ์ ๊ณผ ์ข ๋ชฉ ๋ถ์์ ์งํํฉ๋๋ค.t1.py,t2_t4.py,t5.py๋ฑ์ ๋ณด๊ณ ์ ์์ฑ๊ณผ ํธ๋ ์ด๋ฉ ์ ๋ต ์์ฑ์ ๋ด๋นํฉ๋๋ค.chatbot/๋๋ ํฐ๋ฆฌ์๋ FAISS ๊ธฐ๋ฐ RAG ์ฑ๋ด ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค.
- demoday/ : ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํํ๊ธฐ ์ํ ๊ฐ๋จํ ์น ํ์ด์ง ์๋ฃ
- analyze_portfolio.py : ์คํ ์ง์, VaR ๋ฑ์ ์งํ๋ก ํฌํธํด๋ฆฌ์ค๋ฅผ ํ๊ฐํ๋ ์์ ์คํฌ๋ฆฝํธ
- config/ : API ํค๋ฅผ ๋ณด๊ดํ๋
api_keys.yaml์์ ํ์ผ์ด ์์ต๋๋ค. ๊ฐ์ธ ํค๋ก ์์ ํ์ฌ ์ฌ์ฉํ์ธ์.
Python 3.8 ์ด์์ ํ๊ฒฝ์ ๊ถ์ฅํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ํจํค์ง๊ฐ ํ์ํฉ๋๋ค.
pandas, numpy, yfinance, matplotlib, pykrx, openai, tensorflow, torch,
selenium, faiss-cpu, easyocr
๊ฐ์ํ๊ฒฝ์ ๋ง๋ ๋ค ์ ํจํค์ง๋ค์ ์ค์นํ์ฌ ์ฌ์ฉํ์ธ์.
config/api_keys.yamlํ์ผ์ ๋ณธ์ธ์ OpenDART, FRED, OpenAI API ํค๋ฅผ ์ ๋ ฅํฉ๋๋ค.- ํ์ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ค๋ฉด
python get_data/get_data_raw.py๋ฅผ ์คํํฉ๋๋ค. - ํ์ดํ๋ผ์ธ์ ํตํด ํฌํธํด๋ฆฌ์ค ๋ถ์์ ์ํํ๋ ค๋ฉด
pipeline/ํ์ ๋ชจ๋์ ์คํํฉ๋๋ค. ์๋ฅผ ๋ค์ดt1.py๋ GPT๋ฅผ ์ด์ฉํ ์ข ๋ชฉ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค. demoday/ํด๋์ ์น ๋ฆฌ์์ค๋ฅผ ํตํด ๊ฒฐ๊ณผ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
์ธ๋ถ์ ์ธ ์ฌ์ฉ ์ ์ฐจ๋ ๊ฐ ์คํฌ๋ฆฝํธ์ ์ฃผ์์ ์ฐธ๊ณ ํด ์ฃผ์ธ์.