Finary

[Dev] API Finary

On bosse sur la DeFi, ca arrive :wink:

Un petit up du sujet car je suis trÚs intéressé, des news svp?

Idem, je serais intéressé par un export Google Sheet, est-ce prévu svp?

Plein de bonnes idĂ©es et je n’ai pas tout lu ! Pour le moment, l’export Excel serait dĂ©jĂ  un plus pour suivre mes cryptos et actions, expliquer qq graphiques et perfs que je ne comprends pas toujours 

Mais d’abord prioritĂ© aux imports des principales plateformes (dont celles en tĂȘte des votes comme Nexo, Swisborg 
).
Finalement je ferai peut-ĂȘtre la dĂ©marche Ă  l’envers : garder uniquement les plateformes intĂ©grĂ©es Ă  Finary ! :slight_smile:

Concernant l’export, vous pouvez aller voter ici

En attendant l’API publique et documentĂ©e de Finary, celle de crypto.com, un import CSV, un export CSV etc
 j’ai commencĂ© Ă  travailler sur un script python qu’on pourrait appeler de la maniĂšre suivante. Qu’en pense l’équipe Finary @julien_b ?
Pour les autres, vous utiliseriez un tel script ou participeriez Ă  son dĂ©veloppement si je le publie sur github? Le gros du boulot sera de le mettre Ă  jour quand l’équipe Finary doit changer son API non documentĂ©e.

Finary command line
Usage:
    finary_api signin
    finary_api me
    finary_api cryptos list
    finary_api cryptos add <code> <quantity> <price> <account_id>
    finary_api cryptos update <code> <quantity> <price> <account_id>
    finary_api cryptos delete <code> <account_id>
    finary_api holdings_accounts list
    finary_api holdings_accounts delete <account_id>
    finary_api investments list
    finary_api crypto_currency --search=QUERY
    finary_api fiat_currency --search=QUERY
    finary_api import cryptocom FILENAME [(--new=NAME | --update=account_id | --append=account_id)]

Options:
  --search=QUERY    search a resource (works for "crypto_currency", "fiat_currency")
2 « J'aime »

Je te laisse voir avec @julien afin que l’on s’accorde =)

Hello ! Super intĂ©ressĂ© par l’API Finary !

J’aimerais me faire un « assistant d’investissement » (peut-ĂȘtre qu’une fonction similaire arrivera un jour dans Finary). ConcrĂštement ce serait un script Python qui, Ă  chaque jour de paie :

  1. RĂ©sume mes recettes/dĂ©penses du mois qui vient de s’écouler
  2. Calcule automatiquement combien mettre dans quelle enveloppe selon des rĂšgles que je me dĂ©finis (i.e. selon ma stratĂ©gie d’allocation, projets personnels
).

L’objectif serait d’automatiser le plus possible toutes les opĂ©rations d’investissement, histoire d’ĂȘtre vraiment le plus passif possible :grin:

Exemple :

  1. Selon l’API, je n’ai pas utilisĂ© 400€ ce mois-ci sur le budget mensuel.
  2. Il faut X€ pour revenir au niveau objectif sur mon Livret A (supposons que j’ai piochĂ© 200€ en urgence)
  3. Le script programme automatiquement 500€ d’investissement dĂšs le dĂ©but du mois (s’il en reste aprĂšs l’étape 2). J’ajoute Ă  ces 500€ le surplus restant du mois sur mon CCP pour revenir Ă  l’objectif.
  4. Selon des rĂšgles totalement custom dans le script, ces 500+400€ sont automatiquement distribuĂ©s sur toutes mes enveloppes (e.g. 20% dans le PEA puis x% dans tel ETF
)
  5. En parallùle, le script utilise l’API pour voir s’il y a des arbitrages à faire entre actifs. Il me sort des recommandations.
  6. Il n’y a plus qu’à bĂȘtement suivre la liste d’opĂ©rations Ă  effectuer chaque mois ! Malheureusement les virements eux-mĂȘme ne sont pas automatisables sur toutes les enveloppes
 ^^

Pour l’instant c’est une envie perso, mais si on est plusieurs Ă  s’y intĂ©resser ce serait un plaisir de collaborer pour faire un bel outil ! :smile:

4 « J'aime »

Ahah on est synchro @n12t, j’ai commencĂ© Ă  bosser ce WE sur un wrapper (Ruby) de l’API Finary, en particulier pour la partie export.

Le cas d’usage de mon cĂŽtĂ© Ă©tait de mettre Ă  jour automatiquement mon Google Spreadsheet qui contient mes dashboards perso sur ma rĂ©partition du patrimoine avec quelques features comme le top des composants ETF, etc.

J’ai d’ailleurs envoyĂ© ce WE un mail Ă  @mounir concernant son feeling sur le fait de le rendre open source donc j’en profite pour reposer la question ici.

Ces types de petits scripts serait un bon apport Ă  la communautĂ© un peu technique pour avancer sur les sujets non prioritaires aujourd’hui pour Finary mais qui le sont pour certains.

1 « J'aime »

Et de fait, la question serait de savoir si Finary pourrait devenir un « BudgetInsight » plus global avec des donnĂ©es enrichies non « brut » (cĂ d contenant les donnĂ©es d’évolution des placements etc etc.).

De sorte qu’il puisse ĂȘtre envisageable de crĂ©er un vrai service/(petite) sociĂ©tĂ©/SaaS autour de l’API et des inscrits Ă  Finary (proposant une version free, qui permettrait de s’affranchir de la partie rĂ©pĂ©titif que propose chaque appli demandant un accĂšs Ă  la banque).

Bref, quel serait la limite de l’utilisation de l’API ? (Et en rĂ©alitĂ©, est-ce que Finary a le droit de faire ça ? J’imagine que les accĂšs bancaires ne sont pas si facilement accessible, lĂ©galement parlant).

Super ! Je parle pas super bien le ruby
 mais j’ai bien avancĂ© sur le wrapper en Python. C’est ma seconde tentative: il y a quelques mois j’avais un wrapper qui fonctionnait bien pour de l’import de valeur boursiĂšre mais l’api d’authentification a changĂ©, puis les autres API aussi. J’ai repris de 0.
Mon premier cas d’usage Ă©tait un import propre de cryptocom (ça marche), le second : import d’un CSV pour un portefeuille crypto ou investissement (en cours), puis je comptais regarder pour faire un mega export CSV. Tu veux collaborer sur le wrapper python en attendant une rĂ©ponse de @julien pour un repo public ?

Si on arrive à s’accorder, ça serait top d’avoir un compte test pour pouvoir faire tourner des tests unitaires :slight_smile:

1 « J'aime »

Hello,

L’utilisation de l’API Finary pour ces projets qui enrichissent la communautĂ© Finary est acceptĂ©e et bienvenue.
Si vous avez des questions sur son utilisation je suis disponible pour y répondre.
L’API n’étant pas documentĂ©e nous ne pouvons par contre pas vous garantir sa stabilitĂ© et cohĂ©rence dans le temps.

2 « J'aime »

Pas de connaissance en Python particuliĂšrement de mon cĂŽté  :stuck_out_tongue: Ca fait des annĂ©es que je souhaite m’y coller (comme le Go) mais je procastine. AprĂšs on peut essayer d’uniformiser nos deux wrappers au niveau DSL. C’est toujours sympa d’échanger :slight_smile:

Pour les tests unitaires je passe par des mocks de l’API c’est bien plus rapide, mais en effet pour les tests d’intĂ©gration ça serait top d’avoir un compte de test (un compte en lecture seul serait un bon dĂ©but).

Merci @julien pour ton retour c’est une excellente nouvelle!

Je passe par mail pour les demandes pour ne pas polluer ce thread.

Super ! Ça serait bien si les Ă©changes peuvent se faire en public, que tout le monde en profite ! et ça Ă©viterait que @julien rĂ©ponde plusieurs fois au mĂȘme question. Un autre forum ? Un autre sujet ?

Pour ma part, j’ai essayĂ© de trouver une API pour crĂ©er des lignes owning type:« staked » dans un compte crypto manuel mais sans succĂšs. Tu peux confirmer que c’est bien le cas ?
Sinon, le reste est suffisamment clair pour ce que je veux faire pour le moment.

J’ai un peu plus travaillĂ© sur mon outil en ligne de commande pour accĂ©der Ă  mon compte Finary. Si vous voulez essayer ou participer, il est sur github.com.

3 « J'aime »

Je l’ai essayĂ©, ça marche bien, sympa!

Cool ! Feedbacks et contributions bienvenus !

J’ai commencĂ© Ă  documenter l’API privĂ©e au format OpenAPI. Il y a encore pas mal de boulot :slight_smile:
Contributions (PR) bienvenues encore une fois!
Le github : GitHub - lasconic/openapi-finary: OpenAPI specification for Finary API
La doc autogénérée: Finary API

@Calvin42 @DevChris Je serai curieux de voir ce que donne une gĂ©nĂ©ration automatique d’un client en Rust et en Ruby. Pour le Python, j’utilise openapi-generator, un fork de swagger, c’est pas trop mal. Il supporte un sortie dans ces deux languages et beaucoup d’autres : Generators List

2 « J'aime »

Petit Ă  petit, je continue Ă  documenter l’API privĂ©e :slight_smile: MĂȘme si elle change trĂšs frĂ©quemment et c’est trĂšs bien ! Dernier truc que j’ai vu passĂ© ownership_repartition pour chaque compte. Youpi, le mode famille en approche !?

2 « J'aime »