Heat oil in a 12-inch straight-sided sauté pan over high heat until lightly smoking. Add asparagus in as close to a single layer as possible, season with salt and pepper, and cook without moving until lightly browned, about 11/2 minutes.
Shake pan and cook until browned again, 11/2 minutes longer.
Add stock and butter to pan and immediately cover.
Continue to cook until asparagus is completely tender and stock and butter have emulsified and reduced to a shiny glaze, 7 to 10 minutes. If stock completely evaporates and butter starts to burn before asparagus is cooked through, top up with a few tablespoons of water. Serve immediately.