Motivated by the need of assessing the optimal allocation of battery energy storage services across various markets and the corresponding impact on market operations, an optimization framework is proposed in this work to coordinate the operation of an independent utility-scale price-maker battery energy storage system (BESS) in the energy, spinning reserve and performance-based regulation markets. The entire problem is formulated as a bi-level optimization process, where the structure of all markets is modeled considering the joint operation limits. The strategic bidding behavior of a price-maker BESS in a pay as performance regulation market is investigated. Additionally, a specific approach is introduced for modeling automatic generation control (AGC) signals in the optimization. Although the formulated problem is non-linear, it is converted to mixed-integer linear programming (MILP) to find the optimum solution. The proposed framework is evaluated using test case scenarios created from real-world market data. Case study results show the impact of BESS's price-making behavior on the joint operation of energy, reserve, and regulation markets.