SpringPad · Financial Freedom using AI
The FFAI Practice Book
Four days with us gave you the tools. This book gives you the reps: 26 copy-and-paste prompts, 8 drills with answer keys computed from the files already in your packs, and one capstone project that chains everything from Day 1 to Day 4 into a watchlist you built yourself.
Start here
How this book works
Each lab practises one course day. A lab opens with a recap of that day's tools, then gives you prompts to run and drills to check yourself. Tick things off as you go; the bar in the top-right remembers your progress on this device.
Three ground rules for every prompt
- No number without a source and a date. If the AI cannot source a figure, it must say "not available". Never let it estimate.
- Data first. Attach the file or paste the table before you ask. Name the columns. The AI should work from your data, not its memory.
- You decide, it drafts. Every output is a study note. Add "Analysis, not advice" to anything you keep or share.
How to read a prompt card
- 1.4 Lab number · prompt number.
- [LIKE THIS] Replace every bracketed placeholder before you send.
- You need tells you which file or link to open first; most come from your day packs.
- What good looks like is your checklist for the AI's answer. If it misses one, ask again.
- Try next is the stretch version once the basic run works.
Your free toolkit
| Tool | Use it for |
|---|---|
| Claude | File analysis (CSV, Excel), code, HTML reports, backtests |
| ChatGPT | The SpringPad GPTs from Day 3 and Day 4; general prompts |
| Perplexity | Deep research with web sources (Lab 4 sector prompt) |
| Google Colab | Running the data-download code (Day 2 workflow) |
| Screener.in | Fundamental screens and company pages (Day 1, Day 4) |
| Chartink | Technical scans (Day 2) |
| Trendlyne | Superstar-investor screen and CSV export (Day 1) |
| TradingView | Charts and the Pine Script indicators (Day 3) |
Free tiers are enough for every exercise in this book.
The 7-day plan, then the capstone
| Day | Do |
|---|---|
| 1 | Read this section · Prompts 1.1, 1.3 · Drill 1 |
| 2 | Prompts 1.4, 1.5 · Drill 2 |
| 3 | Rebuild both Chartink scans · Prompts 2.1, 2.3 · Drills 3 and 4 |
| 4 | Prompts 3.1, 3.2 · Drill 5 |
| 5 | Prompts 3.3, 3.4 · Drill 6 (3.6 if you use TradingView) |
| 6 | Prompts 4.1, 4.2, 4.6 · Drills 7 and 8 |
| 7 | Prompts 4.4, 4.7 · start the capstone |
| 8–14 | Capstone stages 1–5, one stage every day or two |
About 45–60 minutes a day. Skipping a day is fine; skipping the drills is not.
Prompt index
Lab 1 · practises FFAI Day 1
Investing with AI
Day 1 was about letting AI do the reading for you: screens that find consistent businesses, prompts that summarise what analysts think, and a 13-year backtest of following the superstar investors. This lab makes you re-run each of those with your own hands and check the numbers yourself.
Read the superstar CSV before the AI does
File: Buys by Superstar Investors_October 22, 2026.csv (Day-1 pack). Open it in Google Sheets. Answer by hand first, then run Prompt 1.4 and compare.
- How many of the 43 stocks beat the Nifty 50's quarterly change? (Alpha = Qtr Chg % − Nifty50 Quarter Chg %.)
- Which three stocks have the highest alpha, and what is odd about each of them?
- How many rows show a "Latest Financial Result" older than 30 Sep 2026?
- How many rows have no P/E at all, and how many have a negative P/E?
- How many different industries appear, and which one appears most?
Show answer key
| Top alpha | Qtr chg % | Alpha (pts) | What's odd |
|---|---|---|---|
| ESDS Software Solution | +202.21 | +208.68 | No P/E in the file (recent listing); result is Jun-2026; profit growth −56.6% QoQ |
| Credent Connect N Care | +63.47 | +69.94 | Latest result still Mar-2026; no quarterly growth figures |
| BaiKakaji Polymers | +63.23 | +69.70 | Mar-2026 result; no NSE code (BSE-only) |
- Only 3 rows carry Sep-2026 results (Leela Palaces, SG Finserve, Heritage Foods); 31 show Jun-2026; 9 still show Mar-2026. Two rows have no quarter change at all.
- Negative P/E: RPSG Ventures and AeonX Digital. 11 rows have no NSE code (BSE or SME listings) and 14 have a market cap under ₹1,000 crore.
- Most common industry: Auto Parts & Equipment (4), then Realty and IT Consulting (3 each). Only 11 of 43 grew both revenue and profit quarter on quarter.
- Bottom of the alpha table: Websol Energy −32.8, Horizon Industrial Parks −20.6, Kirloskar Pneumatic −18.9.
Lesson: a screen that says "superstar bought" says nothing about freshness or quality. The flags matter as much as the ranking.
Read the 13-year backtest honestly
File: Superstar Investors Backtest_2013-2026.csv. Run Prompt 1.5 and check the AI against this key. Then answer the last question yourself.
- NAV goes from 100 to 2003.88 over the 13 periods. What is the CAGR?
- Which period was the best and which was the worst?
- How many periods were negative, and what was the deepest fall using year-end NAVs?
- In the worst period, what share of the ~200 stocks were positive? In the best?
- Name three reasons a real portfolio would not match this table.
Show answer key
| Period | Avg change % | NAV | % stocks positive | Best · worst stock |
|---|---|---|---|---|
| Mar 2013 → Mar 2014 | +27.55 | 127.55 | 73.9 | CEATLTD +372 · MINDACORP −85 |
| Mar 2014 → Mar 2015 | +77.92 | 226.94 | 86.0 | JBMA +517 · JINDALSTEL −46 |
| Mar 2015 → Mar 2016 | +1.98 | 231.43 | 47.5 | CHENNPETRO +194 · ADANIENT −88 |
| Mar 2016 → Mar 2017 | +48.05 | 342.63 | 87.0 | OLECTRA +350 · DIVISLAB −38 |
| Mar 2017 → Mar 2018 | +30.21 | 446.14 | 66.0 | HEG +1,325 · MAHABANK −60 |
| Mar 2018 → Mar 2019 | −2.57 | 434.68 | 41.7 | ADANIPOWER +100 · IDEA −77 |
| Mar 2019 → Mar 2020 | −35.18 | 281.76 | 11.0 | ABBOTINDIA +111 · SAMMAANCAP −89 |
| Mar 2020 → Mar 2021 | +127.74 | 641.67 | 98.5 | CGPOWER +1,225 · COALINDIA −7 |
| Mar 2021 → Mar 2022 | +32.93 | 852.98 | 67.5 | GRAVITA +251 · JUBLPHARMA −43 |
| Mar 2022 → Mar 2023 | +12.73 | 961.56 | 56.0 | APARINDS +286 · GRAPHITE −48 |
| Mar 2023 → Mar 2024 | +82.81 | 1757.83 | 94.5 | GVT&D +611 · IIFL −30 |
| Mar 2024 → Mar 2025 | +9.55 | 1925.70 | 54.5 | DEEPAKFERT +121 · INDUSINDBK −58 |
| Mar 2025 → Mar 2026 | +4.06 | 2003.88 | 50.5 | GVT&D +134 · BATAINDIA −50 |
- CAGR = (2003.88 ÷ 100)^(1/13) − 1 = 25.9%. The simple average of the 13 periods is 32.1% and the median 27.6%; the gap between average and CAGR is volatility drag, and it is why "average return" overstates what compounding delivers.
- The drawdown runs from NAV 446.14 (Mar 2018) to 281.76 (Mar 2020). Measured on daily data it would be deeper; year-end NAVs hide the inside-year swings.
- Reasons it would not match: equal weighting of ~200 names needs constant rebalancing (costs and taxes); the list of "superstar" holdings is known only after disclosures (timing lag); names that were dropped or delisted may be missing (survivorship); nobody holds 200 stocks in equal weights.
Historical backtest from the Day-1 pack, used only as a reading exercise. It does not describe any future outcome.
Lab 2 · practises FFAI Day 2
Scanners and data
Day 2 built two Chartink scans with three layers each (price, volume, momentum), showed the Richie Rich breakout and options-buying scans, and taught the Claude → Colab route for downloading price history. This lab makes you rebuild the scans from the logic alone and own your data pipeline.
Rebuild both scans without the screenshots
Log in to Chartink → Screeners → Create Scan. Use only the condition lists above.
- Build the bullish scan exactly as listed. Run it. Write down the date, time and the number of results.
- Change 125 to 250 in the price and volume layers. Run again. Count. Which version is stricter, and why?
- Build the bearish scan both ways (volume with and without the × 2). Count each.
- Save your preferred bullish version as "FFA Bullish — mine" and add a one-line description that a stranger could understand.
- Run Prompt 2.2 on today's results and keep the watchlist table in a sheet called Scan log.
Show what good looks like
- Your counts will differ by day; what matters is the direction. 250-day lookbacks give fewer results than 125-day ones, because a 1-year high is rarer than a 6-month high.
- The bearish scan with "volume < average × 2" is looser than "volume < average" (a bigger ceiling lets more stocks through). If you got the opposite, check which side of the inequality the multiplier is on.
- A good description names the segment, the lookback and the one thing the scan is for, e.g. "Nifty 500 six-month breakouts on double volume, RSI under 70 — watchlist only".
Own your data pipeline
Prompt 2.3 → Google Colab → CSV → Prompt 2.4. You will use these files again in Lab 3 and the capstone.
- Download 8 years of daily data for
^NSEI(Nifty 50) and 5 years for two stocks of your choice (ticker +.NS). - Run the Data Health Check (Prompt 2.4) on each file. Note the verdict and any flagged rows.
- Open one file in Google Sheets and confirm the first and last dates match what the code printed.
- Rename the files clearly (symbol, start, end) and keep them in one folder called FFAI data.
Show what good looks like
- Around 245–250 rows per year for NSE. Fewer means missing days; more means duplicates.
- If Colab says No module named yfinance, add a first cell with
!pip install yfinanceand run it before the code. - If the Nifty file is empty, the symbol is wrong: the index is
^NSEI, notNIFTY. - A split-adjusted file has no single-day 40%+ jumps with matching volume spikes. If you see one, say so in your notes and treat the data before that date with care.
Lab 3 · practises FFAI Day 3
Technical analysis and backtesting
Day 3 gave you a seven-step analysis prompt, a 21/50 EMA crossover backtest, two Pine Script tools (seasonality table and MA crossover strategy), two SpringPad GPTs and two Nifty event dashboards. This lab turns each one into something you can run on any file from Lab 2, and teaches you to distrust a good-looking backtest.
The parameter tournament
Use your 8-year Nifty file from Drill 4 (or the pack's CSV). Prompt 3.2 first with the course defaults, then Prompt 3.3.
- Run the 21/50 backtest with the course defaults. Record trades, win rate, total return, max drawdown.
- Run the tournament: 9/21, 21/50, 50/200 and one pair of your own.
- Copy the comparison table into your sheet. Add a column: return ÷ max drawdown.
- Re-run the winning pair on only the first 5 years, then on only the last 3 years. Does it still win?
Show what good looks like
- Every pair has the same entry rule (next day's open) and the same cost; otherwise the table compares apples with mangoes.
- Shorter pairs (9/21) trade far more often and lose more to costs and whipsaws; longer pairs (50/200) trade a handful of times and sit through big drawdowns. Neither is "right".
- The honest result of step 4 is usually that the winner changes. Write that sentence down; it is the most valuable line in this lab.
- If the AI reports a return without a trade list, ask for the list. No list, no result.
Seasonality, with the sample size attached
Prompt 3.4 on the Nifty file, then the Pine Script seasonality table on TradingView if you have it. Compare.
- Which three months have the highest win rate over your 8 years? Write them as "Month — x of 8".
- Which month has the highest average return but a win rate under 60%? What does that combination tell you?
- Add the TradingView table's "WR" row for the same months. Do the two tools agree? If not, why might they differ (close-to-close vs monthly bars, start year)?
- Write two sentences: one thing the table can teach, one thing it cannot.
Show what good looks like
- Every month shows "n = 8" or similar. A 7-of-8 month sounds strong until you remember 8 coin flips land 7-of-8 one time in 28.
- A high average with a low win rate means one or two huge months are carrying the average; the median tells the truer story.
- Differences between tools usually come from the start year, whether the current month is included, and summing vs compounding monthly changes (the Pine script sums).
Lab 4 · practises FFAI Day 4
Deep research and stock selection
Day 4 moved from screens to judgement: the small-cap screen and its opportunity finder, the growth-sector deep-research prompt, the comprehensive stock analysis and company-comparison prompts, the Equity Screener GPT and the IPO breakout study. This lab practises the part most learners skip: eliminating names, scoring with a written rubric, and writing a memo you could defend.
Read the IPO breakout workbook
File: ipo_target_optimisation.xlsx (Day-4 pack). Answer from the "Trade Log @13%" and "₹1L Journey @13%" sheets first; then run Prompt 4.6 and compare.
- How many IPOs are in the universe, how many never crossed their listing-day high, and how many trades actually closed?
- Win rate, average win, average loss and expectancy per trade at the 13% target.
- In the ₹1L journey: trades taken, final capital, peak, maximum drawdown, longest losing streak.
- Restate the entry, stop and target rules in your own words, in three lines.
- Which cell in the journey sheet shows an error, and what should it contain?
Show answer key
| ₹1L journey (one position at a time) | Value |
|---|---|
| Trades in sequence | 31 (18 targets, 12 stops, 1 open) |
| First entry → last exit | 14 Nov 2024 → 23 Oct 2026 |
| Start → final capital (open trade marked at last close) | ₹1,00,000 → ₹3,11,247 |
| Peak capital | ₹3,15,471 |
| Maximum drawdown | −25.9% |
| Longest losing streak | 3 trades |
- Rules in three lines: buy when price first trades above the listing-day high (at the open if it gaps above); stop at the lowest low from listing to the breakout day; exit at entry × 1.13 or at the stop, whichever hits first, and if both hit on the same day the stop is assumed first.
- Expectancy = 0.619 × 13.21% + 0.381 × (−11.37%) ≈ +3.9% per trade before costs. A 62% win rate with a payoff near 1 is a thin edge; costs, slippage on gaps and partial allotments eat into it.
- The "Total return" cell under the journey table shows
#REF!; it should read (final ÷ 1,00,000) − 1. Broken formulas in a sheet are a reminder to recompute anything you rely on.
Historical simulation from the Day-4 pack, used only as a reading exercise. It is one realised path with no costs; it says nothing about future IPOs.
Eliminate before you admire
Export today's small-cap screen results. Pick the top three by market cap.
- For each of the three, open the Screener.in company page and copy the quarterly results, P&L, balance sheet, cash flow and shareholding tables into Prompt 4.1.
- Record the eight PASS / FAIL / CANNOT TELL answers per company in a sheet.
- Run Prompt 4.2 on the full export. Does the rubric's top 2 survive the red-flag check?
- Write one line per company: "I would / would not study this further because …".
Show what good looks like
- At least one "CANNOT TELL" per company. Pledging and auditor notes are often not on the summary page; "cannot tell" is the correct answer until you open the filing.
- A name that scores high on the rubric but fails cash generation (OCF far below PAT for 3 years) goes to the "set aside" list, not the top 2. Scores never override a red flag.
- Your one-liners name a number, not a feeling: "ROCE 31% but receivable days rose from 48 to 91" beats "looks strong".
Capstone project · all four days in one
The Samvat 2083 Watchlist
Diwali 2026 opens a new Samvat. Build a watchlist you can explain, from screen to memo, using only the tools from the course and the prompts in this book. Five stages; plan a week. The output is a folder, not a trade.
Screen · Day 1 and Day 4 tools
Run the Alpha+ screen and the Small Cap screen on Screener.in. Export both. Run Prompt 1.2 on each and take the top 5 from each list: 10 candidates. Record the screen name, date and result count for each.
Eliminate · Lab 4
Run Prompt 4.1 (Red-Flag Hunter) on all 10. Any FAIL on pledging, dilution, cash flow or audit removes the name. Keep the PASS/FAIL table. Aim to be left with 5.
Context · Lab 2
Run your saved bullish scan and note which of the 5, if any, appear. Download 5 years of daily data for each survivor (Prompt 2.3) and run the health check (Prompt 2.4). Five clean CSVs.
Test · Lab 3
For each CSV: the seven-step analysis (Prompt 3.1) and a 21/50 crossover backtest (Prompt 3.2). You are not looking for a winner; you are learning how each stock moves and how often a simple rule would have been whipsawed.
Decide · Lab 4
Compare the 5 with Prompt 4.4. Write a one-page memo (Prompt 4.7) for your top 2. Fill the tracker below for all 5, including the three you set aside and why.
The tracker (copy into Google Sheets)
| Column | What goes in it |
|---|---|
| Stock | Name and NSE code |
| Found by | Which screen, on which date |
| Thesis (1 line) | The reason it is on the list, with one number |
| Red-flag check | Date, result (CLEAN / WATCH), the two flags that matter |
| What would make me wrong | A measurable trigger (e.g. OCF/PAT below 0.7 next FY) |
| Backtest note | Trades, win rate, max drawdown from Prompt 3.2 |
| Review date | Next results date or 90 days, whichever is sooner |
| Status | Studying / Set aside / Reviewed |
Self-assessment (score yourself 0–2 on each)
- Every number in my memos has a source and a date.
- I can explain each screen condition in plain words.
- I eliminated at least one name that looked attractive.
- My "what would make me wrong" lines are measurable.
- My backtest notes include the trade count and the drawdown, not just the return.
- Nothing in my folder reads like a recommendation.
10 or more out of 12: you have the habit. Share the folder (not the stock names) in the community if you want feedback on the process.
Prompt craft
Eight habits that fix most finance prompts
Every prompt in this book follows these. Once they are yours, you will not need the book.
1 · Give it a role and a reader
"You are a research assistant; the reader is a beginner practising" changes the vocabulary, the caution and the length of the answer.
2 · Data before question
Attach the file, name the columns, state the date range. An AI with your file answers from your file; one without it answers from memory.
3 · Source and date every number
Add "label every figure with its source and date; write 'not available' instead of estimating". This one line removes most hallucinated numbers.
4 · Say which fiscal year
Indian FY runs April to March: FY26 is April 2025 to March 2026. Say it in the prompt, or the AI will mix calendar and fiscal years.
5 · Ask for the format
Table, Excel, single HTML file, one page. A format request is also a length request.
6 · Ask for the other side
"Three strongest arguments against" or "what would prove this wrong" belongs in every analysis prompt. An AI will cheerfully confirm a thesis unless asked not to.
7 · One prompt, one job
Fetch, then check, then analyse, then compare. Chaining four small prompts beats one giant one, and you can see where it went wrong.
8 · Keep a prompt log
Date, prompt number, file used, what you changed, what surprised you. In a month the log is worth more than the outputs.
Glossary
Terms used in this book
| Term | Meaning here |
|---|---|
| Alpha (in Drill 1) | A stock's return minus the index return over the same period, in percentage points. |
| CAGR | Compound annual growth rate: (end ÷ start)^(1 ÷ years) − 1. Always lower than the simple average of yearly returns when returns vary. |
| Drawdown | The fall from a previous peak to the lowest point after it, as a percentage. "Max drawdown" is the deepest such fall in the period. |
| D/E (debt to equity) | Total borrowings divided by shareholders' equity. The small-cap screen wants it under 0.5. |
| EMA · SMA | Exponential and simple moving averages of the closing price. A crossover is the day the faster one moves above or below the slower one. |
| Expectancy | Average result per trade: win rate × average win + loss rate × average loss. Positive means the rule made money on average in that sample. |
| FII · DII | Foreign and domestic institutional investors, as reported in the quarterly shareholding pattern. |
| Lookahead bias | Using information in a backtest that was not available at the time, such as a stock list known only after disclosures. |
| OCF vs PAT | Operating cash flow compared with net profit. Profit that does not turn into cash for years is a red flag. |
| Payoff ratio | Average win divided by average loss. With a payoff near 1, you need a win rate well above 50% to have an edge after costs. |
| PEG | P/E divided by earnings growth rate. Under 1 is usually read as cheap for its growth; the Alpha+ screen caps it at 2. |
| Piotroski score | A 0–9 count of accounting health signals (profitability, leverage, efficiency). The small-cap screen wants more than 6. |
| Promoter pledge | Promoter shares pledged as loan collateral. Above 15% of the promoter holding is a red flag in the course checklist. |
| ROCE · ROE | Return on capital employed; return on equity. Both measure how much profit the business earns on the money invested in it. |
| RSI (14) | Relative strength index over 14 days, 0–100. The course scans use under 70 (not overbought) and over 30 (not oversold). |
| Seasonality | Whether particular months tend to be positive or negative. Only meaningful with a stated sample size. |
| Survivorship bias | A backtest that only includes companies that still exist today looks better than reality, because the failures are missing. |
| Win rate | Winning trades divided by all closed trades. On its own it says nothing; read it with the payoff ratio. |