QML Alpha – Summer Project 2021

Functional Pattern Detection for Time series Data. Applications to Portfolio Construction

Project description and methods

We define the functional patterns as functional extensions of the patterns as describe in Logical Analysis of Data (LAD). In LAD a pattern i.e., a conjunction of several boundary conditions imposed on attributes, for instance “f(x,y)=if a<x<b and c<y<d then 1 else 0”. It is easy to note that this function is a product of 4 step-functions. For such an object we can measure some quality measures like prevalence and homogeneity. This particular form of LAD patterns allowed the design of efficient algorithms for the generation of large collection of patterns. Without the existence of these special algorithms, the number of options is limited and could include brute force search or a Monte Carlo approach.

As we want to generalize the concept of LAD patterns to that of functional patterns, i.e., functions that can be described as an algebraic formula applied to some primitives, we face to problem of detecting patterns in a huge set of expression over a sorted algebra. The idea here is to sample from the search space using a Monte Carlo approach. Obviously, a brute force search is not computational feasible. Therefore, we shall introduce the concept of structured search spaces, which represent the languages (set of expressions) that can be generated by a special form of grammars. In order to serve the scope of our applications, we add to the complexity the time dimension. Our attributes are timeseries of observed data.

Applications

Use 3 or more grammars to create search spaces for 5 projects (similar data for different geographic regions).

Run the same experiments for each region and measure: how many models are produced and how many models will hold out-of-sample. Conclude which is the best grammar for each region and note similarity or specific behavior.