<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Quant Stack]]></title><description><![CDATA[Articles about cool quantitative research  ]]></description><link>https://www.algos.org</link><image><url>https://substackcdn.com/image/fetch/$s_!1nam!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d11d4ff-8ca9-48a4-b1d4-9d7cd609f7b2_391x391.png</url><title>The Quant Stack</title><link>https://www.algos.org</link></image><generator>Substack</generator><lastBuildDate>Fri, 03 Jul 2026 15:50:46 GMT</lastBuildDate><atom:link href="https://www.algos.org/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Quant Arb]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[quantitativearb67@gmail.com]]></webMaster><itunes:owner><itunes:email><![CDATA[quantitativearb67@gmail.com]]></itunes:email><itunes:name><![CDATA[Quant Arb]]></itunes:name></itunes:owner><itunes:author><![CDATA[Quant Arb]]></itunes:author><googleplay:owner><![CDATA[quantitativearb67@gmail.com]]></googleplay:owner><googleplay:email><![CDATA[quantitativearb67@gmail.com]]></googleplay:email><googleplay:author><![CDATA[Quant Arb]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Lessons from the Desk]]></title><description><![CDATA[Building a Quantitative Research Operation]]></description><link>https://www.algos.org/p/lessons-from-the-desk</link><guid isPermaLink="false">https://www.algos.org/p/lessons-from-the-desk</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Mon, 29 Jun 2026 13:43:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b0bf8c68-99db-475a-b014-9f244ef02320_964x771.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>Over my career I have held the title of Head of Quantitative Research at various hedge funds and proprietary trading firms, overseeing the trading of significant amounts of capital and the development of advanced research pipelines. Coming into a firm and dictating research direction is quite the task, and one that has given me many lessons which I thought I would share today.</p><p>This is not as niche a role as it might sound, as one of it&#8217;s core tasks is to build and maintain a successful research pipeline which is broadly applicable in many contexts. You may not be managing tens of people, but if you are looking to make money in quantitative trading, with the exception of a few rare latency- or developer-driven strategies, you will need a successful research operation within the firm. Even within latency teams there will be research pipelines around latency optimisation. Almost every firm and every desk has to approach the task of developing these capabilities in its beginnings, and maintain them as it grows.</p><p>What follows are the four things I have found matter most: the people, the tooling, the data, and the relentless sense of urgency that ties them all together. I have also included some code examples for the eager reader. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.algos.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Quant Stack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h3>The Personal Component</h3><div><hr></div><p>The people on your team are your greatest resource, which is exactly why this is the first section. The difference between a team of A players and a team of B players is the difference between making and losing money as a firm. I have only seen B player teams succeed at uncompetitive trades (carry, momentum, etc), and in the ultra-competitive world of market making, etc I have never seen a successful team that I wouldn&#8217;t deem to be almost all A players. </p><p>The first complication is remote work. Some people work very well remotely, but most do not. It is mostly senior, experienced researchers and developers who do well in a remote context &#8212; not juniors. Juniors typically need more guidance, management, and mentoring, which usually means it is vastly preferable to have them working in person. I have found remote work to be a barrier even when the person clearly works very hard and puts in long hours, simply because they require a lot of guidance on tasks that would be much better achieved with them sitting nearby in the office. New teams, and large teams also suffer extra from remote work, when there is an intense build out associated with the creation of a new pod or desk then it is critical to have tight communication loops. In the past, I have not found remote work to be a successful for large teams or for teams where heavy communication is required (a very intense buildout is occurring, made especially worse if it involves a large team doing said buildout). </p><p>That said, if you strictly mandate in-office hiring you will miss out on a lot of great talent. When an exceptional researcher comes across my desk, for me it is usually every 9&#8211;12 months, and always through my own network. It is almost always a remote hire (though this is specific to my network having a lot of remote people; if you know more people, this will happen more often). You want to take advantage of these people when they become available, because it is very hard to find A players precisely when you want to hire them. The best talent becomes available when it happens, not when it is convenient for you. It is wise to keep an open hiring policy for exactly these moments. The best talent does not come from a job posting on LinkedIn! It is my view that you need an exceptionally well run team (often tight knit and with everyone independently motivated towards the mission) to do it fully remote and for in person teams it is harder to get the talent but easier to manage the talent and ensure productivity. </p><p>Another point I have found is that for cases when you are specifically hiring for a role you do not have the capabilities for in your own team, then raw intelligence is not enough on its own; you need people with the <em>specific</em> knowledge the problem requires. If your problem is options execution, you need to find someone who has already learnt options execution at an established player. It is much harder to hire someone smart without that experience and have them figure out how to do options execution from scratch. There is a huge amount of information that lives in the minds of those who have worked at certain firms, and the only way to get access to it is to have worked there yourself or to hire someone who has. This is why firms like to hire ex-Citadel / JS / SIG / Jump people. It is probably true that the idea of some magic Citadel alpha that every Citadel researcher knows is a falsehood - but generally, if you want to do well, you need to hire people who have learnt how to do the task at a successful operation. </p><p></p><h3>Build the Tooling First</h3><div><hr></div><p>Everyone wants to sit down and immediately start hunting for alpha, but you need to start with the tooling and research infrastructure before any meaningful analysis can occur.</p><p>This is a double-edged sword, and it should not be confused with the premature development of infrastructure. Many of the most successful trading operations I know built initially slow and messy systems, only to refactor them into well-polished (and slow-to-develop) mature systems later, after they had already generated significant PnL. This even happened on my own desk at a firm I was at. The early mistake is the opposite one: failing to develop <em>any</em> proper research infrastructure. Realistically it only takes a couple of weeks for a very motivated team to build great tooling to regularly scrape, analyse, and manipulate data. Anything longer and you are overcomplicating it. An easy-to-use, effective research pipeline is extremely important to the success of any team.</p><p>Some core rules, the things you should never let yourself do:</p><ul><li><p><strong>Never scrape or pre-process data you already knew you&#8217;d need.</strong> All data should be automatically scraped and pre-processed as part of a daily cron job. Manually pulling data you could have anticipated is a huge time killer.</p></li><li><p><strong>Never write a backtester per alpha.</strong> Your testing tooling should be standardised, optimised, and pulled from a library. If your backtester can&#8217;t handle a particular type of alpha logic, upgrade the backtester &#8212; do not spin up a new one for each alpha. That will massively slow down your research process.</p></li><li><p><strong>Pre-merge data that is often merged.</strong> If, say, you use the top 50 cryptocurrencies by market capitalisation and want their 1d OHLCV bars, you should not be loading many separate files and writing a for-loop with logic that filters a rolling top-50 list and scrapes the dates. That is slow. Have them already merged into one file. If you find yourself merging a particular set of data often (e.g. all top-50 coins, 1h data), create that merged file and generate it as a cron job.</p></li><li><p><strong>Never load data outside your tooling.</strong> You should have a fast data loader where you specify the symbol, date range, data type, and provider, and it loads. Behind the scenes that is a filter finding the relevant files, looping through them, loading, and concatenating &#8212; but you should not be rewriting that logic every time. Better yet, optimise it: use <code>pd.read_csv</code> with <code>engine='pyarrow'</code> (this is <em>not</em> the default) for CSV files, and use Polars for Parquet files, which is fastest even once you account for converting back to pandas. Polars and pandas have similar merge times, so either is fine for the merge.</p></li><li><p><strong>Create notebook templates.</strong> If you follow a fixed set of steps when testing an alpha, build a dummy template notebook so that all you have to do is define the alpha and its input datasets and hit run. Then you only need to copy one notebook instead of pulling 20 cells from various notebooks.</p></li></ul><p>Once you have a setup where you write as little code as possible and get results in your hands as fast as possible, you have a great research pipeline. Iteration speed is everything. If you can write the code faster - because more has been abstracted away , and it runs faster, because the code is optimised and the data is pre-generated, then you can test more ideas. If you can do 10x as much work as the next person, you win. That is the real secret to a successful research operation: find ways to do more with the same time.</p><p></p><h3>The Data</h3><div><hr></div><p>Great data does three things: it exists, it is correct, and it is easy to work with.</p><p><strong>It exists.</strong> This is the most important of the three. If you didn&#8217;t bother to collect the data in the first place, then either you cannot complete the analysis at all, or you have to reconstruct it from historical sources that may be less accurate &#8212; and you will waste a lot of time doing it. Imagine you are running an arbitrage book and need to calculate historical arbitrages. It is fairly expensive to compute many combinations at the tick level, so now you have to scrape and pre-process Tardis data, write out the arbitrage logic, generate the data, probably wait half the day (if not longer) for it to finish, and only then do you have your arbitrages. If instead you had simply been tracking every arbitrage all along, you could have filtered them straight out of a dataset. If you don&#8217;t yet have that dataset but know you are likely to need it often, you can pre-generate it historically &#8212; but the best data to collect is the easiest, which is usually real-time data.</p><p><strong>It is correct.</strong> Write tests for your data so that when they are violated you investigate, note an error, or manually bypass it. Think of it like a unit test: you should always be checking for anomalies. Market cap dropping 90% in an hour and then recovering shortly after, for example, is very strange. Sudden changes in price are alarming, and should be <em>extra</em> alarming when they come back in an extreme timeline. If you are using alternative datasets, you often need to apply a delay if the data is not truly point-in-time, ideally it is PIT, but not always, and timestamps may be left-labelled rather than right-labelled. Clean up your data before you work with it, and ideally have that done before you ever need to use it.</p><p><strong>It is easy to work with.</strong> At one firm I was at, we had been lazy with some of our data collection and dumped it into DynamoDB instead of a proper time-series database. As we scaled up, it grew into the terabytes, and, the $30,000-a-month AWS bill aside, it was completely unusable, because DynamoDB makes you scan the entire database to work with it. That is an extreme example, and we did eventually fix the infrastructure, but the lesson stands: store your data properly and apply your pre-processing up front. If you are storing all arbitrage opportunities, bucket them at the file level so that specific dates or tickers can be read in isolation without loading extras. And if, for example, you only trade opportunities over 20% APR, keep a separate &gt;20% APR database too, it will be much smaller, and since that is a common dataset to load, it saves you from re-running an expensive filter. Running expensive filters twice is not ideal; try to avoid it.</p><p></p><h3>Delays Kill</h3><div><hr></div><p>There is a mile of difference between the pod that stays up until 2am until the issue is fixed, and the pod that will get to it the next morning when it&#8217;s convenient. This isn&#8217;t a difference of work ethic, it&#8217;s a difference of urgency. Work ethic matters, but the pods that do well have an extreme sense of urgency about everything they do, and it makes them work extremely efficiently. There is no option to spend two weeks on a piece of analysis; it needs to be done today, and so they find a way to get roughly the same result for 10% of the effort. The 80/20 rule, in practice.</p><p>Allowing any delays into the research pipeline kills that sense of urgency, and with it all the productivity gains that come along with it. This is partly cultural and will depend heavily on who you hire, but it also comes down to your pipeline.</p><p>That is what much of this article has really been about. Tooling should make things easy, and it should be fast. Waiting on slow code is, in many cases, a fixable problem. Now that we have LLMs, writing your tooling out in Rust is often far quicker than waiting on slow Python. For example, I took one of my forecasting models from 8&#8211;12 hours down to 15&#8211;20 minutes by rewriting it in optimised Rust, and it took me no more than an hour to do using Claude. There is always a way to make code run faster, and the days when optimising would take longer than the time it saved are gone, you should be taking advantage of that (to the extent that it makes sense, don&#8217;t optimise a 20 second task).</p><p>Get these four right: the people, the tooling, the data, and the urgency that connects them, and you have the foundations of a research operation that actually makes money.</p><p></p><h3>Code Examples</h3><div><hr></div><p>A standard data loader for Tardis data which assumes you pre-process raw trades into trade bars at various frequencies (parquet) and save the raw files in their native .csv.gz format that Tardis uses. It loads parquet with Polars (fastest), and .csv.gz with Pandas Pyarrow (fastest):</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;5ac2b714-7830-4f4d-b9de-5170add63c56&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from datetime import datetime
from pathlib import Path
from typing import Literal

import pandas as pd
import polars as pl

ROOT_DIR = "..."

OutputFrame = Literal["pandas", "polars"]
MissingPolicy = Literal["skip", "raise"]


def load_tardis_data(
    start_date: str | datetime,
    end_date: str | datetime,
    *,
    market: str,
    instrument: str,
    kind: str = "trades",
    freq: str | None = "klines_1min",
    root: str = ROOT_DIR,
    fields: list[str] | None = None,
    missing: MissingPolicy = "raise",
    frame: OutputFrame = "pandas",
) -&gt; pd.DataFrame | pl.DataFrame:
    """Load local Tardis data for a date range.

    ``freq=None`` loads unprocessed compressed CSV files with pandas/PyArrow.
    Any concrete frequency loads processed parquet with a lazy Polars scan.
    """
    storage_key = "unprocessed" if freq is None else freq
    paths = [
        Path(get_data_path(day, kind, storage_key, market, instrument, base_dir=root, vendor="tardis"))
        for day in pd.date_range(start_date, end_date, freq="1D")
    ]
    present = [path for path in paths if path.exists()]

    if missing == "raise" and len(present) != len(paths):
        raise FileNotFoundError(next(str(path) for path in paths if not path.exists()))

    if freq is None:
        parts = [pd.read_csv(path, engine="pyarrow", usecols=fields) for path in present]
        data = pd.concat(parts, ignore_index=True) if parts else pd.DataFrame(columns=fields)
        return pl.from_pandas(data) if frame == "polars" else data

    if not present:
        return pl.DataFrame(schema=fields) if frame == "polars" else pd.DataFrame(columns=fields)

    scan = pl.scan_parquet([str(path) for path in present])
    data = scan.select(fields).collect() if fields else scan.collect()
    return data if frame == "polars" else data.to_pandas()</code></pre></div><p>And then you should have some sort of daily scraping script like this:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;1e343893-95b3-4f53-ae8b-b2837f93275d&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from datetime import date, datetime, timedelta
from pathlib import Path
from typing import Iterable

import pandas as pd

StorePath = str | Path

def previous_utc_day(now: datetime | None = None) -&gt; date:
    """Return the most recent complete UTC day."""
    clock = now or datetime.utcnow()
    return (clock.date() - timedelta(days=1))


def active_binance_perps(day: date) -&gt; list[str]:
    """Return Binance Futures perpetual contracts available on the requested day."""
    catalog = get_tardis_exchange_symbols("binance-futures")
    live = catalog[
        (catalog["type"] == "perpetual")
        &amp; (catalog["availableSince"].dt.date &lt;= day)
        &amp; (catalog["availableTo"].dt.date &gt; day)
    ]
    symbols = live.index.str.upper().sort_values().to_list()
    return symbols


def fetch_binance_futures_day(
    day: date,
    destination: StorePath,
    symbols: Iterable[str],
    datasets: Iterable[str] = ("trades", "quotes", "derivative_ticker", "liquidations"),
) -&gt; None:
    """Download one Binance Futures Tardis day and write raw plus derived files."""
    stamp = day.isoformat()
    for symbol in symbols:
        for dataset in datasets:
            run_tardis_download(
                start=stamp,
                end=stamp,
                base_dir=str(destination),
                symbol=symbol,
                data_type=dataset,
                exchange="binance-futures",
                resample_label="right",
            )


def main() -&gt; None:
    """Run a minimal daily Binance Futures Tardis ingestion."""
    run_day = previous_utc_day()
    root = Path("/mnt/hdd-storage/data")
    universe = active_binance_perps(run_day)
    fetch_binance_futures_day(run_day, root, universe)


if __name__ == "__main__":
    main()</code></pre></div><p>It can feel like a chore to make sure all your datasets scrape regularly, get pre-processed, are maintained in an organised collection with lots of accessibility via tooling, but it more than pays off in productivity terms. When you need the data, it will feel like a breeze. This is only a basic set of examples, and you will need to write a lot more than this, but its a start. </p><p></p><h3><strong>Authors Note</strong></h3><div><hr></div><p>For the first time I have decided to let Claude do a bit of a refactor (on a fully human written draft) on some of the phrasing because I felt it was very poorly structured. I think it retains most of its original character, and provides a more enjoyable reading experience. I have only allowed minimal edits from my entirely hand written draft, but if anyone thinks its significantly worse please drop me a message. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.algos.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Quant Stack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Fixing Learning To Rank]]></title><description><![CDATA[Why LTR doesn't work and how to make it work]]></description><link>https://www.algos.org/p/fixing-learning-to-rank</link><guid isPermaLink="false">https://www.algos.org/p/fixing-learning-to-rank</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Sun, 28 Jun 2026 14:00:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!g7iB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g7iB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g7iB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 424w, https://substackcdn.com/image/fetch/$s_!g7iB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 848w, https://substackcdn.com/image/fetch/$s_!g7iB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 1272w, https://substackcdn.com/image/fetch/$s_!g7iB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g7iB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png" width="1400" height="933" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:933,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Understanding RankNet &amp; LambdaMART &#8212; Advanced Algorithms for Ranked  Retrieval | by Srinivasarao Tadikonda | Medium&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Understanding RankNet &amp; LambdaMART &#8212; Advanced Algorithms for Ranked  Retrieval | by Srinivasarao Tadikonda | Medium" title="Understanding RankNet &amp; LambdaMART &#8212; Advanced Algorithms for Ranked  Retrieval | by Srinivasarao Tadikonda | Medium" srcset="https://substackcdn.com/image/fetch/$s_!g7iB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 424w, https://substackcdn.com/image/fetch/$s_!g7iB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 848w, https://substackcdn.com/image/fetch/$s_!g7iB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 1272w, https://substackcdn.com/image/fetch/$s_!g7iB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e6bb19-27fe-4e22-b6e5-f9af35f1403b_1400x933.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p><a href="https://arxiv.org/pdf/2012.07149">A recent paper called &#8220;Learning To Rank&#8221;</a> has gained quite a lot of attention, and rightfully so, it addresses a really interesting problem for statistical arbitrage managers - how to get your forecast to align with what you are actually trading. In reality, we are not purely concerned with mean squared error but instead with the relative performance of assets. So, to fight this, the paper proposes that we should be learning to rank assets and not learning to predict assets. This makes sense for statistical arbitrage managers as you will usually hold a portfolio with some assets long and some assets short. You care mostly about how they perform relative to one another, and not their absolute performance (both assets could go up 1000s of % but I only make money on the difference). </p><p>To tackle this, and get us closer to predicting the difference, the paper suggests that we implement one of 3 different options. It presents 3 LTR models:</p><ul><li><p>LambdaMART</p></li><li><p>ListNet (Neural Network)</p></li><li><p>ListMLE (Neural Network</p></li></ul><p>The issue is that <em><strong>NONE OF THEM WORK</strong></em> as they have described it. <em><strong>BUT </strong></em>I will explain how to fix this performance issue and why the version described in the paper underperforms the benchmark, but our improved version does significantly better than the benchmark. </p><p></p><h3>Selecting A Model</h3><div><hr></div><p>The paper presents 3 options for models. Two are based on neural networks and one is a decision tree. From my testing it was immediately very clear that the best performing model was the decision tree. This is fairly expected and usually ends up being the case in the world of quant, especially when you are not working with high-frequency data. Thus, we go with LambdaMART. </p><p>LambdaMART gets its name from two ideas, LambdaRank - which is a smart way of computing gradients that directly optimize ranking metrics like NDCG, and MART (Multiple Additive Regression Trees) - gradient boosted decision trees. </p><p>LambdaMART works by sequentially building an ensemble of decision trees that optimise for a ranking objective. This does not directly predict returns, and instead focuses on learning a scoring function which orders assets from most attractive to least attractive - which in our case is the rank of forward returns. During the training process, LambdaRank computes gradients which encourage incorrectly ordered pairs of assets to swap places, with larger emphasis placed on swaps that improve ranking metrics (NDCG for example).</p><p></p><h3>Why LambdaMART Fails</h3><div><hr></div><p>In many real world scenarios that use LTR models, this is an excellent objective. Unfortunately, this grossly misaligns with what actually generates PnL in a statistical arbitrage managers context.</p>
      <p>
          <a href="https://www.algos.org/p/fixing-learning-to-rank">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[HFT Alphas Pt. 2]]></title><description><![CDATA[Developing additional features]]></description><link>https://www.algos.org/p/hft-alphas-pt-2</link><guid isPermaLink="false">https://www.algos.org/p/hft-alphas-pt-2</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Wed, 17 Jun 2026 16:52:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Peb7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7e976da-084e-4789-8dc7-8beb91d04efe_1278x466.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>In this article, we will extend the work of the first article (below) and develop a full feature set for our forecasting model. This will be fairly basic, and will not be the final feature set. We will do some selection in the next article, develop a factor model, and then use that factor model in article 4 to develop advanced features and build out the final forecasting set. We were able to find many features that scored over 5 Sharpe pre-fees, and now have our set of features for article 3. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;886aa348-83e6-435d-9fdf-eb26931e27c4&quot;,&quot;caption&quot;:&quot;Introduction&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;HFT Alphas Pt. 1&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:101799233,&quot;name&quot;:&quot;Quant Arb&quot;,&quot;bio&quot;:&quot;Quantitative Researcher, Digital Assets. Talking about: Statistical arbitrage, CTA, market making, execution, and other quant things. \&quot;Break the exchange or the exchange breaks you\&quot;&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aJW2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c151440-e169-41fb-9135-2efc1de4390a_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-06-08T09:37:08.788Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Np-6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbb8f4c-8307-4c27-a63c-8a530d20f6a6_1466x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.algos.org/p/hft-alphas-pt-1&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:200586382,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1392884,&quot;publication_name&quot;:&quot;The Quant Stack&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!1nam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d11d4ff-8ca9-48a4-b1d4-9d7cd609f7b2_391x391.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>This will be a fairly short article where we simply test our alpha candidates and select the best, but it will provide us with our feature set to be used in the next few articles which we will then use to finally develop our forecast.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.algos.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Quant Stack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h3>Index</h3><div><hr></div><ol><li><p>Introduction</p></li><li><p>Index</p></li><li><p>Alphas</p></li><li><p>Analysis</p></li><li><p>Conclusions</p></li></ol>
      <p>
          <a href="https://www.algos.org/p/hft-alphas-pt-2">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[HFT Alphas Pt. 1]]></title><description><![CDATA[Developing HFT alphas]]></description><link>https://www.algos.org/p/hft-alphas-pt-1</link><guid isPermaLink="false">https://www.algos.org/p/hft-alphas-pt-1</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Mon, 08 Jun 2026 09:37:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Np-6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbb8f4c-8307-4c27-a63c-8a530d20f6a6_1466x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>In this new 5-part series of articles, I will be developing real HFT alphas using the research pipeline discussed in the previous article on HFT Alpha Research. In the first article (today&#8217;s article), we will present a basic set of features which explain a large portion of the overall variance. In the next article, we will expand this selection of features and use some more advanced features engineered from full depth orderbook data. In the 3rd article, we will expand our universe from BTC, ETH &amp; SOL, to the top 30 assets by rolling 90d volume rank, and develop a cross-sectional factor model for the HFT timeframe. In the 4th article, we will use this factor model to test additional features, and we will also perform feature selection to form our final feature set. In the final article, we will test various models for forecasting forward returns. We use an incredibly large dataset of 1 year of second level tick data to perform this analysis and provide code to replicate the entire process at home. The final forecast aims to be worthy of being considered a starting point for market making and development. Moreso, we aim to show readers how to research a set of alphas, with the theory behind alphas explained in detail. If you have not already read the prior article on methodology please see the below article:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bdf2cf58-28fe-4e3a-aa37-56aa9cd83ac1&quot;,&quot;caption&quot;:&quot;Introduction&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;HFT Alpha Research 101&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:101799233,&quot;name&quot;:&quot;Quant Arb&quot;,&quot;bio&quot;:&quot;Quantitative Researcher, Digital Assets. Talking about: Statistical arbitrage, CTA, market making, execution, and other quant things. \&quot;Break the exchange or the exchange breaks you\&quot;&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aJW2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c151440-e169-41fb-9135-2efc1de4390a_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-06-02T16:15:36.657Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6XX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.algos.org/p/hft-alpha-research-101&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:199837940,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:23,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1392884,&quot;publication_name&quot;:&quot;The Quant Stack&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!1nam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d11d4ff-8ca9-48a4-b1d4-9d7cd609f7b2_391x391.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>By the end of this article, we will have found 7 features for the 5s timeframe and 5 features for the 15s timeframe. See the lists at the end for the final feature set. </p><p></p><h3>Index</h3><div><hr></div><ol><li><p>Introduction</p></li><li><p>Index</p></li><li><p>The Data</p></li><li><p>The Alphas</p></li><li><p>Analysis</p></li><li><p>Conclusions</p></li></ol><p></p><h3>The Data</h3><div><hr></div><p>Our analysis focuses solely on USD-M Binance Futures for USDT pairs. This is the most liquid market for trading digital assets. We will use the range of data from 2025-01-01 to 2025-12-31. Our data is tick level and encompasses every orderbook update, and every trade that occurred over that duration. We use BTCUSDT, ETHUSDT, and SOLUSDT for this analysis. In the later articles we will expand the universe, but shrink the date range (to keep things computationally feasible - full depth data is massive)</p><p>Data is where it all starts, and having a high quality data provider is one of the most important things to consider when doing HFT analysis. It is typical of most HFT firms that data is collected internally using custom data scrapers to ensure that the data has representative latency statistics of their actual setup. In lieu of this, we will be using Tardis, which is a high quality institutional dataset for tick data in digital asset markets. We use the below endpoints:</p><ol><li><p>trades</p></li><li><p>quotes</p></li><li><p>incremental_book_L2 </p></li></ol><p>We pre-process the trade and quote data into an OHLCV dataset, made of 5s bars, where we have volume data derived from trades, and open, high, low, close derived from quote mid-price. We also use quotes to get our top of book best bid/ask which will be one of the features in our article today. Please note that the quote dataset from Tardis is generated from the book deltas feed and not from the quote feed. </p><p>Then, we take our OHLCV dataset, and calculate the close to close mid-price returns. From here we shift these returns to create 5s forward returns. Additionally, we generate a disjoint 15s return which runs from t+5s to t+15s. This lets us separate effects on the 5s timeframe from the 15s timeframe without needing to use a markout analysis. </p><p></p><h3>The Alphas</h3><div><hr></div><p>We will be testing the below alphas:</p>
      <p>
          <a href="https://www.algos.org/p/hft-alphas-pt-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[HFT Alpha Research 101]]></title><description><![CDATA[How to research an HFT alpha]]></description><link>https://www.algos.org/p/hft-alpha-research-101</link><guid isPermaLink="false">https://www.algos.org/p/hft-alpha-research-101</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Tue, 02 Jun 2026 16:15:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d6XX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d6XX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d6XX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d6XX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d6XX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d6XX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d6XX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg" width="1203" height="607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:607,&quot;width&quot;:1203,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;High Frequency Traders. High-frequency trading (HFT) is a&#8230; | by We Are  Atomic Fund | Atomic Fund | Medium&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="High Frequency Traders. High-frequency trading (HFT) is a&#8230; | by We Are  Atomic Fund | Atomic Fund | Medium" title="High Frequency Traders. High-frequency trading (HFT) is a&#8230; | by We Are  Atomic Fund | Atomic Fund | Medium" srcset="https://substackcdn.com/image/fetch/$s_!d6XX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d6XX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d6XX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d6XX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafec5168-d95a-4a7f-87cf-7fb1bf96f520_1203x607.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>I have found many proprietary HFT and MFT alphas in my time as a quant and have monetised them as part of different desks / books. In today&#8217;s article, I will do a walkthrough of how I personally approach it and explain how to find alpha in the HFT domain. We will walk through how to research short term alphas for either MFT execution or skewing into as part of an HFT strategy. </p><p>We will cover backtesting, factor modelling, residualization, correlation testing, horizon analysis, forecasting, monetisation, and more. </p><p>This is one of the core ways to drive profitability for any HFT desk and is a skill which can make or break the performance of a pod based on whether the managers know how to develop alphas or not. </p><p></p><h3>Index</h3><div><hr></div><ol><li><p>Introduction</p></li><li><p>Index</p></li><li><p>The Research Data Setup</p></li><li><p>HFT Factors</p></li><li><p>Backtesting Signals</p></li><li><p>Similarity Analysis</p></li><li><p>Horizon Analysis</p></li><li><p>Forecasting</p></li><li><p>Monetisation</p></li></ol><p></p><h3>The Research Data Setup</h3><div><hr></div><p>The first part we need to cover is our research data. We need to produce various lookahead targets to forecast. A reasonable setup is:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;acfc349f-a983-4646-9287-84c5d63b22d0&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">1s, 3s, 5s, 15s, 1min, 5min, 15min</code></pre></div><p>Below 1s timeframes can also be forecasted, although timeframes like 100ms forecast often require low latency and the shorter you go the more you rely on breakdowns of the events that transpired as opposed to detailed statistical analysis of features performances. </p><p>Low latency events are often very deterministic in their signal and you can clearly assert why certain behaviours are happening with only a handful of samples. I&#8217;ve written about this before in one of my prior articles:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;283621f5-f944-4080-a8b8-c1c01656514c&quot;,&quot;caption&quot;:&quot;Introduction&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Timeframes &amp; Research Types&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:101799233,&quot;name&quot;:&quot;Quant Arb&quot;,&quot;bio&quot;:&quot;Quantitative Researcher, Digital Assets. Talking about: Statistical arbitrage, CTA, market making, execution, and other quant things. \&quot;Break the exchange or the exchange breaks you\&quot;&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aJW2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c151440-e169-41fb-9135-2efc1de4390a_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2024-05-14T15:42:57.104Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TtyQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c33fad8-7c73-4a37-9dd4-744ec4ab0905_1024x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.algos.org/p/timeframes-and-research-types&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:144598870,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:26,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1392884,&quot;publication_name&quot;:&quot;The Quant Stack&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!1nam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d11d4ff-8ca9-48a4-b1d4-9d7cd609f7b2_391x391.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>When constructing our return targets it is wise to always use right labelled, left closed aggregation. We should also use disjoint return intervals, there should be no overlap. For example if our timeframes were 1min, 5min, and 15min we would do:</p><p>t+0 to t+1</p><p>t+1 to t+5</p><p>t+5 to t+15</p><p>We would NOT do:</p><p>t+0 to t+1</p><p>t+0 to t+5</p><p>t+0 to t+15</p><p>This is because we want to be able to distinguish the effects and their timeframes. If I test a very strong alpha with roughly 1minute of strength it will show as working on 1min, 5min, and 15min if I do not use disjoint returns. However, if I test 5_15 as my interval then I will not see it, nor will I see it in 1_5 so I know exactly that it only works for 1min. Additionally, we should not use trade bars to get our returns. We need to use mid-price to calculate our return targets. This is because there will be significant bid/ask bounce in illiquid names which will make the trade bars have a much stronger reversal effect than actually exists. </p><p></p><h3>HFT Factors</h3><div><hr></div><p>What is a factor model on the HFT timeframes, and why do we need it for our alpha research pipeline? The idea of risk premiums disappears when we enter the HFT world. All of our factors will be in the high single or even double digit Sharpe ranges pre-fees, and unmonetizable post-fees (at least on their own). We should not think of factors here as some sort of inherent risk premium, but instead as any other alphas. Simply alphas we deem very important. </p>
      <p>
          <a href="https://www.algos.org/p/hft-alpha-research-101">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Analysing Real Fills]]></title><description><![CDATA[Some interesting statistics about maker fills on Binance]]></description><link>https://www.algos.org/p/analysing-real-fills</link><guid isPermaLink="false">https://www.algos.org/p/analysing-real-fills</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Wed, 27 May 2026 10:50:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z_Jy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b958935-86a7-4183-a152-e3cb9e825cca_1280x691.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>Today&#8217;s article will be a concise analysis of some fill data I&#8217;ve collected on Binance Linear Futures for a top 50 universe comprising about 35,000 real fills. These were collected recently, only over the last 4 days, by ping-ponging the book with the intention of collecting data.</p><p>This is supplied with the intention of helping traders make decisions about making into their positions better. We make many interesting findings around the best ways to quote and how to improve fills. </p><p>The quotes are updated fairly fast using low-latency code colocated in AWS Tokyo nearby the Binance server in the data centre. This however is not necessarily reflective of the fastest systems out there, and only a reasonable job of latency optimisation. </p><p>The article is rather short and simply presents some interesting results; another new article is coming out soon!<br></p>
      <p>
          <a href="https://www.algos.org/p/analysing-real-fills">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[More Advanced Latency Tricks!]]></title><description><![CDATA[6 Proprietary Tricks To Boost Your Latency]]></description><link>https://www.algos.org/p/more-advanced-latency-tricks</link><guid isPermaLink="false">https://www.algos.org/p/more-advanced-latency-tricks</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Sun, 26 Apr 2026 13:04:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TXxN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TXxN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TXxN!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 424w, https://substackcdn.com/image/fetch/$s_!TXxN!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 848w, https://substackcdn.com/image/fetch/$s_!TXxN!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 1272w, https://substackcdn.com/image/fetch/$s_!TXxN!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TXxN!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif" width="512" height="405" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:405,&quot;width&quot;:512,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Nanex - JTools 3D Depth Mapper (RealTime)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Nanex - JTools 3D Depth Mapper (RealTime)" title="Nanex - JTools 3D Depth Mapper (RealTime)" srcset="https://substackcdn.com/image/fetch/$s_!TXxN!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 424w, https://substackcdn.com/image/fetch/$s_!TXxN!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 848w, https://substackcdn.com/image/fetch/$s_!TXxN!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 1272w, https://substackcdn.com/image/fetch/$s_!TXxN!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ccef942-6cc2-43bb-a130-017890aef359_512x405.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>In today&#8217;s article, we will walk through 6 novel latency tricks for crypto exchanges which so far are entirely unseen. To date, none of these latency optimisations have been published for the public to view and are exclusively accessible to Quant Arb readers. I hope you all enjoy!</p>
      <p>
          <a href="https://www.algos.org/p/more-advanced-latency-tricks">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Industry]]></title><description><![CDATA[Comments on how firms are structured and PnL seats]]></description><link>https://www.algos.org/p/the-industry</link><guid isPermaLink="false">https://www.algos.org/p/the-industry</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Mon, 20 Apr 2026 19:54:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!06Yb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!06Yb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!06Yb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 424w, https://substackcdn.com/image/fetch/$s_!06Yb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 848w, https://substackcdn.com/image/fetch/$s_!06Yb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!06Yb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!06Yb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg" width="687" height="396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:396,&quot;width&quot;:687,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;List of 100+ Quant Firms (HFTs, Hedge funds, Prop shops, Investment Banks,  Asset Management firms) 1. Akuna Capital 2. Ansatz Capital 3. Aquatic 4.  AQR Capital 5. BAM 6. Arrowstreet Capital 7&#8230; | Quant Hub | 15 comments&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="List of 100+ Quant Firms (HFTs, Hedge funds, Prop shops, Investment Banks,  Asset Management firms) 1. Akuna Capital 2. Ansatz Capital 3. Aquatic 4.  AQR Capital 5. BAM 6. Arrowstreet Capital 7&#8230; | Quant Hub | 15 comments" title="List of 100+ Quant Firms (HFTs, Hedge funds, Prop shops, Investment Banks,  Asset Management firms) 1. Akuna Capital 2. Ansatz Capital 3. Aquatic 4.  AQR Capital 5. BAM 6. Arrowstreet Capital 7&#8230; | Quant Hub | 15 comments" srcset="https://substackcdn.com/image/fetch/$s_!06Yb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 424w, https://substackcdn.com/image/fetch/$s_!06Yb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 848w, https://substackcdn.com/image/fetch/$s_!06Yb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!06Yb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe38e77e7-b761-4c1d-bfa6-64d33084cee2_687x396.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>I think the ways the industry works are very mysterious at times, and by that I mean the quant trading industry (proprietary trading or quantitative hedge funds). I have sat in a PM-like seat multiple times now and thought I&#8217;d sit down to talk about the differences in firm structures, how the compensation typically looks, and what are the smart choices to make as a PM.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.algos.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Quant Stack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>Index</h3><div><hr></div><ol><li><p>Introduction</p></li><li><p>Index</p></li><li><p>IC vs PM</p></li><li><p>Compensation</p></li><li><p>Cost Attributions</p></li><li><p>External vs. Internal</p></li><li><p>Final Words</p><p></p></li></ol><h3>IC vs PM</h3><div><hr></div><p>I think this is one of the biggest differences in how things are setup at firms. There is, of course, a middle ground between these two types of setups but it is a great classifier for thinking about firm structures. These are: IC - individual contributor and PM - portfolio manager. </p><p>In individual contributor roles there is much more collaboration and each individual works on improving the business as a whole. It is much more stable as a job since as long as you do your job well you are not very likely to lose that job (doing your job poorly is a different story of course). There is no risk that the PM above you blows up and you lose your job or you simply fail due to some other assortment of reasons despite working hard, and being smart. The base pay is typically higher, but the bonuses and control is much more limited. These are firms like HRT, Jane Street, Jump, XTX, etc where you hear about these staggeringly large compensations, but it is mostly in the form of base and a fairly bounded (both on the up and down side) bonus.  Using HRT as an example, their entire codebase is entirely open for all employees and there is no silo-ing between teams. This makes for a great learning environment, and removes one large risk / challenge of being a PM which is knowledge acquisition (if you are never mentored by the right people, and get under a bad PM it is very hard to be a successful PM purely from scratch). On the downside, it also means that your efforts get blended into the efforts of others, and the career progression ladder requires you to be a lot more collaborative. For most of these IC type firms, if you want to move up you need to become management and start running internal teams / becoming a head of some sort of project / division. The kind of PnL tied compensation that happens on the PM side just isn&#8217;t do-able without working very closely with many others in these IC roles, and even in this case it will be a discretionary bonus and the effective % you get will be a lot lower than if you were a PM. </p><p>For PM structured businesses, you will either be a portfolio manager, sub-PM, or working under a PM (their researcher / developer). The experience here can be wildly different depending on how good of a PM you are or how good the PM you are under is. These are usually the characters you hear about having made 10s or even in some cases hundreds of millions of dollars. The bonuses given by the PM often can also be large for the people working below these successful PMs, but more likely the money made by the people under said successful PM will come from them taking that knowledge the PM has passed on and becoming a PM themselves (hopefully successfully). If they become a PM under the PM (as a sub-PM) then all parties are usually happy and the PM takes some chunk (either explicitly or discretionarily) of the sub-PMs would-be cut if they were a full PM. This is not to say the sub-PM has their own cut - usually they are simply part of the PnL of the main PM (which is how they get their backing in the first place &#8212; via the main PM backing them with their own PnL on the line) and as such if the main PM loses a lot of money then there is no PnL cut to pay out to the sub-PM even if they did well. </p><p>For PMs, the PnL is often a direct formula, especially in the more pod like shops such as Tower, but in firms like QRT, PMs receive discretionary bonuses in most cases. That said, when it is discretionary there is usually much more communication between teams whereas in some firms such as Tower there is very little communication. In some cases you can get fired for talking to other pods about their book! Millennium is the largest &#8220;PM&#8221; shop and some of its pods are incredibly large, to the point of being practically their own firm. One of these is WorldQuant (WQ) which is actually a pod inside of Millennium. Within WQ it is structured such that the data team prepares data, researchers engineer features (alphas) and then PMs handle forecasting and portfolio construction, and finally execution teams deal with putting the positions on. In WQ, you can be one of 3 types of PMs:</p><ol><li><p>EQW </p></li><li><p>Specialist</p></li><li><p>Independent</p></li></ol><p>EQWs can trade any asset class and this is more senior than specialist; you typically have to work towards this position. Specialists can only trade a very limited range of assets. Independent PMs can trade whatever they want typically and come in with their own infrastructure. They often see a large chunk of the pipeline from data to execution (although not always all of it) unlike the other two types of PMs who will only perform forecasting and portfolio construction. This is just a breakdown of the structure at one firm, every firm has its own structure and most PMs tend to lean more towards the independent PM setup with perhaps some help on execution and data provided but often their own signals. This is also an MFT specific setup, HFT is by definition almost always an independent PM-like setup. Tower however does have a latency team, tooling, and infrastructure provided to PMs (as far as I know for the crypto side) so there is help! </p><p>I find IC roles tend to be more for big HFT shops and PM roles tend to lean more MFT. This is the nature of the business: you can&#8217;t do equities HFT with a 3 person team, but you can do MFT in equities with a team of that size (provided legal, operations, etc are provided like any normal pod setup). I have seen small teams like this in crypto (and other asset classes) but some types of trading require really large teams to be competitive and there isn&#8217;t much bargaining ability for an explicit PnL cut when you have a team that large and with lots of infrastructure. You can&#8217;t leave with the team easily and the bargaining chips are gone. If an MFT (or HFT in an asset class where small teams are practical) PM leaves with his researchers and developers below him, short of non-competes, and NDA/IP protections they will still be able to rebuild at a new firm once the garden leave is up.</p><p></p><h3>Compensation</h3><div><hr></div><p>I am not as well positioned to give an idea of what IC roles pay since they vary and I have mostly worked in PM positions, but recruiters often publish reports on industry compensations if you can get your hands on it. I know <a href="https://www.selbyjennings.com/en-us/industry-insights/compensation-guides/global-quantitative-analytics-research-trading-salary-guide">Selby Jennings has one</a> (although I thought it was quite high, probably for top funds / NYC).</p><p>I think it is worth bringing up that most of the industry does NOT get paid 300k+ base salary. This is what Citadel, JS, etc pays, and even then this their top offices where the best talent is. If you are in a smaller office or on a team which does not drive as much PnL for the firm you may get paid less. If you are junior and are at a small or medium firm (non-top tier), you will not break $200,000 (base) a year, and without a very significant amount of PnL being generated there&#8217;s a high chance the total compensation remains below this mark. In fact, I have seen firms pay less than $100k base in some rare cases, and in many common cases traders/quants paid $120,000 to $160,000 (TC). There are a lot of people who want to work in the industry afterall. A large part of the industry does not pay these huge sums of money you will see online as base salary. It would be irresponsible I think if I did not mention this.</p><p>For PM roles, I&#8217;ll cut straight to it. Typical compensation I&#8217;ve seen and negotiated around has been $200,000 - $350,000 USD for base compensation, and I have seen it go up to about $500,000 for others. I expect established teams who have consistently made VERY significant PnL have boosted this up much higher, but this is typically a reasonable expectation of compensation (crypto specific). This is a range I have heard from others and have seen in my own career as a common range. </p><p>For PnL cuts, SMA deals typically sit in the 20-30% cut range, and PMs get around:</p><ul><li><p>5% at WQ (quite low, but lots of infrastructure and all signals provided)</p></li><li><p>15-20% at Millennium </p></li><li><p>10-20% is reasonable for firms like QRT, Point72 etc</p></li></ul><p>Proprietary trading firms pay a lot more:</p><p>20-50% is the usual range. I think most offers sit around 25-35% and if you do better you will work up towards 40%, and if you are a top team you will get 50%. It doesn&#8217;t go beyond 50% as far as I&#8217;ve seen, but I know pods where it is 50/50 their capital and the firm&#8217;s capital so the effective cut then rises significantly. Often the charge for running your own capital is 0-20%, some firms offer deals where it&#8217;s entirely your own capital and you can use their top fee accounts etc.</p><p></p><h3>Cost Attributions </h3><div><hr></div><p>One of the benefits of being an internal PM at a firm is that you get all your costs paid for you, but they do still come back to you&#8230; Costs will be taken out of your PnL or your cut depending on your deal. Often some costs are paid entirely by the firm (this can be only operations/compliance or can go as far as you only paying for your salary - but I&#8217;ve never seen someone pay nothing, although I&#8217;m sure it has happened for a lucky pod somewhere out there).</p><p>The term &#8220;draw&#8221; is what comes out of your PnL cut and usually refers to your salary, with top of the line (business expenses) expenses coming out of the PnL itself. Costs may include:</p><ul><li><p>Latency Tech (latency line providers like Avellacom, Mckay Brothers, and BSO for HFT pods - crypto specific names)</p></li><li><p>Servers (research or production servers)</p></li><li><p>Datasets</p></li><li><p>Salaries of your team</p></li><li><p>Operations / Compliance / Legal (often charged as a cost of &#8220;hey you pay X for our internal legal/ops team and this is mandatory&#8221;) (one of the more likely items to not be charged)</p></li><li><p>Office costs (sometimes charged on a per seat basis if you are not renting your own office)</p></li></ul><p>This obviously does not apply to IC roles. I find it is almost the opposite way around where IC roles often give very strong benefits (rules like you can expense up to &#163;100+ if you are doing an activity with 2 or more other colleagues which can be things like surfing lessons) whereas PM seats do not need to woo hires with special benefits &#8212; it&#8217;s eat what you kill, and if you kill a lot you eat a lot (big fat bonus) and if not you starve (get fired). </p><p>On the note of getting fired, I have seen some people make it 2 years without making any money before getting fired! But I think after about a year your time is up at most shops, and often you should be aiming to have something making money before 6-9 months since that&#8217;s when the heat turns up! Realistically you should at the 3 month mark have something to show for yourself. It will depend on what your setup is and how much infrastructure needs to be built, how desperate the firm is (not ideal), how well you can make up excuses (also not an ideal factor to have to use!), and whether you have come in with prior infrastructure which  can speed up deployment time. Your time will eventually run out if you don&#8217;t make money as a PM or the PM that you are under doesn&#8217;t make money so ideally try to make money! If you are under a PM and they get fired you will either be fired or moved to another team. Depends on the firm, and how well others thought of you. I know great quants who were sub-PMs or researchers under an unsuccessful PM and sadly lost their jobs despite doing everything right on their part. </p><p></p><h3>External v.s. Internal</h3><div><hr></div><p>We have so far talked about internal PMs, but there are also external PMs. It is usually some sort of SMA deal where you get to keep your IP, but they pay you some relatively small base in the form of management fees (they also may not) and they often times will cover your business expenses provided they are not excessive. It is a good deal for the firm because they are paying much less than usual (you will not get away with asking for 100s of thousands in costs, maybe up to 20-50k in costs although good chance it&#8217;s even less and then get 2% of the capital under management if they even pay that out). Sometimes, no such costs are covered and you are out of luck, but it is a reasonable setup if you&#8217;ve got low costs, some savings to live on, and want to be in a PM seat with full ownership of the IP in the end (which lets you move around with minimal friction and thus ensure your terms are fair / you are not locked in).</p><p></p><h3>Final Words</h3><div><hr></div><p>I hope this was insightful and provided some information to newcomers in this industry or maybe even those who have been in it for a bit. I may write a second part about some other thoughts on this matter if the audience enjoys this article a lot. </p><p><em>Disclaimer: I may be off about one specific firm doing something, things change! but this is written to the best of my knowledge about the industry having worked in it for a fair while in PM-level roles. </em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.algos.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Quant Stack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Options Alphas Pt. 2 ]]></title><description><![CDATA[Two more options alphas, and combining our alphas]]></description><link>https://www.algos.org/p/options-alphas-pt-2</link><guid isPermaLink="false">https://www.algos.org/p/options-alphas-pt-2</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Tue, 14 Apr 2026 15:52:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4bHO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>In the last article, we covered 3 working alphas, 2 weaker alphas and one strong alpha. Now we will present a medium strength alpha and a second strong alpha then show how to combine them to form a very profitable trading strategy both before and after real world trading costs. In the final part to this series (the next article), we will explain how to trade and monetise the alphas although the explanation today will be more than sufficient to make money trading (even the first article presented enough alpha standalone to make money). </p><p>We combine to form the below curve:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4bHO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4bHO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 424w, https://substackcdn.com/image/fetch/$s_!4bHO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 848w, https://substackcdn.com/image/fetch/$s_!4bHO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 1272w, https://substackcdn.com/image/fetch/$s_!4bHO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4bHO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png" width="1165" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:1165,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:120159,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.algos.org/i/194199253?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4bHO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 424w, https://substackcdn.com/image/fetch/$s_!4bHO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 848w, https://substackcdn.com/image/fetch/$s_!4bHO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 1272w, https://substackcdn.com/image/fetch/$s_!4bHO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb541c1fe-6b81-4c99-9ce9-ebcb446f03c7_1165x588.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Which when we rebalance every 72h we achieve 2.7 Sortino, and 110 bps on dollars traded!</p><p>Much like the prior article this will be fairly short. There is little reason to ramble on when I am merely presenting working alphas to the reader, I will resume more educational material in further articles in this series (research processes, and data pipelines to find said alphas). </p><p></p>
      <p>
          <a href="https://www.algos.org/p/options-alphas-pt-2">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Options Alphas Pt. 1]]></title><description><![CDATA[We present 3 options alphas for trading BTC, ETH, SOL, and XRP]]></description><link>https://www.algos.org/p/options-alphas-pt-1</link><guid isPermaLink="false">https://www.algos.org/p/options-alphas-pt-1</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Tue, 07 Apr 2026 21:04:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b23bf4f8-9b55-4f0b-8a41-a62cf7dbe977_862x471.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>In this article, the first in a three part series, we will present 3 working options alphas where we use options data to predict perpetual prices. Over the three articles we will present 5 alphas which achieve a combined performance above 2 Sharpe combined and 110 bps on dollars traded (All assets have sub-5 bps trading costs) on 72h rebalance (~1.5 Sharpe at 72h rebalance, ~2 Sharpe at 1h rebalance).</p><p>In the second article, we will share 2 more alphas ranging between 1 and 2 Sharpe, and show how to combine them. Then we will analyse the signal as a fully monetizable strategy in the 3rd article. These alphas use options data to predict perpetual prices of BTC, ETH, SOL, and XRP on Binance, one of the 3 we will present today is shown below:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6B0j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6B0j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 424w, https://substackcdn.com/image/fetch/$s_!6B0j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 848w, https://substackcdn.com/image/fetch/$s_!6B0j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 1272w, https://substackcdn.com/image/fetch/$s_!6B0j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6B0j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png" width="1105" height="275" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:275,&quot;width&quot;:1105,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45246,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.algos.org/i/193503894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6B0j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 424w, https://substackcdn.com/image/fetch/$s_!6B0j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 848w, https://substackcdn.com/image/fetch/$s_!6B0j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 1272w, https://substackcdn.com/image/fetch/$s_!6B0j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff26dede4-031f-4f1c-98f5-e756798634ae_1105x275.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>The alphas are fairly uncorrelated and orthogonal (not perfectly, but still very good for all being from the same dataset type) as seen in the scree plot below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RfxK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RfxK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 424w, https://substackcdn.com/image/fetch/$s_!RfxK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 848w, https://substackcdn.com/image/fetch/$s_!RfxK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 1272w, https://substackcdn.com/image/fetch/$s_!RfxK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RfxK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png" width="1089" height="390" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:390,&quot;width&quot;:1089,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50358,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.algos.org/i/193503894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RfxK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 424w, https://substackcdn.com/image/fetch/$s_!RfxK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 848w, https://substackcdn.com/image/fetch/$s_!RfxK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 1272w, https://substackcdn.com/image/fetch/$s_!RfxK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac069d7-b48a-4bc3-ae4e-b6271cba5020_1089x390.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I think this series will be a real treat for readers as we present real working alpha which can actually be monetized now with no part left unexplained (other than data aggregation methods as this is very extensive, we will explain how to create the features of course though). </p><p>As with the previous article, I will not bore you with excessive writing as these are not complicated ideas and the work has already been done by myself in finding them, I will provide the feature, how to replicate it, and the performance. </p><p></p>
      <p>
          <a href="https://www.algos.org/p/options-alphas-pt-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A Real HFT/MFT Alpha]]></title><description><![CDATA[An advanced 1h frequency cross sectional alpha]]></description><link>https://www.algos.org/p/a-real-hftmft-alpha</link><guid isPermaLink="false">https://www.algos.org/p/a-real-hftmft-alpha</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Mon, 06 Apr 2026 14:49:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z9yu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64bc8faf-c3d4-472a-a309-236e80cce928_1335x1115.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>In this article we will detail 2 (two!) proprietary orderbook alphas which achieve over 3 sortino when combined and over 2 Sharpe each individually. To date, there is no public literature documenting this alpha and is an entirely novel creation presented exclusively to readers of the Quant Arb Substack. We achieve the below performance as a raw signal using cross sectional z-score portfolio construction:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BXOo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BXOo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 424w, https://substackcdn.com/image/fetch/$s_!BXOo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 848w, https://substackcdn.com/image/fetch/$s_!BXOo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 1272w, https://substackcdn.com/image/fetch/$s_!BXOo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BXOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png" width="1216" height="298" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:298,&quot;width&quot;:1216,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:46834,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.algos.org/i/193353092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BXOo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 424w, https://substackcdn.com/image/fetch/$s_!BXOo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 848w, https://substackcdn.com/image/fetch/$s_!BXOo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 1272w, https://substackcdn.com/image/fetch/$s_!BXOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff40c99e-d471-4894-9e08-d9a8531020a4_1216x298.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h3>The Alpha</h3><div><hr></div>
      <p>
          <a href="https://www.algos.org/p/a-real-hftmft-alpha">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Options MFT Strategies ]]></title><description><![CDATA[Finding alpha in options markets]]></description><link>https://www.algos.org/p/options-mft-strategies</link><guid isPermaLink="false">https://www.algos.org/p/options-mft-strategies</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Thu, 19 Mar 2026 14:24:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ny-Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ny-Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ny-Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ny-Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ny-Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ny-Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ny-Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Vola Curves | Vola Dynamics&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Vola Curves | Vola Dynamics" title="Vola Curves | Vola Dynamics" srcset="https://substackcdn.com/image/fetch/$s_!ny-Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ny-Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ny-Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ny-Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb20268bd-4a94-4211-845b-703764484a2a_1777x1333.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>Personally, I feel as though the whole world of options statistical arbitrage has always been fairly confusing for most people. In my view, there&#8217;s 4 main ways to approach statistical arbitrage strategies using options (that I&#8217;ve worked with at least). I&#8217;m not talking about pairs trading here for those who may be a little confused, I&#8217;m instead talking about statistical medium frequency alphas that trade options. I will give the frameworks for modelling these effects and the ways in which alpha is often discovered.</p><p>This is perhaps one of the areas most shrouded in mystery (as if doing good statistical arbitrage research wasn&#8217;t hard enough). I&#8217;ll break it down in this article the ways that I&#8217;ve always approached the problem (all of which I&#8217;ve found to be fairly successful, although some a bit more than others)</p><p>We will talk only about strategies that directly trade options, and not about strategies that use information from options markets to trade. You can do that and it works well, although for crypto options effects are a fairly weak in my opinion and I&#8217;ve always had trouble monetising the metrics I found that worked partially because you can only really trade BTC/ETH (so it&#8217;s either BTC/ETH relative value or a time series strategy, which rules out cross sectional which would be my preferred way do it if I could), but mostly because the options market in crypto is a much smaller part of the total volume compared to markets like equities where options flows are big game. Anyways, you can still use options as signals in linear stuff, but that&#8217;s a story for another time.</p><p></p>
      <p>
          <a href="https://www.algos.org/p/options-mft-strategies">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[It’s All Alphas]]></title><description><![CDATA[The core driver of PnL across strategies]]></description><link>https://www.algos.org/p/its-all-alphas</link><guid isPermaLink="false">https://www.algos.org/p/its-all-alphas</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Sat, 07 Mar 2026 18:09:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VRNO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VRNO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VRNO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VRNO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VRNO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VRNO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VRNO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg" width="584" height="350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:350,&quot;width&quot;:584,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Alpha Vector Art, Icons, and Graphics for Free Download&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Alpha Vector Art, Icons, and Graphics for Free Download" title="Alpha Vector Art, Icons, and Graphics for Free Download" srcset="https://substackcdn.com/image/fetch/$s_!VRNO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VRNO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VRNO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VRNO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d6bf4c-199b-4ed6-9d7d-110cf7290343_584x350.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>Alphas make up the core of what drives a large majority of firms trading PnL. You can have complicated quoting rules, great models, amazing optimizers, advanced vol curves, or fast latency, but the gist of most trading firms edge can be compiled into some alpha representation. Even execution relies heavily on &#8220;execution alphas&#8221; in order to deliver highly effective execution costs to trading strategies. In this article, we will cover how to structure and trade alphas in the context of MFT, HFT, execution trading, arbitrage, and options (OMM + options MFT). </p><p>Out of all the ways to find an edge, one stands out the most and it is having very strong alphas signals. HFT strategies use this, MFT strategies use this, options strategies use this, execution algorithms use this - practically all advanced trading operations will have some set of proprietary alphas they use to inform their understanding of where price is going. The only exception will be arbitrage, but even that we will see becomes quite alpha like in some cases.</p><p></p><h3>MFT Alphas</h3><div><hr></div><p>This is where everyone hears about alphas mostly, and when I say alphas I am specifically talking about features or &#8220;formulaic alphas&#8221;. You can generate logical alphas as well, but I find these to be very inefficient. The pipeline I will mention, is a very well known pipeline - one I have talked about in the past. You take in data, you engineer it into your features or &#8220;alphas&#8221; which is where the true profitability lives and then from here everything else serves as a performance enhancer which builds on your alphas. This is your forecasting, and then your optimizer. I like to view each block in the pipeline as a converter. We convert data into alphas (feature engineering), alphas into forecasts (forecasting / ML), forecasts into target portfolios (portfolio optimization) and target portfolios into individual trades (execution - which we will go over in the next section). The reason logical alphas are inefficient is because they bypass the portfolio optimization and forecasting stages and directly output a target portfolio in many cases. You can include them in the pipeline, but it is quite tricky to use binary outputs, and the best case is that you find a way to represent the idea as a formulaic alpha or run it separately from your formulaic pipeline (they don&#8217;t tend to like to work together and this is often what has to occur). </p><p>For MFT, it couldn&#8217;t be more clear that the alphas are the foundation. In logical form they are the whole strategy and in formulaic form they are the base of what makes all the money. If you do not have good alphas, you will find it impossible to make any money trading in any reasonably competitive market. Unless you find some horribly inefficient market (in which case finding &amp; accessing said market is the alpha itself because such a thing is so rare!) you will rely on alphas to drive profits. Even in the case of a horribly inefficient market you will still need to have some alphas although they may be extremely basic such as quoting around Binance on a small exchange (in this case Binance&#8217;s price is the feature itself). This is a common mistake among beginner quants - they falsely believe that you can save bad features with advanced &amp; complicated machine learning. Mentally you should view what happens after the alphas as a multiplier, <em>ESPECIALLY</em> machine learning as it is the most multiplier like of them all. 2 * 0 is still 0! Portfolio optimization is also important and can save you from trading yourself to death, but the boosts from here on are very incremental - and the alpha is driven by your alphas (aptly named!). </p><p></p><h3>Execution</h3><div><hr></div><p>How does really high-performance execution work? Well, at some level it is very much an HFT problem, since you are trying to get limit orders filled with great markouts (hence having some HFT overlap), but at a higher timeframe it becomes an alpha problem. Say we want to do a 1h TWAP. We can choose to speed up or slow down our execution based on our view of liquidity and our view of price. Part of this is deciding the parameters of the execution algorithm itself, this is fairly simple for a market order TWAP as we can take the alpha decay of our signals we want to trade and the curve for how our execution improves as we wait longer and find the optimal intersection through interval iteration where we maximize total edge (inclusive of trading costs). From here, we can figure out the optimal number of chunks and how aggressive to be on limit orders through similar forms of analysis. This gets us to a fairly basic execution setup. </p>
      <p>
          <a href="https://www.algos.org/p/its-all-alphas">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Ultimate Crypto Latency Guide]]></title><description><![CDATA[Implementing and understanding latency optimisation infrastructure]]></description><link>https://www.algos.org/p/ultimate-crypto-latency-guide</link><guid isPermaLink="false">https://www.algos.org/p/ultimate-crypto-latency-guide</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Sun, 08 Feb 2026 11:02:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0-N-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0-N-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0-N-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0-N-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0-N-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0-N-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0-N-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg" width="800" height="568" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:568,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60012,&quot;alt&quot;:&quot;10 Charts Show Trading on Early Info - Business Insider&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="10 Charts Show Trading on Early Info - Business Insider" title="10 Charts Show Trading on Early Info - Business Insider" srcset="https://substackcdn.com/image/fetch/$s_!0-N-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0-N-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0-N-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0-N-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fe7aa6-8004-4c4a-932d-e1af77e4db54_800x568.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>When it comes to HFT strategies, you often reach a point where latency cannot be ignored. Simply having great alphas and modelling is not enough &#8212; you also need to be competitive on the latency front. Most of this is concentrated on the cloud network engineering front, so in today's article, we catalogue many different latency tricks.</p><p>We will dive into &gt;10 different latency optimisations in this article to help you improve your latency setup.</p><p>Latency touches all elements of HFT strategies. For arbitrage strategies you are often competing against a couple other participants on any given market and having even a mild latency edge is often enough to thrash the competition, ensuring you aren&#8217;t left picking up their crumbs. It&#8217;s not just arbitrage strategies that need low latency, market making (which most arbitrage strategies eventually lead to since making into opportunities is the optimal approach), needs low latency in order to ensure your quotes are up to date with the latest estimates of global fair value (which a large part is just data feeds of various exchanges and getting that fast). Even statistical strategies often have latency requirements when they&#8217;re run on the HFT timescales.</p><p>This is all to say that latency is extremely important in the HFT world, and by not learning how to optimize it &#8212; you are missing out on a valuable skill which can make the difference between thrashing your competition.</p><p></p><h3>Index</h3><div><hr></div><ol><li><p>Latency Tricks:</p><ol><li><p>WS Rotate</p></li><li><p>FIX feed </p></li><li><p>Machine Gun Orders</p></li></ol></li></ol>
      <p>
          <a href="https://www.algos.org/p/ultimate-crypto-latency-guide">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Forecasting Done Right]]></title><description><![CDATA[Various thoughts on forecasting]]></description><link>https://www.algos.org/p/forecasting-done-right</link><guid isPermaLink="false">https://www.algos.org/p/forecasting-done-right</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Mon, 15 Dec 2025 14:02:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uUeW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uUeW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uUeW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 424w, https://substackcdn.com/image/fetch/$s_!uUeW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 848w, https://substackcdn.com/image/fetch/$s_!uUeW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 1272w, https://substackcdn.com/image/fetch/$s_!uUeW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uUeW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png" width="751" height="406" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:406,&quot;width&quot;:751,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50797,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.algos.org/i/170216959?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uUeW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 424w, https://substackcdn.com/image/fetch/$s_!uUeW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 848w, https://substackcdn.com/image/fetch/$s_!uUeW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 1272w, https://substackcdn.com/image/fetch/$s_!uUeW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d9dd7b-7599-4664-90af-89d5d39bf26f_751x406.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>There is no doubt that regardless of whatever area of quant you end up in, you will end up having to do some degree of forecasting. Whether that is forecasting returns (for stat arb strategies), funding rates (for funding arb strategies), volumes (for execution strategies), or even parameters is a vol curve, it is a problem that comes up time and time again in the work of quants. Today, me and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Systematic Long Short&quot;,&quot;id&quot;:425089357,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!BZId!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd898421-103c-4b91-8f72-08c054b4d375_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;ad264e19-86cd-4be1-9345-335a467d5dc0&quot;}" data-component-name="MentionToDOM"></span> are going to be walking through our thoughts on how to do forecasting properly with some practical tips. We focus primarily on return forecasting in a statistical arbitrage manager context.</p><p>[This article is available to readers of either of our publications in it&#8217;s entirety so feel free to subscribe to either!]</p><p></p><h3>Index</h3><div><hr></div><p><strong>[Quant Arb]</strong></p><ol><li><p>Introduction</p></li><li><p>Index</p></li><li><p>What are we forecasting</p></li><li><p>Implicit Forecasts (and why they work!)</p></li><li><p>Models</p></li><li><p>Features come first</p></li><li><p>What doesn&#8217;t work</p><ol><li><p>Dropping features at the model level</p></li><li><p>Dimensionality reductions</p></li><li><p>Lots of bad features</p></li></ol></li><li><p>Forecasting isn&#8217;t the best edge&#8230; </p></li></ol><p><strong>[Systematic Long Short] - On Combining Forecasts</strong></p><ol start="9"><li><p>The Limits Of Diversification</p></li><li><p>Optimal Forecast Weighting</p></li><li><p>When Forecast Combining Breaks Down</p></li><li><p>A Few Simple Heuristics&#8230;</p></li></ol>
      <p>
          <a href="https://www.algos.org/p/forecasting-done-right">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Advanced Options Market Making]]></title><description><![CDATA[How to run a mature options market making strategy]]></description><link>https://www.algos.org/p/advanced-options-market-making</link><guid isPermaLink="false">https://www.algos.org/p/advanced-options-market-making</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Tue, 18 Nov 2025 21:59:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/61269509-3ca5-4cd4-b15b-55850714433d_699x373.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Introduction</h3><div><hr></div><p>So far we have covered how to get fair value when doing options market making, but we are yet to cover the complex parts relating to quote sizing, skewing, spreads, quoting OTC, quoting illiquids, quoting multiple exchanges, and the risks that we skew to avoid outside of the usual greeks (which are well known). </p><p>So today, in the 4th article in our options market making series, we will focus on completing the pipeline. </p><p></p>
      <p>
          <a href="https://www.algos.org/p/advanced-options-market-making">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Finding Arbitrage Opportunities]]></title><description><![CDATA[Where the best arbitrage opportunities are]]></description><link>https://www.algos.org/p/finding-arbitrage-opportunities</link><guid isPermaLink="false">https://www.algos.org/p/finding-arbitrage-opportunities</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Mon, 22 Sep 2025 20:20:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ejsU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ejsU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ejsU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ejsU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ejsU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ejsU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ejsU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg" width="734" height="401" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:401,&quot;width&quot;:734,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Super Dump Of Vintage/Retro Science Fiction Art - Imgur&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Super Dump Of Vintage/Retro Science Fiction Art - Imgur" title="Super Dump Of Vintage/Retro Science Fiction Art - Imgur" srcset="https://substackcdn.com/image/fetch/$s_!ejsU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ejsU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ejsU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ejsU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa07f4424-6b98-4766-92d5-01787037cbad_734x401.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>Half the work with arbitrage trading is figuring out where the opportunities are. You can make your system as advanced as you want, but if you can&#8217;t find the exchanges and products where all the returns are concentrated then you won&#8217;t be very profitable.</p><p>In this article, I explain what to look for when deciding on whether to add an exchange and even when you do integrate an exchange the reasons why the initial research showing arbs could be unrealistic (wash flow, internalized flow, etc).</p><p>Then, finally &#8212; the part most of you are deeply interested in, I explicitly share where the best arbitrage opportunities currently are and can actually be captured based on my own private research. </p><p></p>
      <p>
          <a href="https://www.algos.org/p/finding-arbitrage-opportunities">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Advanced Market Making]]></title><description><![CDATA[Step-by-step components of a market making system with advanced elements]]></description><link>https://www.algos.org/p/advanced-market-making</link><guid isPermaLink="false">https://www.algos.org/p/advanced-market-making</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Sat, 02 Aug 2025 13:32:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HWwX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HWwX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HWwX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HWwX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HWwX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HWwX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HWwX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg" width="600" height="378" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:378,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The NBBO flutter&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The NBBO flutter" title="The NBBO flutter" srcset="https://substackcdn.com/image/fetch/$s_!HWwX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HWwX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HWwX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HWwX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6310468e-0cdb-445c-b4dc-95000c2c49ea_600x378.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>So you want to do market making? Perhaps you&#8217;ve seen some screenshots of those double digit Sharpe charts doing huge returns, and want to do something a bit more advanced than a pure arbitrage based approach? Well, you&#8217;re in luck. In this article, we&#8217;ll break down each component of a proper market making system and how to do it successfully. </p><p>There is obviously a large gap between doing it very well on a small exchange and doing it very well on Binance. My definition of successful will lean towards the small exchange definition since if I had alpha on Binance then I&#8217;d be making a fortune. I&#8217;ve done that in past roles (not with the same team anymore to do it again), and it&#8217;s no small feat. We had some of the best latency tech out there, plus a large team and it still took lots of work. </p><p>In today&#8217;s article, we dig into how to do market making effectively and continue some of the points from the market making for dummies article with more advanced tricks as well as recaps of simpler parts (but with expanded information on how to do them properly that didn&#8217;t cross my mind to include when writing the past article).</p>
      <p>
          <a href="https://www.algos.org/p/advanced-market-making">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Beginner Mistakes in Quant]]></title><description><![CDATA[The most common mistakes we all make early in our quant journey]]></description><link>https://www.algos.org/p/beginner-mistakes-in-quant</link><guid isPermaLink="false">https://www.algos.org/p/beginner-mistakes-in-quant</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Sat, 12 Jul 2025 14:29:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AS-U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AS-U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AS-U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AS-U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AS-U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AS-U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AS-U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg" width="736" height="414" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:414,&quot;width&quot;:736,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Vintage Sci Fi HD Wallpaper | 1920x1080 | ID:61219 - WallpaperVortex.com&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Vintage Sci Fi HD Wallpaper | 1920x1080 | ID:61219 - WallpaperVortex.com" title="Vintage Sci Fi HD Wallpaper | 1920x1080 | ID:61219 - WallpaperVortex.com" srcset="https://substackcdn.com/image/fetch/$s_!AS-U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AS-U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AS-U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AS-U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F540f355c-87e2-4660-8aeb-c7bf7577f39b_736x414.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div>
      <p>
          <a href="https://www.algos.org/p/beginner-mistakes-in-quant">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Researching HFT Strategies]]></title><description><![CDATA[How to work well with high frequency data]]></description><link>https://www.algos.org/p/researching-hft-strategies</link><guid isPermaLink="false">https://www.algos.org/p/researching-hft-strategies</guid><dc:creator><![CDATA[Quant Arb]]></dc:creator><pubDate>Tue, 01 Jul 2025 20:33:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Mlvp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mlvp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mlvp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Mlvp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Mlvp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Mlvp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mlvp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg" width="735" height="413" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:413,&quot;width&quot;:735,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Retro Sci Fi Art 4k Wallpapers - Wallpaper Cave&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Retro Sci Fi Art 4k Wallpapers - Wallpaper Cave" title="Retro Sci Fi Art 4k Wallpapers - Wallpaper Cave" srcset="https://substackcdn.com/image/fetch/$s_!Mlvp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Mlvp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Mlvp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Mlvp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42852502-eb5d-43ba-8e33-ca8522ce58ca_735x413.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Introduction</h3><div><hr></div><p>This article is a mix of various thoughts I have about how to work well with HFT data and perform high quality quantitative research. HFT data is interesting to deal with because it&#8217;s cumbersome, slow, and often messy. You want to find out what happened but you need to dig through 20 different data types from your internal logs, and on top of that often the dataset is big enough to keep your server forever if you try to process any attempt at a multi-year backtest. </p><div class="pullquote"><p>How should we approach things such that we end up somewhere productive?</p></div><p>Well, that&#8217;s roughly what I aim to talk about in this article. I can&#8217;t promise this will be a detailed tutorial on how to be an HFT researcher, you won&#8217;t get anywhere near that far from reading articles - in fact, you&#8217;ll need to get working with the data itself if you want to travel that far (and probably get a bit of mentorship along the way as we all tend to get), but I do think this article provides insights that can only be acquired through many years of working with the data (even if to truly become a pro you need to spend some time with the data), I would argue that a lot of this information would otherwise take ages of toiling around to figure out. Part of my professional experience has involved running research in HFT operations and as part of that I have gained insights into how to organize the research process in order for it to produce useful results. I do hope this article is useful for those in the industry who have to work with HFT data regularly. These are observations from my experience working in various HFT operations.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.algos.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Quant Stack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://www.algos.org/p/researching-hft-strategies">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>