  In recent years, dedicated extreme-precision radial velocity (EPRV)
spectrographs have produced vast quantities of high-resolution,
high-signal-to-noise time-series spectra for bright stars. These data contain
valuable information for the dual purposes of planet detection via the measured
RVs and stellar characterization via the co-added spectra. However,
considerable data analysis challenges exist in extracting these data products
from the observed spectra at the highest possible precision, including the
issue of poorly-characterized telluric absorption features and the common use
of an assumed stellar spectral template. In both of these examples,
precision-limiting reliance on external information can be sidestepped using
the data directly. Here we propose a data-driven method to simultaneously
extract precise RVs and infer the underlying stellar and telluric spectra using
a linear model (in the log of flux). The model employs a convex objective and
convex regularization to keep the optimization of the spectral components fast.
We implement this method in wobble, an open-source python package which uses
TensorFlow in one of its first non-neural-network applications to astronomical
data. In this work, we demonstrate the performance of wobble on archival HARPS
spectra. We recover the canonical exoplanet 51 Pegasi b, detect the secular RV
evolution of the M dwarf Barnard's Star, and retrieve the Rossiter-McLaughlin
effect for the Hot Jupiter HD 189733b. The method additionally produces
extremely high-S/N composite stellar spectra and detailed time-variable
telluric spectra, which we also present here.
