用途:为 VectorBT 策略自动生成参数优化脚本,批量测试参数组合并比较表现。\n\n调用方式:参数依次为 策略 symbol 交易所 interval。例如 /optimize ema-crossover RELIANCE NSE D 或 /optimize rsi SBIN。默认策略 ema-crossover、symbol SBIN、交易所 NSE、interval D;无参数时询问用户要优化哪个策略。\n\n主要能力:在 backtesting/{strategy_name}/ 下生成 {symbol}_{strategy}_optimize.py;通过 find_dotenv() 读取 .env 并用 OpenAlgo client.history() 取数,也可用 duckdb.connect(path, read_only=True) 直接读 DuckDB;默认用 OpenAlgo ta 计算指标(仅用户明确要求时才用 TA-Lib,Supertrend、Donchian 等专用指标始终用 OpenAlgo ta),用 ta.exrem() 清洗信号并在前先 .fillna(False);按策略设定参数区间,用循环优化收集每组的 total_return、sharpe_ratio、max_drawdown、trade_count,配合 tqdm 进度条;按总收益和夏普比率分别列出前 10 名;生成总收益与夏普比率的 Plotly 热力图(template="plotly_dark");拉取 NIFTY 基准对比最优参数;输出策略与基准对比表,用通俗语言解释结果,并保存 CSV。印度交割费用为 fees=0.00111、fixed_fees=20;期货合约按手数设置 min_size/size_granularity(NIFTY 65、BANKNIFTY 30)。代码与日志中不使用图标或 emoji。\n\n适用场景:对 ema-crossover、rsi、donchian、supertrend 等策略做参数寻优与可视化比较。\n\n限制:依赖 OpenAlgo 客户端与数据源;具体安装命令、收费与更完整配置暂未提供。
optimize
数据与分析
更新于 10-16 00:06