Difference between revisions of "Online Quotes"
(→Finance::Quote: MacOs section) |
(→Improving readability) |
||
Line 1: | Line 1: | ||
− | + | == Overview == | |
− | ''' | + | GnuCash stores the share price of investments in an internal ''price database.'' Although it is possible to enter prices manually into the price database, it is more convenient to update them from online sources. GnuCash uses an external [http://en.wikipedia.org/wiki/Perl Perl] module called [http://finance-quote.sourceforge.net/ Finance::Quote] (F::Q) to fetch these quotes online. Finance::Quote gathers its price data from websites that provide this information, quite literally by extracting information from the web page itself. '''Because websites change frequently we advise you to keep Finance::Quote up-to-date'''. |
− | ''' | + | '''Finance::Quote is external to GnuCash.''' Thus, for it to work, you need Perl installed (see below), and occasionally you will need to update it separately from GnuCash. |
+ | |||
+ | The GnuCash Help includes [http://www.gnucash.org/docs/v2.6/C/gnucash-help/acct-create.html#Online-price-setup instructions] on setting up online quotes. | ||
==Requirements== | ==Requirements== | ||
===Perl=== | ===Perl=== | ||
− | *'''Unix''' (Linux, Solaris, AIX, HPUX,...): | + | F::Q relies on Perl, which must be installed. Perl is handled differently on the different operating systems. |
− | *'''Mac OS X''' already | + | |
− | *'''Windows''': <to be moved from [[Windows#Finance::Quote]] etc.> | + | *'''Unix''' (Linux, Solaris, AIX, HPUX,...): Perl is probably already installed. Run <code>perl -v</code> on a command line to get the version number. If not, use your package manager to install it. |
+ | *'''Mac OS X''': Perl is already installed. Open a Terminal application (in the Utilities folder of your Applications folder) and run <code>perl -v</code> to see the version number. | ||
+ | *'''Windows''': <to be moved from [[Windows#Finance::Quote]] etc.> | ||
Source: [http://www.perl.org/get.html] | Source: [http://www.perl.org/get.html] | ||
− | ;Note: While [https://en.wikipedia.org/wiki/Unixoid unixoid] operating systems use a [https://en.wikipedia.org/wiki/Shebang_(Unix) shebang] <code>#!</code> to associate perl scripts with the perl interpreter others might fail. So, if you get an error like | + | ;Note: While [https://en.wikipedia.org/wiki/Unixoid unixoid] operating systems use a [https://en.wikipedia.org/wiki/Shebang_(Unix) shebang] <code>#!</code> to associate perl scripts with the perl interpreter, others might fail. So, if you get an error like |
gnc-fq-dump --help is not recognized as an internal or external command, operable program or batch file | gnc-fq-dump --help is not recognized as an internal or external command, operable program or batch file | ||
you should repeat the command with a preceeding <tt>perl</tt>: | you should repeat the command with a preceeding <tt>perl</tt>: | ||
Line 18: | Line 22: | ||
===Finance::Quote=== | ===Finance::Quote=== | ||
− | + | As mentioned previously, Finance::Quote is a Perl module that must be installed to enable online quote fetching. Finance::Quote, in turn, depends on a number of other Perl modules. | |
− | + | ||
+ | '''Note:''' You can re-run the Windows or OS X installation tools as often as you like or you can use '''CPAN''' as explained below. | ||
+ | |||
+ | You can check the ''version'' and the list of ''available modules'' by running | ||
gnc-fq-check | gnc-fq-check | ||
from the command line. | from the command line. | ||
− | + | If F::Q is missing, install it with | |
perl -MCPAN -e shell | perl -MCPAN -e shell | ||
− | install Finance::Quote | + | install Finance::Quote |
− | : | + | |
+ | If F::Q is outdated, update it with | ||
upgrade Finance::Quote | upgrade Finance::Quote | ||
− | + | You may also need | |
install Date::Manip | install Date::Manip | ||
− | |||
− | + | ====Troubleshooting==== | |
+ | Depending on your operating system, there are other ways to install F::Q. | ||
:[[FAQ#Q: How do I install Finance::Quote on a Mac?]] | :[[FAQ#Q: How do I install Finance::Quote on a Mac?]] | ||
:[[Windows#Finance::Quote]] | :[[Windows#Finance::Quote]] | ||
Line 55: | Line 63: | ||
::*Or use the applet that runs it from Finder in the dmg. | ::*Or use the applet that runs it from Finder in the dmg. | ||
− | + | Both the Microsoft Windows and MacOS X GnuCash packages include update tools for Finance::Quote. In Windows it's called "Install Online Banking" and it's located in the GnuCash group in the Start Menu. In OS X it's "Update Finance::Quote" and it's in the dmg along with GnuCash. | |
− | |||
==Warning About Open Files== | ==Warning About Open Files== |
Revision as of 06:00, 28 July 2017
Contents
Overview
GnuCash stores the share price of investments in an internal price database. Although it is possible to enter prices manually into the price database, it is more convenient to update them from online sources. GnuCash uses an external Perl module called Finance::Quote (F::Q) to fetch these quotes online. Finance::Quote gathers its price data from websites that provide this information, quite literally by extracting information from the web page itself. Because websites change frequently we advise you to keep Finance::Quote up-to-date.
Finance::Quote is external to GnuCash. Thus, for it to work, you need Perl installed (see below), and occasionally you will need to update it separately from GnuCash.
The GnuCash Help includes instructions on setting up online quotes.
Requirements
Perl
F::Q relies on Perl, which must be installed. Perl is handled differently on the different operating systems.
- Unix (Linux, Solaris, AIX, HPUX,...): Perl is probably already installed. Run
perl -v
on a command line to get the version number. If not, use your package manager to install it. - Mac OS X: Perl is already installed. Open a Terminal application (in the Utilities folder of your Applications folder) and run
perl -v
to see the version number. - Windows: <to be moved from Windows#Finance::Quote etc.>
Source: [1]
- Note
- While unixoid operating systems use a shebang
#!
to associate perl scripts with the perl interpreter, others might fail. So, if you get an error like
gnc-fq-dump --help is not recognized as an internal or external command, operable program or batch file
you should repeat the command with a preceeding perl:
perl gnc-fq-dump --help
Finance::Quote
As mentioned previously, Finance::Quote is a Perl module that must be installed to enable online quote fetching. Finance::Quote, in turn, depends on a number of other Perl modules.
Note: You can re-run the Windows or OS X installation tools as often as you like or you can use CPAN as explained below.
You can check the version and the list of available modules by running
gnc-fq-check
from the command line.
If F::Q is missing, install it with
perl -MCPAN -e shell install Finance::Quote
If F::Q is outdated, update it with
upgrade Finance::Quote
You may also need
install Date::Manip
Troubleshooting
Depending on your operating system, there are other ways to install F::Q.
- FAQ#Q: How do I install Finance::Quote on a Mac?
- Windows#Finance::Quote
- FAQ#Q: How do I fix a system error when getting stock quotes?
- Linux:
- If there is no recent perl-finance-quote offered by your package manager do the following:
- As root (su / sudo) run the GnuCash Finance Quote update script
gnc-fq-update
- It will install Finance::Quote and its dependencies.
- Some (Ubuntu based) distributions removed it from the package. In this case you can download it from github.
- In the first line replace @-PERL-@ with the path to your perl executable, e.g., /usr/bin/perl and mark the file as executable.
- A discussion of how to set it up (in Ubuntu) can be found at [2].
- It will install Finance::Quote and its dependencies.
- That script, as of 2.6.12, uses CPAN to install:
- Date::Manip
- Finance::Quote
- That script, as of 2.6.12, uses CPAN to install:
- MacOs:
- from a Terminal prompt:
/Applications/Gnucash.app/Contents/Resources/bin/gnc-fq-update
- Or use the applet that runs it from Finder in the dmg.
Both the Microsoft Windows and MacOS X GnuCash packages include update tools for Finance::Quote. In Windows it's called "Install Online Banking" and it's located in the GnuCash group in the Start Menu. In OS X it's "Update Finance::Quote" and it's in the dmg along with GnuCash.
Warning About Open Files
Updating quotes will modify the GNUCash file/database. As multi-user access is not supported, the file/database should be closed prior to updating quotes.
cron and Non-X Usage
If you attempt to run
gnucash --add-price-quotes /path/to/file.gnucash
or on MacOSX:
/Applications/Gnucash.app/Contents/MacOS/Gnucash --add-price-quotes /Users/<username>/Documents/test.gnucash
without dbus running (for example, from a cron job or ssh without X forwarding), you may get errors such as
GConf Error: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: Not running within active session)
One resolution for this, courtesy of SyncEvolution - The Missing Link, is to launch dbus for the duration of the quote retrieval with a cron command similar to
env `dbus-launch` sh -c 'trap "kill $DBUS_SESSION_BUS_PID" EXIT; gnucash --add-price-quotes /path/to/file.gnucash'
Note: This has been documented in Bug #639776
Technical Details
Where the files are stored depends on your OS/Distro:
- Linux depends on the way it was installed:
- by package manager: /usr/share/perl5/[vendor/]Finance/Quote
- by CPAN or gnc-fq-update: /usr/share/perl5/site/Finance/Quote
- self compiled: /usr/local/share/perl/5.xx.x/Finance/Quote
- Windows: C:\Perl\site\lib\Finance\Quote
You can get the path by running:
perldoc -lm Finance::Quote
(Tested on Linux. Please update for: MacOS, Windows)