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

Community

Learn

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

Documentation

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

Walkthroughs and tutorials

Benchmarks

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

Miscellaneous

Other Repositories of Interest for Actuaries

Get Help

Ask questions or suggest ideas

Discussion and Questions

If you have other ideas or questions, feel free to also open an issue, or discuss 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
    survival(mortality_vector,to_age)
    survival(mortality_vector,from_age,to_age)


  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:

    survival(mortality_vector,to_age,::DeathDistribution)
    survival(mortality_vector,from_age,to_age,::DeathDistribution)


  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.

  Examples
  ≡≡≡≡≡≡≡≡≡≡

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

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

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

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

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.

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!

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 inquiry@JuliaActuary.org.

Share

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.