Resources to help get started.
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.
After installing Julia from the official website, head to the Packages to see how to install JuliaActuary packages.
See Julia in action in actuarial contexts
Each package includes examples on the Github site and in the documentation.
Benchmarks of Actuarial workflows can be found on the Benchmarks page.
Interactive exploration of the AAA's Economic Scenario Generator
A comparison of U.S. Treasury CMT rates
Interactive mortality table comparison tool for any
Universal Life Policy Account Mechanics as a Differential Equation
RMInsurance is the code and examples for the second edition of the book "Value-Oriented Risk Management of Insurance Companies"
LifeTable.jl will calculate life tables from the Human Mortality Database.
Ask questions or suggest ideas
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!
You can also access help text when using the packages in the REPL by activating help mode, e.g.:
? 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
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.
Thank you for your interest in modern actuarial solutions, no matter how you participate in the community.
Contribute code or report issues.
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.
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!
For more directed inquires, please send email to inquiry@JuliaActuary.org.
Follow JuliaActuary on LinkedIn for updates and to share with colleagues!