Rinse the shrimp shells and heads in a large colander under cold running water and allow to drain.
In a large soup pot, heat the oil over medium-high heat. When hot, add the shrimp shells and cook until the shells are pink and fragrant, 4 to 6 minutes.
Add the remaining ingredients, except the water, and stir to combine. Pour in water and bring to boil over high heat, then reduce heat to med-low to maintain a low simmer for 45 minutes to 1 hour (this may take longer if using larger fish heads like salmon). Skim any foam that comes to the surface.
Stir in the wine the last 5 minutes of cooking. Taste and add more salt if the broth tastes flat to enhance the natural flavors.
Strain the stock through a fine-mesh sieve into a large heat-safe container and allow it to cool completely if not used immediately. NOTE: Cool as quickly as possible using an ice water bath in the sink, or add a few ice cubes to the stock and pour into a shallow container to cool within 2 to 3 hours. Don’t put hot stock in the refrigerator, it will bring down the temp in the entire fridge to potentially dangerous levels.
Notes
Store homemade shrimp stock in the refrigerator for 3 days or freeze for 3 months for best results.
Freeze the stock in various increments—ice cube tray squares (tablespoons); 1/2 cup, 1 cup, or 2 cups are common in recipes; 6-8 cups work best for soups.
Containers and jars should not be filled to the top so the liquid has an inch of space to expand. Only use glass jars with straight sides (no shoulders) in the freezer to avoid the risk of breakage.
Storing stock in freezer bags that can lie flat is ideal. Remove as much air as possible before sealing. To prevent the bags from sliding into lumps, place the filled bags flat on a rimmed baking sheet.
To save space in the freezer, reduce the stock further after straining and discarding the solids. Just add water to the defrosted stock to the concentrated liquid as needed.