def METHOD_NAME(
    self,
    instrument_code: str,
    positions: pd.Series,
    delayfill: bool = True,
    roundpositions: bool = True,
) -> accountCurve:
    price = self.get_instrument_prices_for_position_or_forecast(
        instrument_code, position_or_forecast=positions
    )
    fx = self.get_fx_rate(instrument_code)
    value_of_price_point = self.get_value_of_block_price_move(instrument_code)
    daily_returns_volatility = self.get_daily_returns_volatility(instrument_code)
    capital = self.get_notional_capital()
    instrument_turnover = self.instrument_turnover(
        instrument_code, roundpositions=roundpositions
    )
    annualised_SR_cost = self.get_SR_cost_given_turnover(
        instrument_code, instrument_turnover
    )
    average_position = self.get_average_position_for_instrument_at_portfolio_level(
        instrument_code
    )
    pandl_calculator = pandlCalculationWithSRCosts(
        price,
        SR_cost=annualised_SR_cost,
        positions=positions,
        average_position=average_position,
        daily_returns_volatility=daily_returns_volatility,
        capital=capital,
        value_per_point=value_of_price_point,
        delayfill=delayfill,
        fx=fx,
        roundpositions=roundpositions,
    )
    account_curve = accountCurve(pandl_calculator, weighted=True)
    return account_curve