{"uid":"cap_byp5z6TXvG3KK0U1YYtOn","slug":"portfolio-stats-annualized-volatility-82fba33e","name":"Portfolio Stats – Annualized Volatility","description":"Annualized volatility (sample standard deviation of returns) from a price or return series you supply. Not advice.","url":"https://portfolio-stats.x402tookit.com/volatility?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":[],"properties":{"unit":{"type":"string","description":"decimal (default, 0.01 = 1%) or percent (1 = 1%); applies to returns only"},"prices":{"type":"string","description":"Price series, oldest first, JSON like [100,101,99.5] or 100,101,99.5 (up to 1000). Give prices OR returns"},"returns":{"type":"string","description":"Period returns, oldest first, decimals by default (0.01 = 1%). Give returns OR prices"},"periodsPerYear":{"type":"integer","description":"Periods per year for annualising: 252 daily (default), 52 weekly, 12 monthly"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"asOf":{"type":["null","string"]},"source":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"summary":{"type":["null","string"]},"verdict":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"inputKind":{"type":["null","string"]},"disclaimer":{"type":["null","string"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"observations":{"type":["null","number"]},"periodsPerYear":{"type":["null","number"]},"educationalOnly":{"type":["null","string"]},"periodVolatility":{"type":["null","number"]},"meanReturnPerPeriod":{"type":["null","number"]},"periodVolatilityPct":{"type":["null","number"]},"annualizedVolatility":{"type":["null","number"]},"annualizedVolatilityPct":{"type":["null","number"]},"annualizedArithmeticMeanPct":{"type":["null","number"]},"annualizedGeometricReturnPct":{"type":["null","number"]}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ywZasyvj-Zf9VZLPoki6u","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Computes annualized volatility (sample standard deviation of returns) from a supplied price or return series, with optional annualization period.","exampleAgentPrompt":"Can you calculate the annualized volatility from these daily closing prices, oldest first: 100, 101.5, 99.8, 102.3, 103.1, 101.7, 104.2? Use 252 periods per year.","exampleUseCases":[{"title":"Daily stock volatility estimate","prompt":"I have a series of daily closing prices for a stock — 150, 152, 149, 153, 155, 151, 154, 157, 156, 158. Can you compute the annualized volatility using 252 trading days per year?"},{"title":"Monthly fund return risk assessment","prompt":"Here are monthly returns for a fund in decimal form, oldest first: 0.02, -0.01, 0.03, 0.015, -0.005, 0.025, 0.01, -0.02, 0.03, 0.005, 0.02, -0.01. What's the annualized volatility using 12 periods per year?"},{"title":"Weekly ETF risk comparison","prompt":"I want to compare volatility of two ETFs — for the first one, here are weekly prices oldest to newest: 200, 203, 198, 205, 207, 202, 210. Calculate annualized volatility using 52 weeks per year."}],"resultDescription":"Returns annualized volatility as both a decimal and percentage, period volatility, mean return per period, observation count, periods-per-year used, and an input kind label. Also includes a summary, disclaimer, and educational-only notice clarifying the result is not investment advice.","failureModes":["Missing both prices and returns parameters — endpoint requires one of the two","Too many data points supplied (limit is 1000)","Malformed price/return array (non-numeric values or invalid JSON)","Fewer than 2 data points provided (cannot compute standard deviation)","Invalid periodsPerYear value causing annualization error"],"whenToPreferThis":"Choose this endpoint when you need a fast, stateless computation of annualized historical volatility from a raw price or return series you already have in hand. It is ideal for portfolio risk dashboards, agent-driven quantitative analysis, or any workflow that requires a quick volatility figure without connecting to market data APIs. Prefer it over general-purpose statistics tools because it is finance-domain-specific and handles both price-to-return conversion and annualization automatically.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-29T13:13:45.278Z","isFirstParty":false,"canonicalSlug":"portfolio-stats-annualized-volatility-82fba33e"}