Learn

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

Resources to help get started.

Installation

Install Julia 1.10 or newer for the current FinanceCore, FinanceModels, ActuaryUtilities and MortalityTables releases. Then see Packages for installation, version compatibility and migration guides.

Documentation

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> using MortalityTables

help?> survival

The help text describes survival for a rate vector or a parametric mortality law. For tables, pass table.ultimate or table.select[issue_age]. Fractional ages use UniformDeaths(), ConstantForce(), or Balducci():

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

julia> survival(qs, 0, 1)
0.9

julia> survival(qs, 0, 0.5, UniformDeaths())
0.95

An age outside a table raises BoundsError. A reversed interval returns the reciprocal survival factor, which can exceed one; it is an accumulation factor, not a probability. See the MortalityTables documentation.

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.

Contributing

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!

Issues

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 [email protected].

Share

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