Inspiration

When markets panic, assets that normally ignore each other fall together, and diversification quietly stops working. Most Indian investors never see this happen. Company claims are also hard to check: "strong growth" sits in a press release, while the numbers sit in a filing. We built FinFriend to put both checks in plain view.

What it does

FinFriend has three tools and one agent.

  1. Contagion detector (institutions). It finds when weakly related Indian assets start moving together. It adjusts correlations for volatility (Forbes–Rigobon). It tracks the absorption ratio

$$AR = \frac{\sum_{i=1}^{k}\lambda_i}{\sum_{i=1}^{N}\lambda_i}$$

where $\lambda_i$ are the eigenvalues of the return covariance matrix. A block bootstrap tests significance. A recorded seed makes every result repeatable.

  1. Filing checker. It matches management claims to Ind AS XBRL numbers for the same fiscal period and applies rules R0 to R7. A deterministic verifier blocks any flag whose quote or number is not literally in the source.

  2. Trade-log review. It computes XIRR, the rate $r$ that solves

$$\sum_i \frac{CF_i}{(1+r)^{(d_i-d_0)/365}} = 0,$$

then replays the same cash flows into the Nifty 50 and reviews process separately from outcome.

  1. Agent. A user asks in plain language. Tools run the maths. A Nemotron model explains the results.

How we built it

Python, FastAPI, Supabase (auth and row-level security) and Next.js. Plans control access: retail gets 403 on Feature 1, free institutional gets 402, and daily quotas give 429. Nemotron models on Nebius Token Factory write text from computed evidence only. Our rules: no mocks, loud failures, no hard-coded thresholds, and every result records its parameters.

Challenges

  • Data access. NSE blocked scripted downloads. Prices come from an unofficial, delayed source. Quarterly XBRL holds revenue and profit only, so cash-flow rules run on annual filings.
  • Risk-free rate. We entered the RBI 91-day T-bill cut-off (5.7281%) by hand and label it provisional.
  • The agent. Early versions answered from memory. We added scope rules, a tool-only data path and number checks.

What we learned

A model should explain results, not produce them. Honest "not applicable" and "no data" answers beat plausible guesses.

What's next

More companies and quarters, image input, and a professional review of every provisional parameter.

Educational use only. FinFriend never says buy, sell or hold.

What's next for FinFriend

Built With

Share this project:

Updates

Submission history