Blog

Explore the research behind our trading, plus some just-for-fun stuff....

Posted on May 20, 2020 by Kris Longmore
1 Comment.
195 Views

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 and dplyr. library(tidyverse) library(here) library(kableExtra)...

Posted on May 19, 2020 by Kris Longmore
2 comments.
1,387 Views

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 typically construct a price chart,...

Posted on May 18, 2020 by Kris Longmore
6 comments.
553 Views

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 some data that we extracted...

Posted on May 15, 2020 by Kris Longmore
9 comments.
522 Views

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 for Python for anything more...

Posted on May 14, 2020 by Robot James
3 comments.
528 Views

In this post, we're going to show how a quant trader can manipulate stock price data using the dplyr R package. Getting set up and loading data Load the dplyr package via the tidyverse package. if (!require('tidyverse')) install.packages('tidyverse') library(tidyverse) First, load some price data. energystockprices.RDS contains a data frame of daily price observations for 3 energy stocks. prices <- readRDS('energystockprices.RDS')...

Posted on May 13, 2020 by Kris Longmore
1 Comment.
1,103 Views

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 tell ourselves). In this series,...

Posted on May 12, 2020 by Robot James
3 comments.
1,024 Views

In this post, we are going to construct snapshots of historic S&P 500 index constituents, from freely available data on the internet. Why? Well, one of the biggest challenges in looking for opportunities amongst a broad universe of stocks is choosing what stock "universe" to look at. One approach to dealing with this is to pick the stocks that are...

Posted on May 11, 2020 by Robot James
7 comments.
1,223 Views

If you want to make money trading, you're going to need a way to identify when an asset is likely to be cheap and when it is likely to be expensive. You want to be a net buyer of the cheap stuff and a net seller of the expensive stuff. Thanks, Capitain Obvious. You're welcome. How does this relate to...