optimize — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited optimize (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Create a parameter optimization script for a VectorBT strategy.
Parse $ARGUMENTS as: strategy symbol exchange interval
$0 = strategy name (e.g., ema-crossover, rsi, donchian). Default: ema-crossover$1 = symbol (e.g., SBIN, RELIANCE, NIFTY). Default: SBIN$2 = exchange (e.g., NSE, NFO). Default: NSE$3 = interval (e.g., D, 1h, 5m). Default: DIf no arguments, ask the user which strategy to optimize.
backtesting/{strategy_name}/ directory if it doesn't exist (on-demand).py file in backtesting/{strategy_name}/ named {symbol}_{strategy}_optimize.py.env from project root using find_dotenv() and fetch data via OpenAlgo client.history()duckdb.connect(path, read_only=True). See vectorbt-expert rules/duckdb-data.md.openalgo.ta is not importable (standalone DuckDB), use inline exrem() fallback.ta.exrem() to clean signals (always .fillna(False) before exrem)tqdm for progress barsfees=0.00111, fixed_fees=20 for delivery equitytemplate="plotly_dark")min_size=65, size_granularity=65min_size=30, size_granularity=30| 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 |
/optimize ema-crossover RELIANCE NSE D /optimize rsi SBIN
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.