1. In a heavy 10-to 12-inch skillet, heat 1/3 cup of the olive oil over moderate heat until a light haze forms above it. Add the fish steaks and cook them for 4 or 5 minutes on each side, turning them with a large spatula. When they are a golden brown, transfer them to paper towels to drain and cool.
2. In a clean 10-to 12-inch skillet, heat the remaining ¾ cup of oil over moderate heat until a light haze forms above it. Add the onion rings and, stirring frequently, cook for 5 minutes or until they are soft and transparent but not brown. Stir in the carrots, vinegar, bay leaf, garlic, salt and red and black pepper and cook for 5 minutes longer, stirring occasionally. Taste for seasoning.
3. Remove the skin and any bones from the fish. Spread a cup or so of the hot marinade evenly in a glass or enamel dish about 6 inches in diameter and 4 inches deep. Arrange half the fish on top, cover it with a cup of marinade, add the remaining fish and spread the remaining marinade over it.
4. Cover tightly with foil or plastic wrap and marinate in the refrigerator for at least 2 days. Serve the "escabeche" from the dish in which it has marinated.
To Serve: to 6 as a main course or 6 to 8 as a appetizers