Looking for our enterprise solution? Check out ForecastOS
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()