Skip to content

what about multiple stocks/data inputs? #1105

Duplicate of#20
@JustinGuese

Description

@JustinGuese

Hi, I like the direction where backtesting.py is going, but I am missing some backtrader functionality... Maybe the most important - currently only one stock is supported right?

Because if I have a strategy which uses 2 stocks, how would I deal with that? The backtrader way was using self.datas instead of data, which then becomes an array with all the stock datas, and then obviously the buy/sell functions would need a ticker parameter...
Or is there already a way to achieve this?

Activity

JustinGuese

JustinGuese commented on Jan 12, 2024

@JustinGuese
Author

or is that functionality actually already there?

class _Data:
    """
    A data array accessor. Provides access to OHLCV "columns"
    as a standard `pd.DataFrame` would, except it's not a DataFrame
    and the returned "series" are _not_ `pd.Series` but `np.ndarray`
    for performance reasons.
    """
    def __init__(self, df: pd.DataFrame):
        self.__df = df
        self.__i = len(df)
        self.__pip: Optional[float] = None
        self.__cache: Dict[str, _Array] = {}
        self.__arrays: Dict[str, _Array] = {}
        self._update()

so would I pass something like
data = { "MSFT" : yf.download("MSFT"), "AAPL" : ...?

PabloCanovas

PabloCanovas commented on Mar 24, 2024

@PabloCanovas

Check out https://github.com/dodid/minitrade, a fork from this project which allows for multiasset backtesting.
Would love to have this functionality here under @kernc project though!

BradKML

BradKML commented on May 29, 2024

@BradKML

Seconding this since it is getting more important to mess with pair trading. Also @PabloCanovas do you know of any equivalents for bt?

s-kust

s-kust commented on Aug 14, 2024

@s-kust

You may want to take a look at https://github.com/s-kust/python-backtesting-template/

You can easily run backtests of your strategy for several (or several dozen) tickers simultaneously. The results of these backtests are combined and saved in the output.xlsx file.

kernc

kernc commented on Feb 19, 2025

@kernc
Owner

Duplicate of either #20 or #508.

added
duplicateThis issue or pull request already exists
on Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      what about multiple stocks/data inputs? · Issue #1105 · kernc/backtesting.py