Heat the stock in a 2-quart saucepan over medium heat until it comes to a bare simmer. Set a 3-quart saucepan over medium-high heat and add the olive oil and butter to the pan. Once the butter is melted, add the onions to the pan and cook, stirring often until soft and translucent, 4 to 5 minutes. Add the shallots and garlic to the pan and cook until fragrant, about 1 minute. Add the Arborio rice to the pan and toast, stirring occasionally, until slightly nutty in aroma and lightly caramelized, about 3 minutes. Stir in the salt and pepper. Add the wine to the pan and cook until nearly evaporated, about 30 seconds. Add 1 1/2 cups of the stock as well as the peas, and cook, stirring continuously, until the rice has absorbed the stock. Add another 1 1/2 cups of the stock, still continuing to stir constantly, and cook until the rice has absorbed the liquid, about 8 to 9 minutes. Add the remainder of the stock to the pan and cook, again stirring continuously until the rice has absorbed the liquid, about 8 to 9 minutes longer. During the last 5 minutes of cooking, add the shrimp and lemon zest. Once the risotto is cooked, add the heavy cream, and Pecorino Romano and fold gently to combine. Serve immediately, garnished with basil and more Pecorino Romano, if desired.