Preheat oven to 350 degrees F (175 degrees C). Grease a 10-inch tube pan.
Mix flour, baking powder, baking soda, cinnamon, nutmeg, and salt in a bowl.
Beat butter in a large bowl using an electric mixer until creamy, about 2 minutes. Gradually beat sugar into creamed butter until fully incorporated, about 3 more minutes. Add eggs, 1 at a time, beating each egg completely before add the next. Beat in sweet potato and vanilla extract until well mixed. Stir flour mixture, coconut, and walnuts into butter mixture until just combined. Pour batter into the prepared tube pan.
Bake in the preheated oven until a toothpick inserted into the bread comes out clean, about 1 hour 10 minutes.