Pat halibut dry and season with salt and pepper. Heat 2 tablespoons oil in a 12-inch heavy skillet over moderately high heat until hot but not smoking, then sauté fish, turning once, until golden and just cooked through, 4 to 6 minutes total. Transfer to plates and keep warm, loosely covered with foil.
Add remaining tablespoon oil to skillet and cook shallot over moderate heat, stirring occasionally, until pale golden, 3 to 4 minutes. Add pecans and sauté over moderately high heat, stirring, until fragrant and a shade darker, about 3 minutes. Add butter and stir until melted.
Remove skillet from heat and stir in zest, parsley, and salt and pepper to taste. Sprinkle pecan shallot topping over fish.