Spaces:
Runtime error
Runtime error
| # Simple script: Train RL model and backtest automatically | |
| # Usage: ./train_and_backtest.sh my_model 250000 | |
| MODEL_NAME="${1:-experiment_1}" | |
| TIMESTEPS="${2:-250000}" | |
| CSV_PATH="../data/historical_1m.csv" | |
| echo "Starting train -> backtest workflow..." | |
| echo " Model: $MODEL_NAME" | |
| echo " Timesteps: $TIMESTEPS" | |
| echo "" | |
| # Step 1: Train | |
| echo "------------------------------------------------------------------" | |
| echo "STEP 1: Training..." | |
| echo "------------------------------------------------------------------" | |
| python3 train_backtest_rl_system.py train \ | |
| --csv "$CSV_PATH" \ | |
| --name "$MODEL_NAME" \ | |
| --algo ppo \ | |
| --timesteps "$TIMESTEPS" | |
| if [ $? -ne 0 ]; then | |
| echo "[error] Training failed" | |
| exit 1 | |
| fi | |
| echo "" | |
| echo "[ok] Training complete" | |
| echo "" | |
| # Step 2: Find the latest checkpoint (or latest_model alias) | |
| echo "------------------------------------------------------------------" | |
| echo "STEP 2: Finding latest checkpoint..." | |
| echo "------------------------------------------------------------------" | |
| LATEST_CHECKPOINT="./checkpoints/rl_training/${MODEL_NAME}_ppo/latest_model.zip" | |
| if [ ! -f "$LATEST_CHECKPOINT" ]; then | |
| LATEST_CHECKPOINT=$(ls -t ./checkpoints/rl_training/"${MODEL_NAME}"_ppo/checkpoint_*.zip 2>/dev/null | head -1) | |
| fi | |
| if [ -z "$LATEST_CHECKPOINT" ]; then | |
| echo "[error] No checkpoint found" | |
| exit 1 | |
| fi | |
| echo "Latest checkpoint: $LATEST_CHECKPOINT" | |
| echo "" | |
| # Step 3: Backtest | |
| echo "------------------------------------------------------------------" | |
| echo "STEP 3: Backtesting..." | |
| echo "------------------------------------------------------------------" | |
| python3 train_backtest_rl_system.py backtest \ | |
| --csv "$CSV_PATH" \ | |
| --model "$LATEST_CHECKPOINT" \ | |
| --algo ppo | |
| if [ $? -ne 0 ]; then | |
| echo "[error] Backtest failed" | |
| exit 1 | |
| fi | |
| echo "" | |
| echo "[ok] All done. Train -> backtest workflow complete." | |