Your fills, read as behavior — no account, nothing uploaded

biaX turns a closed-trade history into behavioral statistics. This page runs that computation in your browser — on a constructed sample tape, or on rows you paste in yourself.

Nothing you paste is sent anywhere. There is no API call on this page and no upload; every figure below is computed from the table on this page by /js/demo.js. The site's cookieless page-view counter loads here as it does on every page, and it never sees your rows.

The rows

Sample Trader A: a deliberately constructed demo portfolio — not real fills

—closed trades
—closed positive
—sum of the P&L column
# Entry date Hour Ticker Hold P&L Entry tags Added while down

0 rows in view.

What comes out

Hold time, split by how the position closed

Same rows, cut once.

Entry tags, grouped

Tags recorded when the position was opened — not after it closed.

Adding while the position was down

Counted from the rows, not self-reported.

Entry hour

Exchange local time, bucketed by the hour the position opened.

The statements the app would show

Up to three, ranked by the size of the average P&L gap in the bucket behind them. Every bucket under 10 trades is dropped before ranking.

What this data can't show

The part a screenshot usually leaves out. Three detectors exist in the app and stay silent here, because their input isn't in these columns.

Take the readout with you

A 1080×1350 image or a plain-text summary, drawn in this tab from the rows above. It carries hold times, tag-group sizes, adds while down, entry hours and one statement — and nothing else: no P&L figure, no win rate, no score.

The same readout on a connected account

biaX: Emotional Trade Journal runs these statistics on a read-only brokerage connection, with the price path filled in for the signals this page leaves blank.

How exact is this?

The formulas, thresholds, rounding, tag catalog and statement wording are transcribed from the app's own modules — a bucket under 5 trades is not reported, a statement needs 10, win rate rounds to four places, an average to two. The file names every server module it mirrors in its header comment, so the two can be diffed by hand.

Sample Trader A is a deliberately constructed demo portfolio — not real fills: 40 round-trips written to exercise every panel, including the empty ones. It is not a real person's account, and no figure here is presented as anyone's track record.

Everything above describes rows that already closed. It is not a recommendation, a rating of the trades, or a forecast. biaX connects to a brokerage read-only and never places an order. Research named on this page: Odean (1998) on the disposition effect, Arkes & Blumer (1985) on the sunk-cost effect.

If you are reading this for a class or a trading group, there is a second demo — what an instructor sees, and what the cohort console withholds from them.

The app does the same on your own history, with the price path filled in — what each plan opens or read the support FAQ.