An algorithm is devised for clustering observations based on the densities of points within each individual observations. The Kernel Density Estimation Clustering Algorithm (KCA) performs a search on the graph of the observations' group memberships, where group memberships determines the KDEs that in turn drive changes in the objective function. Option pricing theory is used to demonstrate the utility of the algorithm. Volatility smiles, 2- dimensional plots relating option strike prices and their implied volatilities, are the basis for grouping options.