diff --git a/backtesting/backtesting.py b/backtesting/backtesting.py index 9c168703..4d276fad 100644 --- a/backtesting/backtesting.py +++ b/backtesting/backtesting.py @@ -74,6 +74,12 @@ def _check_params(self, params): "can be optimized or run with.") setattr(self, k, v) return params + + def deposit_cash(self, amount): + return self._broker.deposit_cash(amount) + + def withdraw_cash(self, amount): + return self._broker.withdraw_cash(amount) def I(self, # noqa: E743 func: Callable, *args, @@ -721,6 +727,16 @@ def __init__(self, *, data, cash, commission, margin, def __repr__(self): return f'' + + def deposit_cash(self, amount: float): + self._cash += amount + return self._cash + + def withdraw_cash(self, amount: float): + if amount > self._cash: + return self._cash + self.cash -= amount + return self._cash def new_order(self, size: float,