Inspiration
Investment research often means switching between chatbots, price charts, financial statements, and spreadsheets. An AI answer might suggest a strategy, but understanding its assumptions, costs, and risks still takes work.
We built Folio Studio to bring those steps together: a workspace where users can explore an investment idea through conversation and see the data and calculations behind it.
What it does
Folio Studio turns investment questions into an interactive research workspace for stocks, options, and futures.
Users can discuss a company, compare securities, explore a hedge, or refine a strategy. Alongside the conversation, Folio presents a strategy card, market data, return scenarios, and risk analysis.
Key features include:
- AI conversations informed by the current research context.
- Market prices, company financials, and available options-chain data.
- Strategy analysis for individual securities and combinations of stocks and derivatives.
- Visualizations of valuation scenarios, expiry payoffs, and risk.
- Saved conversations and investment ideas, with JSON export and print/PDF support.
- A local fallback engine when an AI service is unavailable.
Folio is a research prototype. It does not execute trades, and its scenarios are illustrations rather than guaranteed outcomes.
How we built it
We built the backend with Python and Flask, with SQLite for persistent conversations and saved investments. The frontend uses HTML, CSS, and JavaScript to connect streaming conversations with interactive analysis panels.
Gemini powers conversational research and structured strategy suggestions. Yahoo Finance data, accessed through yfinance, supplies market and company information, while an optional FRED integration provides macroeconomic context.
We separated language generation from financial calculations. The model proposes a structured strategy; Python modules validate its instruments and calculate prices, exposures, payoff curves, and risk measures from available data.
The interface uses Marked, DOMPurify, and KaTeX to render formatted responses and mathematical expressions.
Challenges we faced
One challenge was keeping the conversation and the visual strategy consistent across multiple turns. If a user adjusts a stock-and-options position, the application needs to retain the complete strategy rather than calculate only the latest added leg.
Another challenge was handling incomplete market data. Missing quotes, unavailable option chains, and differences between instrument types can make a polished answer misleading. We added validation and explicit fallback behavior instead of filling gaps with invented numbers.
We also had to distinguish between different kinds of curves. A stock valuation scenario depends on assumptions about future earnings and valuation multiples, while an options payoff describes outcomes at expiry. Presenting both clearly required different calculation paths and labels.
Accomplishments we're proud of
We connected conversational research with a working calculation pipeline and a persistent interface.
The application supports mixed-instrument strategies, validates structured model output, and keeps financial calculations separate from AI-generated explanations. Our backend test suite currently contains 89 passing tests covering application behavior, financial calculations, strategy validation, and API endpoint configuration.
What we learned
We learned that useful financial AI depends on more than a convincing response. Data quality, instrument conventions, explicit assumptions, and reliable calculations all shape whether an explanation is useful.
We also learned the value of giving language models a focused role: helping users express and explore ideas, while deterministic code handles the calculations that need to be reproducible.
What's next
We want to expand historical strategy evaluation, improve data coverage, and make assumptions easier to inspect and adjust.
We also plan to refine the research workflow so users can compare alternatives more easily and understand how changes in price, volatility, and time affect a strategy.
Log in or sign up for Devpost to join the conversation.