Articles
Subscribe to the Newsletter
Get a weekly digest of our latest articles, straight to your inbox.
No spam, just practical insights and updates.
By Gary Kennedy - Nov 25, 2025
Brokerage accounts provide trade history data in many different tabular formats – each with its own naming quirks, column conventions, ordering, and hidden assumptions.
Yet behind this diversity lies a consistent set of trade attributes with inherent structural relationships:
quantities, prices, consideration, fees, proceeds, dates, instruments, and identifiers.
This is exactly where a semantic inference engine can shine.
Read more →
By Gary Kennedy - Nov 20, 2025
If you scan JSE instrument lists, broker CSV files, or pricing feeds, you may notice that some shares end with “-N” in their short name.
This isn’t a typo or data issue — the “-N” suffix indicates a specific, legacy class of reduced-vote ordinary shares known as N Ordinary shares, or NOrd.
Read more →
By Gary Kennedy - Nov 18, 2025
TL;DR: We originally built a phrase-based parser for segment ledger quick entry, but it was too strict.
Refactoring led us to anchor on the verb in the sentence (“buy”, “sell”), allowing us to identify the Subject–Verb–Object (SVO) structure.
This made the parser far more flexible and capable of handling natural, messy, human descriptions — including tricky cases like “GBP”, which can be both a currency and a listing symbol!
Read more →
By Gary Kennedy - Nov 4, 2025
TL;DR: On the London Stock Exchange GBP was, until very recently, the ticker symbol for Global Petroleum Limited. This rare overlap is confusing to humans and machines alike, and serves as a reminder that context matters.
Read more →
By Gary Kennedy - Oct 22, 2025
Excel includes two powerful but often overlooked features: the Stocks and Currency data types.
These allow you to pull delayed market and FX data directly into your spreadsheet — no plugins or VBA required.
Read more →
By Gary Kennedy - Oct 22, 2025
When investors move between tax jurisdictions, capital gains must be split between the period before and after the move. Babylon’s new gainSince parameter makes
this possible. By specifying a date, you can recalculate gains as if every holding were re-based at that moment — automatically replacing pre-date transactions with
a single notional trade per security per account. The result is an accurate picture of gains arising since the jurisdiction change, while preserving your original
trading history.
Read more →
By Gary Kennedy - Oct 16, 2025
Segment — the ledger for a group of positions.
A Segment is one of Babylon’s core concepts. It defines the natural partition of a portfolio, ensuring every security — and all of its trades — belong to one, and only one, Segment. This simple rule keeps capital gains and performance calculations coherent, consistent, and correct at scale.
Read more →
By Gary Kennedy - Oct 15, 2025
Every API begins simply. A few clean endpoints, a handful of query parameters — ?symbol=AAPL, ?date=2025-09-01 — and everything feels elegant.
Then the real world arrives. You need to exclude certain accounts, filter by date ranges, or select everything except one value.
Suddenly that neat equality model starts to creak.
Read more →
By Gary Kennedy - Oct 10, 2025
In equity prices we often encounter what appear to be strange misspellings of currencies—for example, ZAC rather than ZAR, GBX rather than GBP, or EUC rather than EUR.
Why does this happen? As it turns out, they are not misspellings at all! The data provider is usually trying to express the price in minor units of the currency.
For instance, a quote of 2,345 ZAC is actually a price of 2,345 South African cents, which is 23.45 ZAR. The same pattern applies to other so-called “misspellings.”
Read more →