Quote date in gnucash different from retrieved by gnc-fq-dump
Lt. Goose
ltgoose at gmail.com
Thu Jul 30 03:36:40 EDT 2015
2015-07-30 2:08 GMT+02:00 John Ralls <jralls at ceridwen.us>:
>
> On Jul 29, 2015, at 8:21 AM, Lt. Goose <ltgoose at gmail.com> wrote:
>
> El miércoles, 29 de julio de 2015, John Ralls <jralls at ceridwen.us>
> escribió:
>
>>
>> > On Jul 29, 2015, at 4:43 AM, Lt. Goose <ltgoose at gmail.com> wrote:
>> >
>> > I'm getting unexpected results when updating quotes in gnucash 2.6.7
>> > (updated yesterday). I've written my own quote source and integrated it
>> > into Finance::Quote (1.37). It is recognized by gnucash so that I can
>> > select it from within the program and use it to retrieve quotes.
>> >
>> > However, the date returned in the quote (2015-07-29 12:00:00, as can be
>> > seen in debug trace messages [1]) is different from the one returned by
>> > Finance::Quote (2015-07-28, see gnc-fq-dump output in [2]). Detailed
>> output
>> > of gnc-fq-dump can be seen in [3].
>> >
>> > Am I missing something or does gnucash use execution date to insert the
>> > quote value? Should date string be formatted some other way? (I mimicked
>> > yahoo quote return values). Is this the way it should work?
>> >
>> > I'd appreciate any insights on this matter.
>> >
>> > Thanks in advance.
>> > Gus.
>> >
>> > -------
>> >
>> > [1] gnucash.trace.log output
>> > * 13:27:16 DEBUG <gnc.scm> handling-request: (bolsamadrid ECR.BME
>> REE.BME)
>> > * 13:27:19 DEBUG <gnc.scm> results: ((ECR.BME (symbol . ECR.BME)
>> > (gnc:time-no-zone . 2015-07-29 12:00:00) (last . 0.73) (currency . EUR))
>> > (REE.BME (symbol . REE.BME) (gnc:time-no-zone . 2015-07-29 12:00:00)
>> (last
>> > . 72.48) (currency . EUR)))
>> >
>> >
>> > [2] gnc-fq-dump output
>> > C:\Program Files (x86)\gnucash\bin>perl gnc-fq-dump bolsamadrid REE.BME
>> > ECR.BME
>> > Finance::Quote fields Gnucash uses:
>> > symbol: REE.BME <=== required
>> > date: 28/07/2015 <=== required
>> > currency: EUR <=== required
>> > last: 72.4800 <=\
>> > nav: <=== one of these
>> > price: 72.4800 <=/
>> > timezone: <=== optional
>> > =====
>> >
>> > Finance::Quote fields Gnucash uses:
>> > symbol: ECR.BME <=== required
>> > date: 28/07/2015 <=== required
>> > currency: EUR <=== required
>> > last: 0.7300 <=\
>> > nav: <=== one of these
>> > price: 0.7300 <=/
>> > timezone: <=== optional
>> >
>> >
>> > [3] gnc-fq-dump verbose output
>> > C:\Program Files (x86)\gnucash\bin>perl gnc-fq-dump -v bolsamadrid
>> REE.BME
>> > ECR.BME
>> > Finance::Quote fields Gnucash uses:
>> > symbol: REE.BME <=== required
>> > date: 28/07/2015 <=== required
>> > currency: EUR <=== required
>> > last: 72.4800 <=\
>> > nav: <=== one of these
>> > price: 72.4800 <=/
>> > timezone: <=== optional
>> >
>> > All fields returned by Finance::Quote for stock REE.BME
>> >
>> > stock field value
>> > ----- ----- -----
>> > REE.BME currency: EUR
>> > REE.BME date: 28/07/2015
>> > REE.BME day_range: 72.0400 - 72.6600
>> > REE.BME high: 72.6600
>> > REE.BME isodate: 2015/07/28
>> > REE.BME last: 72.4800
>> > REE.BME low: 72.0400
>> > REE.BME method: bolsamadrid
>> > REE.BME name: REE.BME
>> > REE.BME p_change: 0.42
>> > REE.BME price: 72.4800
>> > REE.BME source: Finance::Quote::Bolsamadrid
>> > REE.BME success: 1
>> > REE.BME symbol: REE.BME
>> >
>> > =====
>> >
>> > Finance::Quote fields Gnucash uses:
>> > symbol: ECR.BME <=== required
>> > date: 28/07/2015 <=== required
>> > currency: EUR <=== required
>> > last: 0.7300 <=\
>> > nav: <=== one of these
>> > price: 0.7300 <=/
>> > timezone: <=== optional
>> >
>> > All fields returned by Finance::Quote for stock ECR.BME
>> >
>> > stock field value
>> > ----- ----- -----
>> > ECR.BME currency: EUR
>> > ECR.BME date: 28/07/2015
>> > ECR.BME day_range: 0.6550 - 0.7450
>> > ECR.BME high: 0.7450
>> > ECR.BME isodate: 2015/07/28
>> > ECR.BME last: 0.7300
>> > ECR.BME low: 0.6550
>> > ECR.BME method: bolsamadrid
>> > ECR.BME name: ECR.BME
>> > ECR.BME p_change: 9.45
>> > ECR.BME price: 0.7300
>> > ECR.BME source: Finance::Quote::Bolsamadrid
>> > ECR.BME success: 1
>> > ECR.BME symbol: ECR.BME
>>
>> By “updated yesterday” do you mean you built yesterday’s maint? That’s
>> significant because I pushed a change on Monday to use a more modern
>> interface for Date::Manip, and it looks like it’s not parsing the d-m-y
>> format correctly.
>>
>> Regards,
>> John Ralls
>>
>>
>>
> I mean I updated gnucash from 2.6.3 to 2.6.7 using the Windows msi
> installer from the gnucash website. I installed this morning activeperl
> 5.20.2 (i think that's the version) over 5.20.1 and updated finance::quote
> using the Perl package manager from 1.10 to 1.37.
>
> I haven't built anything from source, but I can make any checks you
> suggest.
>
>
> OK.
>
> You can run gnc-fq-helper directly from the command line with
> echo (source “SYM”) | perl c:\Program Files
> (x86)\gnucash\bin\gnc-fq-helper
> as long as perl is on your path.
>
> I think your problem is returning the date in D/M/YYYY format. That’s not
> a format Date::Manip, which gnc-fq-helper uses for date parsing,
> understands. Try YYYY/M/D instead.
>
> You can read more at
> http://search.cpan.org/~sbeck/Date-Manip-6.50/lib/Date/Manip/Date.pod#VALID_DATE_FORMATS
> .
>
> Regards,
> John Ralls
>
>
Thanks for the suggestion regarding date format. I changed the date output
to YYYY/MM/DD format and now I get the same date both in gnucash and
gnc-fq-dump. It's also good to know how to run gcn-fq-helper from command
line. It would have saved me a lot of time when debugging, though, but I'm
sure I'll use it in the future.
So, again, the problem was behind the keyboard ;)
Thanks for your time and help!
Regards,
Gus
More information about the gnucash-user
mailing list