Assistants
Research Validation Assistant
Introduction
The Research Validation Assistant is the second opinion every model deserves before it ever gets coded into a trading algorithm. Where the Research Assistant builds the case for an idea, this specialist stress-tests it — asking whether the statistical foundations actually hold up or whether the model only looks good because nobody pushed on it hard enough.
What It Does
The Research Validation Assistant runs the model’s residuals through four diagnostic tests, each designed to catch a different way a quant model can quietly be wrong. An augmented Dickey-Fuller test with no constant and no trend checks whether the residuals are stationary, because non-stationary residuals are usually a sign the model has missed something structural in the data. A Breusch-Godfrey test then looks for serial correlation in those same residuals, since autocorrelated errors mean the model is leaving predictable patterns on the table.
From there, a Breusch-Pagan test screens for heteroscedasticity, flagging models whose error variance shifts with the inputs and whose standard errors therefore cannot be trusted. Finally, a population stability index compares the residuals from the training window to the residuals from the testing window, giving an honest read on whether the model behaves the same way on data it has never seen. Each test produces a clear pass, warning, or fail outcome rather than a wall of numbers.
What You Get Back
A validation notebook covering stationarity, serial correlation, heteroscedasticity, and population stability, each with the test result and a plain verdict the next Assistant on the chain can act on. By the time the review is finished, the strategy either earns its place in the backtesting queue or gets sent back with a specific reason it is not yet ready, so no engineering time is spent coding a model that was never going to hold up.
Tools
The Research Validation Assistant has access to the following tools:
jupyter_create_celljupyter_read_celljupyter_update_celljupyter_delete_celljupyter_execute_celljupyter_create_notebookjupyter_read_notebookjupyter_execute_notebookfinancial_data_blog_postsfinancial_data_news_articlesfinancial_data_web_getdatasetsuser_inputobject_store_getobject_store_set