# Graph Theory in Finance?

I am an undergrad CS/Finance student, recently been given the opportunity with a team to work on graph theory related problems. I am planning on proposing a study under a CS and a math professor on the applications of Graph theory in the markets. I have not taken too many courses in finance yet, but am keen on learning about the markets, I also do not want to miss the opportunity to work on something like this. Could someone guide me as to what I should be looking at and reading in order to propose the research idea, maybe some topics we could start off with, some papers, so that I can propose the idea? Would this be a valid proposal? Thank You

## 2 Answers

Not a lot can be done with graph theory / network analysis, but here is a little note http://jonathankinlay.com/2019/09/applications-graph-theory-finance/ (2019) showing how graphs can be used to visualize some data (a kind of a heatmap of a correlation matrix, looking for components and cliques).

Here is an older paper (2005), very similar ideas http://sympa.litislab.fr/sympa/arc/graphstream-users/2011-06/msg00004/Mining_market_data%2C_A_network_approach.pdf

A 2009 paper doing the same thing https://www.sciencedirect.com/science/article/abs/pii/S0378437109002519

A 2012 note https://blog.wolfram.com/2012/06/01/graph-theory-and-finance-in-mathematica/ on how to do this in Mathematica.

A 2017 paper https://evoq-eval.siam.org/Portals/0/Publications/SIURO/Volume%2010/Analysis_Equity_Markets_A_Graph_Theory_Approach.pdf doing the same thing.

A 2019 paper https://arxiv.org/abs/1902.00786 by a high school student (2 of my children went to the same HS) doing the same thing.

I don't think the other papers do a lot that isn't in Kinlay's short note cited on top.

Some people also tried similar visualization of correlation of currency (inluding crypto) exchange rates and of commodity prices.

Edit: as Jan Stuller and Will point out, given some currency exchange rates, graph algorithms can be used to find the cheapest path from one currency to another, or to look for arbitrage opportunities. For example, Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Clifford Stein. Introduction to Algorithms, problem 24-3 says:

24-3 Arbitrage

Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a currency into more than one unit of the same currency. For example, suppose that 1 U.S. dollar buys 49 Indian rupees, 1 Indian rupee buys 2 Japanese yen, and 1 Japanese yen buys 0.0107 U.S. dollars. Then, by converting currencies, a trader can start with 1 U.S. dollar and buy 49 $$\times$$ 0.0107 = 1.0486 U.S. dollars, thus turning a profit of 4.86 percent.

Dijkstra’s algorithm should help. However, I'm not sure how useful this is in practice.

Edit: Visicalc spreadsheet (and its clones like Lotus 123 and MS Excel) use dependency graphs a lot to optimize/minimaze recalculations. For example, suppose you have a USD IR swap, and the EUR swap curve moves. You don't need to reprice the USD swap. But if the USD swap curve moves, then you reprice the USD trade. A more sophisticated dependency (which is pretty hard with multicurves) is to note that if the 10Y swap rate moves, then you need to reprice 10Y and longer tenor swaps, but not shorter tenors. GS SecDb (and its clones like Beacon), BS Proteus, and similar pricing systems make heavy use of dependency graphs. However ine could argue that this is "computational finance", rather than "quantitative finance", and uses little "graph theory". A good overview is Dependency Graphs: A Derivatives Valuation Perspective by Cetin Karakus (BP), if you can find it.

Edit: Knowledge graphs (https://www.youtube.com/watch?v=Txb4azvZZrQ, https://www.youtube.com/watch?v=VnovZk4FFys, https://www.youtube.com/watch?v=-Erg6qkdi3M ) are a kind of generalized databases. They look useful, but I don't see a lot of graph theory there.

Graphs have a similar application to ML, but in finance. They might be used to construct more flexible and efficient pricing frameworks. A good example is A. Savine book about scripting languages.