Ask AlphaScala
Ask AlphaScala is an AI research agent embedded on the homepage and every stock ticker hub. It answers trading and investing questions by retrieving real data from AlphaScala's research stack, passing it to a large language model as grounding context, and generating a cited response. This page documents exactly how that works so you can evaluate for yourself whether to trust the output.
When you submit a question, the agent runs through these steps in order:
- Ticker extraction. The agent scans your question for stock symbols (AAPL, NVDA), crypto tokens (BTC, ETH), forex pairs (EUR/USD), and fund-manager names (Buffett, Ackman, Burry). Symbols are resolved against our database of 2,800+ tracked tickers and 40+ fund-name aliases.
- Data retrieval (parallel). For each resolved entity, the agent fetches all available data in parallel:
- Live price (TwelveData, Finnhub, or Yahoo Finance fallback)
- Fundamentals from our database (P/E, margins, ROE, growth rates)
- Alpha Score breakdown (momentum, value, quality, sentiment sub-scores)
- Recent SEC filings digest (10-K, 10-Q, 8-K summaries)
- Daily AI-generated commentary (data-grounded market context)
- Top 5 institutional holders from 13F filings (fund name, position value, action)
- Insider activity summary (90-day buys/sells/net value, cluster-buy flag)
- Last 5 insider transactions (name, role, action, shares, value)
- Live news headlines from the last 7 days (via Finnhub for stocks; ForexNews API for forex; CryptoNews API for crypto)
- Unknown-ticker fallback.If you ask about a ticker we don't track (e.g. a delisted stock or OTC ticker), the agent still tries a 3-source live-price chain (TwelveData, Finnhub, Yahoo Finance) and fetches Finnhub news. It then tells the LLM explicitly: "this ticker is not in our database; we have price and news only."
- Discovery queries.Questions like "top 3 stocks with improving momentum" or "insider cluster buys" don't reference a specific ticker. Instead, the agent queries our Alpha Score rankings or insider-activity leaderboard directly and feeds the results as context.
- Fund-name resolution.Questions like "what does Buffett own" trigger a name-alias lookup (40+ fund/manager aliases) that fetches the fund's latest 13F holdings with position values and weight percentages.
- LLM call. All retrieved data is assembled into a structured context block and sent to a purpose-built language model with a strict system prompt optimized for grounded financial analysis. The model writes a 120-300 word answer using only the provided data.
- Citation assembly. Each data source that contributed context (ticker hub, fund page, article) becomes a clickable citation link below the answer.
| Question type | Example | Data sources used |
|---|---|---|
| Ticker analysis | Is NVDA a buy? | TwelveData (price), DB (fundamentals, Alpha Score, commentary, filings), 13F (holders), Form 4 (insiders), Finnhub (news) |
| Price query | What is price of BIRD? | TwelveData → Finnhub → Yahoo Finance (3-source fallback chain). Crypto uses BTC-USD / BTC/USD format resolution. |
| Comparison | Compare AAPL vs MSFT | Same as ticker analysis, fetched for both tickers in parallel |
| Fund holdings | What does Buffett own? | SEC 13F-HR filing (parsed from EDGAR), OpenFIGI (CUSIP resolution), fund metadata from our DB |
| Ranking | Top 3 with momentum | AlphaScala ticker_alpha_scores table (ranked query on sub-score column) |
| Insider activity | Insider cluster buys | SEC Form 4 filings (parsed from EDGAR), insider_activity_summary (90-day rollup with cluster detection) |
| Unknown ticker | Price of BIRD | Yahoo Finance (broadest coverage), Finnhub news. No fundamentals or Alpha Score. |
| Concept question | What is P/E ratio? | No external data. LLM answers from general knowledge with a note to ask about a specific ticker for data-backed analysis. |
The system prompt explicitly prohibits these behaviors:
- Invent a price. If live price data is unavailable, the agent says so rather than citing stale training data. Training data is months old; stock prices move every second.
- Fabricate earnings, filings, or analyst quotes. Every specific number must come from the retrieved context data. If a data point isn't in the context, the agent doesn't cite it.
- Give specific trade recommendations. The agent will say "AAPL trades at 32x earnings with strong momentum" but will not say "buy AAPL at $220 with a stop at $210". It researches; it does not advise.
- Predict specific future prices. No target prices, no "NVDA will hit $200 by Q3". Forecasting is speculation, not research.
- Guarantee returns. No "this will make you money" language. No guarantee of accuracy. Every response ends with a reminder that this is research, not advice.
LLMs can generate plausible-sounding but false information ("hallucinate"). Ask AlphaScala uses grounded retrieval to minimize this:
- Data is fetched BEFORE the LLM runs.The model receives a structured context block containing actual prices, fundamentals, filings, and insider data. It doesn't search the internet or use its training data for factual claims.
- Context explicitly labels unavailable data.When a data source returns nothing, the context says "Current price: unavailable" rather than omitting silently. The system prompt instructs the model to acknowledge the gap rather than fill it.
- Each data source is labeled in the context.The LLM sees "Source: TwelveData (crypto) live quote" or "Source: SEC 13F-HR filing" for every data point. This anchors the model to our data rather than its own parametric memory.
- Banned-phrases enforcement. The system prompt bans AI-tell phrases (filler language that often accompanies fabricated content) and requires specific numbers over vague comparatives.
- Citations in every response. Sources that contributed data appear as clickable links below the answer. Users can verify by clicking through to the ticker hub, fund page, or article.
Honest caveat: Grounded retrieval significantly reduces but does not eliminate hallucination risk. LLMs can still misinterpret context, make incorrect inferences, or generate analytically questionable takes. Always cross-check specific claims before making investment decisions.
- 13F data has a 45-day filing lag. Hedge fund positions shown are from the end of the most recent quarter. A fund may have already exited a position we show them as holding. The agent notes this lag when citing 13F data.
- Form 4 insider data has a 2-business-day lag. SEC rules require filing within 2 business days of a transaction. Transactions may have already been reversed or expanded by the time they appear.
- Price data may be delayed.Major tickers (AAPL, NVDA, BTC) are cached and refreshed every 15 minutes. On-demand prices for other tickers are live but subject to the API provider's own lag (typically seconds to minutes).
- Fundamentals update weekly. P/E, margins, ROE, and other metrics from TwelveData and Finnhub are refreshed by a weekly cron. Intra-week changes (e.g. a mid-quarter earnings warning) may not be reflected yet.
- Sentiment is derived from news article counts. The sentiment sub-score in Alpha Score counts positive vs. negative MarketAux articles with recency weighting. It is not a real-time social-media or options-flow sentiment measure.
- Crypto and forex coverage is thinner. Ticker hubs with deep fundamentals exist only for US-listed equities. For crypto and forex, the agent provides live prices and news but limited fundamental analysis.
- Model selection may change. We continuously evaluate model performance for accuracy and response quality. The underlying model may be upgraded or swapped without notice as better options become available.
| Data type | Source | Refresh frequency | Typical lag |
|---|---|---|---|
| Live prices (cached) | TwelveData | Every 15 min | 0-15 min |
| Live prices (on-demand) | TwelveData / Finnhub / Yahoo | Per query | Seconds |
| Fundamentals | TwelveData + Finnhub | Weekly | 0-7 days |
| Alpha Score | Computed from fundamentals + prices + sentiment | Daily | 0-24 hours |
| News headlines | Finnhub | Per query (7-day window) | Seconds |
| 13F holdings | SEC EDGAR | Weekly check | 45-day filing deadline |
| Insider transactions | SEC EDGAR Form 4 | Every 6 hours | 2 business days |
| News sentiment | MarketAux (stocks), ForexNews API (forex), CryptoNews API (crypto) | Continuous via news cron | 15 min - 24h |
| SEC filings digest | EDGAR 10-K/Q/8-K | Every 4 hours | Same-day filing |
Related: Alpha Score methodology · Editorial Policy · Corrections · Risk Disclaimer
The research agent is maintained by the AlphaScala engineering team. For questions or to report an issue with agent output, contact info@alphascala.com.