Python algorithmic trading platform

A Python algorithmic trading platform for your code.

Develop custom strategy logic with the Investfly Python SDK while platform services handle supported market data, indicators, order planning, backtesting, virtual portfolios, and eligible account deployment.

  • Public SDK
  • Sample strategies
  • Custom indicators
strategy.py · private
class MyStrategy(TradingStrategy):
    def getSecurityUniverseSelector(self):
        return SecurityUniverseSelector.fromSymbols(
            SecurityType.STOCK, ["AAPL", "MSFT"]
        )

    @data_trigger(
        type=DataType.BARS,
        barInterval=BarInterval.FIFTEEN_MINUTE
    )
    def onMarketData(self, updatedSecurities):
        # Your signal and order-planning logic
        return orders or None
AUTHORING TYPEPYTHON
Strategy SDKTyped models
Data servicesBars + indicators
Shared controlsOrders + limits
Start from working structure

Spend your time on strategy logic—not platform plumbing.

The SDK gives your code explicit interfaces for the universe, market-data callbacks, portfolio access, order requests, and shared position controls.

01 · Clone

Start with sample code

Use a strategy starter template or an asset-specific example to understand the supported interface before adding custom behavior.

02 · Develop

Implement the differentiating logic

Define security selection, data callbacks, custom indicators, signal evaluation, and order-planning requests in Python.

03 · Evaluate

Use shared testing surfaces

Run historical backtests, deploy to a virtual portfolio, inspect activity, and revise code before considering eligible live use.

Multi-asset Python patterns

Use code where the market requires custom behavior.

Asset-native selection and execution models remain visible even when your signal logic is custom.

CODE + PLATFORM CONTRACTUSER AUTHORED
Stocks and ETFs

Custom universes and multi-timeframe indicators.

SELECTReturn symbols or a supported universe selector
COMPUTEUse built-in series or your custom indicator
PLANCreate typed open and close requests
CONTROLApply your portfolio and exposure limits
A bounded execution environment

Powerful enough for custom logic. Explicit about its limits.

Python strategies run inside the supported Investfly environment rather than an unrestricted general-purpose server.

Indicators and data

Access platform-provided bars, quotes, indicator series, and strategy services through supported interfaces.

Supported packages

Use supported runtime imports including NumPy, pandas, TA-Lib, statistics, typing, and Investfly SDK modules.

Shared controls

Express position management and portfolio limits through typed strategy-policy models where applicable.

Same strategy path

Use the same user-authored strategy concept across backtesting, virtual portfolios, and eligible deployments.

Choose your market
Python algo trading questions

Understand what the platform supplies around your code.

What does a Python algorithmic trading platform provide?

It supplies supported market data, strategy interfaces, testing, virtual portfolios, order planning, monitoring, and eligible broker connectivity so your code can focus on the logic you author.

Which Python packages can strategies use?

The current bounded runtime supports Investfly SDK modules and selected packages including NumPy, pandas, TA-Lib, statistics, typing, and math. Check the API documentation for the current interface and restrictions.

Can I backtest and paper trade the same Python strategy?

Supported Python strategies follow the shared strategy path through historical backtesting and virtual portfolio simulation, helping you inspect behavior before considering eligible live use.

When should I use Python instead of the no-code builder?

Use Python when your strategy needs supported custom selection, indicators, callbacks, or signal logic. Use the visual builder when the available configuration fields can express the strategy more simply.

From sample to strategy

Start with the SDK and make the logic yours.

Review the supported interface, clone a sample, and test your own code in the platform.

Available packages, providers, instruments, and live capabilities depend on current platform support.