Skip to content

Adding algo TCA and Market Impact models to the blotter package

Anshul Goel edited this page Apr 8, 2019 · 28 revisions

Background

The blotter package is the transactional accounting backbone for strategy simulations done with quantstrat and is also widely used with production data for various forms of analyses, made possible with the handy addTxns function. A natural extension of the package would be to add algo TCA models and potentially market impact models which are widely documented and integral for analyzing best execution against market impact benchmarks.

Related work

I am not aware of any pre-existing R packages that have standardized the well documented models for assessing best execution with TCA and market impact models.

Details of your coding project

  • Add TCA model functions as documented in https://github.com/braverock/blotter/issues/54, observed in Ch.3 "The Science of Algorithmic Trading and Portfolio Management – Robert Kissell" among others
  • Add market impact model functions as observed in Ch.4 "The Science of Algorithmic Trading and Portfolio Management – Robert Kissell" and based on the models from Almgren and Chriss, 1997 and Kissell and Malamut 1998
  • Include adequate documentation using 'roxygen2'
  • Add vignettes with examples

Expected impact

Optimal execution is a vital component of minimizing market impact with the aim of exceeding benchmark returns in the investment management industry. Having these models accessible in an industry leading package such as blotter which is used widely with production trades data would add value not only to existing users of the blotter package but also any R users in the field.

Mentors

Students, please contact mentors below after completing at least one of the tests below.

  • Jasen Mackie (jaymon0703@gmail.com) is a contributor to the blotter package and currently product owner for a team writing execution algorithms for the investment industry. Prior experience includes investment banking and trading arbitrage strategies on a proprietary trading desk.
  • Brian Peterson (brian@braverock.com), author of numerous papers and R/Finance packages (including blotter), quantitative developer and strategist, program committee member of the global R/Finance conference and peer reviewer for several book publishers and journals in finance and technology, and co-org-administrator for R's participation in Google Summer of Code.

Tests

Students, please do one or more of the following tests before contacting the mentors above.

  • "basic": clone the repository and install the blotter package and its dependencies locally

  • "intermediate": propose a patch via a pull request for any open issue on the blotter package, or for a new feature you think would be useful to have in blotter .

  • "expert": implement one of the models described in the scope of the GSoC project idea here. Most of these models are expected to take a few hours each to code the function, so a prototype should be achievable.

For the intermediate or expert tests, please disclose which issue/feature/model you are working on, for transparency and to avoid conflicting pull requests

Solutions of tests

  • Students please post links here to your test submissions, as well as sending to the mentors via email.

** Tests **

Anshul Goel

BS-MS in Economics

Interest: Time Series & Options Pricing

Department of Economic Sciences, IIT Kanpur, India


Student name: Vito Lestingi

Course and affiliation: MSc. Finance and Insurance, Sapienza - University of Rome, Italy

Test submissions:

  • intermediate: pull requests #80 and #82;
  • expert: pull request #83.
Clone this wiki locally