You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs-site/docs/historical/option/history/eod.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,6 +80,8 @@ for (const auto& t : data) {
80
80
81
81
## Response
82
82
83
+
> `strike_range` filters a wildcard bulk request. If you pin `strike` to one contract, the response stays single-strike. Use `strike="0"` in ThetaDataDx SDK/MCP or `strike=*` in the v3 REST API when you want multi-strike EOD output.
<divclass="param-desc">Strike range filter. This only narrows a wildcard bulk query; it does not expand a pinned strike into neighboring strikes.</div>
98
98
</div>
99
99
</div>
100
100
101
+
> For multi-strike EOD Greeks requests, use a wildcard strike selection first (`strike="0"` in ThetaDataDx SDK/MCP, `strike=*` in the v3 REST API), then apply `strike_range`.
Copy file name to clipboardExpand all lines: docs-site/docs/options.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -131,6 +131,13 @@ for row in chain[:5]:
131
131
132
132
When you pass `"0"` for `expiration` or `strike`, the server returns data across all matching contracts. Each tick includes contract identification fields (`expiration`, `strike`, `right`) so you can distinguish which contract each tick belongs to.
133
133
134
+
`strike_range` only narrows one of these wildcard bulk queries. It does not expand a pinned strike into neighboring strikes. In other words:
135
+
136
+
-`strike="500"` + `strike_range=5` still targets the single 500 strike contract
137
+
-`strike="0"` + `strike_range=5` returns a spot-relative range of strikes around ATM
138
+
139
+
If you are comparing against the v3 REST API, the same wildcard behavior is expressed with `strike=*` / `expiration=*` instead of `"0"`.
140
+
134
141
::: warning
135
142
The `right` parameter does **not** accept `"0"` as a wildcard. Use `"C"` (call), `"P"` (put), or `"both"` (calls and puts). Only `expiration` and `strike` accept `"0"` as a wildcard.
For option tools, MCP uses `"0"` as the wildcard value for `strike` and `expiration`.
138
+
139
+
- Use a pinned strike like `"strike":"385"` when you want one contract.
140
+
- Use `"strike":"0"` when you want a bulk chain-style response with contract identification fields on each row.
141
+
-`strike_range` filters a wildcard bulk selection around spot / ATM. It does **not** fan out a pinned strike into neighboring strikes.
142
+
143
+
This matches the current Java terminal behavior. The v3 REST surface uses `*` for the same wildcard concept; the MCP server uses `"0"` because it follows the underlying SDK contract.
0 commit comments