ForHosting KIT · Finance & money

RSI calculator

Fifteen daily closes with the standard 14-period lookback give an RSI just over 70, which lands in the overbought band. Paste your closes oldest first and get Wilder's reading with both averages behind it. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Period
14
You get
Rsi
70.4641350211
Price count
15
Change count
14
Avg gain
0.2385714286

The relative strength index (RSI) is J. Welles Wilder's bounded oscillator for a list of recent closing prices. Traders, quants, and homework checkers need one reading between 0 and 100 from those closes and a lookback period, without a broker socket or a spreadsheet. This calculator accepts ordered closing prices (oldest first) and an optional period that defaults to 14, applies Wilder's average-gain and average-loss smoothing, and returns the RSI together with relative strength, the two averages, and an overbought or oversold label at the usual 70/30 bands.

What RSI measures and how Wilder smoothing is applied

The relative strength index, published by J. Welles Wilder in 1978, measures the speed and magnitude of recent closing-price moves and maps them onto a 0 to 100 scale. Unlike a raw momentum difference, RSI divides a smoothed average gain by a smoothed average loss (the relative strength, RS) and compresses that ratio with the identity RSI equals 100 minus 100 divided by one plus RS.

A reading at or above 70 is the conventional overbought warning; a reading at or below 30 is the conventional oversold warning; values in between are treated as a neutral band. When average loss is exactly zero, RSI is 100, which is a streak of non-negative changes. When average gain is zero and average loss is positive, RSI is 0.

Prices are interpreted as a chronological series, oldest first, so the last element is the latest close and the returned RSI is the value at the end of the series. The calculator does not fetch market data, does not apply divergences or failure swings, and does not emit a full historical oscillator series — it returns one RSI for the list you send, which is the contract you can pin in tests and notebooks.

Where an RSI calculator earns its keep

Discretionary traders paste a short run of daily or hourly closes to see whether the last print sits in the overbought or oversold band before they size a mean-reversion or breakout idea. Teaching sites and exam-prep generators need a deterministic oracle that marks the length error — fewer prices than the period — instead of silently returning a blank cell that a buggy grader might treat as success. Failed validation does not consume balance.

Keep the series short, pin the rounded rsi in tests, and you get a reproducible 0–100 oscillator for homework, LMS plugins, and edge workers without standing up a market-data stack of your own. Related work such as a stochastic oscillator or a rate-of-change momentum print answers a different search and a different formula; this page is only Wilder's relative strength index from the closes you already hold.

Tape check before a discretionary entry

Paste the last fourteen or more closes of a stock, future, or crypto pair and read the Wilder RSI plus the overbought or oversold label before you size a mean-reversion or breakout trade.

Backtest and journal identity

Call the same RSI from a worker in fill logs and paper-trade journals so every test uses one Wilder implementation instead of drifting spreadsheet columns.

Classroom and exam oracles

Mark RSI homework with a deterministic oracle that rejects fewer prices than the period and never invents a reading when the lookback is incomplete.

How is the relative strength index calculated here?

From chronological closing prices and a period (default 14). Average gain and average loss are seeded on the first lookback window of up-moves and down-moves, then Wilder-smoothed.

How many closing prices do I need?

At least as many as the period (and at least two). A 14-period RSI therefore needs 14 or more closes; the classic first Wilder seed uses 15 closes (14 changes).

What does an RSI of 70 or 30 mean?

The response sets signal to overbought when RSI is at least 70, oversold when RSI is at most 30, and neutral otherwise. Those bands are Wilder's usual textbook levels; they are labels, not trade instructions.

Does this RSI calculator download prices for a ticker?

No. You supply the closing prices you already have. The task is a pure function of that list and the period; it does not call a market-data feed.

What does an RSI of 100 or 0 mean?

An RSI of 100 means the window had no losing moves at all, so the average loss is zero. An RSI of 0 is the reverse: no gains and only losses. Both mark an unbroken streak in one direction.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/rsi

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/rsi \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prices":[44.34,44.09,44.15,43.61,44.33,44.83,45.1,45.42,45.84,46.08,45.89,46.03,45.61,46.28,46.28]}'
{
  "prices": [
    44.34,
    44.09,
    44.15,
    43.61,
    44.33,
    44.83,
    45.1,
    45.42,
    45.84,
    46.08,
    45.89,
    46.03,
    45.61,
    46.28,
    46.28
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.rsi",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_n10000
max_period365
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

If you send fewer closing prices than the period, the task fails with invalid_input and is not billed.

What RSI measures and how Wilder smoothing is applied

This endpoint uses Wilder's original smoothing: the first average gain and average loss are simple means over the first lookback window of up-moves and down-moves, and each later bar updates those averages as previous times period minus one, plus the current gain or loss, all divided by the period.

Input contract, the length rule, and the response shape

Period is optional and defaults to 14, the lookback Wilder documented; it must be an integer from 2 through 365. A fourteen-period reading therefore needs at least fourteen closes; the classic first Wilder seed uses fifteen closes because fourteen changes sit between fifteen prints. Extra bars after that seed are folded in with Wilder smoothing rather than a simple moving average of only the last period changes. Non-finite entries, an empty list, a period outside the allowed range, and more than ten thousand closes are rejected the same way. POST a JSON body with prices, a required array of finite closing prices in chronological order, oldest first. Aliases closes, close, values, series, and closing_prices are accepted and mean the same list. The product rule is strict: if you send fewer closing prices than the period, the task fails with invalid_input naming prices, and that failure is not billed. On success the body includes rsi in 0 to 100 rounded to ten decimal places for stable goldens; rs when it is finite; avg_gain and avg_loss; period; price_count and change_count; signal as overbought, oversold, or neutral against the fixed 70 and 30 levels; and a formula string restating the identity. Pair the number with your own charting if you need a ribbon of past RSI values; this endpoint solves one list at a time and does not keep quotes or draw candles.

What does the RSI calculator cost?

The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input, including fewer prices than the period, is not billed.

Read the full KIT documentation →