Strategy Picker
workflow.run_strategy_pickerRanks option strategies for a price forecast and a volatility view. You give the spot price, the price you expect at expiry, days to expiry and the market implied volatility; optionally your own volatility forecast (default: the market's, so the view is on price only). Every strategy is built from strikes on a grid around spot, each leg priced with Black-Scholes at the one implied volatility (no skew, no dividends), and the best-fitting version of each family is kept: long call, long put, short put (cash-secured), covered call, protective put, long straddle, long strangle, bull call spread, bear call spread, bull put spread, bear put spread, long call butterfly, short iron condor, short iron butterfly; with allowUnlimitedLoss also naked short call, short straddle and short strangle. The view is a lognormal distribution whose mean is targetPrice and whose volatility is forecastVolPct. Per 1 unit of the underlying (multiply by contract size), each strategy returns its legs, net premium, max profit and max loss (null = unlimited), breakevens, expected profit under the view, probability of profit, and return on risk (expected profit / max loss). rankBy: expectedPnl (default), returnOnRisk (favours far out-of-the-money options) or probabilityOfProfit. Not a recommendation: the result is only as good as the forecast, and premiums are not discounted. Prices are computed, nothing is fetched; for equity options with quoted premiums use workflow.run_options_position. Edge cases: spot and targetPrice 1e-9 to 1e9; daysToExpiry above zero and at most 3650; impliedVolPct and forecastVolPct above zero and at most 1000; riskFreeRatePct 0 to 100; strikeStep above zero, and a step that gives fewer than 3 or too many strikes is an error with the step to use. Not covered: skew, dividends, early exercise, bid-ask spread, commissions, margin, taxes, and strategies with different expiries.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"spot": "<spot>",
"targetPrice": "<targetPrice>",
"daysToExpiry": "<daysToExpiry>",
"impliedVolPct": "<impliedVolPct>"
},
"name": "workflow.run_strategy_picker"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Current price of the underlying, from 0.000000001 to 1000000000 | |
| rankBy | No | Ranking key. Default expectedPnl. | |
| strikeStep | No | Strike spacing. Default: a round step that gives about 16 strikes across the range, plus one past each end. The grid must hold 3 to 60 strikes. | |
| targetPrice | Yes | Price you expect at expiry (the mean of your view), from 0.000000001 to 1000000000 | |
| daysToExpiry | Yes | Days to expiry, above 0 and at most 3650 | |
| impliedVolPct | Yes | Market implied volatility in percent per year (e.g. 30), used to price every option, at most 1000 | |
| forecastVolPct | No | Your own volatility forecast in percent per year. Default: impliedVolPct (no volatility view). | |
| riskFreeRatePct | No | Annual risk-free rate in percent, 0 to 100. Default 0. | |
| allowUnlimitedLoss | No | Include naked short call, short straddle and short strangle. Default false. |