JuliaActuary is an ecosystem of packages that makes Julia the easiest language to get started for actuarial workflows.

Resources to help get started.


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


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

Introductory Programming and Julia Resources

  • JuliaLang.org, the home site with the downloads to get started, and links to learning resources.
  • JuliaHub indexes open-source Julia packages and makes the entire ecosystem and documentation searchable from one place.
  • JuliaAcademy, which has free short courses in Data Science, Introduction to Julia, DataFrames.jl, Machine Learning, and more.
  • Data Science Tutorials from the Alan Turing Institute.
  • Learn Julia in Y minutes, a great quick-start if you are already comfortable with coding.
  • Think Julia, a free e-book (or paid print edition) book which introduces programming from the start and teaches you valuable ways of thinking.
  • Design Patterns and Best Practices, a book that will help you as you transition from smaller, one-off scripts to designing larger packages and projects.

Example Actuarial and Finance Uses

See the examples page.

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.

<mark>Thank you</mark> for your interest in modern actuarial solutions, no matter how you participate in the community.</p>

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!