CV - Michael Grazebrook, B. Eng, C. Eng, Pg Dip

Michael is an experienced software engineer mainly working in Python and SQL. Most of his contracts are in the City, mainly derivative trading and risk systems. He’s used Python since 2006. SQL, derivatives and database skills go back to the ‘90s. Much of his recent work has elements of machine learning engineering.

His last project was a risk calculation engine for BNY Mellon. It rapidly revalues FX and interest rate derivatives using the 3rd party library by Fincad, e.g. for CCAR. We built this using an internal cloud using a worker-based distributed architecture. Michael wrote the code to feed the Fincad models with trades and market data – a task needing much business knowledge and the ability to dive into data representations from source systems such as Summit.

Projects at GfK and M&S were pure machine learning engineering. At M&S, Michael’s main focus was on building performance and robustness to the software including automating tests for learning models and related code as the team worked towards level 1 ML Ops.

Work at GfK was more varied. Michael’s initial task was to take a model deriving supply/demand information from point of sales data. This focussed on the effect of temporary price reduction of consumer goods (such as sales). For an amateur economist, this is a special privilege – for example Steven Levit (of Freakonomics fame) claims few economists have seen a demand curve in the flesh. The original data science product was far too slow; the team re-engineered it mainly using Pandas and SQL. This required database design changes (denormalization, pre-calculated data features, query performance & tuning). He also reimagined the data science pipeline to make it more efficient.

Michael later worked on a neural network model to try to predict price changes in sectors of consumer goods as a result of changes to countries’ covid policies using Oxford Universty’s covid policy data source. The engineering team took the data science product and brought it into production.

Both projects were part the Newron product: a large project of some 100 data scientists and 100 engineers.

During the 2000s, Michael mainly worked in C++ and sometimes C# for clients using the Sophis derivatives system. This was varied work encompassing initial installations (Fidelity, Nomura, ABN Amro), new product development (Unicredit – a CPI securitisation product), version upgrade projects (KBC) and many data feeds. Michael first encountered Python during my work at KBC where it was used for scripting. It caught his imagination – it was like magic. He built a relational diff utility to help my work (diff using primary keys instead of line order, able to compare multiple data sources e.g. a report vs a database). This tool roughly halved the project timescale. So heincreasingly sought projects with the biggest possible Python component: it’s a decade since he coded in C++ or C#!

Following the financial crisis, Michael did a series of contracts for corporate law firm Clifford Chance. Regulatory banking cases dominated. During one period, tasks the team worked on made front page news several times a week. We worked mainly with the data from the global FX operations of a major bank. Work was varied – curating incoming data and building it into relational models, preparing overview graphics of sweeping scope, writing intricate algorithms to detect the signature of alleged behaviour and the like.

You’ll find Michael at London Python events. He organised their first proper London Python meetup at the Institute of Engineering Technology. He loves PyData London, where he has been a speaker.

Within a team, Michael’s strengths are innovation, improving process, business knowledge and filling gaps. Both his nature and broad experience help him spot things the team could do better. For narrowly defined areas of expertise, you may find better people (he’s only adequate at data science maths, cloud skills or front end web skills). He’s weak at organisational politics where he can be blind to peoples’ personal agendas.

But if you want a solid software engineer with exceptional creativity and a lot of experience in Python and derivative systems, he’s a sound choice.


 

Education

Subject

Level

Institution

Electronic and electrical engineering

B. Eng

Bristol University

Computing for commerce and industry

Pg Dip

Open University

Politics, Philosophy and Economics (a hobby?) – over a dozen courses

Undergraduate

Oxford University

Tensorflow

 

Oxford University

Engineering

Chartered engineer

IET

 

Skills

Skill

Level

Notes

Python

Core skill

About 15 years, of which 8 as primary skill

SQL

Core skill

About 25 years: Oracle, Sybase, MySQL, SQL Server, Postgres and others

Pandas/numpy/scipy

Intermediate

About 5 years

Tensorflow

Beginner

Oxford distance learning course, some use at GFK

Pyspark/databricks

Beginner

New skill

Cloud skills

Beginner

AWS, Azure, Google – enough to support development

C++

Ex-core, Rusty

Core skill for 2 decades

GraphQL

Intermediate

Mostly from the perspective of creating Flask APSs. See this little project Michael created during a hackathon for M&S: https://github.com/mgrazebrook/pandagraph

Equity derivatives

Good

About a decade

Credit derivatives

Good

About 15 years

Forex, equities, credit

Fair

Mostly to support derivatives systems but some projects where they were core skills

SWIFT

Fair

Analysis of simple messages for Clifford Chance, processing all of them (even silly ones like travellers’ cheques) for Reuters Financial Products

C#

Rusty

Used on 6 projects, only one as my core skill. Mainly in the context of Sophis APIs

 

Trivia

Michael had his own start-up once, an offshore software development company based in Moscow, USSR (later Russia) in the early ‘90s.

Michael occasionally completes in Pyweek, a competition to create a Python game in a week, though victory eludes me…

A regular at London Python, Michael set up their first non-pub meetup, using his membership of the IET. Planned for 30, 150 had booked before someone noticed we hadn’t set a limit … Fortunately Savoy Place has a large enough lecture theatre.

Contact details

Michael Grazebrook, Joined Up Finance Ltd, 23 Kynance Mews, London SW7 4QR

Tel: +44 (0)20 7376 1337; Mobile: +44 (0)7713 402580; Email: agents@grazebrook.com
 

Appendix: List of projects and key skills

 

Client

Dates

Description

Bank of New York Mellon

June 2022

Dec 2022

Integrate Fincad libraries into a cloud based risk platform

Skills: Python, fx and IR derivatives,  risk, SQL,  fincad, jupyter lab

M&S

Nov 2021

May 2022

Working on customer loyalty (e.g. targeting the ads in the sparks app), turn the data science team’s work into robust production code.

Skills: Python, pyspark, azure, numpy, pandas, jupyter lab

GFK

Nov 2019

Jan 2021

A data science product to provide economic data on consumer markets based on detailed point of sales data. Includes engineering work to bring tensorflow model to production

Python numpy pandas Postgres economics git tensorflow mac

B2C2

Jun 2019

Aug 2019

Cryptocurrencies: feed and reconciliation with Kraken.

Python, Postgres SQL, Amazon S3, Git, Docker, Linux

Willis Towers Watson

Apr 2018

Dec 2018

Automate calculations for defined benefit pensions

Python, Oracle

Cambridge Medical Robotics

Jan-Feb 2018

Helping out on the test harnesses which prove manufactured parts work. Filling in while they recruit permanent staff.

Python, unit tests

Full Fact

May 17 – Oct 17

Volunteering at Full Fact as a Python developer to help keep politicians and the media truthful. Video editing program plus associated web interface, data feed

Python, Flask, CSS, HTML 5

Clifford Chance

Feb 17 –

Jul 17

Python software development, lightweight data science and data structuring to support banking and fraud cases

Python MySQL SQL Server SWIFT trading systems

JP Morgan

May 16 –

Jul 16

Development to support the credit desk. Short as I declined a rate cut for all UK contractors post-Brexit.

Python, Credit

Clifford Chance

Aug14 -

May 16

Technical support for regulatory enquiries into trading operations

Python, MySQL, SQL Server, trading systems, FX, futures, swaps

Thomson Reuters

May-July 2014

Implementing an automated execution platform for bonds as part of Eikon

AngularJS, javascript, bonds, C#, SQL Server

Mysis & Islamic Development Bank

Jan-Feb 2014

Implementing Islamic Derivatives in Sophis on a project entering UAT

Sophis, C++, C#, Oracle, Islamic financial products

JFL

Jun 2013 – Nov 2013

CyKey keyer: Tutorial app and bluetooth firmware

Skills: Python, bluetooth

Unicredit

Apr 2011-Dec 2012

Portfolio insurance implementation. Then an operational risk project.

Skills: Python, C++, PL/SQL, Oracle, VBA, Windows

ABN Amro

Mar-Nov 2009

New implementation of Sophis. Development team leader.

Skills: Scrum, C#, Risk, C++, Python, VBA, XML, XSLT

Tropix Capital LLP

Aug–Sep 06

Jul 07 –

Nov 08

Working on the pre-startup business planning for a substantial hedge fund specialising in tropical commodities. Reviewing risk a year later.

Skills: Financial mathematics, Python, business planning, commodities

Fidelity

Aug–Sep 06

Jul-Aug 07

Initial implementation of Sophis

Skills: Sophis, Perl, C++, C#, Oracle, PL/SQL, Sybase

KBC

Mar 06

Jul 06

Regression testing and validation of a new Sophis release. Bug fixing. Developing a framework for batch processing in Active Batch & Python

Skills: Sophis; Python; C++; C#, Active Batch; Oracle

HSBC

Apr 05

Feb 06

Maintenance and enhancement of a Sophis system for CBs.

Skills: Sophis; C#; C++; Perl; Oracle; Clearcase; VB; VBA; Excel; .Net

Nomura

Apr 04

Feb 05

Integration of a Sophis equity derivatives system

Skills: C++, Visual C++, Sybase, Oracle, perl, XML, Corba, Sophis toolkit, Clearcase

Reuters Financial Systems

April 03

April 04

Swift messaging for the KTP and KTP+ back office systems.

Skills: XML, XSLT, Oracle, Sybase, Perl, C++, Java, Business Works, Turbo XML, XML Spy, UNIX, Windows

Cortex Software GmbH

Nov 01

Apr 03

Design and build an API with the same function signatures as btrieve but implemented in ODBC for an SQL Server database. Porting the database.

Analysis of the Kasse module

Skills: C++, btrieve, SQL Server, development DBA, ODBC

Business planning

Feb 01

Oct 01

Investigated two business plans for technology start-ups. Decided not to proceed.

Canon Research Europe

Nov 00

Jan 01

Designed and developed a program which converts any XML Schema definition into a C++ class library.

Skills: XML Schema, MPEG-7, C++, OOA, OOD

Commodities trading

Aug 00

Oct 00

Quants work looking at the degree of validity of Black Scholes for sugar price history; using signal processing techniques to investigate the data.

Skills: Java, maths

National Australia Bank

Dec 99

July 00

Interim management: Infinity Project Manager. Responsible for swaps and futures trading systems for NAB and its subsidiaries (Clydesdale etc). Y2K; Straight through processing; Infinity support; centralizing subsidiary banks back end processing.

Skills: Project Management, Infinity, TCL, Sun/UNIX

Various

Nov 98

Sep 99

Murex database performance and tuning work for several banks; some work for an Internet startup. 3 months studying German in Berlin

Skills: SLQ, Sybase, Murex, Perl, performance & tuning

Bankgesell-schaft Berlin & NordLB

Mar 98

Oct 98

Infinity development for complex interest rate derivatives and credit derivatives; management support on a 130 engineer project

Skills: C++, Sybase, IRD, Swaps, VAR, Perl, General management

WestLB, Dusseldorf

Sep 98

Mar 98

Developing a Murex – Infinity interface on a KWG6 (VAR) project

Skills: C++; Oracle; Infinity; Sybase; Perl; UNIX

Various

Mar 97

Sep 97

2 months studying French in Aix; Hong Kong for the handover; 2 month Borland C++ contract for a family business

Merrill Lynch

Nov 95

Mar 97

Designed and developed Merrill Lynch’s Options Blotter, it’s system for Credit Derivatives. Built an internal team to replace me and continue the work.

Skills: OMT (like UML), C++, Sybase, Motif, Perl, OOA, OOD, Project management

Trace Financial

June 95

Nov 95

Design of a relational database to represent the data interface to CREST and associated workflow management

Skills: SQL, Informix, C++, Select OMT

Nat West Markets

May 95

June 95

Design and development of a link between an Oracle and Sybase database.

Skills: Oracle, Sybase, C++, UNIX, shell scripts

Training

Jan 95

May 95

Several training courses, mainly provided by QA and Sybase: Object Oriented Design, X-Designer, System Architect, several Sybase courses, Knowledge Engineering, Smalltalk, Motif, OMT.

ACT

Oct 94

Jan 95

Testing and bug fixing an equity trading system

Skills: C++, OOD, Oracle, UNIX, Rogue Wave, Windows

Barings Securities

Jul 93

Jun 94

Designed and developed the engine for STAN, a real time trading system originally for equity derivatives, later expanded for other products

Skills: C++, Sybase, Warrants, Equity Derivatives, OOA, OOD, Tibco

Gate

Jan 91

June 93

I created and ran an offshore software development company in Moscow. We employed 4 Russian developers and occasional specialists as needed. Our clients included Clients included GPT, BT, British Rail and Oxford Molecular.

Skills: C++, UNIX, Oracle, X-Windows, Motif, Project Management, basic Russian

Phillips

July 91

Dec 91

Development of full custom chip design tools

Skills: C++, UNIX, scripting, OOA, OOD

InCA

Apr 90

May 91

ASIC emulation software for a start-up.

Skills: C++, Lex, YACC, X-Windows, Open Look, GUIDE, Windows

Welsh Water

Aug 90

Oct 90

An energy trading system for electricity supply

Skills: C, PRO*C, Oracle, UNIX

ES2 (now Atmel)

Oct 86

July 89

Development, integration and testing of ASIC design tools

Skills: C, Lex, YACC, ASIC design, UNIX, DOS, Vax, VMX, Aegis