Skip to content

Commit

Permalink
Risk Measure Revamp (#107)
Browse files Browse the repository at this point in the history
* WIP Risk Measure Revamp

* WIP Risk Measure revamp, tests passing

* move to FinancialMath module

* move utilities to submodule

* add Distributions to docs
  • Loading branch information
alecloudenback authored Apr 18, 2024
1 parent 017c749 commit 8c4a8c9
Show file tree
Hide file tree
Showing 17 changed files with 844 additions and 1,498 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ docs/site/
# It records a fixed state of all packages used by the project. As such, it should not be
# committed for packages, but should be committed for applications that require a static
# environment.
*Manifest.toml
Manifest.toml

settings.json
4 changes: 1 addition & 3 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,16 @@ Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
FinanceCore = "b9b1ffdd-6612-4b69-8227-7663be06e089"
FinanceModels = "77f2ae65-bdde-421f-ae9d-22f1af19dd76"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
MuladdMacro = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
QuadGK = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"

[compat]
Distributions = "0.24,0.25"
Distributions = "0.25"
FinanceCore = "^2"
FinanceModels = "^4"
ForwardDiff = "^0.10"
MuladdMacro = "^0.2"
PrecompileTools = "^1"
QuadGK = "^2"
Reexport = "^1.2"
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,20 @@ A collection of common functions/manipulations used in Actuarial Calculations.
- `accum_offset` to calculate accumulations like survivorship from a mortality vector
- `spread` will calculate the spread needed between two yield curves to equate a set of cashflows

### Options Pricing
- `eurocall` and `europut` for Black-Scholes option prices (note: API may change for this in future)

### Risk Measures

- Calculate risk measures for a given vector of risks:
- `CTE` for the Conditional Tail Expectation, or
- `VaR` for the percentile/Value at Risk.
- `CTE` for the Conditional Tail Expectation
- `VaR` for the percentile/Value at Risk
- `WangTransform` for the Wang Transformation
- `ProportionalHazard` for proportional hazards
- `DualPower` for dual power measure

### Insurance mechanics

- `duration`:
- Calculate the duration given an issue date and date (a.k.a. policy duration)


### Typed Rates

- functions which return a rate/yield will return a `FinanceCore.Rate` object. E.g. `irr(cashflows)` will return a `Rate(0.05,Periodic(1))` instead of just a `0.05` (`float64`) to convey the compounding frequency. This is compatible across the JuliaActuary ecosystem and can be used anywhere you would otherwise use a simple floating point rate.
Expand Down
Loading

0 comments on commit 8c4a8c9

Please sign in to comment.