Python Algo Development, Backtesting and Research Tools
Custom Python code for strategy research: vectorised and event-driven backtests, walk-forward tests, market data pipelines and dashboards you can run and extend.
A TradingView backtest is a good first look. Serious questions, such as whether a strategy survives different regimes, costs and parameter choices, need code you control.
We build Python research tools with the discipline we teach in the Academy: next-bar execution, explicit costs, out-of-sample testing and results you can reproduce.
Software, not advice: we write code to the rules you specify. We do not provide investment advice, trading signals or managed accounts, and no backtest or script can guarantee future results.
import pandas as pd
def backtest_sma(df: pd.DataFrame, fast=20, slow=50, cost_bps=5):
px = df["close"]
signal = (px.rolling(fast).mean() > px.rolling(slow).mean()).astype(int)
position = signal.shift(1).fillna(0) # act on the next bar: no look-ahead
returns = px.pct_change().fillna(0)
turnover = position.diff().abs().fillna(0)
net = position * returns - turnover * cost_bps / 10_000
equity = (1 + net).cumprod()
max_drawdown = (equity / equity.cummax() - 1).min()
return equity, max_drawdown # hypothetical results only
Vectorised and event-driven backtests with costs, slippage and sizing.
Rolling in-sample and out-of-sample tests that expose over-fitting.
Download, validate, adjust and store prices from the sources you license.
Reproducible Jupyter notebooks that document every step of a study.
Internal dashboards for monitoring strategies, portfolios and data quality.
Risk, exposure, correlation and drawdown reports across strategies.
Connecting research code to the data and broker APIs you are licensed to use.
Signals act on the next bar and data is point-in-time wherever possible.
Commission, spread and slippage are parameters, never hidden defaults.
Walk-forward and hold-out periods are reported separately from fitting.
Unit tests, version control and a README so results can be reproduced.
Scope, data, deployment and ownership.