TimesFM Forecasting
google-research/timesfm
Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.
Model, forecast, and interpret volatility using time-series models and options-implied measures.
$ npx skills add JoelLewis/finance_skills --skill volatility-modeling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JoelLewis/finance_skills volatility-modeling --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/wealth-management/skills/volatility-modeling .claude/skills/volatility-modeling && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "volatility-modeling" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modeling into .claude/skills/volatility-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "volatility-modeling", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modelingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JoelLewis/finance_skills --skill volatility-modeling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JoelLewis/finance_skills volatility-modeling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/wealth-management/skills/volatility-modeling .agents/skills/volatility-modeling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "volatility-modeling" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modeling into .agents/skills/volatility-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "volatility-modeling", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JoelLewis/finance_skills --skill volatility-modeling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JoelLewis/finance_skills volatility-modeling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/wealth-management/skills/volatility-modeling .cursor/skills/volatility-modeling && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "volatility-modeling" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modeling into .cursor/skills/volatility-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "volatility-modeling", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JoelLewis/finance_skills.git --path plugins/wealth-management/skills/volatility-modeling--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JoelLewis/finance_skills --skill volatility-modeling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JoelLewis/finance_skills volatility-modeling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/wealth-management/skills/volatility-modeling .gemini/skills/volatility-modeling && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "volatility-modeling" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modeling into .gemini/skills/volatility-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "volatility-modeling", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JoelLewis/finance_skills volatility-modelingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JoelLewis/finance_skills --skill volatility-modeling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/wealth-management/skills/volatility-modeling .github/skills/volatility-modeling && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "volatility-modeling" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modeling into .github/skills/volatility-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "volatility-modeling", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JoelLewis/finance_skills --skill volatility-modeling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JoelLewis/finance_skills volatility-modeling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/wealth-management/skills/volatility-modeling .opencode/skills/volatility-modeling && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "volatility-modeling" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/volatility-modeling into .opencode/skills/volatility-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "volatility-modeling", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
volatility-modelingModel, forecast, and interpret volatility using time-series models and options-implied measures.
Volatility Modeling is an agent skill from JoelLewis/finance_skills. Model, forecast, and interpret volatility using time-series models and options-implied measures. Use when the user asks about EWMA, GARCH models, implied volatility, volatility surfaces, volatility term structure, or the VIX. Also trigger when users mention 'volatility smile', 'volatility skew', 'realized vs implied vol', 'volatility risk premium', 'vol clustering', 'mean-reverting volatility', 'options pricing inputs', 'RiskMetrics', 'decay factor', or ask how to forecast future volatility for risk management.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/volatility_modeling.py`).
It sits in Data & Analytics, covering Forecasting and time series and Drug discovery and cheminformatics. The repository describes itself as: Claude Code skill plugins for financial services — 81 skills across 7 domain plugins covering investment management, compliance, advisory practice, trading, and operations. The licence is MIT.
Read from SKILL.md and the folder at commit 5c498ea. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvpython3pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv and pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Volatility Modeling loads about 3.3k tokens when it runs. Until then it costs about 134 tokens; SKILL.md has 1,502 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from JoelLewis/finance_skills at commit 5c498ea, republished under its MIT licence (© JoelLewis). 1,502 words, ~3,275 tokens.
.claude/skills/volatility-modeling/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A simple volatility model that gives more weight to recent observations. RiskMetrics popularized this approach with a standard decay factor.
sigma^2_t = lambda * sigma^2_{t-1} + (1 - lambda) * r^2_{t-1}where:
Properties:
The Generalized Autoregressive Conditional Heteroskedasticity model adds a constant term that induces mean reversion in volatility.
sigma^2_t = omega + alpha * r^2_{t-1} + beta * sigma^2_{t-1}where:
Stationarity condition: alpha + beta < 1. This ensures the process is covariance-stationary and mean-reverting.
Long-run (unconditional) variance:
V_L = omega / (1 - alpha - beta)Long-run annualized volatility: sigma_L = sqrt(V_L * 252).
Persistence: The quantity alpha + beta measures how quickly volatility reverts to its long-run level. Higher persistence means slower mean reversion.
Half-life of volatility shocks: The number of periods for a volatility shock to decay by half:
h = -ln(2) / ln(alpha + beta)Since alpha + beta < 1, ln(alpha + beta) < 0, and h is positive.
Multi-step forecasts: The h-step-ahead GARCH(1,1) forecast:
E[sigma^2_{t+h}] = V_L + (alpha + beta)^h * (sigma^2_t - V_L)The forecast converges to V_L as h approaches infinity.
The volatility value that, when plugged into an option pricing model (typically Black-Scholes), produces a theoretical price equal to the observed market price.
For a European call under Black-Scholes:
C = S * N(d1) - K * exp(-rT) * N(d2)
d1 = [ln(S/K) + (r + sigma^2/2) * T] / (sigma * sqrt(T))
d2 = d1 - sigma * sqrt(T)Implied volatility is the sigma that solves C_model(sigma) = C_market. There is no closed-form solution; it must be found numerically (e.g., Newton-Raphson, bisection).
In practice, implied volatility varies by strike price, contradicting the constant-volatility assumption of Black-Scholes.
Implied volatility varies across option expiration dates.
The two-dimensional surface of implied volatility across both strike (or delta/moneyness) and maturity. The volatility surface is the most complete representation of the options market's view of future uncertainty.
Practitioners interpolate the surface to price options at arbitrary strike/maturity combinations. Surface dynamics (how the surface shifts, tilts, and bends) are critical for options portfolio risk management.
Implied volatility systematically exceeds subsequent realized volatility on average. This gap is the volatility risk premium (VRP).
VRP = IV - RV_subsequentThe VRP exists because investors are willing to pay a premium for options (insurance), and option sellers demand compensation for bearing tail risk. The VRP is typically positive and has been a persistent source of return for volatility sellers.
Key considerations:
The CBOE Volatility Index measures the market's expectation of 30-day forward volatility, derived from S&P 500 option prices.
| Formula | Expression | Use Case |
|---|---|---|
| EWMA Variance | sigma^2_t = lambda * sigma^2_{t-1} + (1-lambda) * r^2_{t-1} | Simple volatility forecast |
| GARCH(1,1) Variance | sigma^2_t = omega + alpha * r^2_{t-1} + beta * sigma^2_{t-1} | Mean-reverting vol forecast |
| GARCH Long-Run Variance | V_L = omega / (1 - alpha - beta) | Unconditional variance level |
| GARCH Half-Life | h = -ln(2) / ln(alpha + beta) | Speed of mean reversion |
| GARCH h-Step Forecast | V_L + (alpha+beta)^h * (sigma^2_t - V_L) | Multi-period vol forecast |
| Black-Scholes Call | S * N(d1) - K * exp(-rT) * N(d2) | Option pricing (IV extraction) |
| Volatility Risk Premium | IV - RV_subsequent | Premium earned by vol sellers |
| EWMA Effective Window | approximately 1 / (1 - lambda) | Implicit lookback period |
Given: Yesterday's variance estimate sigma^2_{t-1} = 0.0004 (daily vol = 2%), yesterday's return r_{t-1} = -3% (i.e., r = -0.03), and lambda = 0.94.
Calculate: Today's EWMA variance estimate and daily volatility.
Solution:
sigma^2_t = 0.94 * 0.0004 + (1 - 0.94) * (-0.03)^2
= 0.94 * 0.0004 + 0.06 * 0.0009
= 0.000376 + 0.000054
= 0.000430Daily volatility:
sigma_t = sqrt(0.000430) = 0.02074 = 2.074%The large negative return (-3%) caused the volatility estimate to increase from 2.0% to 2.074%. The EWMA responded to the shock, but the high lambda (0.94) dampened the reaction.
Given: GARCH(1,1) parameters estimated from daily S&P 500 returns: omega = 0.000002, alpha = 0.08, beta = 0.91.
Calculate: Long-run daily variance, long-run annualized volatility, and half-life of volatility shocks.
Solution:
Stationarity check: alpha + beta = 0.08 + 0.91 = 0.99 < 1 (stationary, but highly persistent).
Long-run variance:
V_L = 0.000002 / (1 - 0.99) = 0.000002 / 0.01 = 0.0002Long-run daily volatility:
sigma_L = sqrt(0.0002) = 0.01414 = 1.414%Annualized:
sigma_annual = 0.01414 * sqrt(252) = 22.45%Half-life:
h = -ln(2) / ln(0.99) = -0.6931 / (-0.01005) = 68.97 ~ 69 trading daysInterpretation: After a volatility shock, it takes approximately 69 trading days (about 3 months) for the excess volatility to decay by half. This high persistence (alpha + beta = 0.99) is typical for equity index returns.
Given: A stock trades at $100. A 3-month ATM call (K = $100) trades at $6.50. The risk-free rate is 5%. Using Black-Scholes, the implied volatility is determined (via numerical solver) to be 30%.
Calculate: What does this tell us, and how does it compare to realized vol of 22%?
Solution:
The implied volatility of 30% represents the market's consensus forecast of annualized volatility over the next 3 months, as embedded in option prices.
Comparing to realized (historical) volatility of 22%:
VRP = IV - RV = 30% - 22% = 8%The positive 8-percentage-point gap is the volatility risk premium. Possible interpretations:
A systematic vol-selling strategy would sell this option, expecting to profit from the VRP if realized vol remains near 22%. However, the seller bears the risk that realized vol could exceed 30%.
uv run scripts/volatility_modeling.pyThe PEP 723 header resolves the numpy and scipy dependencies automatically. Alternatively run python3 scripts/volatility_modeling.py after pip install numpy scipy.
--verify re-runs the key computations and asserts the outputs match this skill's worked examples (prints PASS/FAIL, nonzero exit on mismatch).--help lists the available class and methods.The file is primarily meant to be imported as a module, e.g. from volatility_modeling import VolatilityModeling.
© JoelLewis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in plugins/wealth-management/skills/volatility-modeling of JoelLewis/finance_skills.
Open the folder on GitHubat commit 5c498ea
Volatility Modeling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Volatility Modeling this skillJoelLewis/finance_skills | 205 | — | ~3.3k | Automated safety check: Pass | MIT | |
| TimesFM Forecastinggoogle-research/timesfm | 34k | — | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| StatsmodelszLanqing/codex-claude-academic-skills | 4.7k | 15 repos | ~4.9k | Automated safety check: Pass | BSD-3-Clause | |
| Timesfm ForecastingzLanqing/codex-claude-academic-skills | 4.7k | 3 repos | ~7.5k | Automated safety check: Notes | Apache-2.0 | |
| Find Hypertable Candidatestimescale/pg-aiguide | 1.9k | 1 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Pensieve Searcharkohut/pensieve | 1.4k | — | ~8.2k | Automated safety check: Pass | Apache-2.0 |
google-research/timesfm
Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.
zLanqing/codex-claude-academic-skills
Statistical models library for Python. An agent skill from zLanqing/codex-claude-academic-skills.
zLanqing/codex-claude-academic-skills
Zero-shot time series forecasting with Google's TimesFM foundation model.
timescale/pg-aiguide
A skill your agent uses to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.
arkohut/pensieve
Search the user's local Pensieve screenshot archive by text, app, or time range.
ninehills/skills
Market prediction skill using Kronos. An agent skill from ninehills/skills.
JoelLewis/finance_skills
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks.
JoelLewis/finance_skills
Determine how much capital to allocate to individual positions within a portfolio.
JoelLewis/finance_skills
Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals.
JoelLewis/finance_skills
Analyze currency markets, exchange rate mechanics, and FX risk management for international portfolios.
JoelLewis/finance_skills
Provide frameworks for managing and paying off personal debt effectively.
JoelLewis/finance_skills
Build diversified portfolios using correlation analysis, efficient frontier construction, and factor-based diversification.
Categories
Model, forecast, and interpret volatility using time-series models and options-implied measures. Volatility Modeling is an agent skill from JoelLewis/finance_skills. Model, forecast, and interpret volatility using time-series models and options-implied measures.
Volatility Modeling fits situations like: the user asks about EWMA; implied volatility; volatility surfaces; volatility term structure.
Run `npx skills add JoelLewis/finance_skills --skill volatility-modeling -a claude-code`. Or copy the skill folder (plugins/wealth-management/skills/volatility-modeling in JoelLewis/finance_skills) into .claude/skills/volatility-modeling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JoelLewis/finance_skills --skill volatility-modeling -a codex`. Or copy the skill folder (plugins/wealth-management/skills/volatility-modeling in JoelLewis/finance_skills) into .agents/skills/volatility-modeling in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JoelLewis/finance_skills --skill volatility-modeling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/volatility-modeling, .gemini/skills/volatility-modeling, .github/skills/volatility-modeling and .opencode/skills/volatility-modeling in your project.
Going by SKILL.md and its folder, Volatility Modeling needs Python for the scripts in its folder and the command-line tools its instructions call (uv, python3 and pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Volatility Modeling is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Volatility Modeling: TimesFM Forecasting (google-research/timesfm, 34k stars), Statsmodels (zLanqing/codex-claude-academic-skills, 4.7k stars), Timesfm Forecasting (zLanqing/codex-claude-academic-skills, 4.7k stars) and Find Hypertable Candidates (timescale/pg-aiguide, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JoelLewis (a GitHub user) maintains it in JoelLewis/finance_skills, which has 205 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on July 18, 2026.
Source: JoelLewis/finance_skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.