Bio

I am currently working as a quantitative researcher in the financial sector, by applying machine learning techniques to event-driven equity trading strategies. I have received my PhD in Physics from University of Cambridge, working in the Molecular Engineering group on a study which brought together elements of engineering and chemistry into a computational physics project. My research focused on studying the opto-electronic energy states of dye molecules – experimentally and computationally – with the scope of improving an emerging solar cell technology. During my time in academia, I managed to work on a variety of projects from different fields of physics. During my undergraduate, I interned at Institut Laue-Langevin, a neutron scattering facility, which resulted in a PRB paper. High-energy physics was the topic of my final year project at University College London, working on jet clustering algorithms for the ATLAS (CERN) collaboration, which led me to the Burhop prize for best final year performance. This work exposed me to the world of statistical data analysis and a variety of machine learning techniques. During my PhD, I interned at Authorea – now a Wiley company – and at Credit Suisse, in the Systematic Market Making group.

I am one of the founders of Scio, a non-for-profit organization aiming to promote ideals of reason and scientific thinking, and bridge the gap between experts and public. You can find more about events on the Scio website.

I deeply enjoy working on projects spanning various disciplines, which is why I work on a variety of side projects in my spare time. I launched Library of Words, a website replicating a fictional library based on the short story La biblioteca de Babel by Argentinian author Jorge Luis Borges. Following on my interest in computational linguistic, I created ShingleBot, a pseudo-natural language sentence generator, based on rejection-sampling Monte Carlo of a Pareto-distributed list of words. More recently, I have created Quant-Arxiv-sanity-preserver, an adaptation to the world of quantitative finance of arxiv-sanity-preserver, for managing q-fin papers from arXiv. You can find more about these projects below.

I was raised in Manduria, a small wine-making town in Puglia, Italy.

Academic

Having journeyed through various fields of physics, eventually, I settled outside of academia. Yet, I have thoroughly enjoyed contributing in different areas of research.

Dye-sensitized solar cells

A decorated Grätzel cell powering a fan

My PhD project revolved around the study of dye molecules for applications in an emerging technology of photovoltaic cells called Grätzel cells, or dye-sensitized solar cells.

The orchestration of disciplines required to even understand the working process of this cell is fascinating. The cell itself is a feat of engineering, which working process can be explained by chemistry, but the properties of the active absorbers are best explained by quantum chemistry and physics.

My contribution to this field was limited to explore a technique called “co-sensitization”, which involves using multiple dye molecules in a single cell in order to achieve a panchromatic response. This requires a good knowledge of the dyes, their opto-eletronic properties and their chemical compatibility. I tackled the problem systematically from two angles: computationally and experimentally.

Within the realm of co-sensitization, I explored the panchromatic responses of cyanine dyes (paper), computationally engineered fluorescein dyes (paper) and investigated different adsorption mechanisms of rhodamine dyes (paper).

Jet clustering algorithms

A simulated particle collision at the ATLAS experiment at the LHC (CERN)

I spent my final (master) year at university working in the ATLAS collaboration and looking at various techniques to reduce the signal-to-noise ratio of W and Z bosons hadronic decays.

A first approach was via studying the jet substructure and reconstruct the mass via jet clustering algorithms. A second approach involved statistical techniques: multi-variate analysis classifiers, such as Fisher determinants, likelihood ratios, boosted decision trees and neural networks.

Magnetic structure of NiPS3

Raw detector image for high energy x-ray powder diffraction from NiPS3

I spent my internship at Institut Laue-Langevin analyzing neutron scattering data to determine the magnetic structure of a quasi-two-dimensional anti-ferromagnet NiPS3. You can read about the results here.

Projects

Eurocovid

Eurocovid is an interactive map displaying the current number of COVID-19 cases per 100,000 people as measured in the past 14 days. The data is automatically sourced from ECDC and used to update the chart whenever new data is available. The frequency for certain regions is daily, but for others is weekly. Hovering on each region displays the region name, number of normalized cases, and the data update date. The code is open source and is purely written in python + dash for visualization. The regional boundaries map is based on the geoJson files from Eurostat. The map is currently offline, but it can be easily deployed locally.

Quant-arxiv sanity preserver

Quant-arxiv sanity preserver is an academic paper management system aimed at simplifying and enhancing the job of being up to date in the quantitative finance literature, without having to scroll through tens of publications every day or decipher the ugly arXiv email digest which provides no indication of the relevance of each new paper. The platform allows to save, discuss and filter papers from arXiv /q-fin by showing the most popular papers every day and recommending new ones based on the papers saved in the library by the user. The project is open source, the code is available on GitHub, and it is an adaptation to the world of quant finance of the already popular arxiv-sanity-preserver by Andrej Karpathy. I am aiming to expand the source of papers beyond arXiv and add an email digest with customized frequency to provide updates only on relevant papers and reduce the clutter. Behind the scenes, TFIDF vectors are created to cluster papers and SVMs are trained for all users. The platform is currently offline, due to high hosting costs, but the code is free and open-source on GitHub.

Library of Words

The Library of Words is a digital collection of pages filled with every possible combination of 320 words in the English language. The library starts with a page containing the single first word “a” and finishes with a page containing the last word “zyzzyvas”, repeated 320 times. The dictionary used in the library contains 443437 words from the English language. This means that every book, thought, love story, news tragedy, war, biography, scientific discovery or truth about the universe which has ever been written with those English words, or is yet to be written, is already present in this library. The concept of the Library of Words is based on the short story La biblioteca de Babel by Argentinian author and librarian Jorge Luis Borges. In the book, the library consisted of repeated adjacent hexagonal rooms with shelves on four walls, containing books filled with every possible combination of 29 characters (26 letters plus period, comma and space). In 2015, Jonathan Basile created a digital version of the library using a base-29 conversion system and a pseudo-random number generator to link a hypothetical book location with the text in the book. In the Library of Words I revisited Borges’ idea and used a similar system to Basile’s algorithm to produce its pages.

ShingleBot

ShingleBot is more humorous side project I came up with while playing with the Library of Words. Knowing that human language follows a simple mathematical form – known as Zipf’s law – I was wondering how hard it would be to create semi-intelligible sentences by just using the Zipf’s distribution and few grammatical rules. The result is a generator of n-grams of words – aka shingles – which can lead to funny sentences. This is by far not the best way to achieve natural language. There are better and far more realistic methods, such as Markov chain text generators, but it was fun to build and it was surprising to achieve decent-enough results with such a simple algorithm.

Bad Scientist

I used to maintain a blog writing spurious posts about science and technology. I stopped writing on this blog, but you can have a look at the archive here.

Grep Linux

I also used to maintain a blog documenting my journey through self-learning how to operate various distributions of Linux, sharing various tips and tricks in BASH and beyond. I do not maintain the blog any longer, but you can look through the archive here.

Misc

During my postgraduate years at University of Cambridge, I assisted the teaching of NST Part IA – Scientific Computing and Part II – Computational Physics in practical classes and supervised students for the Advanced Quantum Physics course. I also embarked onto a variety of different extra-academic activities, in the spare time I had between a rowing session and another.

I was a finalist in the Institute of Physics 3 minute wonder competition, an incredibly fun outreach event in which contestant explain their PhD project in 3 minutes to a broader audience. The event took place in the Faraday lecture theater at the Royal Institution of Great Britain, more famous as home of the Christmas Lecture.

I participated to Cavendish Industry Forums with IBM and Detica, an event where academia meets industry in creating collaboration and sharing ideas to solve problems and drive cutting-edge research.

I wrote a sample POSTnote for an internship application at the Parliament Office for Science and Technology (POST). I did not get the position, but I thought the small review I have done was interesting enough to share (pdf).

I attended Enterprise Tuesday, a series of lectures and networking events organized by the Cambridge Judge Business School to encourage and inspire entrepreneurial ambitions.

I participated in the Halite (I and III) competition – an AI bot game by Two Sigma – achieving silver tier (top 20% of participants).

I presented (twice) at the Cambridge University Algorithmic Trading Society (CUATS): An introduction to Pandas for Finance.

I attended or presented at a variety of conferences and workshops. You might have met me at:
Pydata Conference – London (2019)
Pydata London meetups (2019-2020)
TCM Electronic Structure Discussion Group – University of Cambridge (2013-2015)
X-Ray Structure analysis school – University of Durham (2013)
CASTEP Workshop – University of Oxford (2014)
NSCCS CP2K Workshop – Imperial College London (2014)
Networks and data mining conference – Bagnères-de-Luchon (2015)
Cavendish graduate student conference – University of Cambridge (2015)

During my undergraduate years at University College London, I won the Corrigan Prize for best performance in 2nd year experimental Physics, the Burhop Prize for best performance in final year Physics and made it into the Dean’s List for outstanding academic performance (top 5% of student achievement).

In my spare time, I like taking MOOC in fields outside my comfort zone (Physics). These are some of the courses I enjoyed:
Tim Roughgarden – Algorithms: Design and Analysis
Andrew Ng – Machine Learning

You can see what I am currently reading on goodreads.

Blog

Eurocovid: Mapping the rate of COVID-19 infections in European regions

I made a map! Eurocovid is an interactive map displaying the current number of COVID-19 cases per 100,000 people as measured in the past 14 days. I have been wanting for a while to explore the difference in regional cases within nations in each European country, but I have not found a good live map …