Most financial tools try to produce an answer. A number, an arrow, a recommendation, a green or red state. Sometimes that is useful. Sometimes it turns a legitimate doubt into a screen that looks more certain than it should.
Aletheia starts from a different premise: before telling a user what to do with a fund, the system should ask whether there is enough evidence to defend the answer.
1) The problem with overconfident predictions
An output such as SELL may look clear, but it does not always mean the same thing. It may come from a rich history or from very little data. It may come from models that agree or from models that contradict one another. It may be validated out of sample, or it may simply be a neat explanation of the past.
That distinction matters. If software shows a strong signal while the data is stale, the history is short or the validation does not support the hypothesis, the user receives confidence the system has not earned.
Aletheia tries to keep three questions separate:
When one of those pieces fails, an honest answer may be tentative. Sometimes the honest answer is no call at all.
2) What Aletheia is
Aletheia is an open-source quantitative fund analysis platform written in C# and developed by Eido Automation. The current public product release is 2.7.3, with scientific version 2.12.0-causal-horizon-integrity.
It can be used as a native Windows desktop application or from the command line. The Windows package published through GitHub Releases is self-contained for win-x64, so a non-developer can download the ZIP, extract it and run the desktop executable without installing Visual Studio or the .NET SDK.
Internally, Aletheia combines several layers: data loading and provenance, time-series analysis, return and risk metrics, dynamic models, spectral analysis, probabilistic forecasting, simulation, walk-forward validation, Model Arena, an immutable prediction ledger and economic backtesting with execution delay, transaction costs and slippage.
That should not be read as a long button list. The core idea is simpler: study a fund as an uncertain time series, reconstruct what is known about it, compare models against simple baselines and show when the system cannot support a conclusion.
3) The fund as a dynamic system
The most important mathematical idea in Aletheia is that it does not treat a fund as a static photograph, but as a dynamic system observed through NAV. The visible data is a sequence of net asset values at specific dates. From there, the system turns price levels into returns, states and transitions.
In that representation, \(r_t\) is the log return, \(s_t\) is the state vector, \(F\) represents a transition hypothesis, \(\theta\) groups model parameters, \(y_t\) is the available observation and the terms \(\varepsilon_{t+1}\) and \(\eta_t\) capture transition and observation uncertainty.
The vector \(s_t\) is not an attempt to summarize "the whole market". It summarizes the fund state through compatible dimensions: recent return, trend, momentum, volatility, drawdown from the running high-water mark, log-NAV velocity and log-NAV acceleration per observation. In practical terms, it asks: "at this point in history, how is the fund moving, with how much inertia, under how much stress and with how much uncertainty?".
The dynamic-system view appears when Aletheia studies how the fund moves from one state to the next. A low-volatility phase may persist, break down or drift toward a more unstable regime. A deep drawdown may continue, stabilize or revert. Positive log-NAV acceleration may support a momentum hypothesis, but it may also be noise. Aletheia tries to model those transitions while keeping in view that the real state is only partially observable and that historical data always arrives with limits.
The physics analogy is useful here. In mechanics, knowing where a particle is not enough; velocity, acceleration and measurement uncertainty also matter. Aletheia borrows that intuition carefully for a financial series: the "space" is not physical position, but log NAV, and forces are not universal laws, but latent market pressures that can only be inferred indirectly from the path.
The intuitive reading is simple: \(x_t\) is the fund position on a logarithmic scale, \(v_t\) approximates velocity, \(a_t\) approximates acceleration and \(\xi_h\) keeps the future from being treated as a clean extrapolation. If recent movement is consistent, volatility does not spike and several models project compatible distributions, Aletheia may detect a probable trend. If the path changes regime, drawdown dominates or scenario dispersion grows, the prediction is weakened.
That is the difference from a naive trend reading. Aletheia is not trying to say "the line goes up, therefore buy". It tries to estimate a distribution conditioned on the information available today:
In practical terms, for each horizon \(h\), the system does not only look at an expected direction. It also looks at positive-return probability, expected return, median, quantiles, volatility, drawdown and historical validation quality for similar models. A trend is useful only if it survives that battery of questions.
The Kalman model fits this physical intuition especially well because it treats level and trend as latent variables updated as each observation arrives:
The variable \(\ell_t\) acts as latent level, \(b_t\) as trend and \(y_t\) as observed log NAV. The forecast is not a single line: it is a projection with variance. That detail matters, because two funds can have the same estimated slope and very different risk. A smooth trend with low uncertainty is not the same thing as a similar trend inside a cloud of volatility.
The key scientific rule is causal: the reconstructed state at date \(t\) can only use observations up to \(t\). It cannot look into the future. The state schema also carries a version and fingerprint, so a model does not accidentally compare vectors built from incompatible feature definitions.
4) The mathematical models inside Aletheia
Aletheia does not rely on a single miracle model. It uses models with different roles and makes them compete against simple baselines. Some describe the current state, some project future distributions and some test whether a timing signal has enough evidence behind it.
| Returns and scale | NAV is transformed into simple returns for reporting and log returns for models. The log return \(r_t=\log(P_t/P_{t-1})\) is additive across time, which helps simulation, horizon aggregation and comparison between funds with different scales. |
|---|---|
| AR(1) | Autoregressive log-return model: \(r_t=c+\phi r_{t-1}+\varepsilon_t\). It is a transparent baseline for asking whether the latest return contains information about the next one. Aletheia rejects it for forecasting when the fitted dynamics are not stationary. |
| Local-linear Kalman | State-space model over log NAV. It separates a latent level \(\ell_t\) and trend \(b_t\), updates both as each observation arrives and projects a future distribution with variance. It helps study trajectory, trend and uncertainty, not turn trend into certainty. |
| EWMA and GARCH(1,1) | Conditional volatility models. EWMA updates variance while giving more weight to recent observations. GARCH uses \(\sigma_t^2=\omega+\alpha e_{t-1}^2+\beta\sigma_{t-1}^2\) to capture volatility clustering. This helps estimate risk size, not direction by itself. |
| Gaussian HMM | Hidden-regime model. It assumes latent states \(z_t\), transition probabilities \(P(z_t=j\mid z_{t-1}=i)=A_{ij}\) and observed returns as Gaussian emissions. In practice, it can describe calmer or more volatile phases, always as probabilistic diagnostics rather than direct recommendations. |
| Historical analogues | Searches for past states similar to the current one using standardized distance between compatible vectors. The empirical question is: "when the fund looked like this, what happened over the same horizon?". If analogues are few, clustered or out-of-distribution, evidence should fall. |
| Model Arena and ensembles | Models are compared by horizon and at the same temporal cutoff. A signal should not depend on a model looking sophisticated; it should depend on whether it improves over simple alternatives under equivalent validation. When models disagree or do not cover the current case well, Aletheia weakens the signal. |
So the mathematical component should not be understood as "predicting the market" in the singular. More precisely, Aletheia builds a dynamic representation of the fund, estimates possible transitions under several assumptions, produces horizon-specific distributions and then asks whether those distributions have been validated enough to influence a signal.
For a non-technical investor, that distinction matters. A label such as BUY? may come from a positive expectation, but the question mark says the system does not have enough evidence to treat it as a strong conclusion. For a technical user, the same result leaves a trail: state, horizon, model, configuration, available sample, validation and degradation reason.
5) Fitting the past is not enough
A model can look beautiful on historical data and still fail as soon as it leaves the lab. That is why Aletheia distinguishes between in-sample fit and out-of-sample evaluation.
In plain language: explaining the past after seeing all of it is not the same as simulating what the model would have known on a particular historical date. If a historical prediction uses information that did not exist yet, look-ahead bias enters the result. It may still look scientific, but it is contaminated.
Aletheia's documentation is explicit about that boundary. Walk-forward validation trains on historical prefixes, market-timing labels only enter training once their ending index is known, evidence stays horizon-specific and complex models must compete against simple baselines.
It also separates statistical calibration from economic profitability. A calibrated probability is not proof that a strategy makes money. For that, execution delay, costs, slippage, turnover, drawdown and comparisons such as buy-and-hold matter. When there are too few usable out-of-sample timing decisions, the system should say NO RELIABLE ECONOMIC BACKTEST, not produce a persuasive curve.
6) The ability to abstain
The most interesting part of Aletheia may not be how much it can calculate. It is that the decision language is designed to stay quiet when a conclusion cannot be defended.
| Firm signal | BUY, HOLD or SELL: the direction appears with enough validation and actionability gates to be shown as a confirmed research label. It is still not financial advice. |
|---|---|
| Tentative signal | BUY?, HOLD? or SELL?: a direction exists, but evidence is weak, stale, conflicting, incomplete or not fully actionable. |
| No defensible signal | NO CALL: with the available data, Aletheia cannot defend a directional conclusion. |
The question mark is not decoration. It is a visible warning. Likewise, ReliabilityIndex is not the probability that the next prediction will be correct. It is an index of evidence and validation quality. Reading it as a hit probability would invert the meaning of the result.
7) What it can do today, and what it cannot
The honest reading is this: Aletheia is already a careful quantitative research infrastructure, but it does not yet demonstrate profitable investment ability.
It can help study funds, load histories, calculate metrics, simulate scenarios, reconstruct dynamic states, compare models and document predictions. It can make obvious research errors harder, such as mixing horizons or accidentally letting the future leak into the past. That is already useful.
But its current limits matter. The main workflow is primarily univariate over NAV histories. CNMV IIC is the first official provider, not a global fund universe. Provider coverage and survivorship bias are not solved by the application. There is no broker integration, portfolio optimization, tax-aware execution or global multifactor model. Any claim of profitability would require independent validation and live-forward evidence.
In other words: Aletheia can be a good research tool. It does not turn a historical series into a promise.
8) Engineering behind the project
One sign of maturity is that the project is not built as an interface mockup. The repository is organized into 14 source projects and 13 test projects. In the revision reviewed for this publication, it declares 198 xUnit tests using Fact or Theory, and the technical documentation contains 119 Markdown pages.
The layering is clear: domain, time series, mathematics, analytics, data, dynamics, spectral analysis, forecasting, simulation, validation, persistence, application, CLI and desktop. CI builds, tests and publishes a Windows desktop package; the release workflow creates the downloadable ZIP when a version tag is pushed.
That engineering work does not prove that a model makes money. It proves something more basic and necessary: the system is designed to evolve with traceability, tests and documentation, not just to display a polished screen.
9) Why open source
In finance, black boxes have an obvious problem: they can sound intelligent while hiding fragile assumptions. Publishing Aletheia as open source allows people to inspect how results are produced, challenge assumptions, reproduce analyses, find errors and propose improvements.
Open source does not magically mean correct. An open repository can still contain bugs, questionable assumptions or incomplete validation. But it allows a more serious conversation: you do not have to believe the signal; you can inspect how it was built.
10) Closing: collaboration before promises
Aletheia becomes more interesting as people with different backgrounds look at it: investing, statistics, quantitative research, data science and software engineering.
The public invitation is not "use this to make money". It is more careful and more useful:
Review the code.
Challenge the assumptions.
Test real data.
Point out errors.
Help turn a research tool into something more robust.
Project links
Aletheia is a quantitative research and analysis tool. It does not guarantee future performance, does not execute trades and does not replace professional financial advice.