Rapid Quanting
Thomas Schmelzer
Portfolio construction and technology @ ADIA | Commodities and LS Equities | Visiting Scholar at Stanford.
Apparently, quanting is a word!
Just as car manufacturers use shared platforms for efficiency, stability, and speed in production, quants can benefit from pre-built templates. These templates act as a "skeleton" for projects, ensuring consistency and accelerating the development process by removing repetitive setup tasks.
Many developers and researchers maintain personal collections of code fragments or entire strategies, so the value of templates may not be immediately clear. However, when working with multiple researchers across various projects, a mix of build systems, test conventions, documentation standards, and programming languages quickly emerges, leading to inefficiencies and inconsistencies.
You may appreciate the variety of possibilities, or you may prefer to steer the growth in certain directions. The good news is, you have full control over this process by creating your own templates. Currently, I offer four templates out of the box, but these are primarily intended as inspiration for you to create your own blueprints.
These templates serve as blueprints for repositories, allowing you to create repos directly from the command line (following the CookieCutter idea). While not all repos are the same or aim to solve identical problems, the templates provide a common structure for efficiency.
I began with just four templates, each serving a specific purpose:
Each template includes reliable features out of the box:
领英推荐
All boilerplate code is taken care of. Projects based on the templates start in a fully functional state, passing all CI/CD checks. The tool also provides GitHub actions for testing projects before they’re ever promoted to templates. Behind the scenes, the templates utilize some of the most recent additions to the Python ecosystem, including uv for dependency management, hatch for build management, and Marimo.
Advantages:
As always, I like to finish with some code. Here’s an example to get you started:
$ uvx qcradle
Keep in mind, you may not have uvx installed. Visit its installation guide for setup instructions. You'll also need the GitHub CLI tool and a working SSH connection to GitHub. For more technical details, check the PyPI page: qCradle.
While an individual working in isolation may not see immediate benefits beyond the time saved when creating a repo, a certain degree of technical harmony across projects will ultimately lead to production gains. It opens the door to smoother collaboration and an efficient assembly line for developing strategies which starts and ends with good engineering.
Portfolio construction and technology @ ADIA | Commodities and LS Equities | Visiting Scholar at Stanford.
1 个月Here’s a repo that has been created by qCradle and archived immediately to preserve the starting point: https://github.com/tschm/demo_qcradle
Leading AI Implementation @ Go Autonomous┇MSc in Math
1 个月Today, I used qCradle for my new Python package—highly recommended! ??