INNER CODE UNIT · Python

execute

shashankvemuri/Finance · src/finance/backtesting/engine.py:115

    def execute(quantity, price, timestamp, signal_time, phase):
        nonlocal cash, shares, fees_total
        for j, delta in enumerate(quantity):
            if abs(delta) < 1e-10:
                continue
            fill_price = price[j] * (1 + np.sign(delta) * slippage)
            fee = abs(delta) * fill_price * commission
            cash -= delta * fill_price + fee
            shares[j] += delta
            fees_total += fee
            fills.append(
                {
                    "date": timestamp,
                    "signal_date": signal_time,
                    "asset": opens.columns[j],
                    "quantity": delta,
                    "price": fill_price,
                    "commission": fee,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…