Skill: ferminrp/data912 (version 1.0.0)

--- name: data912-market-data description: > Query Data912 market data endpoints for Argentina and USA instruments. Use when the user asks for MEP/CCL quotes, live Argentine market panels (stocks, options, cedears, notes, corporate debt, bonds), USA panels (ADRs, stocks), OHLC historical series by ticker, USA option chains, or volatility/risk metrics. Also use when the user mentions "Data912", "mep", "ccl", "cedears", "option chain", "historical bars", "OHLC", "implied volatility", "historical volatility", or "volatility percentiles" and expects API-backed market snapshots. --- # Data912 Market Data Query Data912's public market API for Argentina and USA market data snapshots, historical bars, and EOD derivatives analytics. ## API Overview - **Base URL**: `https://data912.com` - **Auth**: None required (public API) - **Format**: JSON responses - **Source note**: Data912 describes this API as educational/hobby data and explicitly not real-time. - **Caching note**: Server metadata indicates roughly 2-hour Cloudflare caching. ## Endpoint Groups ### 1. Live Market Panels - `/live/mep` (USD MEP) - `/live/ccl` (USD CCL) - `/live/arg_stocks` - `/live/arg_options` - `/live/arg_cedears` - `/live/arg_notes` - `/live/arg_corp` - `/live/arg_bonds` - `/live/usa_adrs` - `/live/usa_stocks` Example: ```bash curl -s "https://data912.com/live/arg_stocks" | jq '.[0:5]' ``` ### 2. Historical OHLC - `/historical/stocks/{ticker}` - `/historical/cedears/{ticker}` - `/historical/bonds/{ticker}` Example: ```bash curl -s "https://data912.com/historical/stocks/GGAL" | jq '.[0:10]' ``` ### 3. EOD Derivatives Analytics - `/eod/volatilities/{ticker}` - `/eod/option_chain/{ticker}` Examples: ```bash curl -s "https://data912.com/eod/volatilities/AAPL" | jq '.' curl -s "https://data912.com/eod/option_chain/AAPL" | jq '.[0:10]' ``` ### Out of Scope for This Skill - Do not use `/contact` in this skill. Keep this skill focused on market data retrieval and interpretation. ## Key Fields ### Panel Fields (`/live/*`) - `symbol`: instrument ticker/symbol - `px_bid`, `q_bid`: bid price and bid size - `px_ask`, `q_ask`: ask price and ask size - `c`: last/close-like traded value - `pct_change`: percentage variation - `v`: volume - `q_op`: operations count (when provided) ### Historical Fields (`/historical/*/{ticker}`) - `date`: date string - `o`, `h`, `l`, `c`: OHLC values - `v`: volume - `dr`: daily return - `sa`: additional numeric metric provided by source ### Volatility Metrics (`/eod/volatilities/{ticker}`) - IV term structure: `iv_s_term`, `iv_m_term`, `iv_l_term` - IV percentiles: `iv_*_percentile` - HV term structure: `hv_s_term`, `hv_m_term`, `hv_l_term` - HV percentiles: `hv_*_percentile` - Relative-value ratios: `iv_hv_*_ratio`, `iv_fair_iv_ratio` - Fair value reference: `fair_iv`, `fair_iv_percentile` ### Option Chain Fields (`/eod/option_chain/{ticker}`) - Contract context: `opex`, `s_symbol`, `type`, `k` - Market data: `bid`, `ask`, `c`, `oi` - Greeks: `delta`, `gamma`, `theta`, `vega`, `rho` - Valuation/probabilities: `fair_value`, `fair_iv`, `itm_prob`, `intrinsic`, `otm` - Horizon context: `r_days`, `r_tdays`, `hv_2m`, `hv_1yr` ## Workflow 1. **Identify intent** and select endpoint group: - FX/panel snapshot -> `/live/*` - Time series/evolution -> `/historical/*/{ticker}` - Options/risk analytics -> `/eod/*/{ticker}` 2. **Validate required input**: - For historical/EOD endpoints, require a ticker symbol. - If ticker is missing, ask for it before querying. 3. **Fetch data with `curl -s`** and parse with `jq`. 4. **Handle empty arrays**: - If response is `[]`, report: "No data currently available for this endpoint/ticker." 5. **Present an actionable summary**: - Start with a short snapshot. - Then include relevant detail fields requested by the user. 6. **Keep context clear**: - Remind users this is educational/non-real-time data. - Avoid turning output into trading advice. ## Error Handling - **429 Too Many Requests**: - Most market endpoints publish `120 req/min`. - Back off and retry after a short delay; avoid burst loops. - **422 Validation Error**: - Usually invalid/missing path input such as ticker formatting. - Re-check symbol and endpoint before retrying. - **Network/timeout failures**: - Retry a small number of times (for example, 2 retries with delay). - If still failing, return a clear failure message and the endpoint attempted. ## Presenting Results When returning results to the user: - Lead with a concise snapshot (what moved, where, and magnitude). - For panel requests, compare bid/ask/last and `% change`. - For historical requests, summarize trend windows and notable jumps. - For vol/options requests, highlight percentiles and IV/HV relationships. - Explicitly mention the data is educational/non-real-time. - Do not provide financial recommendations. ## OpenAPI Spec For the full schema and endpoint definitions, see [references/openapi-spec.json](references/openapi-spec.json).

path: references/openapi-spec.json
content: {
  "openapi": "3.1.0",
  "info": {
    "title": "Free data API",
    "description": "Purely for educational purposes API. Nothing here is real-time ;);) Any resemblance to actual markets and real data is purely coincidental. I built this as a hobby, so hopefully, it doesn’t bother anyone. If it ends up causing too much trouble, I’ll take it down",
    "version": "v9.12.18"
  },
  "servers": [
    {
      "url": "https://data912.com",
      "description": " (Germany, 2h Cloudflare caching ≈40ms/req) "
    }
  ],
  "paths": {
    "/live/mep": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "💵 Usd Mep",
        "description": "## 💵 USD MEP Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open MEP panel in new window ](/live/mep) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - ticker: Stock symbol code\n  - bid: Bid price for MEP USD implicit value\n  - ask: Ask price for MEP USD implicit value\n  - close: Last closing price of MEP USD implicit value\n  - mark: Current average bid-ask price of MEP\n  - v_ars: Trading volume in ARS \n  - v_usd: Trading volume in USD \n  - q_ars: Quantity of trades in ARS\n  - q_usd: Quantity of trades in USD\n  - ars_bid: Bid price in ARS for stock\n  - ars_ask: Ask price in ARS for stock\n  - usd_bid: Bid price in D for stock\n  - usd_ask: Ask price in D for stock\n  - panel: Panel or market segment where the stock is traded",
        "operationId": "__USD_MEP_live_mep_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/ccl": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "💵 Usd Ccl",
        "description": "## 💵 USD MEP Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open MEP panel in new window ](/live/ccl) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - ticker_usa: Stock symbol code in the USA market\n  - ticker_ar: Stock symbol code in the Argentine market\n  - CCL_bid: Bid price for the CCL implicit value\n  - CCL_ask: Ask price for the CCL calculation\n  - CCL_close: Last closing price for the CCL\n  - CCL_mark: Current average bid-ask price for the CCL\n  - ars_volume: Trading volume in Argentine pesos\n  - volume_rank: Rank of the stock based on trading volume\n  - arg_panel: Market segment or panel for the stock in Argentina\n  - usa_panel: Market segment or panel for the stock in the USA",
        "operationId": "__USD_CCL_live_ccl_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/arg_stocks": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇦🇷 Arg Stocks",
        "description": "## 📈 Stocks Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open STOCKS endpoint in new window ](/live/arg_stocks) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___arg_stocks_live_arg_stocks_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/arg_options": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇦🇷 Option Chains  ",
        "description": "## 📈 Options Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open OPTIONS endpoint in new window ](/live/arg_options) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___option_chains___live_arg_options_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/arg_cedears": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇦🇷 Cedears ",
        "description": "## 📈 Cedears Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open CEDEARS endpoint in new window ](/live/arg_cedears) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___cedears__live_arg_cedears_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/arg_notes": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇦🇷 Gov Notes ",
        "description": "## 📈 Notes Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open NOTES endpoint in new window ](/live/arg_notes) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___gov_notes__live_arg_notes_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/arg_corp": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇦🇷 Corporate Debt  ",
        "description": "## 📈 Corp Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open CORP endpoint in new window ](/live/arg_corp) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___corporate_debt___live_arg_corp_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/arg_bonds": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇦🇷 Gov Bonds ",
        "description": "## 📈 Bonds Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open BONDS endpoint in new window ](/live/arg_bonds) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___gov_bonds__live_arg_bonds_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/usa_adrs": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇺🇸 Adrs",
        "description": "## 📈 Adrs Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open ADRS endpoint in new window ](/live/usa_adrs) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___ADRs_live_usa_adrs_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/live/usa_stocks": {
      "get": {
        "tags": [
          "Live prices"
        ],
        "summary": "🇺🇸 Usa Stocks",
        "description": "## 📈 Stocks Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open STOCKS endpoint in new window ](/live/usa_stocks) \n\n- Endpoint rate limit 120 req/min\n- Not real time, endpoints data refreshed every 20 seconds ⚡\n- Response data summary:\n  - symbol: Stock symbol code\n  - c: Current stock price\n  - v: Stock trading volume\n  - q_bid: bid quantity\n  - px_bid: bid price\n  - px_ask: ask price\n  - q_ask: ask quantity\n  - q_op: daily operations\n  - pct_change: daily percent change",
        "operationId": "___usa_stocks_live_usa_stocks_get",
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/historical/stocks/{ticker}": {
      "get": {
        "tags": [
          "Historical"
        ],
        "summary": "🇦🇷 Arg Stocks Ohlc",
        "description": "## 📈 Historical Endpoint\n- Direct URL   [ &nbsp; 🔗 &nbsp;  Open historical endpoint in new window](/historical/stocks/HAVA) \n\n- Endpoint rate limit 120 req/min\n- **Data Summary:**\n  - date: Date\n  - o: Open price\n  - h: Max price\n  - l: Low price\n  - c: Close price\n  - v: Notional trading volume\n  - dr: Daily return\n  - sa: Sigma annualized\n\n\nPossible tickers: ALUA BBAR BMA BYMA CEPU COME CRES CVH EDN GGAL LOMA MIRG PAMP SUPV TECO2 TGNO4 TGSU2 TRAN TXAR VALO YPFD AGRO AUSO BHIP BOLT BPAT CADO CAPX CARC CECO2 CELU CGPA2 CTIO DGCU2 DOME DYCA FERR FIPL GAMI GARO GBAN GCDI GCLA GRIM HARG HAVA HSAT INTR INVJ IRSA LEDE LONG METR MOLA MOLI MORI MTR OEST PATA POLL RICH RIGO ROSE SAMI SEMI",
        "operationId": "___arg_stocks_OHLC_historical_stocks__ticker__get",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ticker"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/historical/cedears/{ticker}": {
      "get": {
        "tags": [
          "Historical"
        ],
        "summary": "🇦🇷 Cedears Ohlc",
        "description": "## 📈 Historical Endpoint\n- Direct URL   [ &nbsp; 🔗 &nbsp;  Open historical endpoint in new window](/historical/cedears/AAPL) \n\n- Endpoint rate limit 120 req/min\n- **Data Summary:**\n  - date: Date\n  - o: Open price\n  - h: Max price\n  - l: Low price\n  - c: Close price\n  - v: Notional trading volume\n  - dr: Daily return\n  - sa: Sigma annualized\n\n\nPossible tickers: AAPL ABBV ABEV ABNB ABT ADBE ADGO ADI ADP AEM AIG AMAT AMD AMGN AMX AMZN ANF ARCO ARKK AVGO AVY AXP AZN BA BA.C BABA BB BBD BBV BCS BHP BIDU BIIB BIOX BITF BK BMY BNG BP BRFS BRKB BSBR C CAAP CAH CAR CAT CDE CL COIN COST CRM CSCO CVX CX DD DE DESP DIA DISN DOCU DOW E EA EBAY EBR EEM EFX ERIC ERJ ETSY EWZ F FCX FDX FSLR GE GFI GGB GILD GLOB GM GOLD GOOGL GPRK GRMN GS GSK HAL HD HL HMC HMY HOG HON HPQ HSY HUT HWM IBM IFF INFY ING INTC IP ITUB IWM JD JMIA JNJ JPM KEP KGC KMB KO KOFM LLY LMT LRCX LVS LYG MA MCD MDT MELI META MMM MO MOS MRK MSFT MSI MSTR MU NEM NFLX NIO NKE NOKA NTES NUE NVDA NVS PBR PFE PYPL QCOM QQQ SPY T TEN TRIP TSLA TXR V VALE WFC WMT XLE XLF XOM",
        "operationId": "___cedears_OHLC_historical_cedears__ticker__get",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ticker"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/historical/bonds/{ticker}": {
      "get": {
        "tags": [
          "Historical"
        ],
        "summary": "🇦🇷 Arg Bonds Ohlc",
        "description": "## 📈 Historical Endpoint\n- Direct URL   [ &nbsp; 🔗 &nbsp;  Open historical endpoint in new window](/historical/bonds/AL30) \n\n- Endpoint rate limit 120 req/min\n- **Data Summary:**\n  - date: Date\n  - o: Open price\n  - h: Max price\n  - l: Low price\n  - c: Close price\n  - v: Notional trading volume\n  - dr: Daily return\n  - sa: Sigma annualized\n\n\nPossible tickers: AE38 AE38D AL29 AL29D AL30 AL30C AL30D AL35 AL35D AL41 AL41D BA37D BB37D BC37D BDC28 BPY26 CO26 CO26D CUAP DICP DIP0 GD29 GD29D GD30 GD30C GD30D GD35 GD35D GD38 GD38D GD41 GD41D GD46 GD46D NDT25 PAP0 PARP PBA25 T2X5 TDE25 TO26 TVPA TVPE TVPP TVPY TX25 TX26 TX28",
        "operationId": "___arg_bonds_OHLC_historical_bonds__ticker__get",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ticker"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/eod/volatilities/{ticker}": {
      "get": {
        "tags": [
          "EOD"
        ],
        "summary": "🇺🇸 Usa Stocks Risk Analytics",
        "description": "## 📈 Volatilities Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open VOLATILITIES endpoint in new window ](/eod/volatilities/YPF) \n\n- Endpoint rate limit 120 req/min\n- Response data summary:\n  - iv_s_term: Short-term implied volatility\n  - iv_m_term: Medium-term implied volatility\n  - iv_l_term: Long-term implied volatility\n  - iv_s_term_percentile: Short-term implied volatility percentile\n  - iv_m_term_percentile: Medium-term implied volatility percentile\n  - iv_l_term_percentile: Long-term implied volatility percentile\n  - hv_s_term: Short-term historical volatility\n  - hv_m_term: Medium-term historical volatility\n  - hv_l_term: Long-term historical volatility\n  - hv_s_term_percentile: Short-term historical volatility percentile\n  - hv_m_term_percentile: Medium-term historical volatility percentile\n  - hv_l_term_percentile: Long-term historical volatility percentile\n  - iv_hv_s_ratio: Short-term implied/historical volatility ratio\n  - iv_hv_s_ratio_percentile: Percentile of short-term IV/HV ratio\n  - iv_hv_m_ratio: Medium-term implied/historical volatility ratio\n  - iv_hv_m_ratio_percentile: Percentile of medium-term IV/HV ratio\n  - iv_hv_l_ratio: Long-term implied/historical volatility ratio\n  - iv_hv_l_ratio_percentile: Percentile of long-term IV/HV ratio\n  - fair_iv: Fair implied volatility  (beta, experimental)\n  - fair_iv_percentile: Fair implied volatility percentile  (beta, experimental)\n  - iv_fair_iv_ratio: Ratio of implied volatility to fair implied volatility  (beta, experimental)\n  - iv_fair_iv_ratio_percentile: Percentile of IV/fair IV ratio  (beta, experimental)",
        "operationId": "___USA_Stocks_Risk_Analytics_eod_volatilities__ticker__get",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ticker"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/eod/option_chain/{ticker}": {
      "get": {
        "tags": [
          "EOD"
        ],
        "summary": "🇺🇸 Usa Option Chains",
        "description": "## 📈 Option_chain Endpoint\n- Direct URL   [&nbsp;&nbsp;  🔗&nbsp; Open OPTION_CHAIN endpoint in new window ](/eod/option_chain/GGAL) \n\n- Endpoint rate limit 120 req/min\n- Data refreshed once per day, END OF DAY data. Covered: 5000+ underlying stocks\n- Response data summary:\n  - opex: Expiration date\n  - s_symbol: Underlying stock symbol\n  - type: Type (call/put)\n  - k: Strike price\n  - oi: Open interest\n  - c: Close price\n  - iv: Implied volatility\n  - ask: Ask price\n  - bid: Bid price\n  - delta: Sensitivity to price changes\n  - gamma: Rate of change of delta\n  - rho: Sensitivity to interest rate changes\n  - theta: Time decay of the option\n  - vega: Sensitivity to volatility changes\n  - fair_value: Theoretical fair value (beta, experimental)\n  - itm_prob: Probability of being in-the-money\n  - otm: Out-of-the-money value\n  - intrinsic: Intrinsic value\n  - fair_iv: Fair implied volatility (beta, experimental)\n  - r_days: Remaining days until expiration\n  - r_tdays: Remaining trading days until expiration\n  - hv_2m: 2-month historical volatility\n  - hv_1yr: 1-year historical volatility",
        "operationId": "___USA_option_chains_eod_option_chain__ticker__get",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ticker"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 120 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    },
    "/contact": {
      "post": {
        "tags": [
          "Contact me"
        ],
        "summary": "Contact",
        "description": "You can hit up the Milton Casco Data Center Inc, the proud owner of the source code collecting all this data. Ask them to hook you up with repo access so you can spin it up on your own servers—or just drop by to say hi or pitch some wild ideas for new endpoints!",
        "operationId": "contact_contact_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_contact_contact_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Ok"
          },
          "429": {
            "description": "Too many requests. Rate limit for this endpoint: 1 req/min"
          },
          "422": {
            "description": "Validation error. Occurs when the server understands the request but cannot process it due to validation errors in the submitted data"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Body_contact_contact_post": {
        "properties": {
          "email": {
            "type": "string",
            "title": "Email"
          },
          "comentario": {
            "type": "string",
            "title": "Comentario"
          }
        },
        "type": "object",
        "required": [
          "email",
          "comentario"
        ],
        "title": "Body_contact_contact_post"
      },
      "HistoricalBar": {
        "properties": {
          "date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date"
          },
          "o": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "O"
          },
          "h": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "H"
          },
          "l": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "L"
          },
          "c": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "C"
          },
          "v": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "V"
          },
          "dr": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dr"
          },
          "sa": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sa"
          }
        },
        "type": "object",
        "title": "Historical Bar Model",
        "example": [
          {
            "c": 1234.5,
            "date": "2001-01-01",
            "dr": 0.032,
            "h": 1236,
            "l": 1230,
            "o": 1234,
            "sa": 0.4,
            "v": 10000
          }
        ]
      },
      "Panel": {
        "properties": {
          "symbol": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Symbol"
          },
          "q_bid": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Q Bid"
          },
          "px_bid": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Px Bid"
          },
          "px_ask": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Px Ask"
          },
          "q_ask": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Q Ask"
          },
          "v": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "V"
          },
          "q_op": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Q Op"
          },
          "c": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "C"
          },
          "pct_change": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pct Change"
          }
        },
        "type": "object",
        "title": "Panel",
        "example": [
          {
            "c": 56.4,
            "pct_change": 0,
            "px_ask": 58.9,
            "px_bid": 51.3,
            "q_ask": 23047,
            "q_bid": 4194,
            "q_op": 0,
            "symbol": "XXXXX",
            "v": 0
          },
          {
            "c": 880,
            "pct_change": 0,
            "px_ask": 882,
            "px_bid": 870,
            "q_ask": 5,
            "q_bid": 25,
            "q_op": 0,
            "symbol": "XXXXX",
            "v": 0
          }
        ]
      },
      "VolatilityMetrics": {
        "properties": {
          "iv_s_term": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv S Term"
          },
          "iv_m_term": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv M Term"
          },
          "iv_l_term": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv L Term"
          },
          "iv_s_term_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv S Term Percentile"
          },
          "iv_m_term_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv M Term Percentile"
          },
          "iv_l_term_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv L Term Percentile"
          },
          "hv_s_term": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hv S Term"
          },
          "hv_m_term": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hv M Term"
          },
          "hv_l_term": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hv L Term"
          },
          "hv_s_term_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hv S Term Percentile"
          },
          "hv_m_term_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hv M Term Percentile"
          },
          "hv_l_term_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hv L Term Percentile"
          },
          "iv_hv_s_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Hv S Ratio"
          },
          "iv_hv_s_ratio_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Hv S Ratio Percentile"
          },
          "iv_hv_m_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Hv M Ratio"
          },
          "iv_hv_m_ratio_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Hv M Ratio Percentile"
          },
          "iv_hv_l_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Hv L Ratio"
          },
          "iv_hv_l_ratio_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Hv L Ratio Percentile"
          },
          "fair_iv": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fair Iv"
          },
          "fair_iv_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fair Iv Percentile"
          },
          "iv_fair_iv_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Fair Iv Ratio"
          },
          "iv_fair_iv_ratio_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iv Fair Iv Ratio Percentile"
          }
        },
        "type": "object",
        "title": "VolatilityMetrics",
        "example": {
          "fair_iv": 0.32800732421874995,
          "fair_iv_percentile": 0.6369511694706607,
          "hv_l_term": 0.567782,
          "hv_l_term_percentile": 0.7870915364319059,
          "hv_m_term": 0.4815615,
          "hv_m_term_percentile": 0.7174751370002029,
          "hv_s_term": 0.41557800000000006,
          "hv_s_term_percentile": 0.6015831134564644,
          "iv_fair_iv_ratio": 1.385411137029798,
          "iv_fair_iv_ratio_percentile": 0.6619525547445255,
          "iv_hv_l_ratio": 0.8013991285387702,
          "iv_hv_l_ratio_percentile": 0.17404197080291972,
          "iv_hv_m_ratio": 0.9560564953801332,
          "iv_hv_m_ratio_percentile": 0.5063868613138686,
          "iv_hv_s_ratio": 1.0778722646530854,
          "iv_hv_s_ratio_percentile": 0.6106295620437956,
          "iv_l_term": 0.45502,
          "iv_l_term_percentile": 0.6729014598540146,
          "iv_m_term": 0.4604,
          "iv_m_term_percentile": 0.6895529197080292,
          "iv_s_term": 0.44794,
          "iv_s_term_percentile": 0.6619525547445255
        }
      }
    }
  }
}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)