Mira is an autonomous investing research agent that researches the market, develops investing and trading strategies and manages a persistent paper portfolio.
MIRA behaves as an autonomous analyst:
- Wake: wakes up with a portfolio to manage,
- Context: reviews its prior journal entries to recover context
- Researches: researches market developments, earnings call transcripts, financials, etc.
- Trades: makes simulated buy/sell decisions
- Saves: logs its strategy reasoning, saves state, goes back to sleep.
MIRA is given a toolset it can use to inspect its portfolio, gather information, make simulated trades, and record its reasoning.
view_portfolio: opens the current simulated portfolio, including holdings, values, and cash balancequote: gets the latest quote and daily move for a symbolbuy: buys shares inside the simulated portfoliosell: sells shares inside the simulated portfolio
open_journal: lists the dates for which prior journal entries existread_journal: reads journal entries from a selected daylog_journal: writes a new investment journal entry so the agent can explain its thinking to its future self
web_search(built in): searches the web for current company, sector, and market informationread_earnings_call_transcript: reads earnings call transcriptsget_cik: resolves a stock ticker to the company's SEC CIKsearch_financial_data: searches available SEC XBRL facts for a companyget_financial_data: retrieves historical datapoints for a specific reported SEC fact
calculate: evaluates math expressions for sizing, comparison, and quick analysis
When you start the app, MIRA offers four entry points:
1. Schedule MIRA for Automated Investments
2. Run MIRA Now: Autonomous Mode
3. Run MIRA Now: Assistant Mode
4. Review Portfolio
Runs MIRA on a recurring schedule on weekdays at 3:00 PM Eastern to make trades before market closes.
This is the core experience. MIRA wakes up, reviews context, researches, decides whether to trade, logs its reasoning, saves state, and shuts down.
A guided chat mode where you can interact with the agent directly. Type /save to persist state and close the session.
Builds a dashboard of the current simulated portfolio, including:
- cash balance
- holdings value
- allocation by symbol
- daily move
- cost basis
- unrealized gain/loss
- cumulative input/output token consumption
You will need:
- .NET 10 SDK
- Python 3
- a model deployment accessible through Azure AI Foundry / compatible endpoint
- an API key and model name for that deployment
Install the Python dependencies and run the included server:
pip install flask yfinance
python src\yfinance-server.pyBy default, MIRA expects that service to be available at http://localhost:8080.
MIRA reads settings from:
%LOCALAPPDATA%\MIRA\settings.json
Example:
{
"FoundryEndpoint": "https://your-resource.openai.azure.com/",
"FoundryApiKey": "YOUR_API_KEY",
"FoundryModel": "your-model-name"
}dotnet run --project src\MIRA.csprojThis project is for experimentation and software development purposes. It is not financial advice, and it does not execute real-money trades.

