Skip to content
Our product

FinSIMa simulated brokerage venue for equities and options

Live quotes, real margin and buying-power math, options approval levels, price collars and expiry settlement — a venue that behaves like a real one, including the part most simulators skip: it says no. Self-hosted: it runs on your infrastructure, keeps its own database, hooks into your identity provider, and reads live market data from a service that sits beside the venue rather than inside it.

FinSIM is a simulator. Orders are not routed to any exchange, no money moves, and nothing here is investment advice or an offer to buy or sell a security.

Who it is for

Built for three jobs

01

Prop-firm and trader evaluation

Evaluate a candidate against rules that bind, with every order, refusal and settlement on the record.

02

Teaching

Teach assignment, collateral and approval levels by letting them happen — on a book nobody can blow up.

03

Integration and testing

Develop and test an order path against a broker-shaped API, without a live account or a vendor sandbox’s queue.

What the venue enforces

Real, and enforced

FinSIM prices against live market data and then issues the refusals a real venue would issue, in the words it would use. Concentration it does not refuse; it prices, the way a broker does — a concentrated position raises the house maintenance requirement rather than blocking the order.

Buying power that is computed, not assumed.

Cash and margin accounts, Reg T initial and maintenance requirements, collateral held against a short option and released when it closes.

Approval levels that actually refuse.

Levels 1–4 gate what may be opened. An uncovered short in a level-2 account is rejected at submit, with the reason.

Stocks and options on one book.

Listed equities and OCC options — single legs and two-leg credit or debit spreads — in cash or margin accounts, with approval levels 0–4 deciding what an account may hold.

A market that moves on without you.

Orders are held for the delay the quote feed declares, then priced against that market — never against a quote that arrived later. An order found too long past its fill time expires unfilled rather than filling into a market it was never placed in.

Fills that cost what crossing costs.

A fill never lands at the optimistic limit: a short sells inside the bid and a long buys above the ask by a set fraction of the quoted spread, so paper results carry the cost of crossing instead of flattering it.

A retry never opens a second position.

A resubmitted order carrying a client order id the venue has already seen returns the original outcome, marked as a replay — the broker-level backstop a network retry or a caller bug needs.

Expiry, settled.

Every expiry is decided by the close of its expiry date, the same for every account; a contract whose close is not yet published waits rather than settling on a live quote. In-the-money equity options assign or exercise and deliver the shares; index options (SPX, NDX, RUT, VIX families) settle in cash; the ledger carries the realized result either way.

Every refusal has a name.

Price collars against the venue’s own mark, closes that cannot exceed the position, symbols it cannot resolve — each refusal machine-readable to code and plain English to a person.

  • insufficient_buying_power
  • price_collar_violation
  • approval_level_insufficient
  • uncovered_not_permitted
  • short_stock_not_permitted
  • close_exceeds_position
  • no_matching_position
  • quote_unavailable
  • stale_market

Operator-settable policy

Starting buying power, fill haircut, price collar, account-balance bounds, cash-settled roots, fill grace, and the house margin figures are editable by an administrator while the venue runs, each setting recording who changed it and when. Statutory figures — Reg T’s 50% initial, the 2× stock multiplier — are fixed in code on purpose.

How it deploys

Yours to run

Your identity provider, not ours.

Anything with OIDC discovery — four environment variables. Or issue API key pairs and skip identity entirely. Three credentials in all — a service key for the platform in front of the venue, key pairs for machine clients, sign-in for people — and each reaches only its own account.

Accounts you open, or accounts that open themselves.

A hosted simulator lets a valid sign-in open a funded account. A desk that provisions its traders turns that off, and an unknown identity is refused rather than silently funded.

Your database.

FinSIM owns its own Postgres. No shared schema, no tenancy table, no row in someone else’s system of record.

A REST API before a screen.

The terminal is one client of a documented broker API. A backtester, an evaluation harness, or your own front end are others.

Ships as a prebuilt Docker image.

With its own Postgres. Runs where you run it.

Market data from beside the venue.

The venue does not fetch quotes itself; it reads live market data from a separate data service. Have a provider already? We build the adapter for your vendor’s feed as part of licensing, and the venue never knows the difference.

The terminal

One client of the API

The included web client shows positions with the venue’s own marks, a ticket for single legs and vertical spreads, working and historical orders, the cash ledger, and an alert for every fill, rejection and expiry. Light, dark and system themes. It is replaceable — it talks to the same documented API as everything else.

Licensing

FinSIM is licensed by Azlan Corporation. Tell us how you would run it — evaluation, teaching, or integration — and we will take it from there.

FinSIM is a simulator. Orders are not routed to any exchange, no money moves, and nothing here is investment advice or an offer to buy or sell a security.