I am a current second semester junior math major. I am deciding if I want to graduate after this semester or go for one more year and get a masters degree. The courses I have completed and am currently taking are:

*Calc1-3

*Intro to DE

*Intro Data Math

*MATH 4090: Foundations of Analysis

*MATH 4100 - Linear Algebra

*MATH 4600 - Advanced Calculus

*MATH 4400 - Ordinary Differential Equations and Dynamical Systems

*MATH 4010 - Abstract Algebra

*MATH 4020 - Introduction to Number Theory

*MATH 4300 - Introduction to Complex Variables: Theory and Applications

*MATH 6200 - Real Analysis

*MATH 4200 - Mathematical Analysis I

*MATH 4700 - Foundations of Applied Mathematics

*MATH 4120 - Fundamentals of Geometry

*MATH 4210 - Mathematical Analysis II

*MATH 4800 - Numerical Computing

*MATH 6190 - Topics from Pure Mathematics

*MATH 4950 - Senior Research

Here are the courses I would take if I stay for the extra year:

*MATH 4040 - Introduction to Topology

*MATH 4740 - Introduction to Financial Mathematics and Engineering

*MATH 6220 - Introduction to Functional Analysis

*MATH 6800 - Computational Linear Algebra

*MATH 6240 - Functional Analysis and Analysis for Nonlinear Operators

*MATH 6740 - Financial Mathematics and Simulation

*MATH 6820 - Numerical Solution of Ordinary Differential Equations

*MATH 6790 - Topics in Applied Mathematics

I am thinking of going for a Phd in pure math. I want to make sure there are no holes in my backround. Should I apply to PhD programs now, stay the extra year, or should I go to a two year masters program then apply. On a side note if I do stay, over this coming summer I have the opportunity to do research in a field I am interested in if stay.

Also I am in the top five percent of math majors in my school, and have taking the Math GRE subject test and also got in the top five percent.

What pure math programs am I competitive for? (If someone could make a list of reaches and safies so I know how competitive I am.)