# rolling-panda's notebooks: reproductions of systematic trading research

> This repository is a set of Jupyter notebooks that reproduce published systematic trading studies across equities, fixed income, currencies and commodities, with the results refreshed on a schedule. The catch is stated in the README itself: the notebooks depend on an internal library called vivace that stays private, so a reader can read the analysis but cannot re-run it.

**rolling-panda-san/notebooks** — Analysis on systematic trading strategies (e.g., trend-following, carry and mean-reversion). The result is regularly updated. 

- Repository: https://github.com/rolling-panda-san/notebooks
- Stars: 773 · Forks: 117
- Language: Jupyter Notebook
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/rolling-panda-san-notebooks

## A research log, not a trading system

The repository documents research on systematic trading strategies, mainly using futures at the moment, plus a set of miscellaneous results. The stated purpose is to reproduce what is presented in academic papers, to update the results on a regular basis and to add further experiments.

That is a narrower and more honest scope than most repositories with trading in the name, and it is worth being clear about the difference. There is no strategy server here, no order routing, no live execution and no position management. The topics listed for the repository confirm the framing: algorithmic trading, backtest, trading simulator, quantitative finance, investment strategies, with asset classes for equities, fixed income, currencies and commodities.

The primary language is Jupyter Notebook, and every top-level file is a notebook or a data artefact. There is no package to install, no build step and no service to deploy, which makes the repository unusually easy to read and unusually hard to reproduce, as the next section explains.

The authorship is visible in the repository identity, and the reference list at the end of the README runs to academic citations with volume and page numbers, from Moskowitz 2012 and Baltas 2020 through Asness 2013, Koijen 2018, Boons 2019 and Rossi's 2025 work on basis reversal, among others.

## Seventeen strategy notebooks across four asset classes

The first table in the README maps each strategy to the paper it reproduces, the asset class it is tested on and the notebook file that holds the work. The coverage is systematic rather than random.

Time-series momentum appears three times, because it is the most reproduced idea in the literature and the differences between the papers matter. Moskowitz 2012 is the original, Baltas 2020 revisits it with attention to volatility estimators, trading rules and pairwise correlations, and a third notebook adds a breakout signal following Chevallier and Ielpo 2014 and related work. Each is tested across equity, fixed income, FX and commodity futures.

The commodity block is the widest, with separate notebooks for term structure following Koijen 2018, momentum following Asness 2013, skewness following Fernandez-Perez 2018, intra-curve structure following the La Francaise Group 2015, crush spread mean reversion after Simon 1999, crack spread mean reversion after Girma and Paulson 1999, basis momentum after Boons 2019, basis reversal after Rossi 2025, and trend following in Chinese futures after Zhang and Zhou 2017.

The remaining entries are FX carry from a Deutsche Bank 2009 currency return study, cross-asset skewness after Baltas 2019, equity overnight returns from Knuteson 2020, equity short-term trading from Connors 2009, and ETF intraday momentum from Gao 2018.

Two details are worth noting for anyone judging the work. The strategies are not all trend followers: the carry, the mean reversion and the skewness notebooks are explicitly about return shapes that a trend signal does not capture. And the Chinese futures notebook matters because that market has its own contract specifications and holiday calendar, which breaks any assumption that a futures backtest transfers between venues.

## The second table: analyses that are not strategies

A second table covers work that does not fit the strategy format, and it is a decent guide to the range of the repository.

There is a notebook on long-only performance on futures contracts, which is a useful sanity check because it shows what the underlying asset class returns look like without any signal on top. Another covers actively traded contract months, which is the housekeeping question of how the rolling of a futures position is decided, and a third computes Greeks under the Normal Black-Scholes model. Realised volatility measures follow a Santander 2012 reference, inverse options follow Alexander 2021 and cover crypto, and a notebook on Uniswap V2 liquidity pool yield looks at a DeFi market structure, which is a very different kind of return from a futures spread.

The last of the named analyses is titled after the virtue of complexity everywhere, following Kelly 2022, which is a paper about the value of complexity in investing. A file called correlation_confidence_interval.ipynb sits at the top level of the tree without appearing in either table, which is the kind of loose end that a research repository accumulates.

Two non-notebook artefacts are worth noticing. There is a swaption_vol_surface.csv, a volatility surface in a portable form, and a regression_summary_c20.pkl, a pickled regression summary. Both hint at the analysis pipeline underneath the notebooks, and both are the kind of file that is opaque to anyone without the library that produced it.

## The proprietary dependency that keeps the notebooks closed

The README states the limitation in a note that deserves to be read before anything else. Throughout the notebooks, an internal library called vivace is used to facilitate the data management and quantitative analysis, and that library will remain private because it is proprietary.

So the repository is a set of results without a set of means. The strategy logic, the assumptions, the parameter choices and the charts are all visible, but the data management and the quantitative layer that produced them are not. A reader cannot install the dependency, cannot execute the notebooks, and cannot check whether a result depends on a particular survivorship-bias correction or a particular handling of contract rolls.

The MIT licence in the LICENSE file covers the notebooks. It cannot extend to the data behind them or to the library that fetches and prepares it, so anyone who wants to re-run this work has to rebuild that layer themselves.

This is a deliberate trade and not necessarily a flaw. The alternative, publishing the library, would expose whatever data vendor and licensing arrangement the author has, and for a repository whose subject is futures research, the data access is often the commercially sensitive part. The cost is that the research cannot be independently reproduced, and the maintainer is the only person who can refresh the results. The README also says that notebooks are automatically pushed to GitHub, which is the mechanism that makes regular updates possible without asking a reader to run anything.

## How a reader should use a strategy notebook

Since the notebooks cannot be executed, they have to be read as research, and it is worth being explicit about what a reader gets.

The value is in the reproduction itself. When a published paper reports a result for time-series momentum across asset classes, the numbers depend on choices the paper does not always spell out: the volatility estimator, the trading rule, the treatment of pairwise correlations, the contract roll convention and the cost assumption. A notebook that reproduces the result and then adds more experiments, such as the breakout variant, shows what the result depends on.

The freshness is the second benefit. Because the results are updated on a regular basis, a notebook is a living document rather than a snapshot from a publication date, and a reader can see whether a finding held up as the data grew.

What a reader cannot do is treat the numbers as a validated strategy. A backtest in a notebook is a hypothesis about a historical relationship, produced with assumptions that are visible only in part, run on data whose provenance is not published, and re-run whenever the author pushes new results. Using it as a signal specification would mean trusting results that cannot be reproduced independently, and the README is careful to describe the purpose as reproducing and updating research, not as providing a usable trading system.

The papers in the reference list are the check on all of this. Each notebook names the work it reproduces, and the citations are complete enough to find and read the original argument, which is the most reliable way to decide how much weight a given result deserves.

## Licence, absence of releases and repository hygiene

The repository is MIT licensed, which covers the notebook text and the code cells as published. There are no GitHub releases, and the repository does not use tags as a distribution channel, so there is no versioned snapshot to pin.

That is consistent with how the project works. Notebooks are pushed to the main branch as they are regenerated, which means the same URL shows different numbers over time, and a reader who wants to cite a specific result has to record the commit they looked at. For a research log, that is a reasonable convention, and the CHANGELOG is not part of the top-level tree, so the commit history is the only record of what changed and when.

The last push was on 2026-10-20 and the default branch is master, so the work is ongoing rather than a finished archive. The repository also carries a sandbox directory, a .github directory holding the automation that publishes the notebooks, and a .gitignore.

For a reader weighing whether to follow the project, the practical summary is this. The research is curated and the citations are real, the results are refreshed rather than abandoned, and the subject matter covers the mainstream of systematic strategy research. The dependency is closed, so nothing here can be executed as it stands, and the MIT licence covers the notebooks but not the data. Use it as a reading list with charts, and rebuild the machinery yourself if you need the numbers to be reproducible.

## Conclusion

Read this repository if you want a curated set of reproductions of the systematic strategy literature with regularly refreshed results, and treat it as a research artefact rather than a pipeline you can run. Do not plan to execute the notebooks, because the vivace library they depend on is proprietary and private, and do not treat a chart in a notebook as a validated result you could trade from. If you need reproducibility, verify the underlying data source and the assumptions in each notebook against the paper it reproduces, and read the LICENSE file, which is MIT for the notebooks themselves but not for the data behind them.

## FAQ

### Can the notebooks in this repository be run?

Not as published. The README states that the notebooks use an internal library called vivace for data management and quantitative analysis, and that it will remain private because it is proprietary, so the analysis layer is not available to a reader.

### Which strategies does the repository reproduce?

Seventeen strategy notebooks, including time-series momentum in three variants following Moskowitz 2012, Baltas 2020 and a breakout version, FX carry, commodity term structure, momentum, skewness, intra-curve structure, crush and crack spread mean reversion, basis momentum and basis reversal, Chinese futures trend following, cross-asset skewness, overnight returns, short-term equity trading and ETF intraday momentum.

### How are the results kept up to date?

The README says the notebooks are automatically pushed to GitHub, so the results are regenerated and published on a regular basis without a release process. The last push was on 2026-10-20.

### What licence covers this repository?

The repository is MIT licensed, with the text in the LICENSE file. That licence covers the notebooks as published and does not extend to the private vivace library or to the market data behind the results.

### Is this a trading system I can use?

No. The stated purpose is to reproduce published research, update the results regularly and add experiments, and the repository contains analysis notebooks rather than an executable strategy service.

## Sources

- [Issues](https://github.com/rolling-panda-san/notebooks/issues)
- [License: MIT](https://github.com/rolling-panda-san/notebooks/blob/master/LICENSE)
- [README](https://github.com/rolling-panda-san/notebooks/blob/master/README.md)
- [rolling-panda-san/notebooks on GitHub](https://github.com/rolling-panda-san/notebooks)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/rolling-panda-san-notebooks
