Skip to content

akagr/finance-tools

Repository files navigation

finance-tools

CI

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 in schedule-fa/go.mod and go.work).

Tools

Tool Directory Status What it does
schedule-fa schedule-fa/ complete (M0–M7) Generates a ready-to-use Schedule FA (Foreign Assets) report 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.

Layout

finance-tools/
  go.work            # ties all tool modules together
  schedule-fa/       # each tool: its own go.mod, cmd/, internal/, docs/, data/
  …                  # future tools as sibling directories

Algorithmic-trading roadmap

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:

  1. Backtesting (done) — measure a rule's edge on history vs a benchmark; compare strategies, rank by risk-adjusted metrics, and size positions by volatility.
  2. 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.
  3. 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.
  4. 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.

Building

Requires Go (not currently installed on this machine — brew install go).

go build ./...        # from repo root, builds every module in the workspace

Disclaimer: Nothing here is tax advice. Output is a working draft to be verified by the taxpayer or a qualified professional before filing.

License

MIT © Akash Agrawal

About

Generate a ready-to-use Indian Schedule FA (Foreign Assets) ITR report from Interactive Brokers holdings — calendar-year basis, SBI TTBR conversion, exact peak values, full audit trail.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages