Kris Longmore

Working with Tidy Financial Data in tidyr

Quant tradingR

Working with Tidy Financial Data in tidyr

Holding data in a tidy format works wonders for one’s productivity. Here we will explore the tidyr package, which is all about creating tidy data. In particular, let’s develop an understanding of the tidyr::pivot_longer and tidyr::pivot_wider functions for switching between different formats of tidy data. In this video, you’ll learn: What tidy data looks like

Exploiting The Non-Farm Payrolls Drift

BacktestingFXQuant tradingZorro

Exploiting The Non-Farm Payrolls Drift

Anyone that’s been around the markets knows that the monthly release of the United States Department of Labor’s Non-Farm Payrolls (NFP) data can have a tremendous impact, especially in the short term. NFP is a snapshot of the state of the employment situation in the US, representing the total number of paid workers, excluding farm

Performant R Programming: Chunking a Problem into Smaller Pieces

RTools of the trade

Performant R Programming: Chunking a Problem into Smaller Pieces

When data is too big to fit into memory, one approach is to break it into smaller pieces, operate on each piece, and then join the results back together. Here’s how to do that to calculate rolling mean pairwise correlations of a large stock universe. Background We’ve been using the problem of calculating mean rolling

Handling a Large Universe of Stock Price Data in R: Profiling with profvis

RTools of the trade

Handling a Large Universe of Stock Price Data in R: Profiling with profvis

Recently, we wrote about calculating mean rolling pairwise correlations between the constituent stocks of an ETF. The tidyverse tools dplyr and slider solve this somewhat painful data wrangling operation about as elegantly and intuitively as possible. Why did you want to do that? We’re building a statistical arbitrage strategy that relies on indexation-driven trading in

How to Wrangle JSON Data in R with jsonlite, purr and dplyr

RTools of the trade

How to Wrangle JSON Data in R with jsonlite, purr and dplyr

Working with modern APIs you will often have to wrangle with data in JSON format. This article presents some tools and recipes for working with JSON data with R in the tidyverse. We’ll use purrr::map functions to extract and transform our JSON data. And we’ll provide intuitive examples of the cross-overs and differences between purrr

Using Digital Signal Processing in Quantitative Trading Strategies

Quant tradingRTrading strategiesZorro

Using Digital Signal Processing in Quantitative Trading Strategies

In this post, we look at tools and functions from the field of digital signal processing. Can these tools be useful to us as quantitative traders? What’s a Digital Signal? A digital signal is a representation of physical phenomena created by sampling that phenomena at discrete time intervals. If you think about the way we

How to Calculate Rolling Pairwise Correlations in the Tidyverse

RTools of the trade

How to Calculate Rolling Pairwise Correlations in the Tidyverse

How might we calculate rolling correlations between constituents of an ETF, given a dataframe of prices? For problems like this, the tidyverse really shines. There are a number of ways to solve this problem … read on for our solution, and let us know if you’d approach it differently! First, we load some packages and

How to Run Python from R Studio

PythonRTools of the trade

How to Run Python from R Studio

Modern data science is fundamentally multi-lingual. At a minimum, most data scientists are comfortable working in R, Python and SQL; many add Java and/or Scala to their toolkit, and it’s not uncommon to also know one’s way around JavaScript. Personally, I prefer to use R for data analysis. But, until recently, I’d tend to reach

RThink like a traderTrading strategiesZorro

Get Rich Quick Trading Strategies (and why they don’t work)

Every aspiring millionaire who comes to the markets armed with some programming ability has implemented a systematic Get Rich Quick (GRQ) trading strategy. Of course, they don’t work. Deep down even the greenest of newbies knows this. Yet, still, we are compelled to give them a try, just once, just for fun (or so we

OptionsQuant tradingR

Efficiently Simulating Geometric Brownian Motion in R

For simulating stock prices, Geometric Brownian Motion (GBM) is the de-facto go-to model. It has some nice properties which are generally consistent with stock prices, such as being log-normally distributed (and hence bounded to the downside by zero), and that expected returns don’t depend on the magnitude of price. Of course, GBM is just a

BacktestingQuant tradingZorro

Parameter Optimisation for Systematic Trading

Optimisation tools have a knack for seducing systematic traders. And what’s not to love? Find me the unique set of parameters that delivered the greatest return in my ten-year backtest. And do it in under five seconds. That’s certainly attractive. But do you want to hear something controversial? When it comes to the parameters of

BacktestingQuant tradingTrading as a businessTrading infrastructureZorro

A Review of Zorro for Systematic Trading

One of the keys to running a successful systematic trading business is a relentless focus on high return-on-investment activities. High ROI activities include: Implementing new trading strategies within a proven framework. An example might be to implement a portfolio of pairs trades in the equity market. Scaling existing strategies to new instruments or markets. For

Previous Next

Latest RW Insider Articles