• Decomposing and understanding complex systems, whether they are software, hardware, or business processes.
  • Programming in R, C, C++, C#, Java, SQL, with the ability to easily understand most other programming languages.
  • Statistical analysis, simulation, and optimization.
  • Process automation and integration across applications.

R Packages

I’ve written several R packages, and contribute to many more. I currently maintain quantmod, TTR, xts, IBrokers, microbenchmark, and pack on CRAN.

  • quantmod - tools for importing, manipulating, and visualizing financial market data (co-authored with Jeff Ryan, maintainer)
  • TTR - a suite of technical analysis functions (author, maintainer)
  • xts - a time-based data class that integrates all of the current time-series classes (co-authored with Jeff Ryan, maintainer)
  • zoo - a data class for ordered indexed observations, particularly for irregular time series (contributor)
  • IBrokers - a pure R implementation of the Interactive Brokers Trader Workstation API (co-authored with Jeff Ryan, maintainer)
  • blotter - portfolio and account transaction infrastructure for trading systems and simulation (contributor)
  • quantstrat - quantitative trading strategy modeling framework (co-author)
  • PerformanceAnalytics - econometric functions for performance and risk analysis of financial instruments or portfolios (contributor)
  • DEoptim - global optimizer via differential evolution (co-author)
  • microbenchmark - accurately measure and compare the execution time of R expressions (maintainer)
  • pack - convert binary to/from formats other programs and machines can understand (author, maintainer)
  • lspm - an R-based implementation of Ralph Vince’s Leverage Space Portfolio Model (co-authored with Soren Macbeth, maintainer)
  • opentick - an R API to the opentick databases (author, defunct)


  • I created the first Dockerfile for rchk (a set of tools that look for memory errors in C source code of R packages). My Dockerfile was the basis for rhub’s version in ubuntu-rchk.
  • parse_crsp_file.awk - An awk script that parses a single CRSP data file (with all 13,000+ company’s data) into one file per ticker symbol. This could process each year of CRSP tick data into separate files in about 10 minutes.
  • npri.c - An adaptation of code given in a MSDN article that provides the i’th permutation of n things taken r at a time. Unlike the MSDN article, this code allows for n != r.