Skip to content

stanfordquantclub/backtester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backtester

This is a backtester for trading strategies. The backtester is written in Python so that it can be easily integrated with other Python libraries.

Examples can be found in the examples directory.

Installation

Install the required packages with the following command:

pip install -r requirements.txt

Usage

To create a backtest, you need to create a new class that inherits the Engine class.

from backtester import Engine, Resolution, Slice, BacktestTime
from datetime import date

class MyStrategy(Engine):
    def initialize(self):
        self.add_security("SPY")

        self.cash = 10**5 # Initial cash

        self.start_date = date(2022, 12, 5) # Start date of the backtest (inclusive)
        self.end_date = date(2022, 12, 10) # End date of the backtest (inclusive)

        self.root_path = "/srv/sqc/data/" # Path to the data
        self.resolution = Resolution.Minute # Resolution of the data

        self.custom_var = 0 # Add custom variables here

    def on_data(self, data: Slice, time: BacktestTime):
        # Add your trading strategy here
        chain = data.get_chain("SPY") # Get the chain of the security

        underlying_price = chain.underlying.get_price() # Get the price of the underlying security

        contracts = chain.get_contracts() # Get all contracts
        
        self.custom_var += 1 # Update custom variables here

if __name__ == "__main__":
    backtest = MyStrategy()
    backtest.back_test()

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages