Finance and Economics Use Cases

I’m curious (as the developer of Yields.jl) what you are looking for. I’m not intending Yields.jl to be a trading-desk level tool, but I’m wondering if there are features you are looking for that would be a fit for Yields.jl

1 Like

Sure. What I eventually want to do is the following.

For USD:

  • Set as of date (either today or past date)
  • Create a list of instruments that will be used to calibrate the yield curve (meaning, retrieve say the definitions of the first 8 IMM SOFR futures and swap definitions with exact cash flow dates for a set of maturities)
  • Calibrate a SOFR discount curve that gives 0 NPV for each of the above instrument, with some external constraints on the shape of curve
  • Query that curve for the usual: disount rates, forward rates, etc.

For EUR:

  • Same as above except I need to jointly calibrate a EURIBOR and an ESTR curve.

Main point is I need to be instrument aware. Not generic, textbook (Hull or other) instrument, but actual tradable market instrument, with appropriate precision (often the last cashflow of a 1y swap is not exactly at time 1.0, if only for the fact that swaps settle T+1 or T+2).
My understanding is that only QuantLib C++ (not yet .jl) has the facilities to create the instruments according to their exact definitions.

Which is probably what you’d call trading-desk level. I’m a derivatives trader so I that’s what I’m after, trading level. Not market-making level though (that would be one extra step, and one for which I have no need at this point).

1 Like

This was discussed a bit on #finance on slack, but Bank of Canada has a pretty healthy set of Julia packages: Bank of Canada · GitHub

5 Likes

Not sure whether this is the right thread for this, but I recently wrote a pedagogical notebook how to implement the Sequence Space Jacobian (SSJ) method by Auclert et al. (2021) in Julia. Perhaps it is of interest for some people.

  • Everything is implemented from scratch, no black box packages
  • Various figures from the original paper are replicated
  • The HetBlock-Jacobian is obtained using Automatic Differentiation (ForwardDiff.jl)
  • Emphasis was on simplicity, so I didn’t implement various optimizations that would further increase speed.

Find the notebook here.

12 Likes

I am curious if you could share a spreadsheet or alternative implementation so I could test/work towards day-level accuracy. I think it should be possible - with a rewrite of Yields.jl into FinanceModels.jl, the fitting of generic instruments is the normal way of using the package now. I’d be happy to explore this further if you could share a reference example that I could follow.

1 Like

I’m interested! Thanks a lot.

1 Like