Skip to main content

Finmiti

This project is developed for my personal use. I am developing this to keep the documentation, architecture and pipeline consistent so that I can focus more on developing strategies instead of developing pipelines.

Visit Finmiti guide for further steps.

This project is solely developed for my personal use. I am publishing this only to keep myself updated and to remove the headache of setting up the framework again and again.


Finmiti is a research-first quantitative trading framework designed to keep strategy logic, execution logic, and accounting logic strictly separated.

It exists to eliminate repeated reinvention of trading pipelines, so you can focus on researching strategies, not rebuilding infrastructure.

What Finmiti Is (and Is Not)

Finmiti is:

  • a framework for systematic trading research
  • equally suited for backtesting and live trading
  • opinionated by design
  • built around explicit, auditable abstractions

Finmiti is not:

  • a strategy library
  • a signal generator
  • a black-box trading system

If you want flexibility at the cost of correctness, this framework will feel restrictive. That restriction is intentional.

The Core Trading Loop

Every strategy in finmiti follows the same explicit loop:

Market Data → Strategy → Orders → Portfolio → Execution → Accounting

Each stage is implemented as a separate module with strict responsibilities.

This guarantees that:

  • strategies remain stateless
  • execution assumptions are explicit
  • accounting is consistent
  • backtests can be trusted
  • live trading reuses the same abstractions

Major Modules

Finmiti is organized into the following conceptual modules:

Client Handling

Handles interaction with external systems such as broker APIs and live data feeds. Keeps the rest of the framework broker-agnostic.

Stocks

Manages symbols, historical data, and OHLCV storage. Acts as the foundation for all market data access.

Strategy

Consumes immutable market snapshots and emits order intent only. Strategies never manage cash, positions, or execution details.

Orders

Orders are the contract between strategy, portfolio, and execution. They represent intent, not outcome.

Executioners

Simulate (or connect to) market reality: slippage, brokerage, partial fills, or live execution.

Portfolio

The single source of truth for positions, cash, and PnL. All state mutation happens here.

Backtesting

Pure orchestration. Iterates over time and wires everything together without adding logic.

Final Note

I have built this for my personal use in mind.

Metadata

Release files for finmiti 0.0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for finmiti 0.0.2.0
File Size Uploaded Provenance Actions
finmiti-0.0.2.0.tar.gz 48.2 kB Without provenance Details for finmiti-0.0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for finmiti 0.0.2.0
File Interpreter ABI Platform Actions
finmiti-0.0.2.0-py3-none-any.whl Python 3 none any Details for finmiti-0.0.2.0-py3-none-any.whl

Total release size: 81.1 kB

Release files / finmiti-0.0.2.0.tar.gz

Download URL finmiti-0.0.2.0.tar.gz
Size 48.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1a2cbcf592ba4915eea333f50ce7e0d3fee7071bbe000ac21685f9b72bfd6f20
BLAKE2b-256 checksum
How to use checksums
4acf3e4bbce35b2c8050845ae187bb04124324eddfc172162072e087a69cb50e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / finmiti-0.0.2.0-py3-none-any.whl

Download URL finmiti-0.0.2.0-py3-none-any.whl
Size 32.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03554d6c2f2b30010ce9dc865f8524e94781123c13a81ef0cdc71832faa296cb
BLAKE2b-256 checksum
How to use checksums
c19ecea085ee54f18721a69f293aa3a1fd85635e4ccabf45cb24aa63a18d9502
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Security for finmiti 0.0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page