# \[ANN\] Hedgehog.jl - Derivatives Pricing in Julia

**URL:** <https://discourse.julialang.org/t/ann-hedgehog-jl-derivatives-pricing-in-julia/128663>\
**Category:** Package Announcements\
**Tags:** package, announcement, finance, sciml, quant\
**Created:** [May 3, 2025, 3:46pm UTC](https://discourse.julialang.org/t/ann-hedgehog-jl-derivatives-pricing-in-julia/128663 "2025-05-03T15:46:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aleCombi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alecombi/32/212382_2.png) [@aleCombi](https://discourse.julialang.org/u/aleCombi)\
**Post date:** [May 3, 2025, 3:46pm UTC](https://discourse.julialang.org/t/ann-hedgehog-jl-derivatives-pricing-in-julia/128663/1 "2025-05-03T15:46:50Z")

</div>

I’m excited to share that **Hedgehog.jl** is now available from Julia Registry.

## What is it?

Hedgehog.jl is a **modular, composable library for derivatives pricing** in Julia. It’s built to help you price options, compute sensitivities, and calibrate models with clean, extensible building blocks.

## Features

- Price European and American options under various models
- Compute Greeks via finite differences, AD (`ForwardDiff.jl`), or closed-form
- Calibrate models to market quotes
- Work with volatility surfaces and rate curves

## Design

Hedgehog’s interface follows the **SciML-style** `solve(problem, method)` pattern, with clear separation between payoffs, market data, and pricing engines. It’s designed to be extensible — new models and methods can plug in easily.

## Quick Example

```julia
using Hedgehog, Dates

strike = 100.0
reference_date = Date(2023, 1, 1)
expiry = reference_date + Year(1)
payoff = VanillaOption(strike, expiry, European(), Call(), Spot())
market = BlackScholesInputs(reference_date, 0.05, 100.0, 0.20)

problem = PricingProblem(payoff, market)
solution = solve(problem, BlackScholesAnalytic())
price = solution.price

```

## Under the Hood

- Pricing methods: analytical, binomial trees, Monte Carlo (leveraging `DifferentialEquations.jl`), Fourier
- Greeks via `ForwardDiff.jl` or FD
- Vol surfaces and calibration tools
- MIT licensed and fully documented

## Roadmap

Next steps include support for **exotic payoffs** (barriers, Asians), **PDE pricing methods** , and expanded **interest rate modeling**.

## Related Packages

Some comparison with packages offering similar tools is provided in the ReadMe [here](https://github.com/aleCombi/Hedgehog.jl/blob/master/README.md#-related-packages). In general, Hedgehog tries to differentiate from what is currently offered by modularity, generality of the sensitivity suite through AD and integration with top scientific Julia packages like DifferentialEquations.jl.

## Contributions

Contributions, ideas, suggestions are very welcome! Feel free to reach out to me (Alessandro Combi) via Zulip for questions, or opening an Issue/PRs with new payoffs or methods, bug fixes.

👉 GitHub: [GitHub - aleCombi/Hedgehog.jl: A derivatives pricing library with AD sensitivities and calibration](https://github.com/aleCombi/Hedgehog.jl)

---

<div class="post-metadata">

**Author:** ![JADekker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jadekker/32/210281_2.png) [@JADekker](https://discourse.julialang.org/u/JADekker)\
**Post date:** [May 4, 2025, 6:32am UTC](https://discourse.julialang.org/t/ann-hedgehog-jl-derivatives-pricing-in-julia/128663/2 "2025-05-04T06:32:15Z")

</div>

I’ve just gone over the documentation, this looks very nice! Typically it is customary to also include in the ReadMe a list of alternative packages to help users identify in what regards your method stands out, perhaps it is nice to do that here!

I’m currently supervising a few BSc thesis projects on autodiff and option pricing. They’ll probably implement the methods from scratch, but if it comes up, would you welcome PRs/issues with new features (models/payoffs/methods improvements)?

---

<div class="post-metadata">

**Author:** ![aleCombi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alecombi/32/212382_2.png) [@aleCombi](https://discourse.julialang.org/u/aleCombi)\
**Post date:** [May 4, 2025, 8:21am UTC](https://discourse.julialang.org/t/ann-hedgehog-jl-derivatives-pricing-in-julia/128663/3 "2025-05-04T08:21:35Z")

</div>

@JADekker thanks for the nice words and your suggestions. I just added a section in the ReadMe with some alternative packages and comparisons: you can find it [here](https://github.com/aleCombi/Hedgehog.jl/blob/master/README.md#-related-packages).

Collaborations are very welcome, even simply by reaching out to me via Zulip, or opening Issues/PRs. I also added a few words about it in the readme [here](https://github.com/aleCombi/Hedgehog.jl/blob/master/README.md#-collaboration).

---

<div class="post-metadata">

**Author:** ![JADekker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jadekker/32/210281_2.png) [@JADekker](https://discourse.julialang.org/u/JADekker)\
**Post date:** [May 4, 2025, 10:15am UTC](https://discourse.julialang.org/t/ann-hedgehog-jl-derivatives-pricing-in-julia/128663/4 "2025-05-04T10:15:58Z")

</div>

Thanks, I’ll keep it in mind!
