AI ๊ธฐ๋ฐ ํธ๋ ์ด๋ ๋ถ์ ๋ฐ ์๋ ๋งค๋งค ํ๋ซํผ
Hyperliquid ๋ฆฌ๋๋ณด๋์ ๋จ์ PnL ์์๋ฅผ ๋์ด, AI Agent๊ฐ ํธ๋ ์ด๋์ ์ค๋ ฅ๊ณผ ๋ฆฌ์คํฌ ํ๋กํ์ผ์ ๋ถ์ํ์ฌ ๋ณด๋ค ์ ํํ ํ๊ฐ๋ฅผ ์ ๊ณตํ๋ ์์คํ ์ ๋๋ค.
- ๋ค์ฐจ์ ์ง๊ฐ ๋ถ์: ROI, MDD, CAGR, Calmar Ratio ๋ฑ 6๊ฐ์ง ๋ฉํธ๋ฆญ์ผ๋ก ํธ๋ ์ด๋ ํ๊ฐ
- AI Agent ๋ถ์: SpoonOS LLM์ ํ์ฉํ ํธ๋ ์ด๋ฉ ์คํ์ผ ๋ถ์ ๋ฐ ํ๊ฐ
- ์๋ ๋งค๋งค ์์คํ : LLM ๊ธฐ๋ฐ ๊ฑฐ๋ ๊ฒฐ์ ๋ฐ x402 ๊ฒฐ์ ํ๋กํ ์ฝ์ ํตํ API ์ ๊ทผ ์ ์ด
- ์ค์๊ฐ ๋ฐ์ดํฐ: 5๋ถ ์บ์ฑ ์์คํ ์ผ๋ก ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ๊ณต
- ํ ๋ ๊ทธ๋จ ์ฐ๋: ๊ฑฐ๋ ๊ฒฐ๊ณผ ๋ฐ ๋ถ์ ๋ฆฌํฌํธ ์๋ ์ ์ก
โโโโโโโโโโโโโโโ
โ Frontend โ
โโโโโโโโฌโโโโโโโ
โ REST API
โโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastAPI Backend โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ /api/data โ โ
โ โ /api/information/{wallet_id} โ โ
โ โ /api/trade/auto/ai โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โ ClickHouse SpoonOS Telegram โ
โ Database LLM Bot โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- FastAPI: ๊ณ ์ฑ๋ฅ ๋น๋๊ธฐ API ์๋ฒ
- ClickHouse: ๋์ฉ๋ ๋ถ์ ๋ฐ์ดํฐ ์ ์ฅ
- SpoonOS LLM: AI ๊ธฐ๋ฐ ํธ๋ ์ด๋ ๋ถ์ ๋ฐ ๊ฑฐ๋ ๊ฒฐ์
- Spoon-toolkit: ํฌ๋ฆฝํ ๋ฐ์ดํฐ ์กฐํ
- x402 Payment Protocol: API ์ ๊ทผ ์ ์ด (๊ฒฐ์ ์๋ฎฌ๋ ์ด์ )
- Python Telegram Bot: ์๋ฆผ ์๋น์ค
clickhouse-driver: ClickHouse ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐeth-account: ์ด๋๋ฆฌ์ ์๋ช ์์ฑ/๊ฒ์ฆ (x402)httpx: ๋ด๋ถ API ํธ์ถpython-telegram-bot: ํ ๋ ๊ทธ๋จ ๋ด ํต์
์ง๊ฐ ๋ฐ์ดํฐ ๋ชฉ๋ก ์กฐํ
ํน์ง:
- 5๋ถ ์บ์ฑ: ์ต๊ทผ 5๋ถ ์ด๋ด ๋ฐ์ดํฐ๋ ์บ์์์ ์ฆ์ ๋ฐํ
- ์๋ ๊ฐฑ์ : ์บ์ ๋ง๋ฃ ์ ClickHouse์์ ์๋ก ์กฐํ
- ์์/ํ์ 5๊ฐ: weighted_score ๊ธฐ์ค ์์ 5๊ฐ์ ํ์ 5๊ฐ ๋ฐํ
์๋ต ์์:
[
{
"wallet_id": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
"rank": 1,
"equityCurve": [
{ "date": "2024-01-01", "balance": 10000 },
{ "date": "2024-01-02", "balance": 10500 }
],
"roi": 150.5,
"mdd": -25.3,
"cagr": 200.0,
"calmar_ratio": 7.9,
"ave_drawdown": -5.2,
"recovery_factor": 5.9,
"weighted_score": 86.67,
"AI_Assistant": "Exceptional risk-adjusted performance..."
}
]ํน์ ์ง๊ฐ์ ์์ธ ์ ๋ณด ์กฐํ
์๋ต ํฌํจ:
- Equity Curve (์ผ๋ณ ์์ก ํ์คํ ๋ฆฌ)
- 6๊ฐ์ง ๋ฉํธ๋ฆญ (ROI, MDD, CAGR, Calmar Ratio, Avg Drawdown, Recovery Factor)
- AI Agent ๋ถ์ ํ ์คํธ
- ์ ์ฌ ๊ณ ๋ ํ๋กํ (3๊ฐ, matchScore ๊ธฐ์ค ์ ๋ ฌ)
์๋ต ์์:
{
"wallet_id": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
"equityCurve": [...],
"roi": 80.0,
"mdd": 100.0,
"cagr": 60.0,
"calmar_ratio": 100.0,
"ave_drawdown": 100.0,
"recovery_factor": 80.0,
"weighted_score": 86.67,
"AI_Assistant": "Exceptional risk-adjusted performance...",
"similar_whale_profiles": [
{
"wallet_id": "0x...",
"matchScore": 85,
"pnl": 1000000
}
]
}AI ์์ด์ ํธ ๊ธฐ๋ฐ ์๋ ๋งค๋งค ์คํ
๋์ ํ๋ฆ:
- x402 ๊ฒฐ์ ์๊ตฌ์ฌํญ ์์ฑ ๋ฐ ๊ฒ์ฆ
- SpoonOS LLM์ ํตํ ๋งค๋งค ๊ฒฐ์ ์์ฑ
- Spoon-toolkit์ผ๋ก ํฌ๋ฆฝํ ๋ฐ์ดํฐ ์กฐํ
- Paper trade ์คํ (์๋ฎฌ๋ ์ด์ )
- ํ ๋ ๊ทธ๋จ์ผ๋ก ๊ฒฐ๊ณผ ์ ์ก
์์ฒญ:
Headers:
X-PAYMENT-SIGNATURE: 0x... (์๋ช
)
์๋ต:
402 Payment Required: ๊ฒฐ์ ์๋ช ์์200 OK: ๊ฑฐ๋ ์คํ ์๋ฃ + ํ ๋ ๊ทธ๋จ ์๋ฆผ
- Python 3.8+
- ClickHouse ์ ๊ทผ ๊ถํ
- SpoonOS LLM ๋ฐ Spoon-toolkit (ํด์ปคํค ํ์ ์๊ฑด)
- ํ ๋ ๊ทธ๋จ ๋ด ํ ํฐ (์ ํ์ฌํญ)
# ์ ์ฅ์ ํด๋ก
git clone <repository-url>
cd gore/backend
# ๊ฐ์ ํ๊ฒฝ ์์ฑ
python -m venv venv
# ๊ฐ์ ํ๊ฒฝ ํ์ฑํ
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# ์์กด์ฑ ์ค์น
pip install -r requirements.txt.env ํ์ผ ์์ฑ:
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id
AI_WALLET_PRIVATE_KEY=your_private_key# FastAPI ์๋ฒ ์คํ
python main.py
# ๋๋ uvicorn ์ง์ ์คํ
uvicorn main:app --reload --host 0.0.0.0 --port 8000ํ ๋ ๊ทธ๋จ ๋ด์ ๋ณ๋ ํ๋ก์ธ์ค๋ก ์คํ:
# ๋ณ๋ ํฐ๋ฏธ๋์์
python telegram_runner.py์๋ฒ ์คํ ํ ๋ค์ ์ฃผ์์์ API ๋ฌธ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค:
- Swagger UI: http://localhost:8000/api/docs
- ReDoc: http://localhost:8000/api/redoc
ClickHouse (wallet_scores ํ
์ด๋ธ)
โ
/api/data ํธ์ถ ์
โ
์บ์ ํ์ธ (result.txt)
โโ 5๋ถ ์ด๋ด โ ์บ์์์ ๋ฐํ
โโ 5๋ถ ์ด๊ณผ โ DB ์กฐํ โ ์บ์ ์
๋ฐ์ดํธ โ ๋ฐํ
/api/data ํธ์ถ (DB์์ ์๋ก ์กฐํํ ๊ฒฝ์ฐ)
โ
/api/trade/auto/ai ๋ด๋ถ ํธ์ถ
โ
x402 ๊ฒฐ์ ๊ฒ์ฆ
โ
SpoonOS LLM ๋ถ์ โ ๋งค๋งค ๊ฒฐ์
โ
Paper trade ์คํ
โ
ํ
๋ ๊ทธ๋จ ์๋ฆผ ๋ฐ์ก
/api/trade/auto/ai์๋ํฌ์ธํธ์์spoon_ai.llm.manager์ฌ์ฉ- ํธ๋ ์ด๋ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ๋งค๋งค ๊ฒฐ์ ์์ฑ
- LLM ๊ธฐ๋ฐ ํธ๋ ์ด๋ฉ ์คํ์ผ ๋ถ์
CryptoPowerDataCEXTool์ ํตํ ํฌ๋ฆฝํ ๋ฐ์ดํฐ ์กฐํ- ์ค์๊ฐ ์์ฅ ๋ฐ์ดํฐ ํ์ฉ
- API ์ ๊ทผ์ ๋ํ ๊ฒฐ์ ์๊ตฌ์ฌํญ ์์ฑ
- ์ด๋๋ฆฌ์ ์๋ช ์ ํตํ ๊ฒฐ์ ๊ฒ์ฆ
- ์ค์ ๊ฒฐ์ ์์ด ํ๋กํ ์ฝ ์๋ฎฌ๋ ์ด์
gore/
โโโ backend/
โ โโโ main.py # FastAPI ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์
โ โโโ payment.py # x402 ๊ฒฐ์ ์๊ตฌ์ฌํญ ์์ฑ
โ โโโ verify.py # x402 ์๋ช
๊ฒ์ฆ
โ โโโ telegram_bot.py # ํ
๋ ๊ทธ๋จ ๋ด ๋ก์ง
โ โโโ telegram_runner.py # ํ
๋ ๊ทธ๋จ ๋ด ์คํ ์คํฌ๋ฆฝํธ
โ โโโ requirements.txt # Python ์์กด์ฑ
โ โโโ result.txt # ์บ์๋ ๋ฐ์ดํฐ (์๋ ์์ฑ)
โ โโโ systemd/ # systemd ์๋น์ค ํ์ผ
โ โ โโโ myapi.service
โ โ โโโ mybot.service
โ โโโ test_external_connection.ipynb # ClickHouse ์ฐ๊ฒฐ ํ
์คํธ
โโโ README.md # ํ๋ก์ ํธ ๋ฌธ์
- 5๋ถ ์บ์ฑ: ClickHouse ์กฐํ ๋ถํ ์ต์ํ
- ์๋ ๊ฐฑ์ : ์บ์ ๋ง๋ฃ ์ ์๋์ผ๋ก ์ต์ ๋ฐ์ดํฐ ์กฐํ
- ํ์์คํฌํ ์ ์ฅ: ์บ์ ์ ํจ์ฑ ๊ฒ์ฆ์ ์ํ ์ ์ฅ ์๊ฐ ๊ธฐ๋ก
6๊ฐ์ง ํต์ฌ ์งํ๋ก ํธ๋ ์ด๋ ํ๊ฐ:
- ROI: ์ด ์์ต๋ฅ
- MDD: ์ต๋ ์์คํญ (์์๋ก ๋ฐํ)
- CAGR: ์ฐํ์ฐ ์์ต๋ฅ
- Calmar Ratio: CAGR/MDD ๋น์จ
- Avg Drawdown: ํ๊ท ์์คํญ
- Recovery Factor: ์์ค ํ๋ณต ํจ์จ
๊ฐ ์งํ๋ _score ํ๋๋ก 0-100 ์ ์๋ก ์ ๊ทํ๋์ด ์ ๊ณต๋ฉ๋๋ค.
SpoonOS LLM์ ํ์ฉํ์ฌ:
- ํธ๋ ์ด๋ฉ ์คํ์ผ ๋ถ๋ฅ
- ๋ฉํธ๋ฆญ ์กฐํฉ ํจํด ๋ถ์
- ์ง์๊ฐ๋ฅ์ฑ ํ๊ฐ
- ์ ์ฑ์ ์ธ์ฌ์ดํธ ์ ๊ณต
FastAPI์ ํ ๋ ๊ทธ๋จ ๋ด์ ๋ณ๋ ์๋น์ค๋ก ์คํ:
# ์๋น์ค ํ์ผ ๋ณต์ฌ
sudo cp backend/systemd/*.service /etc/systemd/system/
# ์๋น์ค ํ์ฑํ ๋ฐ ์์
sudo systemctl daemon-reload
sudo systemctl enable myapi mybot
sudo systemctl start myapi mybot
# ์ํ ํ์ธ
sudo systemctl status myapi
sudo systemctl status mybotbackend/nginx_example.conf๋ฅผ ์ฐธ๊ณ ํ์ฌ Nginx ์ค์ ๊ฐ๋ฅ
Copyright ยฉ 2024 Hyperliquid Wallet Scoring System
์ด์ ๋ฐ ๊ฐ์ ์ ์์ GitHub Issues๋ฅผ ํตํด ์ ์ถํด์ฃผ์ธ์.