A monorepo of small, focused personal-finance tools built from broker/market data —
Indian tax filing and beyond. Each tool is an isolated Go module under its own directory,
tied together by a root go.work workspace.
The badge and module paths assume the repo slug
github.com/akagr/finance-tools; adjust if your remote differs (also initr-foreign/go.modandgo.work).
| Tool | Directory | Status | What it does |
|---|---|---|---|
| itr-foreign | itr-foreign/ |
complete (M0–M8) | Generates ready-to-use Schedule FA (Foreign Assets, calendar year) plus Schedule FSI/TR (foreign income and tax relief, financial year, Rule 115) and a Form 67 worksheet for the Indian ITR, from Interactive Brokers (IBKR) holdings. |
| correlation | correlation/ |
in progress | Computes return correlations across assets (e.g. VWRA vs Nifty 50) to assess how diversified a portfolio really is. |
| backtest | backtest/ |
complete | Offline backtester for rule-based strategies on NSE daily data (SMA/EMA crossover, momentum, RSI, Donchian breakout vs buy-and-hold, realistic costs), with walk-forward, parameter sweeps, Monte-Carlo and regime robustness tests. Research only — not advice. |
| papertrade | papertrade/ |
complete | Runs a strategy forward on live data with simulated fills (persistent paper account, equity curve, performance vs benchmark) to validate it before risking capital. No real orders — not advice. |
finance-tools/
go.work # ties all tool modules together
itr-foreign/ # each tool: its own go.mod, cmd/, internal/, docs/, data/
… # future tools as sibling directories
The backtest tool is Phase 1 of a deliberately staged path from idea to (maybe) live capital — money is the last step, not the first:
- Backtesting (done) — measure a rule's edge on history vs a benchmark; compare strategies, rank by risk-adjusted metrics, and size positions by volatility.
- Robustness & validation (done) — walk-forward folds, parameter sweeps, walk-forward optimisation (re-fit parameters out-of-sample), Monte-Carlo bootstrap and regime analysis all stress-test an edge from different angles.
- Paper trading (built) — the
papertrade/module runs a strategy forward on live data with simulated fills, a persistent account, a daily equity curve and performance-vs-benchmark reporting, to validate it over weeks at zero capital. - Live, bounded, tiny — only if an edge survives, as an approved rule-based bot with hard risk limits and SEBI algo registration.
Most ideas should die in steps 1–2 — cheaply, on a laptop. See
backtest/README.md for the detailed roadmap.
Requires Go (not currently installed on this machine — brew install go).
go build ./... # from repo root, builds every module in the workspaceDisclaimer: Nothing here is tax advice. Output is a working draft to be verified by the taxpayer or a qualified professional before filing.
MIT © Akash Agrawal