Reliable backtesting + portfolio optimization

Commercial backtesting offerings are complicated, rigid, and expensive. InvestOS is simple, extensible, and open-source.

Better backtesting

In 10 lines of code

With endless options for customization and extensibility, we’ve made it easy to:

Get started.
Use InvestOS optimization strategies, cost models, risk models, and reporting off of the shelf.
Extend.
Looking for something more bespoke? Inject your own optimization strategies, cost models, risk models, and reporting - everything else will continue to work.
Audit.
View simulated trades, positions, values, and costs at each point in time. You can even dive into the source code!
 1 import investos as inv
 2
 3 strategy = inv.portfolio.strategy.SPO(
 4     actual_returns = actual_returns,
 5     forecast_returns = forecast_returns
 6 )
 7 backtest_result = inv.portfolio.BacktestController(
 8     strategy = strategy,
 9     aum = 500_000_000
10 ).generate_positions()

For investors who want to focus on generating alpha.