đŸ 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
âŹ ïž Previous capture (2024-05-26)
-=-=-=-=-=-=-
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.
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.
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.
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].
[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
[6] Program your Finances: Command-line Accounting , Keen 2011