Files
calctext/_bmad-output/implementation-artifacts/12-4-built-in-plugin-stock-prices.md
2026-03-16 19:54:53 -04:00

47 lines
1.6 KiB
Markdown

---
epic: 12
story: 12.4
title: "Built-in Plugin: Stock Prices"
status: draft
---
## Epic 12 — Plugin & Extension System
**Goal:** Let power users extend CalcPad.
### Story 12.4: Built-in Plugin: Stock Prices
As a finance-focused user,
I want to look up stock prices directly in CalcPad expressions,
So that I can incorporate real-time market data into my calculations.
**Acceptance Criteria:**
**Given** a user types `AAPL price` in a sheet
**When** the expression is evaluated
**Then** the current price of AAPL is fetched and displayed in the answer column
**And** the result includes the currency unit (e.g., `192.53 USD`)
**Given** a user types `AAPL price on 2024-06-15` in a sheet
**When** the expression is evaluated
**Then** the historical closing price for that date is fetched and displayed
**And** if the date falls on a non-trading day, the most recent prior trading day's close is used
**Given** a user is on the Free plan
**When** they query a stock price
**Then** the price is delayed by 15 minutes
**And** an indicator shows the data is delayed (e.g., `192.53 USD (15min delay)`)
**Given** a user is on the Pro plan
**When** they query a stock price
**Then** the price is real-time (or near real-time)
**And** no delay indicator is shown
**Given** a user types an invalid ticker symbol
**When** the expression is evaluated
**Then** an error message indicates the ticker was not found
**And** no partial or incorrect data is displayed
**Given** stock prices from major exchanges (NYSE, NASDAQ, LSE, TSE, etc.) are supported
**When** a user queries a valid ticker from any supported exchange
**Then** the correct price is returned with the appropriate currency