forked from mnbvc188199/Warrior_EA
Spent 3 of 5 daily requests. All three were informative:
ETF data (SPY/QQQ/IWM) requires Basic - free tier is single stocks only.
Full-chain GEX (all expirations) requires Growth - free and Basic must
query one expiration per request, so even with history a full-chain
backfill would be 24-54 requests per day of history.
AAPL?expiration=2026-09-18 returned 200 with the right schema but a nearly
empty payload: 13 of 93 strikes carried any open interest, total call OI
4,296 against CBOE 373,253 for the same expiry, put OI zero, and every
near-the-money strike blank.
So the construction could not be validated - not because the math disagreed
but because there was nothing to compare against. From outside it is not
possible to tell free-tier degradation from their flow-signed methodology,
and finding out costs $1,499/month.
Verdict hardens: the free CBOE CDN is strictly better than Basic for this
project - complete chains, every expiry and strike, gamma and open interest
populated, unlimited, $0. Our own AAPL figures were internally coherent
(+0.929 Bn/1% total, Sep-18 expiry +0.154 Bn, near-money gammas 0.013-0.019).
GEX stays externally unvalidated; if that ever matters, use a different vendor.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
129 lines
6.4 KiB
Text
129 lines
6.4 KiB
Text
WARRIOR EA - API KEYS (BACKUP COPY)
|
|
===================================
|
|
|
|
Kept here so the keys are never lost with a wiped data folder. Both are FREE,
|
|
personal, and rate-limited per key.
|
|
|
|
FRED (Federal Reserve Bank of St. Louis)
|
|
----------------------------------------
|
|
key: 9640c07ff6574c1c23a17393b735fd36
|
|
host: https://api.stlouisfed.org
|
|
register: https://fredaccount.stlouisfed.org/apikeys
|
|
feeds: VIXCLS (vix, vix_chg5), DTWEXBGS (usd_chg5)
|
|
limit: 120 requests/minute (the EA uses ~2 per hour)
|
|
|
|
EIA (U.S. Energy Information Administration)
|
|
--------------------------------------------
|
|
key: oeSZu7EaZxG5Icjm6q78yUIXaH2EKGhIwVsdTj76
|
|
host: https://api.eia.gov
|
|
register: https://www.eia.gov/opendata/register.php
|
|
feeds: Weekly Petroleum Status Report - crude stocks ex-SPR (WCESTUS1),
|
|
field production (WCRFPUS2), refinery utilization (WPULEUS3)
|
|
limit: 5,000 rows/request (the EA uses 1 request/week)
|
|
|
|
CFTC (Commitments of Traders)
|
|
-----------------------------
|
|
key: NONE REQUIRED - the Socrata endpoint is open
|
|
host: https://publicreporting.cftc.gov
|
|
dataset: gpe5-46if (Traders in Financial Futures, futures only)
|
|
|
|
CBOE (option chains for the GEX recorder)
|
|
------------------------------------------
|
|
key: NONE REQUIRED - open CDN, and it does not gate on User-Agent
|
|
host: https://cdn.cboe.com
|
|
path: /api/global/delayed_quotes/options/{TICKER}.json (_SPX, GLD, USO, ...)
|
|
feeds: the daily gex_{SYMBOL}.csv recorder (not a model feature yet)
|
|
|
|
FLASHALPHA (options analytics - RESEARCH ONLY, NOT USED BY THE EA)
|
|
-------------------------------------------------------------------
|
|
key: s0AmHthSZi3nenuwvARTz3aKd7DUAnMpOee617jh
|
|
auth: HTTP HEADER, not a query parameter: X-Api-Key: <key>
|
|
hosts: https://lab.flashalpha.com (live)
|
|
https://historical.flashalpha.com (point-in-time replay, 2018-04+)
|
|
register: https://flashalpha.com
|
|
plan: FREE - 5 requests per DAY, 15-minute delayed data
|
|
|
|
!! THE FREE QUOTA IS 5 REQUESTS A DAY. DO NOT SPEND THEM CASUALLY. !!
|
|
|
|
Registered 2026-08-16. NO CALLS HAVE BEEN MADE YET - the whole quota is
|
|
reserved for one specific question (below). This key is deliberately NOT
|
|
an EA input: the EA must never depend on a paid, rate-limited vendor in
|
|
its live path. It is for research-side backfill only.
|
|
|
|
Example call shape:
|
|
curl -H "X-Api-Key: <key>" \
|
|
"https://lab.flashalpha.com/v1/exposure/gex/AAPL?expiration=2026-06-19"
|
|
|
|
PRICING CHECKED 2026-08-16 - THE BACKFILL PLAN IS DEAD:
|
|
Free $0 5 req/day 15 min delay
|
|
Basic $79/mo 250 req/day 15 sec
|
|
Growth $299/mo 2,500 req/day 15 sec
|
|
Alpha $1,499/mo unlimited ~1 sec
|
|
HISTORICAL API ACCESS IS ALPHA-TIER ONLY ($1,499/month). Basic and Growth
|
|
are LIVE data only. Since the only thing we wanted from this vendor was
|
|
the ARCHIVE, no affordable tier helps: Basic would cost $79/month to make
|
|
a once-a-day snapshot 15 seconds fresh instead of 15 minutes, which is
|
|
worth exactly nothing for a daily EOD recording. DO NOT SUBSCRIBE.
|
|
Cancellation is anytime, if that ever changes.
|
|
|
|
TESTED 2026-08-16 - 3 of 5 daily requests spent. FINDINGS (all 403s and
|
|
the one 200 were informative, so nothing was wasted):
|
|
|
|
1. GET /v1/exposure/gex/SPY
|
|
-> 403 tier_restricted: "ETF data (e.g. SPY, QQQ, IWM) requires the
|
|
Basic plan or higher." Free tier is SINGLE STOCKS ONLY.
|
|
2. GET /v1/exposure/gex/AAPL (no expiration filter)
|
|
-> 403 tier_restricted: "Full-chain GEX (all expirations) requires
|
|
the Growth plan or higher." Free AND Basic must query ONE
|
|
EXPIRATION PER REQUEST.
|
|
3. GET /v1/exposure/gex/AAPL?expiration=2026-09-18
|
|
-> 200. Schema: symbol, underlying_price, as_of, gamma_flip, net_gex,
|
|
net_gex_label, strikes[] with per-strike call_gex/put_gex/net_gex/
|
|
call_oi/put_oi/volumes/oi_change.
|
|
BUT THE PAYLOAD WAS NEARLY EMPTY: only 13 of 93 strikes carried
|
|
any open interest, total call OI 4,296 against our 373,253 from
|
|
CBOE for the same expiry, and total put OI was ZERO. Every
|
|
near-the-money strike (290-320) showed call_oi 0 where CBOE shows
|
|
9,000-35,000 contracts.
|
|
So NO VALIDATION WAS POSSIBLE - not because our math disagreed,
|
|
but because there was nothing to compare against. Cannot tell from
|
|
outside whether that is free-tier degradation or a consequence of
|
|
their flow-signed methodology (they sign strikes from classified
|
|
tape, so strikes with no classified trades may simply be absent).
|
|
|
|
CONCLUSION: the free CBOE CDN is STRICTLY BETTER than FlashAlpha Basic
|
|
for this project - complete chains, every expiry, every strike, gamma and
|
|
open interest populated, unlimited requests, $0. Basic ($79/mo) would buy
|
|
ETF access that we already have for free, still one expiry per request,
|
|
and still no history. Nothing here is worth paying for at any tier below
|
|
Alpha ($1,499/mo), and Alpha is not worth it either (see DESIGN.md).
|
|
|
|
WHERE THESE KEYS ARE USED
|
|
-------------------------
|
|
1. EA inputs (the live source of truth):
|
|
FredApiKey, EiaApiKey - Variables\Inputs.mqh, defaults = the keys above
|
|
They travel WITH the EA, so wiping Common\Files\Warrior_EA cannot break the
|
|
downloads. This is deliberate: on 2026-08-16 a folder wipe took the old
|
|
keys.txt with it and the FRED leg silently stopped, leaving models training
|
|
with zero alt-data features.
|
|
|
|
2. Fallback file (only read when an input is left BLANK):
|
|
%APPDATA%\MetaQuotes\Terminal\Common\Files\Warrior_EA\AltData\keys.txt
|
|
Format, one per line:
|
|
fred=9640c07ff6574c1c23a17393b735fd36
|
|
eia=oeSZu7EaZxG5Icjm6q78yUIXaH2EKGhIwVsdTj76
|
|
|
|
3. Research side (Python, never reads the EA inputs):
|
|
..\Market Data\altdata\keys.json (outside the repo, gitignored)
|
|
{"fred": "...", "eia": "...", "flashalpha": "..."}
|
|
Read via research/altdata/common.py api_key(name), which checks the
|
|
environment variable ALTDATA_<NAME>_KEY first.
|
|
|
|
IF YOU EVER SELL OR SHARE THIS EA
|
|
---------------------------------
|
|
Blank the FredApiKey / EiaApiKey input defaults before building the
|
|
distributable, and delete this file from the shipped copy. A shared key is
|
|
rate-limited against YOUR account and can be revoked by the provider.
|
|
|
|
To rotate a key: register a new one at the URL above, update the input default
|
|
in Variables\Inputs.mqh, this file, and Market Data\altdata\keys.json.
|