docs: update README with refined environment variable instructions, improved table formatting, and expanded betting strategy tips.

This commit is contained in:
2569718930@qq.com
2026-02-23 21:05:23 +08:00
parent be90e610ee
commit f3fcde6441
+24 -13
View File
@@ -8,7 +8,10 @@ An intelligent weather bot for prediction markets and professional weather betti
- **Python 3.11+** - **Python 3.11+**
- Dependencies: `pip install -r requirements.txt` - Dependencies: `pip install -r requirements.txt`
<<<<<<< HEAD
- # **Environment**: Configure `METEOBLUE_API_KEY` in `.env` to enable high-precision London forecasts.
- **Environment Variables**: Set `TELEGRAM_BOT_TOKEN` in `.env` (required). Optionally set `METEOBLUE_API_KEY` for London high-precision forecasts. - **Environment Variables**: Set `TELEGRAM_BOT_TOKEN` in `.env` (required). Optionally set `METEOBLUE_API_KEY` for London high-precision forecasts.
> > > > > > > e575440acfd8b5f1e8c30e83dfcb972d26175729
### VPS Deployment (Recommended) ### VPS Deployment (Recommended)
@@ -67,7 +70,7 @@ py -3.11 run.py
### Supported Cities ### Supported Cities
| City | Aliases | METAR Station | Extra Sources | | City | Aliases | METAR Station | Extra Sources |
|:---|:---|:---|:---| | :----------- | :--------------------- | :------------------------ | :------------ |
| London | `lon`, `伦敦` | EGLC (City Airport) | Meteoblue | | London | `lon`, `伦敦` | EGLC (City Airport) | Meteoblue |
| Paris | `par`, `巴黎` | LFPG (Charles de Gaulle) | — | | Paris | `par`, `巴黎` | LFPG (Charles de Gaulle) | — |
| Ankara | `ank`, `安卡拉` | LTAC (Esenboğa) | MGM | | Ankara | `ank`, `安卡拉` | LTAC (Esenboğa) | MGM |
@@ -97,7 +100,7 @@ py -3.11 run.py
### 1. 🏛️ Multi-Source Data Fusion ### 1. 🏛️ Multi-Source Data Fusion
| Source | Role | Coverage | Strength | | Source | Role | Coverage | Strength |
| :---------------------- | :---------------------- | :-------------- | :-------------------------------------------------------------------------- | | :---------------------- | :---------------------- | :-------------- | :-------------------------------------------------------------------------------- |
| **Multi-Model (5 NWP)** | **Consensus Scoring** | Global | ECMWF, GFS, ICON, GEM, JMA — 5 fully independent NWP models via Open-Meteo | | **Multi-Model (5 NWP)** | **Consensus Scoring** | Global | ECMWF, GFS, ICON, GEM, JMA — 5 fully independent NWP models via Open-Meteo |
| **Open-Meteo** | Base Forecast | Global | 72h hourly curves, sunrise/sunset, **sunshine duration**, **shortwave radiation** | | **Open-Meteo** | Base Forecast | Global | 72h hourly curves, sunrise/sunset, **sunshine duration**, **shortwave radiation** |
| **Open-Meteo Ensemble** | **Uncertainty Range** | Global | 51-member ensemble: median, P10, P90 spread for confidence assessment | | **Open-Meteo Ensemble** | **Uncertainty Range** | Global | 51-member ensemble: median, P10, P90 spread for confidence assessment |
@@ -149,7 +152,7 @@ py -3.11 run.py
The bot queries **5 independent NWP models** (ECMWF, GFS, ICON, GEM, JMA) to rate forecast agreement: The bot queries **5 independent NWP models** (ECMWF, GFS, ICON, GEM, JMA) to rate forecast agreement:
| Level | Condition (°C / °F) | Meaning | | Level | Condition (°C / °F) | Meaning |
|:---|:---|:---| | :------------ | :--------------------- | :------------------------------------------------------ |
| 🎯 **High** | Spread ≤ 0.8°C / 1.5°F | All 5 models converge — high confidence, low risk | | 🎯 **High** | Spread ≤ 0.8°C / 1.5°F | All 5 models converge — high confidence, low risk |
| ⚖️ **Medium** | Spread ≤ 1.5°C / 3.0°F | Minor disagreement — moderate confidence | | ⚖️ **Medium** | Spread ≤ 1.5°C / 3.0°F | Minor disagreement — moderate confidence |
| ⚠️ **Low** | Spread > 1.5°C / 3.0°F | Major divergence — high uncertainty, wait for more data | | ⚠️ **Low** | Spread > 1.5°C / 3.0°F | Major divergence — high uncertainty, wait for more data |
@@ -171,7 +174,7 @@ A tight range = high confidence in the forecast. A wide range = the atmosphere i
A composite score combining three factors to advise on betting timing: A composite score combining three factors to advise on betting timing:
| Factor | Score | | Factor | Score |
|:---|:---| | :------------------------------------ | :---- |
| Peak already passed | +3 | | Peak already passed | +3 |
| ≤ 2h to peak | +2 | | ≤ 2h to peak | +2 |
| ≤ 4h to peak | +1 | | ≤ 4h to peak | +1 |
@@ -181,7 +184,7 @@ A composite score combining three factors to advise on betting timing:
| Actual close to Forecast (gap ≤ 1.5°) | +1 | | Actual close to Forecast (gap ≤ 1.5°) | +1 |
| Total ≥ | Signal | Advice | | Total ≥ | Signal | Advice |
|:---|:---|:---| | :------ | :--------------------- | :---------------------------- |
| 5 | ⏰ **Ideal** | Low uncertainty — good to bet | | 5 | ⏰ **Ideal** | Low uncertainty — good to bet |
| 3 | ⏰ **Good** | Consider small positions | | 3 | ⏰ **Good** | Consider small positions |
| 2 | ⏰ **Cautious** | Keep observing | | 2 | ⏰ **Cautious** | Keep observing |
@@ -250,15 +253,23 @@ graph TD
## 🎯 Betting Strategy Tips ## 🎯 Betting Strategy Tips
1. **Check Model Consensus**: The 🎯/⚖️/⚠️ rating tells you immediately if the forecast is reliable. <<<<<<< HEAD
2. **Use the Entry Signal**: Wait for ⏰ **Ideal** or **Good** timing before placing bets. Don't bet early when uncertainty is high.
3. **Watch Ensemble Spread**: A tight 90% band (< 2°) means model confidence is high — this is where edges live. 1. **Check Consensus**: Compare Open-Meteo and Meteoblue (MB). Consensus usually implies higher probability.
4. **Watch the Peak Window**: Use `/city` frequently during predicted peak hours. 2. **Watch the Peak**: Use `/city` frequently during predicted peak windows to catch momentum.
5. **Settlement Priority**: Settlement is always based on **METAR** data, rounded to integer via Wunderground. 3. **Weighting Hierarchy**: Settlement is **METAR**; high-accuracy trend is **MB** (London); Official (NWS/MGM) is the "anchor."
6. **Geographic Risk**: Pay attention to bias warnings, especially for high-risk cities like Seoul and Chicago. 4. # **Geographic Risk**: Pay close attention to cities where "Bias will significantly amplify."
7. **Solar Radiation Clues**: If the bot reports "warm advection driven" 🌙, the temperature was pushed by warm air, not sunlight — this pattern often breaks model predictions. 5. **Check Model Consensus**: The 🎯/⚖️/⚠️ rating tells you immediately if the forecast is reliable.
8. **Wind Conflicts**: When METAR and MGM show opposite wind directions, expect temperature volatility. 6. **Use the Entry Signal**: Wait for ⏰ **Ideal** or **Good** timing before placing bets. Don't bet early when uncertainty is high.
7. **Watch Ensemble Spread**: A tight 90% band (< 2°) means model confidence is high — this is where edges live.
8. **Watch the Peak Window**: Use `/city` frequently during predicted peak hours.
9. **Settlement Priority**: Settlement is always based on **METAR** data, rounded to integer via Wunderground.
10. **Geographic Risk**: Pay attention to bias warnings, especially for high-risk cities like Seoul and Chicago.
11. **Solar Radiation Clues**: If the bot reports "warm advection driven" 🌙, the temperature was pushed by warm air, not sunlight — this pattern often breaks model predictions.
12. **Wind Conflicts**: When METAR and MGM show opposite wind directions, expect temperature volatility.
--- ---
_Last updated: 2026-02-22_ _Last updated: 2026-02-22_
> > > > > > > e575440acfd8b5f1e8c30e83dfcb972d26175729