Interactive Tool

Research Protocol Generator

Investment Education, Research & Tools for Smarter Decisions.

Fill in the form below before running your backtest to generate a structured, pre-registered research protocol. Copy the output into your research log and commit it to version control, dated before any analysis runs.

By Swoopr Editorial Team

Published · Updated

AI-assisted content · Swoopr Investment is responsible for the final published article.

Overhead view of financial charts, laptop, and magnifying glass, ideal for business analysis themes.
Photo by Leeloo The First via Pexels

Direct Answer

A research protocol generator creates a structured template for a new trading-strategy hypothesis, using guided prompts that force the hypothesis, data source, test method, and success criteria to be written down before any backtest runs. Committing to these details in advance is what prevents HARKing and p-hacking, quietly redefining the hypothesis or metric after seeing favorable results. The completed protocol becomes the reference document a later experiment-registry entry evaluates the strategy against.

Tool

A short unique identifier for this research iteration.
State the specific claim precisely enough that any result can confirm or refute it.
Why should this strategy work? Reference established theory or structural factors.
The hypothesis is confirmed if and only if this threshold is met.
Used to compute the Bonferroni-adjusted significance threshold.

Uses only data you enter. Nothing is stored or transmitted. Disclosure.

How to use this tool

Fill in every field before looking at your backtest results. That is the defining discipline that makes the protocol useful. The output is a plain-text document formatted for pasting into a Markdown research log. Commit the log entry to version control immediately after generating it and before running any analysis code.

The "Number of prior tests" field asks how many earlier hypotheses in this research line have already been tested. This count is used to compute the Bonferroni-adjusted significance threshold displayed in the output. If you are testing a strategy idea for the first time, enter 0. If you have previously tested 5 variants of this idea and are now writing a new pre-test entry, enter 5. The adjusted threshold reminds you of the statistical standard your result must clear given the total search breadth.

After the backtest runs, add a post-test section to the same log entry: the observed metric value, whether it met the threshold, any secondary metric values, and any post-hoc observations clearly labeled as exploratory. This two-part structure, pre-test entry before analysis, post-test entry after, is the core of preregistration-style discipline for individual research.

Understanding the outputs

The generated protocol includes a Bonferroni-adjusted t-statistic threshold. If prior tests = N and you want a 5% family-wise error rate, the adjusted threshold for each individual test is α/N+1 (including the current test). For N=0, the threshold is the conventional 1.96 (5% one-sided). For N=9. It is approximately 2.58. The output reminds you of this threshold when evaluating your result's statistical significance.

The protocol also includes a block labeled "POST-TEST (fill in after backtest runs)" with placeholders for the observed metric, pass/fail determination, secondary metrics, and post-hoc observations. This section structure enforces the pre-test / post-test separation that is the key property of a useful research log.

The plain-text format is intentional: it can be pasted directly into a Markdown file, a Jupyter notebook, a Word document, or a Notion page without formatting changes. The first line includes the current date and a generated protocol ID (YYYYMMDD-HHMM format) for easy reference in future entries.

This tool generates a template, the quality of the protocol depends entirely on the specificity and honesty of what you enter. A protocol with vague hypothesis text, undefined signals, or placeholder cost assumptions does not provide the protections described in the research log guide. Take the time to be specific.

Assumptions and limitations

A Template Cannot Supply the Hypothesis

A template can enforce that questions get answered and it cannot supply the answers. The value here is in the sequencing: being made to state a hypothesis, a data source, a method and a success criterion before running anything prevents the most common failure, which is deciding what counted as success once the results were already visible.

High angle view of an office desk with laptop, clipboard, and smartphone displaying stock market data.
Photo by Leeloo The First via Pexels

The output is only as good as the specificity put into it. A hypothesis phrased loosely enough to accommodate several outcomes will be satisfied by whichever one arrives, and the completed protocol then documents a test that could not have failed.

The habit worth building is treating the completed document as fixed. Its usefulness comes entirely from having been written before the results, and a protocol edited after a disappointing run has become a summary rather than a commitment.

Nothing generated here evaluates the idea itself. A well-formed protocol for a poorly reasoned hypothesis produces a well-formed record of a poorly reasoned test.

Frequently Asked Questions

Can I use this tool after I have already seen my backtest results?

Technically yes, but doing so defeats its purpose. The entire value of a pre-test research protocol is that it was written before the results were seen. This is what prevents HARKing and post-hoc rationalization. Using the tool after seeing results to create the appearance of a pre-test protocol is precisely the practice the tool is designed to prevent. If you have already run your backtest, use the Experiment Registry template instead to log the result honestly, without a pre-test claim.

What should I do if I realize I left out a robustness check?

If you have not yet run the backtest, edit the protocol and regenerate it. If you have already run the backtest, you cannot add the check as a pre-specified robustness check. It is now a post-hoc analysis. Run the check, report the result, and label it explicitly as "post-hoc observation" in the post-test section of the log entry. This is honest and scientifically appropriate; it is just less strongly evidential than a pre-specified check.

How precise does the signal definition need to be?

Precise enough that any two researchers independently applying the rules to the same dataset would make the same trading decisions on every historical date. If there is any ambiguity in how to compute the signal, which closing price, which earnings estimate, how to handle missing values, the definition is not precise enough. A useful test: could a programmer implement the signal exactly from your written description, without any additional information?

Does the Bonferroni correction apply to robustness checks within the protocol?

The Bonferroni correction shown in the output applies to the number of primary hypothesis tests in the research line, counting each distinct pre-test protocol entry as one test. The robustness checks within a single protocol are pre-specified diagnostic tests, not additional primary hypotheses; they do not add to the Bonferroni count unless they are independently evaluated as primary results. If a robustness check generates a new research direction that is separately tested, that new test adds to the count.

What format should I use for the generated protocol?

The output is plain Markdown-compatible text. Copy it into any text editor, Markdown file, Jupyter notebook cell, Notion page, or word processor. For best research discipline, paste it into a .md file in a git-tracked repository and commit it immediately, the commit timestamp provides the tamper-evident record that the protocol was written before the analysis ran.

Should a separate protocol be generated for each variant of the same idea?

One protocol covering the family, with the variants enumerated in advance, is usually the more honest structure, because it makes the search breadth explicit at the outset. Generating a fresh protocol per variant can make each look like an independent single test, which is the appearance that inflates confidence. Where a genuinely new hypothesis emerges from earlier work, a new protocol is appropriate, with the earlier one referenced so the lineage stays visible.

What belongs in the protocol when the data source has not been chosen yet?

State the requirements the source must meet rather than leaving the field blank: the fields needed, the history depth, whether point-in-time revision history is required, and how delisted securities must be handled. Writing the requirements first means the eventual choice can be checked against them instead of the requirements being written around whatever was obtainable. If the available data falls short, the gap becomes a recorded compromise.

Does the protocol need to specify what happens if the data turns out to be unusable?

It helps, because the alternative is deciding in the moment, when the pressure is toward salvaging the work. Stating in advance whether a shortfall means abandoning the test, narrowing the universe, or shortening the period keeps the response from being shaped by early results. It also documents the compromise, so a later reader can see that the tested question is narrower than the one originally posed.

Can a protocol be revised before any data has been examined?

Revising while genuinely blind to results is a normal part of specification, and the important thing is that the revision itself is dated and kept alongside the original rather than replacing it. The version history is what allows someone later to confirm that changes preceded any look at the output. Silently editing a protocol removes that assurance even when the edit was innocent, which is why keeping supersededed versions costs little and preserves a great deal.

References

Educational Disclaimer

This tool is for educational and research organization purposes only. It does not constitute investment, financial, or trading advice. The generated protocol templates are starting points, their quality depends on the specificity and accuracy of the information entered. Trading involves significant risk of loss.