diff --git a/README.md b/README.md index 37be1a19..13bf87c3 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,6 @@

License - PyPI CI Ruff Stars @@ -59,72 +58,87 @@ All code in Predix is originally written and implemented independently. Predix e ### Quick Install ```bash -# Install from PyPI -pip install predix - -# Or install from source +# Clone repository git clone https://github.com/PredixAI/predix cd predix -pip install -e . -``` -### Development Setup - -```bash # Create conda environment conda create -n predix python=3.10 conda activate predix -# Install in editable mode with dev dependencies -make dev +# Install in editable mode +pip install -e .[test,lint] +``` + +### Configuration + +1. **Create `.env` file:** +```bash +# Local LLM (llama.cpp) +OPENAI_API_KEY=local +OPENAI_API_BASE=http://localhost:8081/v1 +CHAT_MODEL=qwen3.5-35b + +# Embedding (Ollama) +LITELLM_PROXY_API_KEY=local +LITELLM_PROXY_API_BASE=http://localhost:11434/v1 +EMBEDDING_MODEL=nomic-embed-text + +# Paths +QLIB_DATA_DIR=~/.qlib/qlib_data/eurusd_1min_data +``` + +2. **Start LLM server (llama.cpp):** +```bash +~/llama.cpp/build/bin/llama-server \ + --model ~/models/qwen3.5/Qwen3.5-35B-A3B-Q3_K_M.gguf \ + --n-gpu-layers 36 \ + --ctx-size 80000 \ + --port 8081 ``` --- ## Quick Start -### 1. Health Check - -Verify your environment is properly configured: +### 1. Run Trading Loop ```bash -rdagent health_check --no-check-env -``` +# Activate conda environment +conda activate predix -### 2. Configure LLM Backend - -Create a `.env` file in your project root: - -```bash -# Example: OpenAI configuration -cat << EOF > .env -CHAT_MODEL=gpt-4o -EMBEDDING_MODEL=text-embedding-3-small -OPENAI_API_BASE=https://api.openai.com/v1 -OPENAI_API_KEY=your-api-key-here -EOF -``` - -**Alternative providers:** - -- **Azure OpenAI**: Set `AZURE_API_KEY`, `AZURE_API_BASE`, `AZURE_API_VERSION` -- **DeepSeek**: Use `CHAT_MODEL=deepseek/deepseek-chat` with `DEEPSEEK_API_KEY` -- **SiliconFlow (embedding)**: Use `EMBEDDING_MODEL=litellm_proxy/BAAI/bge-m3` - -### 3. Run Quantitative Trading Loop - -```bash -# Full factor & model co-evolution +# Start EURUSD trading loop rdagent fin_quant -# Factor-only evolution -rdagent fin_factor - -# Model-only evolution -rdagent fin_model +# With options +rdagent fin_quant --loop-n 5 --step-n 2 ``` -### 4. Monitor Results +### 2. Monitor Results + +```bash +# Start the UI dashboard +rdagent server_ui --port 19899 --log-dir git_ignore_folder/RD-Agent_workspace/ + +# Or open in browser +# http://127.0.0.1:19899 +``` + +### 3. Loop Continuously + +To run the trading loop continuously with auto-restart: + +```bash +# Simple loop +while true; do + rdagent fin_quant + sleep 5 +done +``` + +--- + +## Configuration ```bash # Start the UI dashboard diff --git a/start_loop.sh b/start_loop.sh deleted file mode 100755 index 11b25ec9..00000000 --- a/start_loop.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -# Start EURUSD Trading in Endlosschleife mit Auto-Restart -# Verwendung: ./start_loop.sh - -set -e - -LOG_FILE=~/Predix/fin_quant.log - -echo "============================================================" -echo " Predix EURUSD Trading - Endlosschleife mit Auto-Restart" -echo "============================================================" -echo "" -echo "Log-Datei: $LOG_FILE" -echo "" -echo "Dashboard Optionen:" -echo " Web: rdagent fin_quant --with-dashboard" -echo " CLI: rdagent fin_quant --cli-dashboard" -echo "" -echo "Stoppen mit: Ctrl+C" -echo "============================================================" -echo "" - -# Conda Environment aktivieren -if [ -f ~/miniconda3/etc/profile.d/conda.sh ]; then - source ~/miniconda3/etc/profile.d/conda.sh - conda activate rdagent - echo "✓ Conda Environment 'rdagent' aktiviert" -else - echo "⚠️ Conda nicht gefunden..." -fi - -echo "" -echo "Starte Endlosschleife..." -echo "" - -cd /home/nico/Predix - -while true; do - echo "=== START: $(date) ===" >> $LOG_FILE - echo "" - echo "╔════════════════════════════════════════════════════════╗" - echo "║ 🚀 START: $(date +"%Y-%m-%d %H:%M:%S") ║" - echo "╚════════════════════════════════════════════════════════╝" - echo "" - - dotenv run -- rdagent fin_quant 2>&1 | tee -a $LOG_FILE - - echo "" - echo "╔════════════════════════════════════════════════════════╗" - echo "║ ⏸️ RESTART: $(date +"%Y-%m-%d %H:%M:%S") ║" - echo "╚════════════════════════════════════════════════════════╝" - echo "=== RESTART: $(date) ===" >> $LOG_FILE - echo "" - echo "Warte 5 Sekunden vor Neustart..." - echo "" - sleep 5 -done