Skip to content
HeyJared

Quant Python: Architecting Autonomous Trading Systems

This course moves you from a coder to a Quant Infrastructure Engineer, focusing on high-concurrency execution and robust risk management.In production, a slippage or a WebSocket delay is the difference between a high-performing alpha and a blown account.

Newsletter · By Python Quant · Official site

Indexed issues, last 90 days
17
Latest publication
Sep 29, 2026
Audience
Checking…
Earliest in this view
Aug 29, 2026

Latest issues

  1. Issue · Sep 29, 2026

    Day 107 — RSI Math: Coding the Relative Strength Index (opens the original)

    Excerpt

    Read excerpt

    The “pandas.rolling().mean()” TrapHere’s the RSI every junior engineer ships in their first PR:delta = df['close'].diff() gain = delta.clip(lower=0) loss = -delta.clip(lower=0) avg_gain = gain.rolling(14).mean() avg_loss = loss.rolling(14).mean() rs = avg_gain / avg_loss rsi = 100 - 100 / (1 + rs) It compiles. It runs on a static CSV in a notebook. The plot looks like an RSI oscillator — bounded, noisy, crossing 70 and 30 at plausible-looking moments. It gets merged.It is wrong, and it is

  2. Issue · Sep 27, 2026

    Day 106 — EMA Smoothing: Implementing Wilder’s EMA (opens the original)

    Excerpt

    Read excerpt

    The “Standard EMA” TrapHere’s how this usually goes. A junior engineer gets handed the ticket “add EMA smoothing to the ATR module.” They open pandas, write:df["atr_smooth"] = df["true_range"].ewm(span=14, adjust=False).mean() It runs. It produces a smooth line. It ships. Code review passes because the reviewer eyeballs a chart and it looks like every other EMA chart they’ve seen.The bug is in the math, not the syntax. .ewm(span=14) computes a smoothing constant o

  3. Issue · Sep 25, 2026

    Day 105 — Multi-Indexing: Managing Multi-Asset Panel Data (opens the original)

    Excerpt

    Read excerpt

    The “wide-format dict” trapEvery engineer who’s touched multi-asset data has written this once:data = {} for symbol in symbols: data[f"{symbol}_open"] = fetch(symbol)["open"] data[f"{symbol}_close"] = fetch(symbol)["close"] data[f"{symbol}_volume"] = fetch(symbol)["volume"] panel = pd.DataFrame(data) It compiles. It runs. It even backtests fine on 10 symbols. It is also the reason your signal-generation code has a for col in panel.columns: if col.endswith("_close"): block buried

  4. Issue · Sep 23, 2026

    Day 104: Data Merging -- Joining Price and Economic (FRED) Data (opens the original)

    Excerpt · Critical tone

    Read excerpt

    The “just merge_asof it on date” trapHere’s how this goes wrong the first time, every time. You’ve got clean OHLCV bars from Day 101, integer-cent, session-aware, no look-ahead. You want a CPI feature on there because your signal cares about inflation regime. You pull fred/series/observations?series_id=CPIAUCSL, you get back a tidy series indexed by date, and you pd.merge_asof(price_df, cpi_df, on="date", direction="backward"). It runs. The join looks right -- every bar has a CPI value, no NaNs,

  5. Issue · Sep 21, 2026

    Day 103 — GroupBy Analysis: Aggregating Returns by Market Sector (opens the original)

    Excerpt

    Read excerpt

    The groupby().apply() trapHere’s the code a junior engineer ships on the first pass at sector-return aggregation:def sector_bucket(group): total_weight, total_weighted_return = 0.0, 0.0 for _, row in group.iterrows(): if pd.isna(row["log_return"]): continue w = row["shares_outstanding"] * (row["close_cents"] / 100.0) total_weight += w total_weighted_return += w * row["log_return"] return total_weighted_return / total_weight if total_weight else 0.0 df.groupby(["sector"

Publishing over time

Last 90 days. Choose a month to open its work.

Recurring subjects

Named in the text we hold. One piece can cover several.

Audience

No verified audience measurement yet.

About this data

Counts cover the work we have indexed. Tone needs enough text and a confident classification. Excerpts and episode notes are not full articles or transcripts.

Identity or attribution wrong? Suggest a correction.

See coverage about Quant Python: Architecting Autonomous Trading Systems