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
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. 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