[PYTHON] J'ai fait une bibliothèque pour l'assurance actuarielle

introduction

C'est un certain virus, il semble que de la mousse va bientôt pousser sur mon corps en m'abstenant de sortir ... Soit dit en passant, récemment, j'étudiais pour l'examen d'actuaire, et je me suis dit: «Au fait, je me demande si Python a une bibliothèque pour l'assurance actuarielle», alors je l'ai fait parce qu'il ne me semblait pas avoir été recherché sur Google.

Motif de développement

・ Approfondir la compréhension de l'assurance actuarielle. ・ Simplifier le calcul numérique à l'aide de l'assurance actuarielle. ・ Je n'ai jamais donné ma propre bibliothèque à PyPI en Python, alors essayons-la. ・ ~~ J'étais libre ~~

Installation

L'installation est possible avec pip

pip install amaryllis

Comment utiliser

Calculez la valeur attendue des primes d'assurance. Il implémente chaque type d'algorithme d'assurance, mais chaque argument de fonction

i :Taux d'intérêt annuel,La valeur par défaut est 0.03
x :L'âge de l'assuré au moment du contrat d'assurance,La valeur par défaut est 30
n :Période du contrat d'assurance,La valeur par défaut est 20
f :Période de report,La valeur par défaut est 10
lifespan :Dernier âge,La valeur par défaut est 112
population :Population survivante de 0 ans à l'âge final, la valeur par défaut est le 20e exemple de table de mortalité(Homme)Créé en référence à.
Notez qu'il ne s'agit pas de données réelles

Il est devenu.

échantillon

① Prix actuel de la pension viagère (amaryllis.models.pension)

>>> from amaryllis.models.pension import *
>>> import numpy as np
>>> population = np.array([100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0])
>>> x = 0
>>> n = 3
>>> lifespan = 10
>>> f = 0
>>> a = life_annuity(population=population, x=x, n=n, f=f, lifespan=lifespan)
>>> print("a = {}".format(a))
a = 2.6278631350739943

② Prix actuel de la prime unique (amaryllis.models.single)

>>> from amaryllis.models.single import *
>>> import numpy as np
>>> population = np.array([100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0])
>>> i = 0.03
>>> x = 0
>>> n = 3
>>> f = 1
>>> lifespan = 10
>>> A = single_term_insurance(i=i, population=population, x=x, n=n, f=f, lifespan=lifespan)
>>> print("A = {}".format(A))
A = 0.2746224616402602

Voir github (https://github.com/yk-amarly-20/Amaryllis) pour une documentation détaillée des fonctions, car chaque assurance est implémentée par type.

en conclusion

Je n'ai pas mis en œuvre une grande partie du contenu lié à l'analyse du temps de survie, je prévois donc de l'implémenter à partir de maintenant. De plus, tous les documents de la fonction sont toujours en japonais, je dois donc le changer en anglais (~~ gênant ~~)

Recommended Posts

J'ai fait une bibliothèque pour l'assurance actuarielle
J'ai créé une bibliothèque de wrapper Python pour l'API de reconnaissance d'images docomo.
〇✕ J'ai fait un jeu
J'ai créé un fichier de dictionnaire python pour Neocomplete
J'ai fait un algorithme de rechange2 moins cher pour uWSGI
J'ai créé un outil utile pour Digital Ocean
Nous avons créé un produit de prévention du télétravail.
[Mise à jour Ver1.3.1] J'ai créé une bibliothèque de prétraitement de données DataLiner pour l'apprentissage automatique
Création de l'outil de gestion des utilisateurs Let's Chat
J'ai fait une bibliothèque pour bien séparer les phrases japonaises
J'ai créé une fenêtre pour la sortie du journal avec Tkinter
J'ai créé un outil de nettoyage pour Google Container Registry
J'ai créé une VM qui exécute OpenCV pour Python
[Python] J'ai créé un classificateur pour les iris [Machine learning]
J'ai fait un texte Python
Fait une commande pour FizzBuzz
J'ai créé une bibliothèque python qui fait rouler le rang
J'ai fait un robot discord
[VSCode] J'ai créé un extrait d'utilisateur pour Python print f-string
J'ai créé un moniteur de ressources pour Raspberry Pi avec une feuille de calcul
J'ai fait un kit d'apprentissage pour word2vec / doc2vec / GloVe / fastText
J'ai essayé de faire un diagnostic de visage AI pour les golfeuses professionnelles ③
J'ai créé un site d'apprentissage C ++
J'ai touché PyAuto pendant un moment
J'ai fait un Line-bot avec Python!
J'ai créé un script de traduction basé sur CUI (2)
J'ai fait un wikipedia gacha bot
J'ai créé ma propre bibliothèque Python
J'ai fait une loterie avec Python.
J'ai créé un script de traduction basé sur CUI
J'ai créé un démon avec Python
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
Python> J'ai créé un code de test pour mon propre fichier externe
Création d'un outil CLI client / serveur WebSocket (comme WebSocket version netcat)
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry
J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
J'ai créé un nouveau compartiment AWS S3
J'ai fait un programme de gestion de la paie en Python!
J'ai touché "Orator" alors j'ai fait une note
J'ai créé un module alternatif pour les japandas.
Débutant: j'ai créé un lanceur à l'aide d'un dictionnaire
J'ai fait un interlocuteur comme Siri
J'ai fait un script pour afficher des pictogrammes
J'ai fait une carte hexadécimale avec Python
J'ai fait un générateur Hanko avec GAN
J'ai créé un outil d'estampage automatique du navigateur.
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait une application WEB avec Django
Un manuel pour les débutants réalisé par des débutants Python
J'ai fait un simulateur de neurones avec Python
J'ai créé un conteneur Docker pour utiliser JUMAN ++, KNP, python (pour pyKNP).
J'ai créé un konoha de bibliothèque qui fait passer le tokenizer à une belle sensation
J'ai fait un robot de remplacement de tampon avec une ligne
J'ai recherché dans la bibliothèque l'utilisation de l'API Gracenote
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5