About

My name is Robert. I am an undergraduate at the University of Cambridge studying Physical Natural Sciences (Physics, Computer Science, Mathematics, Materials Science).

I am interested in finding intuitive quantitative explanations for complex phenomena, even if those intuitive explanations concede a lack of determinism. It is always nice to find order in complexity, but I think we should accept that it may very well be complex all the way down. I’m a logical person who holds rationalism dear. I have traditionally considered physics and mathematics to be my fortes, but I have been actively expanding that to computer science and finance.

The best and worst thing about computers is that they do exactly what you tell them to – they are flawless in theory, if they are coded by a theoretically perfect person, but I’d take buggy code over by-hand calculations any day.

Get in touch

If you have a question about PyPortfolioOpt, please raise an issue on GitHub

Programming

Whenever I need a computer to help me, I first turn to python. I have been using python (primarily for scientific purposes) for about 6 years, and its initial charm has never really faded. With its pseudocode-like syntax and extremely clear ethos (type import this into a python console), it lets you get your ideas into a computer with relative ease. Of course you aren’t going to get C-like speeds natively, but nowadays there are options like cython or Numba which can alleviate this to a certain extent. I’ve built a couple of full-stack projects using python (Flask), and of course CSS/HTML/JS, but if I’m honest I don’t get as much of a kick out of frontend work as I do with pure python.

I concede that R has a better statistics ecosystem – there is an R implementation for basically any useful theorem/procedure in statistics. I’ve used it for a number of data science projects and I do appreciate its intuitive data processing. But I don’t think this lead will last forever, as there seem to be many peolpe who are willing to re-implement R packages in python.

I didn’t learn Java by choice – it is the language that Cambridge teaches first-year computer scientists. It’s a fantastic language to frame discussions of OOP and design patterns, but writing Java just doesn’t spark joy for me. That being said, for things like mission-critical enterprise codebases, Java’s verbosity and ‘safety’ blow python out of the water.

Finance

Finance is inherently interesting to me, because it represents a quantification of the beliefs and wills of so many individuals (point particles if you like) – in my mind, quantification is the first step to prediction and/or understanding. Of course, a nice side effect of prediction in finance is that you can make money from it.

I have spent a lot of time building predictive systems based on machine/deep learning. I’m not naïve: I know that whatever I do has probably being done far better by a quant fund somewhere. But regardless, I do think it’s interesting to test the limits of statistical inference in such a complex and dynamic system.

One day I’d like to be able to use my knowledge of physics and mathematical methods to be able to properly find order in financial markets, or failing that, to quantify the chaos and understand how to mitigate its effects.

Reading

I try not to limit my reading to specific subjects – I think it can be incredibly valuable to continuously attempt to read about subjects that are new to you, that way you know what you don’t know. I think this also applies to a lesser degree with fiction.

Below are some of my favourite books (or short stories); I suppose there is an overrepresentation of science fiction, but I can’t apologise for being fascinated by it

Surely You're Joking, Mr. Feynman!: Adventures of a Curious Character
The Hitchhiker's Guide to the Galaxy
Brave New World
Nightfall and Other Stories
The Stranger
The Last Question
Gödel, Escher, Bach: An Eternal Golden Braid
Slaughterhouse-Five
Second Foundation
The Sirens of Titan
Man's Search for Meaning
Flowers for Algernon
Kaleidoscope
East of Eden
Catch-22
Ubik
Algorithms to Live By: The Computer Science of Human Decisions



Timeline