How a wealth firm's books can tie out in total while individual accounts are wrong, what an advisory fee is really charged on, and how to count what one advisor can serve. Built on a synthetic RIA shaped like Titan's model.
A registered investment advisor pairing every client with a dedicated human wealth advisor, using AI so one advisor can serve clients a traditional team never reached. Over $1B under management.
Client assets are held at Apex Clearing, which also handles execution, clearing and settlement. Titan's own records have to agree with Apex every day.
An advisory fee on eligible AUM. Managed strategies, direct indexing, automated portfolios, and a private-markets sleeve with venture and interval funds.
Why the role exists: the posting asks for pipelines into Redshift, dashboards in Omni and Mixpanel, and support for financial reporting. At an RIA, the numbers that matter most are the ones that must match the custodian to the share, bill clients correctly, and prove the advisor-leverage thesis.
45 trades landed in the wrong account inside the same household. The household total doesn't change, so the firm-level check passes. A position-level check, shares and cash per account, found all 90 affected accounts on the day each trade settled.
A trade-date ledger against a settle-date custodian flags 7,062 account-days over the quarter; aligning to settlement leaves 4,629. On the split day, 1,842 accounts break until the ledger applies the 2-for-1, the one day total AUM misses too.
| Fee base | Quarterly fee |
|---|---|
| Eligible AUM, quarter-end value | $448,095 |
| Eligible AUM, average daily balance | $436,218 |
| Total AUM, excluded sleeve included | $462,620 |
641 accounts hold the monthly-priced interval fund, so their AUM only moves on NAV dates.
The median advisor has 68 households, 121 accounts and $15.1M AUM. The same book reads 1.8x bigger in accounts than in households, so "one advisor does a team's work" needs its unit chosen before anyone tracks it.
My first reconciliation compared account values, and settlement timing vanished: a trade swaps cash for stock at the same price, so the value barely moves. Reconciliation has to compare positions, shares and cash, or T+1 timing and real misbookings both hide.
Python standard library only, about two seconds.
git clone https://github.com/sa-basharat-ali/custodian-reconciliation cd custodian-reconciliation && python3 run.py