đŸ’Ÿ Archived View for unbon.cafe â€ș lejun â€ș posts â€ș 20220605_rapportFinancier.gmi captured on 2024-08-31 at 11:55:17. Gemini links have been rewritten to link to archived content

View Raw

More Information

âŹ…ïž Previous capture (2024-05-26)

-=-=-=-=-=-=-

Rapport financier

2022-06-05

Tenir un livre de comptes[1] c'est bien, s'en servir c'est mieux. Cet aspect n'est apparemment pas pris en charge par ledger qui se contente d'organiser les donnĂ©es sans jamais faire un seul calcul. Soit, c'est un choix honorable et trĂšs UNIX dans l'idĂ©e. Un peu de documentation Ă  ce sujet n'aurait pas Ă©tĂ© de trop, mais comme on dit : on est jamais mieux servi que par soi-mĂȘme.

Format de données

Par dĂ©faut ledger propose des rapports condensĂ©s : `bal` et `reg` gĂ©nĂšrent respectivement une vue d'ensemble des mouvements par type de dĂ©pense, et une vue en liste de chaque mouvement. Chacune pouvant ĂȘtre modifiĂ©e par des arguments. La commande `csv` peut Ă©galement ĂȘtre utilisĂ©e pour gĂ©nĂ©rer un rapport au format Ă©ponyme.

L'argument --monthly permet notamment de regrouper les entrées par mois.

Format graphique

La documentation officielle présente un exemple de rapport à l'aide de gnuplot[2] proposant de nombreuses personnalisations[3]. Le défaut à cette méthode est l'usage de gnuplot que, n'étant pas libre, je ne souhaite pas utiliser[4].

GNU graph serait une alternative possible, mais n'Ă©tant familier ni avec le programme, ni l'opĂ©ration en elle-mĂȘme, je commencerai avec R qui prend en charge la manipulation de donnĂ©es, et dispose de paquets dĂ©diĂ©s Ă  ledger[5].

Dans un contexte encore plus avancĂ©, d'autres ont mis en place des interfaces de suivi complĂštes[6] pouvant thĂ©oriquement ĂȘtre consultables Ă  distance. Ce sont des solutions dynamiques qui ne m'intĂ©ressent que peu : j'utilise et surveille seul mon budget.

Format textuel

PlutĂŽt que de gĂ©nĂ©rer un graphique Ă  analyser visuellement, et surtout faute de logiciel qui me convienne vraiment — R Ă©tant une dĂ©pendance assez lourde pour qui n'en a pas utilité –, il peut ĂȘtre pertinent de se contenter de seulement calculer les indicateurs[7] qui m'intĂ©ressent :

Dans l'idĂ©e, chaque donnĂ©e calculĂ©e existerait sous la forme d'une paire date et nombre, ce qui se prĂȘterait aisĂ©ment Ă  un format graphique.

Au risque de perdre de l'information (Ce qui est en soi un exercice intĂ©ressant puisque mettant Ă  l'Ă©preuve les limites des indicateurs statistiques usuels), alors je vais chercher Ă  calculer sur la sortie de ledger les diffĂ©rents quartiles par catĂ©gorie, ainsi que l'Ă©cart-type[8]. Ces indicateurs traduisent de maniĂšre relativement exhaustive un jeu de donnĂ©es, sans en dĂ©crire la tendance (Qui de toute maniĂšre devrait ĂȘtre relativement nulle dans mon objectif de stabilitĂ©. Par curiositĂ© cela pourrait nĂ©anmoins ĂȘtre analysĂ© via mĂ©thode graphique ou une rĂ©gression).

Mon salaire et certains frais Ă©tant mensualisĂ©s, c'est la rĂ©solution Ă  laquelle je m'applique pour l'analyse. Mais il serait tout Ă  fait possible de le faire par semaine ou par jour, en quel cas une simplification par ondelettes ou Fourier pourrait ĂȘtre intĂ©ressante.

Je n'ai pas trouvĂ© de code sous Bash rĂ©pondant Ă  mon besoin. Ce qui ne m'a pas empĂȘchĂ© de monter une Ă©bauche que j'ai abandonnĂ©e par flemme de construire des fonctions statistiques basiques.

$ ledger -f annee.ledger csv -M
"AAAA/MM/JJ","","- AA-MMM-JJ","categorie","devise","montant","",""
$ cut -d ',' -f 1,4,6
"AAAA/MM/JJ","categorie","montant"
; Je préfÚre ne pas avoir à utiliser d'argument, le temps de traitement est relativement similaire entre les deux méthodes
; sed -r 's/|^"....\/(..)\/.."/\1/g'
$ sed 's/^"....\///g'
MM/JJ","categorie","montant"
$ sed 's/\/.."//g
MM,"categorie","montant"'
$ sed 's/"//g'
MM,categorie,montant

https://github.com/TatyanaV/-Bourne-shell-script-to-compute-statistics

rows=`wc -l $filename|cut -d' ' -f1`
q2=`echo "($rows+1)/2"|bc`
q1=`echo "$q2 / 2"|bc`
q3=`echo "$q1 * 3"|bc
`

echo "Q1="`head -$q1 $filename|tail -1`
echo "Q2="`head -$q2 $filename|tail -1`
echo "Q3="`head -$q3 $filename|tail -1`

for i in categorie
	for j in mois
	calcul Q0-4
	calcul σ
https://nickcanzoneri.com/bash/command-line/data/2018/03/20/data-analysis-first-aid.html
https://www.jessesadler.com/post/excel-vs-r/

PlutĂŽt que Bash, je me suis orientĂ© encore une fois vers mon langage de cƓur, R, qui possĂ©dait dĂ©jĂ  quelques travaux[9]. J'aurais pu simplement les exĂ©cuter
 s'ils fonctionnaient. Leur complexitĂ© et mon absence de motivation auront eu raison de moi ; J'ai fait mon propre code, moche, ultraspĂ©cifique Ă  mon usage, mais qui a le mĂ©rite de fonctionner Ă  partir de la fonction d'export mensualisĂ© de ledger[10].

Références

[1] Comptabilité en Texte Brut, LeJun 2022

[2] Visualizing with Gnuplot, ledger 2022

[3] Report Scripts for Ledger CLI with Gnuplot, Sundialdreams 2016

[4] Visualisation de données, LeJun 2023

[5] ledger, Davis 2021

[6] Program your Finances: Command-line Accounting , Keen 2011

[7] Indicateurs, LeJun 2023

[8] Variance, LeJun 2023

[9] ledger-plots, Sovetkin 2018

[10] ledger-R-report, LeJun 2024