- Added a new design document outlining the integration of BTC/ETH candle data as additional features in the XRP ML filter, enhancing prediction accuracy. - Introduced `MultiSymbolStream` for combined WebSocket data retrieval of XRP, BTC, and ETH. - Expanded feature set from 13 to 21 by including 8 new BTC/ETH-related features. - Updated various scripts and modules to support the new feature set and data handling. - Enhanced training and deployment scripts to accommodate the new dataset structure. This commit lays the groundwork for improved model performance by leveraging the correlation between BTC and ETH with XRP.
48 lines
1.5 KiB
Bash
Executable File
48 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 맥미니에서 전체 학습 파이프라인을 실행하고 LXC로 배포한다.
|
|
# 사용법: bash scripts/train_and_deploy.sh [LXC_HOST] [LXC_MODELS_PATH]
|
|
#
|
|
# 예시:
|
|
# bash scripts/train_and_deploy.sh
|
|
# bash scripts/train_and_deploy.sh root@10.1.10.24 /root/cointrader/models
|
|
|
|
set -euo pipefail
|
|
|
|
LXC_HOST="${1:-root@10.1.10.24}"
|
|
LXC_MODELS_PATH="${2:-/root/cointrader/models}"
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
echo "=== [1/3] 데이터 수집 (XRP + BTC + ETH 3심볼) ==="
|
|
python scripts/fetch_history.py \
|
|
--symbols XRPUSDT BTCUSDT ETHUSDT \
|
|
--interval 1m \
|
|
--days 90 \
|
|
--output data/xrpusdt_1m.parquet
|
|
# 결과: data/combined_1m.parquet (타임스탬프 기준 병합)
|
|
|
|
echo ""
|
|
echo "=== [2/3] 모델 학습 (21개 피처: XRP 13 + BTC/ETH 상관관계 8) ==="
|
|
# TRAIN_BACKEND=mlx 로 설정하면 Apple Silicon GPU(Metal)를 사용한다 (기본: lgbm)
|
|
BACKEND="${TRAIN_BACKEND:-lgbm}"
|
|
if [ "$BACKEND" = "mlx" ]; then
|
|
echo " 백엔드: MLX (Apple Silicon GPU)"
|
|
python scripts/train_mlx_model.py --data data/combined_1m.parquet
|
|
else
|
|
echo " 백엔드: LightGBM (CPU)"
|
|
python scripts/train_model.py --data data/combined_1m.parquet
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== [3/3] LXC 배포 ==="
|
|
bash scripts/deploy_model.sh "$LXC_HOST" "$LXC_MODELS_PATH"
|
|
|
|
echo ""
|
|
echo "=== 전체 파이프라인 완료 ==="
|
|
echo ""
|
|
echo "봇 재시작이 필요하면:"
|
|
echo " ssh ${LXC_HOST} 'cd /root/cointrader && docker compose restart cointrader'"
|