[GNC] pricehist: a tool to fetch historical prices

D. sunfish62 at yahoo.com
Thu Jul 1 13:39:26 EDT 2021


Derek, 

Your point is well-taken; making changes to the datafile outside of the API is Risky. 

That being said, the price db operates somewhat independently of a file's transactions. Adding or removing items from the price db can be done without disruption to transactions. 

I find it interesting to read this announcement; a number of years back, I did a very similar project in perl, which more directly reconstructed a book's commodity prices with monthly prices for all holdings past and present. I was able to rebuild my own multi year price history for a file with over a hundred different commodities using it. Whether it's still valid and still works are legitimate questions, but Chris might find it an interesting read. 

For everyone else: don't use my code. 

https://github.com/sunfish62/NewPriceHistory

David T.


-------- Original Message --------
From: Derek Atkins <derek at ihtfp.com>
Sent: Thu Jul 01 09:52:35 EDT 2021
To: chris at chrisberkhout.com
Cc: gnucash-user at gnucash.org
Subject: Re: [GNC] pricehist: a tool to fetch historical prices

Hi,

Just note that GnuCash (and more generally, the GnuCash team) does not
support modifications of the gnucash database outside of GnuCash.  Doing
so may break your data file, especially as it changes over time.  If
you're not using the GnuCash APIs to modify your data file, you "void the
warranty".  YMMV.

-derek

On Thu, July 1, 2021 9:45 am, Chris Berkhout wrote:
> Hi all,
>
> I've written a command-line tool to fetch daily historical prices. It
> currently supports 5 sources of data and will generate output in 4
> formats,
> including SQL for a GnuCash database.
>
> https://gitlab.com/chrisberkhout/pricehist
>
> Fetching prices and immediately applying them to a GnuCash database is
> done
> as in the following examples:
>
> pricehist fetch ecb EUR/USD -s 2021-06-25 -o gnucash-sql | sqlite3
> Accounts.gnucashpricehist fetch ecb EUR/USD -s 2021-06-25 -o
> gnucash-sql | mysql -u username -p -D databasenamepricehist fetch ecb
> EUR/USD -s 2021-06-25 -o gnucash-sql | psql -U username -d
> databasename -v ON_ERROR_STOP=1
>
> I discuss some details of the generated SQL in the source code:
>
> https://gitlab.com/chrisberkhout/pricehist/-/blob/master/src/pricehist/outputs/gnucashsql.py
>
> As far as I am aware GnuCash's built-in price fetching is for current
> prices only. The wiki documents wrapper scripts for the Finance::QuoteHist
> Perl module, and the Piecash library has a Commodity.update_prices method
> for fetching historical prices, but I hope that pricehist will make
> fetching historical prices easy for GnuCash users who don't want to write
> their own code for it.
>
> If pricehist might be useful for you please try it and let me know what
> you
> think. I'm still improving error handling and some other things but the
> main functionality is done.
>
> Cheers,
> Chris
> _______________________________________________
> gnucash-user mailing list
> gnucash-user at gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> If you are using Nabble or Gmane, please see
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.
>


-- 
       Derek Atkins                 617-623-3745
       derek at ihtfp.com             www.ihtfp.com
       Computer and Internet Security Consultant

_______________________________________________
gnucash-user mailing list
gnucash-user at gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.



More information about the gnucash-user mailing list