Practical, extensible, and open-source actuarial modeling and analysis.



Resources to help get started.

Programming and Julia

After installing Julia from the official website, head to the Packages to see how to install JuliaActuary packages.

Actuarial Usage and Examples

See Julia in action in actuarial contexts


Each package includes examples on the Github site and in the documentation.

Walkthroughs and tutorials


Benchmarks of Actuarial workflows can be found on the Benchmarks page.


Other Repositories of Interest for Actuaries

Get Help

Ask questions or suggest ideas

Discussion and Questions

If you have other ideas or questions, join the JuliaActuary Github Discussions. Or come say hello on the community Zulip or Slack #actuary channel. We welcome all actuarial and related disciplines!

Help mode

You can also access help text when using the packages in the REPL by activating help mode, e.g.:

julia> ? survival

  Returns the survival through attained age to_age. The start of the 
  calculation is either the start of the vector, or attained age `from_age` 
  and `to_age` need to be Integers. 

  Add a DeathDistribution as the last argument to handle floating point 
  and non-whole ages:


  If given a negative to_age, it will return 1.0. Aside from simplifying the code, 
  this makes sense as for something to exist in order to decrement in the first place, 
  it must have existed and survived to the point of being able to be decremented.


  julia> qs = UltimateMortality([0.1,0.3,0.6,1]);

  julia> survival(qs,0)
  julia> survival(qs,1)

  julia> survival(qs,1,1)
  julia> survival(qs,1,2)

  julia> survival(qs,0.5,Uniform())

Integration with R and Python

Use other languages seamlessly

Julia integrates with other languages, allowing you to leverage existing scripts and packages in R via RCall and in Python via PyCall.


Contribute code or report issues.

Thank you for your interest in modern actuarial solutions, no matter how you participate in the community.

Pull Requests

JuliaActuary is open source; you are free to modify, use, or change your copy of the code - but if you make enhancements please consider opening a pull request (basic walkthrough here). Beginners are welcome and we can help with your first pull request!


If you find issues, please open an issue on the relevant package's repository and we will try and address it as soon as possible.

Project Board

See the Good first Issues project board on Github for simple, self-contained ways to contribute such as adding small new features, improving the documentation, or writing up a tutorial on how to do something simple!

Other Inquiries

For more directed inquires, please send email to inquiry@JuliaActuary.org.


Follow JuliaActuary on LinkedIn for updates and to share with colleagues!

The packages in JuliaActuary are open-source and liberally licensed (MIT License) to allow wide private and commercial usage of the packages, like the base Julia language and many other packages in the ecosystem. See terms of this site.