From Research Paper to Code in Three Prompts
The best way to understand a research paper isn’t to summarise it — it’s to build it.
With just a few prompts in ChatGPT, I turned this BIS research paper into a working prototype.
An FX Market Conditions Indicator (MCI) is designed & built with public data, providing key insights into market stresses in the week that the US loses its AAA rating.
I came for the Covered Interest Parity, I stayed for the Amihud Illiquidity measures, and I left with a read-then-build philosophy.
I love writing Excel spreadsheets. A favourite work day for me is when I know I have a new model to write.
But! I find the process highly unproductive, as I spend about 75% of my time messing around with the data via LOOKUPs, MATCH and INDEX functions. Not exactly a great use of my time.
I also love reading the research published by the BIS, NY Fed and the Bank of England (I know, I should get out more!). But to really understand some of the research (and to subsequently blog about it), I often have to write myself an Excel model. Then I can fully appreciate the inputs and outputs, tweaking parameters to understand the implications.
Realistically, there are only about three or four papers a year that I have the time to implement into Excel. Step forward - LLMs (Large Language Models).
Don’t: Ask for dumb summaries
Before I get into the nitty-gritty of today’s research paper topic, here is something I’ve learned from my time researching LLMs: they are not magic “make me clever” assistants.
Don’t expect an LLM to insert new knowledge into your brain by providing bullet point summaries of complex topics. No, you cannot understand a 38-page research paper in 10 seconds by asking ChatGPT.
Instead;
Do: Ask for a summary to see if you think it is worth spending your time reading the whole paper. But beware - we have Executive Summaries already! Do you really want to burn your tokens doing this?
Do: Ask an LLM for clarifications if you don’t understand aspects of a paper. This is a better use of your tokens!
Do: Use LLMs to research around the edges of academic papers. This is a really good use of LLMs - they are much quicker in this respect than google searches.
Best: Start a new Project
But! The very best way to interact with research on the web is to build a new project with an LLM. Take the paper in question:
And then ask ChatGPT;
BIS Market Condition Indicators
The BIS published the research paper here https://www.bis.org/publ/work1250.pdf Suggest a process to create the Market Condition Indicator for FX markets
Those readers familiar with my previous blog will recall that jumping in at the deep end with ChatGPT is inadvisable. Approach LLMs as you would a junior analyst - scope out a project first before committing resources to anything! It is akin to a hedge fund manager asking an analyst to do a project for them.
Cut the waffle!
And hey-presto, in a very similar process to how I write my Excel Spreadsheets, ChatGPT proposes to:
Select Relevant Market-Based Variables (aka Market Data sourcing)
Normalize the Series
Weight and Combine into Composite Index (the actual analysis)
Unfortunately, ChatGPT takes 3 pages & 500 words to write these three bullet points. If an analyst sent me 3 page proposals in response to simple questions, they wouldn’t last long….I guess it’s the downside of being paid per word.
More succinctly, it tells me what we need to do to accomplish the task;
I am okay with this. Some users may choose to give up at this point: I still witness the “Aaaaargh, coding!” reaction almost daily and it is perfectly valid. Personally, I am comfortable with the proposed approach (see previous blog). I assume that if a different user demands more “no-code” solutions they will see different results.
I clarified that I wanted to use only public sources of data. I was impressed that ChatGPT took this input as “gospel” and used it to inform the design of both the code and the construction of the Market Condition Indicator (MCI) itself.
From hero to zero in three prompts
The code to produce a first MCI looks very simple (email me for a copy if you don’t trust ChatGPT to replicate it):
I had this code working in three prompts (after agreeing the scope). What I particularly like about it:
I didn’t have to tell ChatGPT the tickers to use - it found FXE all by itself.
ChatGPT independently decided to use ETF tickers, because volume data is available for FX ETFs and not for FX OTC. It communicated this really well.
It went off and investigated “Amihud Illiquidity Proxy” (a new term to me) and found the appropriate market data.
The script produces the chart below:
Okay, in some circumstances this might appear to be a pretty underwhelming chart. But consider what this achieves:
I read a research paper.
Instead of hitting like or sharing on LinkedIn, I opened a new project in ChatGPT and coded up the research.
It took me less than two hours. In the past, I have spent longer reading, re-reading and working out what questions to ask!
Why This Paper?
Some of you may be wondering why I chose this paper as my second blog (the paper was published back in March 2025). Two things;
I grieve the disappearance of LIBOR-OIS spreads, particularly when things happen like the US losing it’s AAA rating. Does the news matter? Look at LIBOR-OIS to find out.
The paper included “Covered Interest Parity” and I was instantly attracted to it like a moth to a flame. CIP is short-hand for “trolling cross currency swap traders”.
As a result, whilst I was interested in the “tree-based machine learning” (honestly!), I was mostly focused on the “newly constructed market condition indicators (MCIs)” that the paper promised. The components that the authors used for the FX MCI were:
With the help of ChatGPT I have sourced public sources for most of the inputs. Unfortunately, CBOE chose to discontinue the EURUSD volatility index just as this paper was published!
The joy of tinkering with code in ChatGPT is that I can now go ahead and develop this further:
Incorporate daily settlement prices of the CME Cross Currency Basis future.
Use the CBOE EVZ time-series for historical data, combined with my own implied volatility from FXE option chains (with a lot of help from ChatGPT).
The ultimate aim is to have a daily time-series of the Market Condition Indicator for FX markets.
In Summary
I came for the Covered Interest Parity, I stayed for the Amihud Illiquidity measures, and I left with a read-then-build philosophy.
LLMs change the game — Instead of reading and re-reading dense research papers, I use ChatGPT to scope a project and build a prototype.
Forget summaries, build something — The best way to engage with research is to implement it. LLMs aren’t magic, but they make building fast and iterative.
From paper to project in hours — With a few prompts, I turned BIS research into a working FX Market Condition Indicator using public data.