crypt / webui /README.md
heyunfei's picture
Upload 56 files
85653bc verified
# Kronos Web UI
Web user interface for Kronos financial prediction model, providing intuitive graphical operation interface.
## ✨ Features
- **Multi-format data support**: Supports CSV, Feather and other financial data formats
- **Smart time window**: Fixed 400+120 data point time window slider selection
- **Real model prediction**: Integrated real Kronos model, supports multiple model sizes
- **Prediction quality control**: Adjustable temperature, nucleus sampling, sample count and other parameters
- **Multi-device support**: Supports CPU, CUDA, MPS and other computing devices
- **Comparison analysis**: Detailed comparison between prediction results and actual data
- **K-line chart display**: Professional financial K-line chart display
## πŸš€ Quick Start
### Method 1: Start with Python script
```bash
cd webui
python run.py
```
### Method 2: Start with Shell script
```bash
cd webui
chmod +x start.sh
./start.sh
```
### Method 3: Start Flask application directly
```bash
cd webui
python app.py
```
After successful startup, visit http://localhost:7070
## πŸ“‹ Usage Steps
1. **Load data**: Select financial data file from data directory
2. **Load model**: Select Kronos model and computing device
3. **Set parameters**: Adjust prediction quality parameters
4. **Select time window**: Use slider to select 400+120 data point time range
5. **Start prediction**: Click prediction button to generate results
6. **View results**: View prediction results in charts and tables
## πŸ”§ Prediction Quality Parameters
### Temperature (T)
- **Range**: 0.1 - 2.0
- **Effect**: Controls prediction randomness
- **Recommendation**: 1.2-1.5 for better prediction quality
### Nucleus Sampling (top_p)
- **Range**: 0.1 - 1.0
- **Effect**: Controls prediction diversity
- **Recommendation**: 0.95-1.0 to consider more possibilities
### Sample Count
- **Range**: 1 - 5
- **Effect**: Generate multiple prediction samples
- **Recommendation**: 2-3 samples to improve quality
## πŸ“Š Supported Data Formats
### Required Columns
- `open`: Opening price
- `high`: Highest price
- `low`: Lowest price
- `close`: Closing price
### Optional Columns
- `volume`: Trading volume
- `amount`: Trading amount (not used for prediction)
- `timestamps`/`timestamp`/`date`: Timestamp
## πŸ€– Model Support
- **Kronos-mini**: 4.1M parameters, lightweight fast prediction
- **Kronos-small**: 24.7M parameters, balanced performance and speed
- **Kronos-base**: 102.3M parameters, high quality prediction
## πŸ–₯️ GPU Acceleration Support
- **CPU**: General computing, best compatibility
- **CUDA**: NVIDIA GPU acceleration, best performance
- **MPS**: Apple Silicon GPU acceleration, recommended for Mac users
## ⚠️ Notes
- `amount` column is not used for prediction, only for display
- Time window is fixed at 400+120=520 data points
- Ensure data file contains sufficient historical data
- First model loading may require download, please be patient
## πŸ” Comparison Analysis
The system automatically provides comparison analysis between prediction results and actual data, including:
- Price difference statistics
- Error analysis
- Prediction quality assessment
## πŸ› οΈ Technical Architecture
- **Backend**: Flask + Python
- **Frontend**: HTML + CSS + JavaScript
- **Charts**: Plotly.js
- **Data processing**: Pandas + NumPy
- **Model**: Hugging Face Transformers
## πŸ“ Troubleshooting
### Common Issues
1. **Port occupied**: Modify port number in app.py
2. **Missing dependencies**: Run `pip install -r requirements.txt`
3. **Model loading failed**: Check network connection and model ID
4. **Data format error**: Ensure data column names and format are correct
### Log Viewing
Detailed runtime information will be displayed in the console at startup, including model status and error messages.
## πŸ“„ License
This project follows the license terms of the original Kronos project.
## 🀝 Contributing
Welcome to submit Issues and Pull Requests to improve this Web UI!
## πŸ“ž Support
If you have questions, please check:
1. Project documentation
2. GitHub Issues
3. Console error messages