anti-gambling-trader-tw
Free open-source investment anti-fraud, trading statistics and automated trading program tools: default PaperBroker, provides 14 broker/exchange options; trade record analysis runs locally.
AI translation
Live financial health analysis for any listed company: ratios, health score, trend insights and valuation, from SEC EDGAR and Yahoo Finance, or your own statements.
FinancePython · JavaScriptGitHub @Mrugaja-0702OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Automated financial statement analysis - ratios, health score, trend intelligence and live valuation. Reads a company's Balance Sheet, P&L and Cash Flow statements and produces:Read the full README ↗
Automated financial statement analysis - ratios, health score, trend intelligence and live valuation.
Reads a company's Balance Sheet, P&L and Cash Flow statements and produces:
Search any company by name or ticker:
RELIANCE.NS, 500325.BO), LSE (.L), TSX (.TO) and more.In Auto mode, US tickers try SEC first and fall back to Yahoo, and the report notes when that happens. You can also upload your own statements.
Each company page has:
These tabs are built for finance students. Each one answers one question about the share price and explains the finance behind the answer.
Stock drivers: eight factors, each scored −2 (headwind) to +2 (tailwind) from explicit, inspectable rules:
Every factor lists the evidence behind its score, explains why it moves share prices, and says what to watch. The factors combine into an overall tilt, a bull case vs bear case, and a watch list.
Sensitivities: what moves the price. These estimate how much EPS or value changes for:
Price attribution: splits the share-price change between fiscal year-ends into EPS growth vs P/E re-rating, using ln(P₁/P₀) = ln(EPS₁/EPS₀) + ln(PE₁/PE₀). Stock splits are detected and share counts restated.
Valuation lab:
Price & risk:
Scorecards: Piotroski F-Score (9 signals), Altman Z-Score (original, using market value) and Z''-Score (using book equity), and the Beneish M-Score (8 indices, with flags). Every component is shown with its explanation.
Mixed currencies: if a share trades in a different currency from its accounts (e.g. Infosys: NSE price in INR, accounts in USD, or London prices in pence), prices are converted at the prevailing exchange rate before any multiple is computed.
Uploaded statements: these get the fundamental factors, the scorecards and a DCF. Enter shares and price to get per-share values.
This is a rules-based reading of reported data for learning purposes, not investment advice.
pip install -r requirements-dev.txt
python -m uvicorn api.index:app --reload # http://localhost:8000 (API docs at /api/docs)
The repo is ready to deploy as is:
api/index.py is a FastAPI app that runs as a Python serverless function.public/ is the static frontend, served from Vercel's CDN.vercel.json routes /api/* to the function, with a 60s max duration and 1 GB memory.Two ways to deploy:
npm i -g vercel
vercel login
vercel # preview deployment
vercel --prod # production
Set this environment variable under Settings → Environment Variables:
| Variable | Why |
|---|---|
SEC_USER_AGENT | The SEC asks automated clients to identify themselves, e.g. YourApp [email protected]. A generic default is used if it isn't set. |
Production notes:
s-maxage 30 min, stale-while-revalidate 1 day), quotes for 15s, and searches for 1 day. Warm function instances also keep an in-memory cache, so repeat lookups are fast and stay within upstream rate limits.finanalyx/providers/ (same CompanyData interface).python -m pytest. The API tests stub the data providers, so they run offline.pip install -r requirements-dev.txt
python samples/generate_samples.py # writes the two sample companies
python -m finanalyx analyze samples/northwind --company "Northwind Industries" \
--html output/northwind.html --xlsx output/northwind.xlsx --json output/northwind.json
python -m finanalyx analyze samples/meridian_retail_financials.xlsx -v
| Command | Purpose |
|---|---|
analyze INPUTS... [--html F] [--json F] [--xlsx F] | Analyze files or folders |
--company NAME | Report title (default: guessed from the file name) |
--mapping map.json | Map unusual labels: {"Net turnover from ops": "revenue"} |
--basis average|ending | Balance used in ROE/ROA/turnover ratios (default average) |
-v / -q | Verbose output (all findings, YoY, line items) / no terminal output |
template DIR | Write blank CSV templates to fill in |
items | List recognised line items and their keys (for --mapping) |
Python API: from finanalyx import analyze; a = analyze(["statements/"]), which returns a.data, a.ratios and a.trends.
Supported: CSV/TSV, Excel (.xlsx, .xlsm, .xls, one sheet per statement or one sheet per file), and text-based PDF (best-effort; scanned PDFs need OCR first). A folder is read recursively.
Layout: line items in the first column and one column per fiscal year. The parser also handles:
FY25, FY2025, FY 2024-25 (counted as FY25), 2025, Mar-25, 31-03-2025, real Excel dates, Year ended 31 March 2025. Quarterly, TTM and "YoY %" columns are ignored,(1,234) negatives, currency symbols, - or nil (read as 0) versus blank or n/a (read as missing),The statement type comes from the file or sheet name (e.g. balance_sheet.csv, sheet P&L). Failing that, it is inferred from the line items. Labels are matched against about 300 synonyms (US GAAP, IFRS and Ind-AS wording), with a cautious fuzzy fallback for typos. "Total non-current assets" is never mistaken for "Total current assets". Every mapping is listed in the HTML report's audit section.
| Category | Metric | Formula | Healthy / Weak |
|---|---|---|---|
| Liquidity | Current Ratio | Current Assets / Current Liabilities | ≥1.5x / <1.0x |
| Quick Ratio | (Current Assets − Inventory) / Current Liabilities | ≥1.0x / <0.7x | |
| Solvency | Debt/Equity | Total Debt / Total Equity | ≤1.0x / >2.0x |
| Debt Ratio | Total Debt / Total Assets | ≤0.4 / >0.6 | |
| Interest Coverage | EBIT / Interest Expense | ≥5x / <2x | |
| Profitability | ROE | Net Income / Avg Equity | ≥15% / <8% |
| ROA | Net Income / Avg Total Assets | ≥7% / <3% | |
| Net Profit Margin | Net Income / Revenue | ≥10% / <5% | |
| EBITDA Margin | (EBIT + D&A) / Revenue | ≥20% / <10% | |
| Efficiency | Inventory Turnover | COGS / Avg Inventory | – |
| Receivable Turnover | Revenue / Avg Receivables | – | |
| Asset Turnover | Revenue / Avg Total Assets | – | |
| Growth | Revenue, Profit, Asset CAGR | (End / Start)^(1/years) − 1 | ≥10% / <0% |
| YoY growth (revenue, profit, assets) | Value_t / Value_t−1 − 1 |
Supporting metrics (these feed the narrative): gross margin, EBIT margin, opex/revenue, DSO, DIO, OCF/net income, FCF margin, capex/revenue, net debt/EBITDA, equity multiplier.
Thresholds are generic rules of thumb that apply across industries. Compare against sector peers before drawing conclusions.
Every assumption that is actually applied is listed in the report's "Assumptions" section.
--basis ending to use closing balances throughout.(600) COGS or capex) are converted to positive amounts.These run whenever there are at least 2 years of data. Detectors that look for multi-year patterns need 3–4 or more. Each finding has a severity (concern, watch, positive or note) and a score. Findings that involve the latest year rank higher.
| Detector | Examples of what it finds |
|---|---|
| Revenue | Unbroken growth, a year that broke a growth streak, recovery after a dip, growth accelerating or decelerating |
| Cost structure | Opex or COGS growing faster than revenue in specific years, and the effect on margins (e.g. "Revenue increased consistently, but operating expenses grew faster than revenue in FY25") |
| Margins | Expanding or contracting every year, or peak-and-fade and trough-and-recovery inflection points |
| Profit vs revenue | Profit CAGR vs revenue CAGR, net income falling while revenue rose, below-the-line divergence from EBIT |
| Returns | ROE change broken down with DuPont analysis (margin × turnover × leverage), flagging ROE gains that come from leverage |
| Working capital | Receivables or inventory growing faster than sales or COGS, and DSO/DIO moving by more than a few days |
| Leverage | Debt jumps (and whether capex was debt-funded), D/E trend, interest coverage deterioration, net debt/EBITDA |
| Liquidity, efficiency | Current ratio crossing 1.5x or 1.0x, assets growing faster than revenue |
| Cash flow | OCF/NI conversion, profit vs cash divergence, negative FCF, dividends larger than FCF |
| Anomalies | One-off spike-and-reverse moves, statistical outliers |
api/index.py FastAPI app (Vercel serverless function; also serves public/ locally)
public/ web UI: index.html, assets/app.js + research.js (panels), app.css + research.css, samples/
vercel.json routing, function limits, security headers
finanalyx/
providers/ live data: sec.py (SEC EDGAR XBRL), yahoo.py (Yahoo Finance), base.py (HTTP, cache)
research.py orchestrates market data, scorecards, valuation and drivers (with FX conversion)
drivers.py 8-factor stock-driver scorecard, bull/bear case, watch list
valuation.py WACC (CAPM), two-stage DCF, reverse DCF, scenarios, EPS-vs-P/E attribution, sensitivities
market.py returns, beta, volatility, Sharpe/Sortino, drawdown, moving averages, RSI
scores.py Piotroski F-Score, Altman Z / Z'', Beneish M-Score
ingest.py file reading, header/period/number parsing, units, statement detection
schema.py canonical line items + synonyms
mapping.py label -> line-item matching (exact, override, guarded fuzzy)
model.py merge tables, sign normalisation, derivations, validation
ratios.py metric definitions, thresholds, calculation
trends.py narrative trend detectors, executive summary, YoY commentary
report_text.py terminal dashboard report_html.py HTML dashboard
export.py JSON / Excel cli.py, analyzer.py entry points
samples/ generator + two sample companies (clean CSVs, messy Ind-AS workbook)
tests/ pytest suite (python -m pytest)