optimize
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCreate a parameter optimization script for a VectorBT strategy.
为VectorBT策略创建参数优化脚本。
Arguments
参数
Parse as: strategy symbol exchange interval
$ARGUMENTS- = strategy name (e.g., ema-crossover, rsi, donchian). Default: ema-crossover
$0 - = symbol (e.g., SBIN, RELIANCE, NIFTY). Default: SBIN
$1 - = exchange (e.g., NSE, NFO). Default: NSE
$2 - = interval (e.g., D, 1h, 5m). Default: D
$3
If no arguments, ask the user which strategy to optimize.
将解析为:策略 标的 交易所 时间周期
$ARGUMENTS- = 策略名称(例如:ema-crossover、rsi、donchian)。默认值:ema-crossover
$0 - = 标的(例如:SBIN、RELIANCE、NIFTY)。默认值:SBIN
$1 - = 交易所(例如:NSE、NFO)。默认值:NSE
$2 - = 时间周期(例如:D、1h、5m)。默认值:D
$3
如果未提供参数,请询问用户要优化哪个策略。
Instructions
说明
- Read the vectorbt-expert skill for reference patterns
- Create a file in
.pynamedD:\QuantFlow 3\Day17\backtesting\{symbol}_{strategy}_optimize.py - The script must:
- Load and fetch data via OpenAlgo
.envclient.history() - Define sensible parameter ranges for the chosen strategy
- Use loop-based optimization (not broadcasting) to collect multiple metrics per combo
- Track: total_return, sharpe_ratio, max_drawdown, trade_count for each combination
- Use for progress bars
tqdm - Find best parameters by total return AND by minimum drawdown
- Print top 10 results for both criteria
- Generate Plotly heatmap of total return across parameter grid
- Generate Plotly heatmap of max drawdown across parameter grid
- Save results to CSV
- Load
- Never use icons/emojis in code or logger output
- For futures symbols, use lot-size-aware sizing
- 参考vectorbt-expert技能中的模式
- 在目录下创建一个名为
D:\QuantFlow 3\Day17\backtesting\的{symbol}_{strategy}_optimize.py文件.py - 脚本必须:
- 加载文件并通过OpenAlgo的
.env获取数据client.history() - 为所选策略定义合理的参数范围
- 使用基于循环的优化(而非广播)来收集每个参数组合的多个指标
- 跟踪每个组合的:total_return(总收益)、sharpe_ratio(夏普比率)、max_drawdown(最大回撤)、trade_count(交易次数)
- 使用显示进度条
tqdm - 根据总收益和最小回撤分别找出最优参数
- 打印这两个标准下的前10个结果
- 生成参数网格上总收益的Plotly热力图
- 生成参数网格上最大回撤的Plotly热力图
- 将结果保存为CSV
- 加载
- 代码或日志输出中不得使用图标/表情符号
- 对于期货标的,使用考虑合约大小的仓位调整
Default Parameter Ranges
默认参数范围
| Strategy | Parameter 1 | Parameter 2 |
|---|---|---|
| ema-crossover | fast EMA: 5-50 | slow EMA: 10-60 |
| rsi | window: 5-30 | oversold: 20-40 |
| donchian | period: 5-50 | - |
| supertrend | period: 5-30 | multiplier: 1.0-5.0 |
| 策略 | 参数1 | 参数2 |
|---|---|---|
| ema-crossover | 快速EMA:5-50 | 慢速EMA:10-60 |
| rsi | 窗口:5-30 | 超卖:20-40 |
| donchian | 周期:5-50 | - |
| supertrend | 周期:5-30 | 乘数:1.0-5.0 |
Example Usage
示例用法
/optimize ema-crossover RELIANCE NSE D/optimize rsi SBIN/optimize ema-crossover RELIANCE NSE D/optimize rsi SBIN