You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(22) |
May
(11) |
Jun
(19) |
Jul
(12) |
Aug
(18) |
Sep
(11) |
Oct
(2) |
Nov
(5) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(5) |
Feb
(5) |
Mar
(2) |
Apr
(1) |
May
(14) |
Jun
(13) |
Jul
(6) |
Aug
(1) |
Sep
(6) |
Oct
|
Nov
|
Dec
(2) |
2002 |
Jan
(4) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(3) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(3) |
2003 |
Jan
|
Feb
|
Mar
(5) |
Apr
(3) |
May
(7) |
Jun
(6) |
Jul
(13) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(3) |
2004 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
|
May
(7) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
(3) |
2005 |
Jan
|
Feb
(16) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(7) |
Aug
(3) |
Sep
(2) |
Oct
(15) |
Nov
(2) |
Dec
(4) |
2006 |
Jan
(3) |
Feb
(6) |
Mar
(5) |
Apr
(7) |
May
|
Jun
(1) |
Jul
(3) |
Aug
(3) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2007 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(3) |
May
(5) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2008 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(4) |
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
(35) |
Oct
(19) |
Nov
(17) |
Dec
(10) |
2009 |
Jan
(4) |
Feb
(16) |
Mar
(2) |
Apr
(6) |
May
(4) |
Jun
(8) |
Jul
|
Aug
(3) |
Sep
(6) |
Oct
|
Nov
(4) |
Dec
(4) |
2010 |
Jan
|
Feb
(13) |
Mar
(9) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
|
2011 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
(3) |
Feb
(3) |
Mar
(2) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
(21) |
Feb
(3) |
Mar
(5) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
|
2014 |
Jan
|
Feb
(26) |
Mar
(9) |
Apr
|
May
(1) |
Jun
(10) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(67) |
Dec
(3) |
2018 |
Jan
(1) |
Feb
|
Mar
(10) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(4) |
Dec
(10) |
2019 |
Jan
|
Feb
(1) |
Mar
(5) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2020 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2024 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(15) |
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Kalpesh P. <kal...@us...> - 2024-06-06 18:30:45
|
Spirit of the framework noted and understood. It makes sense to keep within those bounds. I have personally developed a module that bridges with any language through F::Q that I heavily use. I needed to tie in Python for pricing and other needs. I will try to make additional progress with ASX.pm module. -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Thursday, June 06, 2024 12:34 PM To: Kalpesh Patel <kal...@us...>; 'Finance-Quote-Devel' <fin...@li...> Subject: Re: [Finance-quote-devel] Module Tests On 6/6/24 9:18 AM, Kalpesh Patel wrote: > Anti-scraping now days use some kind of client side javascript to do > so knowing that it is robust way to get around cURL or wGet like > tools. I do agree that implementing Javascript engine on F::Q is going > to make it heavy but as more and more sites modernize, F::Q will have > to adopt to be able to match that prowess. As long as I am the gatekeeper, that is *NOT* going to happen. Just as easy to change to available published key based sources like AlphaVantage, TwelveData, etc. Remember, the *HUGE* majority of F::Q users are GnuCash users (and some KMyMoney and StockManiac) who are not programmers, developers, etc. If not for using GnuCash they would likely barely know what Perl is. Making the installation and configuration of a JavaScript engine for Perl would need to be both bullet proof and idiot proof. Heck, I'm a proponent of replacing F::Q with a Python (hell, maybe even Go) tool with the same features. At least for GnuCash. Bruce S. |
From: Bruce S. <bs...@as...> - 2024-06-06 16:33:54
|
On 6/6/24 9:18 AM, Kalpesh Patel wrote: > Anti-scraping now days use some kind of client side javascript to do > so knowing that it is robust way to get around cURL or wGet like > tools. I do agree that implementing Javascript engine on F::Q is > going to make it heavy but as more and more sites modernize, F::Q > will have to adopt to be able to match that prowess. As long as I am the gatekeeper, that is *NOT* going to happen. Just as easy to change to available published key based sources like AlphaVantage, TwelveData, etc. Remember, the *HUGE* majority of F::Q users are GnuCash users (and some KMyMoney and StockManiac) who are not programmers, developers, etc. If not for using GnuCash they would likely barely know what Perl is. Making the installation and configuration of a JavaScript engine for Perl would need to be both bullet proof and idiot proof. Heck, I'm a proponent of replacing F::Q with a Python (hell, maybe even Go) tool with the same features. At least for GnuCash. Bruce S. |
From: Kalpesh P. <kal...@us...> - 2024-06-06 16:28:45
|
I am in east coast. They may be doing roving maintenance where services in a particular region might be impacted at certain time ... -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Thursday, June 06, 2024 11:29 AM To: Kalpesh Patel <kal...@us...>; 'Finance-Quote-Devel' <fin...@li...> Subject: Re: [Finance-quote-devel] Yahoo JSON intermittent failures. On 6/6/24 6:30 AM, Kalpesh Patel wrote: > Not sure if anyone has reported or not but I have been experiencing > intermittent failures numerous last few days using Yahoo JSON. These > failures are happening overnight US hours so likely there is maintenance > taking place causing their load balancer to fail to respond in time > before timeout timer expires. Kalpesh, I noticed an issue last week and posted to the GnuCash User email list. https://lists.gnucash.org/pipermail/gnucash-user/2024-May/112021.html. A reply from John Ralls indicated that someone had also submitted a GnuCash bug report about the issue. I haven't experienced the problem since last week. I use a cron job that updates my stock prices in GnuCash at 13:30 Pacific time each weekday. Bruce S. |
From: Kalpesh P. <kal...@us...> - 2024-06-06 16:18:53
|
I accounted for Imperva's Incapsula in my attempted mods as you previously mentioned and detailed. Not having good knowledge or a running local copy of Incapsula makes it very difficult to decipher tech's implemented on the backend which no doubt figures into difficulty of figuring out the workflow. Anti-scraping now days use some kind of client side javascript to do so knowing that it is robust way to get around cURL or wGet like tools. I do agree that implementing Javascript engine on F::Q is going to make it heavy but as more and more sites modernize, F::Q will have to adopt to be able to match that prowess. -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Thursday, June 06, 2024 11:45 AM To: Kalpesh Patel <kal...@us...>; 'Finance-Quote-Devel' <fin...@li...> Subject: Re: [Finance-quote-devel] Module Tests On 6/6/24 6:43 AM, Kalpesh Patel wrote: > So I have been looking at ASX module overall and I am also unable to > figure out how their anti-scraping workflow is built. Changes that I > have tested works every third request (over VPN to IP in Australia) > so it is not helpful. I am suspecting that they are executing some > java script that plays into their subsequent requests which LWP is > not capable of doing. Not sure if Selenium or something like that, > which would be heavy dependency for F::Q, is on the table to make it > work properly. Somewhere down the thread I had mentioned that ASX is using Imperva's Incapsula. Which is why I opened https://github.com/finance-quote/finance-quote/issues/404. I'm not sure if anyone other than Chris Good uses it, and he doesn't seem to mind that the data returned does not contain a trade date. I've also been adding notes to https://github.com/finance-quote/finance-quote/issues/405. The base URL used by MorningstarAU can used to fetched data that ASX supplies. I'm thinking of fixing the module to have multiple methods. "morningstarau" for the original intention of funds, and maybe "msasx" for securities (or as the ASX calls them, ordinaries). Adding the use of a Java Script engine I think is far too much for the majority of F::Q users. Many people already complain about the huge number of dependencies that are now installed. Somewhere about 1.48-1.51 someone introduced code that seems to have exponentially ballooned the number of dependencies that are now installed. It also seems that the majority of the extra dependencies have little to do with how F::Q functions, but are needed to run the test scripts. Bruce S. |
From: Bruce S. <bs...@as...> - 2024-06-06 15:45:24
|
On 6/6/24 6:43 AM, Kalpesh Patel wrote: > So I have been looking at ASX module overall and I am also unable to > figure out how their anti-scraping workflow is built. Changes that I > have tested works every third request (over VPN to IP in Australia) > so it is not helpful. I am suspecting that they are executing some > java script that plays into their subsequent requests which LWP is > not capable of doing. Not sure if Selenium or something like that, > which would be heavy dependency for F::Q, is on the table to make it > work properly. Somewhere down the thread I had mentioned that ASX is using Imperva's Incapsula. Which is why I opened https://github.com/finance-quote/finance-quote/issues/404. I'm not sure if anyone other than Chris Good uses it, and he doesn't seem to mind that the data returned does not contain a trade date. I've also been adding notes to https://github.com/finance-quote/finance-quote/issues/405. The base URL used by MorningstarAU can used to fetched data that ASX supplies. I'm thinking of fixing the module to have multiple methods. "morningstarau" for the original intention of funds, and maybe "msasx" for securities (or as the ASX calls them, ordinaries). Adding the use of a Java Script engine I think is far too much for the majority of F::Q users. Many people already complain about the huge number of dependencies that are now installed. Somewhere about 1.48-1.51 someone introduced code that seems to have exponentially ballooned the number of dependencies that are now installed. It also seems that the majority of the extra dependencies have little to do with how F::Q functions, but are needed to run the test scripts. Bruce S. |
From: Bruce S. <bs...@as...> - 2024-06-06 15:29:48
|
On 6/6/24 6:30 AM, Kalpesh Patel wrote: > Not sure if anyone has reported or not but I have been experiencing > intermittent failures numerous last few days using Yahoo JSON. These > failures are happening overnight US hours so likely there is maintenance > taking place causing their load balancer to fail to respond in time > before timeout timer expires. Kalpesh, I noticed an issue last week and posted to the GnuCash User email list. https://lists.gnucash.org/pipermail/gnucash-user/2024-May/112021.html. A reply from John Ralls indicated that someone had also submitted a GnuCash bug report about the issue. I haven't experienced the problem since last week. I use a cron job that updates my stock prices in GnuCash at 13:30 Pacific time each weekday. Bruce S. |
From: Kalpesh P. <kal...@us...> - 2024-06-06 13:43:29
|
So I have been looking at ASX module overall and I am also unable to figure out how their anti-scraping workflow is built. Changes that I have tested works every third request (over VPN to IP in Australia) so it is not helpful. I am suspecting that they are executing some java script that plays into their subsequent requests which LWP is not capable of doing. Not sure if Selenium or something like that, which would be heavy dependency for F::Q, is on the table to make it work properly. -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Thursday, May 23, 2024 3:57 PM To: Finance-Quote-Devel <fin...@li...> Subject: Re: [Finance-quote-devel] Module Tests > Bruce - let me see what progress I can make on t/asx.t test harness. > I am touching it for first time so there is going to be ramp up time. > For that matter I am just graduating from nubee to noob when it comes > to dist zilla so be patient with me... Kalpesh, No need to learn Dist::Zilla. Just test the old fashion way. From the .../finance-quote directory where you cloned the repo. For example, I usually do my development in $HOME/tmp. cd ~/tmp git clone gi...@gi...:finance-quote/finance-quote.git # or git clone gi...@gi...:ka-patel/finance-quote.git in your case cd finance-quote PERL5LIB=$(pwd)/lib:$PERL5LIB ONLINE_TEST=1 perl t/asx.t The ASX.pm method utilizes 2 URLs. https://www.asx.com.au/asx/1/share/ and https://asx.api.markitdigital.com/asx-research/1.0/companies/ The first one in a browser (https://www.asx.com.au/asx/1/share/ARG) will have far more information than the alternate (https://asx.api.markitdigital.com/asx-research/1.0/companies/ARG/header). One huge thing missing from the alternate is a trade date. And it would be much prefered to get the trade date from the source, rather than guestimate to be earlier today, yesterday, last Friday, etc. Yes, I know there are ways to get that, but in the past guessing the trade date has proven to be problematic. Once again, figuring out the magic sauce to get the primary URL (https://www.asx.com.au/asx/1/share/$symbol) to work using LWP::UserAgent has got me stumped. I cannot for the life of me figure out where the cookies needed come from. In testing using curl, I have figured out that the request will need a bunch of headers included in the request. -H "Accept-Encoding: gzip, deflate, br, zstd" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp, image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" -H "Accept-Language: en-US,en;q=0.9" -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1" -H "Strict-Transport-Security: max-age=31536000; includeSubDomains" Thanks, Bruce _______________________________________________ Finance-quote-devel mailing list Fin...@li... https://lists.sourceforge.net/lists/listinfo/finance-quote-devel |
From: Kalpesh P. <kal...@us...> - 2024-06-06 13:30:26
|
Not sure if anyone has reported or not but I have been experiencing intermittent failures numerous last few days using Yahoo JSON. These failures are happening overnight US hours so likely there is maintenance taking place causing their load balancer to fail to respond in time before timeout timer expires. |
From: Bruce S. <bs...@as...> - 2024-05-28 20:38:36
|
FYI - I opened issue https://github.com/finance-quote/finance-quote/issues/404. Bruce S |
From: Bruce S. <bs...@as...> - 2024-05-28 17:28:03
|
Forwarding to the list as a test for SF support. -------- Forwarded Message -------- Subject: [forge:site-support] #25828 List eMail being Rejected Date: Tue, 28 May 2024 17:20:03 -0000 From: SourceForge Support <sf-...@us...> Reply-To: [forge:site-support] <25...@si...> To: [forge:site-support] <25...@si...> Hello, Is this still an issue? Our team has been working on your report, and we would like to have your feedback. Sincerely, SourceForge Support ------------------------------------------------------------------------ *[site-support:#25828] <https://sourceforge.net/p/forge/site-support/25828/> List eMail being Rejected* *Status:* open *Created:* Tue May 28, 2024 02:17 AM UTC by B Schuck *Last Updated:* Tue May 28, 2024 02:27 AM UTC *Owner:* nobody Recently emails to the sourceforge finance-quote-devel email list are getting this bounce/reject message after a few days. |Thismessagewascreatedautomaticallybymaildeliverysoftware. Amessagethatyousentcouldnotbedeliveredtooneormoreofits recipients.Thisisapermanenterror.Thefollowingaddress(es)failed: fin...@li... allhostsfor'lists.sourceforge.net'havebeenfailingforalongtime (andretrytimenotreached) [Part2:"Delivery Status"] Reporting-MTA:dns;sfi-mx-2.v28.lw.sourceforge.com Action:failed Final-Recipient:rfc822;fin...@li... Status:5.0.0 [Part3:"Included Message"] | ------------------------------------------------------------------------ Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/forge/site-support/25828/ <https://sourceforge.net/p/forge/site-support/25828/> To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/ <https://sourceforge.net/auth/subscriptions/> |
From: Kalpesh P. <kal...@us...> - 2024-05-28 16:11:51
|
So one thing I did notice is that there are two different email addresses (which may not be in any way related here) for the same mail list: fin...@so... and fin...@li... I wonder if it is simply a re-alignment of the domain being used for the list. The one with lists in the domain has never worked for me, though. -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Tuesday, May 28, 2024 10:14 AM To: Chris Good <goo...@gm...> Cc: kal...@us... Subject: Re: FW: Mail delivery failed: returning message to sender Thanks Chris. I received another bounce message yesterday and opened a ticket at SourceForge. Looked at other recently opened tickets and there is about a handful of others reporting similar issues with other SF hosted email lists. On 5/28/24 00:11, Chris Good wrote: > Hi Bruce, > > I did eventually get the below bounced mail. > > Regards, > Chris Good > > -----Original Message----- > From: Mail Delivery System <Mai...@so...> > Sent: Tuesday, 28 May 2024 1:04 PM > To: goo...@gm... > Subject: Mail delivery failed: returning message to sender > > This message was created automatically by mail delivery software. > > A message that you sent could not be delivered to one or more of its > recipients. This is a permanent error. The following address(es) failed: > > fin...@li... > all hosts for 'lists.sourceforge.net' have been failing for a > long time (and retry time not reached) > |
From: Bruce S. <bs...@as...> - 2024-05-24 00:47:03
|
I've done some digging with respect to attempting to get data from https://www.asx.com.au/asx/1/share/$symbol. Notice the body of response will contain something like <script src="/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3"> This is for an anti-scraping web application delivery platofrom from Imperva. It uses JavaScript fingerprinting. I'm starting to think that the ASX.pm module will just be dropped from F::Q. It's been broken for at least a couple years, maybe longer. No one has opened an issue in that time. Bruce S |
From: Kalpesh P. <kal...@us...> - 2024-05-23 20:28:22
|
That information will help immensely. Let me see what I can do... -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Thursday, May 23, 2024 3:57 PM To: Finance-Quote-Devel <fin...@li...> Subject: Re: [Finance-quote-devel] Module Tests > Bruce - let me see what progress I can make on t/asx.t test harness. > I am touching it for first time so there is going to be ramp up time. > For that matter I am just graduating from nubee to noob when it comes > to dist zilla so be patient with me... Kalpesh, No need to learn Dist::Zilla. Just test the old fashion way. From the .../finance-quote directory where you cloned the repo. For example, I usually do my development in $HOME/tmp. cd ~/tmp git clone gi...@gi...:finance-quote/finance-quote.git # or git clone gi...@gi...:ka-patel/finance-quote.git in your case cd finance-quote PERL5LIB=$(pwd)/lib:$PERL5LIB ONLINE_TEST=1 perl t/asx.t The ASX.pm method utilizes 2 URLs. https://www.asx.com.au/asx/1/share/ and https://asx.api.markitdigital.com/asx-research/1.0/companies/ The first one in a browser (https://www.asx.com.au/asx/1/share/ARG) will have far more information than the alternate (https://asx.api.markitdigital.com/asx-research/1.0/companies/ARG/header). One huge thing missing from the alternate is a trade date. And it would be much prefered to get the trade date from the source, rather than guestimate to be earlier today, yesterday, last Friday, etc. Yes, I know there are ways to get that, but in the past guessing the trade date has proven to be problematic. Once again, figuring out the magic sauce to get the primary URL (https://www.asx.com.au/asx/1/share/$symbol) to work using LWP::UserAgent has got me stumped. I cannot for the life of me figure out where the cookies needed come from. In testing using curl, I have figured out that the request will need a bunch of headers included in the request. -H "Accept-Encoding: gzip, deflate, br, zstd" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp, image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" -H "Accept-Language: en-US,en;q=0.9" -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1" -H "Strict-Transport-Security: max-age=31536000; includeSubDomains" Thanks, Bruce _______________________________________________ Finance-quote-devel mailing list Fin...@li... https://lists.sourceforge.net/lists/listinfo/finance-quote-devel |
From: Bruce S. <bs...@as...> - 2024-05-23 19:57:57
|
> Bruce - let me see what progress I can make on t/asx.t test harness. > I am touching it for first time so there is going to be ramp up time. > For that matter I am just graduating from nubee to noob when it comes > to dist zilla so be patient with me... Kalpesh, No need to learn Dist::Zilla. Just test the old fashion way. From the .../finance-quote directory where you cloned the repo. For example, I usually do my development in $HOME/tmp. cd ~/tmp git clone gi...@gi...:finance-quote/finance-quote.git # or git clone gi...@gi...:ka-patel/finance-quote.git in your case cd finance-quote PERL5LIB=$(pwd)/lib:$PERL5LIB ONLINE_TEST=1 perl t/asx.t The ASX.pm method utilizes 2 URLs. https://www.asx.com.au/asx/1/share/ and https://asx.api.markitdigital.com/asx-research/1.0/companies/ The first one in a browser (https://www.asx.com.au/asx/1/share/ARG) will have far more information than the alternate (https://asx.api.markitdigital.com/asx-research/1.0/companies/ARG/header). One huge thing missing from the alternate is a trade date. And it would be much prefered to get the trade date from the source, rather than guestimate to be earlier today, yesterday, last Friday, etc. Yes, I know there are ways to get that, but in the past guessing the trade date has proven to be problematic. Once again, figuring out the magic sauce to get the primary URL (https://www.asx.com.au/asx/1/share/$symbol) to work using LWP::UserAgent has got me stumped. I cannot for the life of me figure out where the cookies needed come from. In testing using curl, I have figured out that the request will need a bunch of headers included in the request. -H "Accept-Encoding: gzip, deflate, br, zstd" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" -H "Accept-Language: en-US,en;q=0.9" -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1" -H "Strict-Transport-Security: max-age=31536000; includeSubDomains" Thanks, Bruce |
From: Kalpesh P. <kal...@us...> - 2024-05-23 13:44:15
|
Bruce - let me see what progress I can make on t/asx.t test harness. I am touching it for first time so there is going to be ramp up time. For that matter I am just graduating from nubee to noob when it comes to dist zilla so be patient with me... -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Wednesday, May 22, 2024 1:04 PM To: Finance-Quote-Devel <fin...@li...> Subject: Re: [Finance-quote-devel] Module Tests -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 > Any thought on enabling continuous CI/CD pipeline to test > onfrequency-based scheduler? > This would catch astray ones right away. > It will be learning curve, but I'll assist in trying to fix as many > aspossible where ever I can. > Unfortunately, Internet is ever changing so it always will be > a"Whack-A-Mole". Kalpesh, IMNSHO there are enough updates to F::Q that scheduling CI/CD pipeline testing is not needed. More importantly, why both thinking of it at a time when it's known that there are likely a handful (or more) tests that will fail? First things first, trying to get all the current tests to pass. Starting alphabetically in the test directory of the repository, the first snag I hit is t/asx.t, the test suite for ASX.pm. Aside from problems with the module, some of the symbols (bonds I think) are no longer valid. Also, it seems that data from ASX does not consistently contain values for high, low, and volume. Odd, and if it's known that sometimes this data is not supplied, the test suite really shouldn't check for it. Test suites with bonds are problematic, as bonds will expire. When I've replaced bonds in tests, I've looked for ones that expire as late as possible. Another idea I am toying with in my head is an alternate environment variable such as "ONLINE_API_TEST" for those modules with defined published APIs (AlphaVantage, TwelveData, StockData) that "should" remain consistent. Note that I did *not* include YahooJSON, since the availability of its API isn't consistent as those typically requiring an API key. I've been doing some work on the ASX.pm module, but if you really want to sink your teeth into something, ASX.pm and t/asx.t would be a great place to start. Bruce S -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQEzBAEBCAAdFiEEUMAqTAWIVc/Xutvi+80+CI+PpzcFAmZOJV8ACgkQ+80+CI+P pzfNOwf+IB8d71ksNgPClqSoUK8Y+t62eSLZUjWEbbt3IU6Ig6cO7ZqdmWB/iGf7 ue+h36cCE7K49ClN9+d3buS9zgCH889OMIcM3IcxL6K9IWi6X3aBaHpkGQdDK4tq mPgbXR1Phn89KFzwsiMRuE6uev229XDhY6JbwpBXgG5+g9Sl2XglR34JCZBtdXd5 S1e7aqOsDFwuW7ikulwZU9alV47vATNsJ+g92CASet8hBCLwv4gsouKsgljBOOYA JzY0kTKWxvZ946UbOSvuOBotAkz2OVQv5z4y/wyFjT4YLd7jtk41HVCbhcNB76cs KAilY6Y/ENGM9EYczsjoOIyL9Xw66g== =P1u0 -----END PGP SIGNATURE----- _______________________________________________ Finance-quote-devel mailing list Fin...@li... https://lists.sourceforge.net/lists/listinfo/finance-quote-devel |
From: Bruce S. <bs...@as...> - 2024-05-22 17:04:38
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 > Any thought on enabling continuous CI/CD pipeline to test > onfrequency-based scheduler? > This would catch astray ones right away. > It will be learning curve, but I'll assist in trying to fix as many > aspossible where ever I can. > Unfortunately, Internet is ever changing so it always will be > a"Whack-A-Mole". Kalpesh, IMNSHO there are enough updates to F::Q that scheduling CI/CD pipeline testing is not needed. More importantly, why both thinking of it at a time when it's known that there are likely a handful (or more) tests that will fail? First things first, trying to get all the current tests to pass. Starting alphabetically in the test directory of the repository, the first snag I hit is t/asx.t, the test suite for ASX.pm. Aside from problems with the module, some of the symbols (bonds I think) are no longer valid. Also, it seems that data from ASX does not consistently contain values for high, low, and volume. Odd, and if it's known that sometimes this data is not supplied, the test suite really shouldn't check for it. Test suites with bonds are problematic, as bonds will expire. When I've replaced bonds in tests, I've looked for ones that expire as late as possible. Another idea I am toying with in my head is an alternate environment variable such as "ONLINE_API_TEST" for those modules with defined published APIs (AlphaVantage, TwelveData, StockData) that "should" remain consistent. Note that I did *not* include YahooJSON, since the availability of its API isn't consistent as those typically requiring an API key. I've been doing some work on the ASX.pm module, but if you really want to sink your teeth into something, ASX.pm and t/asx.t would be a great place to start. Bruce S -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQEzBAEBCAAdFiEEUMAqTAWIVc/Xutvi+80+CI+PpzcFAmZOJV8ACgkQ+80+CI+P pzfNOwf+IB8d71ksNgPClqSoUK8Y+t62eSLZUjWEbbt3IU6Ig6cO7ZqdmWB/iGf7 ue+h36cCE7K49ClN9+d3buS9zgCH889OMIcM3IcxL6K9IWi6X3aBaHpkGQdDK4tq mPgbXR1Phn89KFzwsiMRuE6uev229XDhY6JbwpBXgG5+g9Sl2XglR34JCZBtdXd5 S1e7aqOsDFwuW7ikulwZU9alV47vATNsJ+g92CASet8hBCLwv4gsouKsgljBOOYA JzY0kTKWxvZ946UbOSvuOBotAkz2OVQv5z4y/wyFjT4YLd7jtk41HVCbhcNB76cs KAilY6Y/ENGM9EYczsjoOIyL9Xw66g== =P1u0 -----END PGP SIGNATURE----- |
From: Kalpesh P. <kal...@us...> - 2024-05-22 12:44:40
|
Any thought on enabling continuous CI/CD pipeline to test on frequency-based scheduler? This would catch astray ones right away. It will be learning curve, but I'll assist in trying to fix as many as possible where ever I can. Unfortunately, Internet is ever changing so it always will be a "Whack-A-Mole". ------ Original Message ------ Received: Mon, 20 May 2024 03:50:32 PM EDT From: Bruce Schuck <bs...@as...> To: Finance-Quote-Devel <fin...@li...> Subject: [Finance-quote-devel] Module Tests > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Greetings all, > > One goal that appears to be allusive is getting all the module tests to > work. A major cause of this is best described by a user's post to the > GnuCash user email list, comparing the upkeep of Finance::Quote to > "Whack-A-Mole". Case in point, just a couple days after releasing v1.62, > an issue indicating the NZX.pm module no longer works due to changes in > the https://www.nzx.com/instruments/ web page structure. > > That said, this is an effort where assistance would be appreciated. Not > just identifying those test scripts that are failing, but investigating > why, and volunteering to fix modules that are not working. Some tests > fail just because the symbols are no longer valid (the single test case > in t/nzx.t had its ticker changed a couple years back). But some will > require updating the module code, ASX.pm is a current example. > > Part of this task is identifying those modules that are next to > impossible to correct, and therefore need to be removed from F::Q. > > Thank you. > > Bruce S > -----BEGIN PGP SIGNATURE----- > Comment: GPGTools - http://gpgtools.org > > iHkEARECADkWIQRzL0H5rBaeDPnpeL1IjAeprJFQBwUCZkupORscYnNjaHVja0Bh > c2dhcmQtc3lzdGVtcy5jb20ACgkQSIwHqayRUAcYTwCgtkRoAcnCW33M/fVkzbvK > sLxt5R4An2ZslbMDGXzgcOSj3LvqRxOJdIVN > =TWcy > -----END PGP SIGNATURE----- > > > > _______________________________________________ > Finance-quote-devel mailing list > Fin...@li... > https://lists.sourceforge.net/lists/listinfo/finance-quote-devel |
From: Bruce S. <bs...@as...> - 2024-05-20 19:50:18
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Greetings all, One goal that appears to be allusive is getting all the module tests to work. A major cause of this is best described by a user's post to the GnuCash user email list, comparing the upkeep of Finance::Quote to "Whack-A-Mole". Case in point, just a couple days after releasing v1.62, an issue indicating the NZX.pm module no longer works due to changes in the https://www.nzx.com/instruments/ web page structure. That said, this is an effort where assistance would be appreciated. Not just identifying those test scripts that are failing, but investigating why, and volunteering to fix modules that are not working. Some tests fail just because the symbols are no longer valid (the single test case in t/nzx.t had its ticker changed a couple years back). But some will require updating the module code, ASX.pm is a current example. Part of this task is identifying those modules that are next to impossible to correct, and therefore need to be removed from F::Q. Thank you. Bruce S -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iHkEARECADkWIQRzL0H5rBaeDPnpeL1IjAeprJFQBwUCZkupORscYnNjaHVja0Bh c2dhcmQtc3lzdGVtcy5jb20ACgkQSIwHqayRUAcYTwCgtkRoAcnCW33M/fVkzbvK sLxt5R4An2ZslbMDGXzgcOSj3LvqRxOJdIVN =TWcy -----END PGP SIGNATURE----- |
From: Kalpesh P. <kal...@us...> - 2024-05-13 16:14:44
|
Inspecting gnc-fq-dump further, I see from below snippet of that it is fetching for only one instrument (the shift operator) at a time... while ($#ARGV >= 0) { my $stock = shift; my %quotes = $q->fetch($exchange, $stock); report($stock, \%quotes, $verbose); if ($#ARGV >= 0) { printf "=====\n\n"; } while stockdump.pl does indeed fetches them in a single fetch call. Appreciate highlighting the distinction. -----Original Message----- From: Bruce Schuck <bs...@as...> Sent: Monday, May 13, 2024 11:37 AM To: fin...@li... Cc: Kalpesh Patel <kal...@us...> Subject: Re: [Finance-quote-devel] FW: Question on the details of module On 5/12/24 8:21 PM, Kalpesh Patel wrote: > My query was more of so how do instruments, when pricing of more than one is asked for, made it into the module call. Please read the various POD documents. A method can be called with a list of stocks. I noted the example script "stockdump.pl" (in the repo and included in the CPAN package) in my last email because does just that in a single call to fetch. my %quotes = $q->fetch(@ARGV); The first argument in @ARGV in this case is the method (yahoo_json, alphavantage, etc.), and remaining are the symbols to look up. > The reason for more so of query was because the module that I am > developing for my personal use is capable of querying multiple > instruments in one ultimate call and the debug behavior did not make > sense where it seemed that F::Q framework was artificially slowing it > down rather maintaining the velocity. Here is the transcript of the> > full output that I see for call to gnc-fq-dump: gnc-fq-dump is the GnuCash tool supplied to test if F::Q is installed for GnuCash users. It is also a Perl script. However, it is the reason you are seeing the method called for each symbol. It calls F::Q->fetch for each symbol in a loop. my %quotes = $q->fetch($exchange, $stock); You are attributing the behavior of the calling script/program to the method it is calling. |
From: Bruce S. <bs...@as...> - 2024-05-13 15:37:21
|
On 5/12/24 8:21 PM, Kalpesh Patel wrote: > My query was more of so how do instruments, when pricing of more than one is asked for, made it into the module call. Please read the various POD documents. A method can be called with a list of stocks. I noted the example script "stockdump.pl" (in the repo and included in the CPAN package) in my last email because does just that in a single call to fetch. my %quotes = $q->fetch(@ARGV); The first argument in @ARGV in this case is the method (yahoo_json, alphavantage, etc.), and remaining are the symbols to look up. > The reason for more so of query was because the module that I am > developing for my personal use is capable of querying multiple > instruments in one ultimate call and the debug behavior did not make > sense where it seemed that F::Q framework was artificially slowing it > down rather maintaining the velocity. Here is the transcript of the> > full output that I see for call to gnc-fq-dump: gnc-fq-dump is the GnuCash tool supplied to test if F::Q is installed for GnuCash users. It is also a Perl script. However, it is the reason you are seeing the method called for each symbol. It calls F::Q->fetch for each symbol in a loop. my %quotes = $q->fetch($exchange, $stock); You are attributing the behavior of the calling script/program to the method it is calling. |
From: Kalpesh P. <kal...@us...> - 2024-05-13 03:22:15
|
My query was more of so how do instruments, when pricing of more than one is asked for, made it into the module call. It does make sense in that if the ultimate source limits query to only one instrument at a time then it should be module's responsibility to moderate as such (this was by no means specific to YahooJSON query, which I am quite familiar with, but more of it being used as an example where the applicable code is). Given that I am on Windows 11 platform, it is hard to get it to inherit the env where I can see from GnuCash and downstream call stack. I may need to go back to *NIX to get better visibility into what is happening. I traced the call through gnc-fq-dump (on v4.12 of GnuCash) and it showed iteration as being one instrument at a time rather than a single call with all instruments (crumbs are different from review of the execution trace through DEBUG). Perhaps gnc-fq-dump serializes and breaks it up into a single call due to debug being in affect like you said and makes an individual call, but apps like GnuCash and other do not by bucketing it up and doing one call to the appropriate module. The reason for more so of query was because the module that I am developing for my personal use is capable of querying multiple instruments in one ultimate call and the debug behavior did not make sense where it seemed that F::Q framework was artificially slowing it down rather maintaining the velocity. Here is the transcript of the full output that I see for call to gnc-fq-dump: C:\Users\kalpesh> C:\Users\kalpesh> C:\Users\kalpesh>perl "c:\Program Files (x86)\gnucash\bin\gnc-fq-dump" -v yahoo_json BK FSPSX SBIN.NS Constant subroutine Module::Load::DEBUG redefined at C:/Strawberry/perl/lib/constant.pm line 171. ### [Sun May 12 22:39:49 2024] can_use_threads : 0 ### AlphaVantage->new args : {} ### [Sun May 12 22:39:50 2024] cookie_jar : bless( { ### COOKIES => { ### '.yahoo.com' => { ### '/' => { ### A1 => [ ### 0, ### 'd=AQABBHV9QWYCEOJoxM83vNmwSIZbFrBhRWkFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsIhN07GaPqO6jW5JGsLQHY', ### undef, ### 1, ### 1, ### 1747125589, ### undef, ### { ### HttpOnly => undef, ### SameSite => 'Lax' ### } ### ], ### A1S => [ ### 0, ### 'd=AQABBHV9QWYCEOJoxM83vNmwSIZbFrBhRWkFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsIhN07GaPqO6jW5JGsLQHY', ### undef, ### 1, ### 1, ### undef, ### 1, ### { ### SameSite => 'Lax' ### } ### ], ### A3 => [ ### 0, ### 'd=AQABBHV9QWYCEOJoxM83vNmwSIZbFrBhRWkFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsIhN07GaPqO6jW5JGsLQHY', ### undef, ### 1, ### 1, ### 1747125589, ### undef, ### { ### HttpOnly => undef, ### SameSite => 'None' ### } ### ] ### } ### } ### } ### }, 'HTTP::Cookies' ) ### [Sun May 12 22:39:50 2024] crumb : 'JGPWAQ1pidr' ### [Sun May 12 22:39:50 2024] url : 'https://query2.finance.yahoo.com/v11/finance/quoteSummary/?symbols=BK&crumb=JGPWAQ1pidr&modules=price,summaryDetail,defaultKeyStatistics' ### [Sun May 12 22:39:50 2024] reply : bless( { ### _content => '{"quoteSummary":{"symbols":["BK"],"result":[{"summaryDetail":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"previousClose":{"raw":58.35,"fmt":"58.35"},"open":{"raw":58.54,"fmt":"58.54"},"dayLow":{"raw":58.33,"fmt":"58.33"},"dayHigh":{"raw":58.74,"fmt":"58.74"},"regularMarketPreviousClose":{"raw":58.35,"fmt":"58.35"},"regularMarketOpen":{"raw":58.54,"fmt":"58.54"},"regularMarketDayLow":{"raw":58.33,"fmt":"58.33"},"regularMarketDayHigh":{"raw":58.74,"fmt":"58.74"},"dividendRate":{"raw":1.68,"fmt":"1.68"},"dividendYield":{"raw":0.0287,"fmt":"2.87%"},"exDividendDate":{"raw":1714003200,"fmt":"2024-04-25"},"payoutRatio":{"raw":0.4085,"fmt":"40.85%"},"fiveYearAvgDividendYield":{"raw":2.96,"fmt":"2.96"},"beta":{"raw":1.102,"fmt":"1.10"},"trailingPE":{"raw":14.646616,"fmt":"14.65"},"forwardPE":{"raw":9.627677,"fmt":"9.63"},"volume":{"raw":3255507,"fmt":"3.26M","longFmt":"3,255,507"},"regularMarketVolume":{"raw":3255507,"fmt":"3.26M","longFmt":"3,255,507"},"averageVolume":{"raw":3596618,"fmt":"3.6M","longFmt":"3,596,618"},"averageVolume10days":{"raw":3083610,"fmt":"3.08M","longFmt":"3,083,610"},"averageDailyVolume10Day":{"raw":3083610,"fmt":"3.08M","longFmt":"3,083,610"},"bid":{"raw":56.04,"fmt":"56.04"},"ask":{"raw":59.01,"fmt":"59.01"},"bidSize":{"raw":1400,"fmt":"1.4k","longFmt":"1,400"},"askSize":{"raw":900,"fmt":"900","longFmt":"900"},"marketCap":{"raw":43702366208,"fmt":"43.7B","longFmt":"43,702,366,208"},"yield":{},"ytdReturn":{},"totalAssets":{},"expireDate":{},"strikePrice":{},"openInterest":{},"fiftyTwoWeekLow":{"raw":39.65,"fmt":"39.65"},"fiftyTwoWeekHigh":{"raw":58.74,"fmt":"58.74"},"priceToSalesTrailing12Months":{"raw":2.4979918,"fmt":"2.50"},"fiftyDayAverage":{"raw":56.344,"fmt":"56.34"},"twoHundredDayAverage":{"raw":50.0325,"fmt":"50.03"},"trailingAnnualDividendRate":{"raw":1.63,"fmt":"1.63"},"trailingAnnualDividendYield":{"raw":0.027934877,"fmt":"2.79%"},"navPrice":{},"currency":"USD","fromCurrency":null,"toCurrency":null,"lastMarket":null,"coinMarketCapLink":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"algorithm":null,"maxSupply":{},"startDate":{},"tradeable":false},"price":{"maxAge":1,"preMarketChange":{},"preMarketPrice":{},"preMarketSource":"FREE_REALTIME","postMarketChangePercent":{"raw":-0.0331964,"fmt":"-3.32%"},"postMarketChange":{"raw":-1.94,"fmt":"-1.94"},"postMarketTime":1715383367,"postMarketPrice":{"raw":56.5,"fmt":"56.50"},"postMarketSource":"FREE_REALTIME","regularMarketChangePercent":{"raw":0.0015424191,"fmt":"0.15%"},"regularMarketChange":{"raw":0.09000015,"fmt":"0.09"},"regularMarketTime":1715371201,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"regularMarketPrice":{"raw":58.44,"fmt":"58.44"},"regularMarketDayHigh":{"raw":58.74,"fmt":"58.74"},"regularMarketDayLow":{"raw":58.33,"fmt":"58.33"},"regularMarketVolume":{"raw":3255507,"fmt":"3.26M","longFmt":"3,255,507.00"},"averageDailyVolume10Day":{"raw":3083610,"fmt":"3.08M","longFmt":"3,083,610"},"averageDailyVolume3Month":{"raw":3596618,"fmt":"3.6M","longFmt":"3,596,618"},"regularMarketPreviousClose":{"raw":58.35,"fmt":"58.35"},"regularMarketSource":"DELAYED","regularMarketOpen":{"raw":58.54,"fmt":"58.54"},"strikePrice":{},"openInterest":{},"exchange":"NYQ","exchangeName":"NYSE","exchangeDataDelayedBy":0,"marketState":"CLOSED","quoteType":"EQUITY","symbol":"BK","underlyingSymbol":null,"shortName":"The Bank of New York Mellon Cor","longName":"The Bank of New York Mellon Corporation","currency":"USD","quoteSourceName":"Nasdaq Real Time Price","currencySymbol":"$","fromCurrency":null,"toCurrency":null,"lastMarket":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"marketCap":{"raw":43702366208,"fmt":"43.70B","longFmt":"43,702,366,208.00"}},"defaultKeyStatistics":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"enterpriseValue":{"raw":-56720642048,"fmt":"-56.72B","longFmt":"-56,720,642,048"},"forwardPE":{"raw":9.627677,"fmt":"9.63"},"profitMargins":{"raw":0.19028,"fmt":"19.03%"},"floatShares":{"raw":745213436,"fmt":"745.21M","longFmt":"745,213,436"},"sharesOutstanding":{"raw":747816000,"fmt":"747.82M","longFmt":"747,816,000"},"sharesShort":{"raw":8560408,"fmt":"8.56M","longFmt":"8,560,408"},"sharesShortPriorMonth":{"raw":7069930,"fmt":"7.07M","longFmt":"7,069,930"},"sharesShortPreviousMonthDate":{"raw":1711584000,"fmt":"2024-03-28"},"dateShortInterest":{"raw":1714435200,"fmt":"2024-04-30"},"sharesPercentSharesOut":{"raw":0.0114,"fmt":"1.14%"},"heldPercentInsiders":{"raw":0.00153,"fmt":"0.15%"},"heldPercentInstitutions":{"raw":0.88125,"fmt":"88.13%"},"shortRatio":{"raw":2.35,"fmt":"2.35"},"shortPercentOfFloat":{"raw":0.0115,"fmt":"1.15%"},"beta":{"raw":1.102,"fmt":"1.1"},"impliedSharesOutstanding":{"raw":747816000,"fmt":"747.82M","longFmt":"747,816,000"},"morningStarOverallRating":{},"morningStarRiskRating":{},"category":null,"bookValue":{"raw":48.442,"fmt":"48.44"},"priceToBook":{"raw":1.2063911,"fmt":"1.21"},"annualReportExpenseRatio":{},"ytdReturn":{},"beta3Year":{},"totalAssets":{},"yield":{},"fundFamily":null,"fundInceptionDate":{},"legalType":null,"threeYearAverageReturn":{},"fiveYearAverageReturn":{},"priceToSalesTrailing12Months":{},"lastFiscalYearEnd":{"raw":1703980800,"fmt":"2023-12-31"},"nextFiscalYearEnd":{"raw":1735603200,"fmt":"2024-12-31"},"mostRecentQuarter":{"raw":1711843200,"fmt":"2024-03-31"},"earningsQuarterlyGrowth":{"raw":0.044,"fmt":"4.40%"},"revenueQuarterlyGrowth":{},"netIncomeToCommon":{"raw":3092999936,"fmt":"3.09B","longFmt":"3,092,999,936"},"trailingEps":{"raw":3.99,"fmt":"3.99"},"forwardEps":{"raw":6.07,"fmt":"6.07"},"pegRatio":{"raw":1.1,"fmt":"1.10"},"lastSplitFactor":"9434:10000","lastSplitDate":{"raw":1183334400,"fmt":"2007-07-02"},"enterpriseToRevenue":{"raw":-3.242,"fmt":"-3.24"},"enterpriseToEbitda":{},"52WeekChange":{"raw":0.4358722,"fmt":"43.59%"},"SandP52WeekChange":{"raw":0.26265144,"fmt":"26.27%"},"lastDividendValue":{"raw":0.42,"fmt":"0.42"},"lastDividendDate":{"raw":1714003200,"fmt":"2024-04-25"},"lastCapGain":{},"annualHoldingsTurnover":{}}}],"error":null}}', ### _headers => bless( { ### '::std_case' => { ### 'client-date' => 'Client-Date', ### 'client-peer' => 'Client-Peer', ### 'client-response-num' => 'Client-Response-Num', ### 'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer', ### 'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject', ### 'client-ssl-cipher' => 'Client-SSL-Cipher', ### 'client-ssl-socket-class' => 'Client-SSL-Socket-Class', ### 'client-ssl-version' => 'Client-SSL-Version', ### 'expect-ct' => 'Expect-CT', ### 'referrer-policy' => 'Referrer-Policy', ### 'set-cookie' => 'Set-Cookie', ### 'set-cookie2' => 'Set-Cookie2', ### 'strict-transport-security' => 'Strict-Transport-Security', ### 'x-content-type-options' => 'X-Content-Type-Options', ### 'x-envoy-decorator-operation' => 'X-Envoy-Decorator-Operation', ### 'x-envoy-upstream-service-time' => 'X-Envoy-Upstream-Service-Time', ### 'x-xss-protection' => 'X-XSS-Protection' ### }, ### age => '1', ### 'cache-control' => 'public, max-age=1, stale-while-revalidate=9', ### 'client-date' => 'Mon, 13 May 2024 02:39:50 GMT', ### 'client-peer' => '69.147.82.61:443', ### 'client-response-num' => 1, ### 'client-ssl-cert-issuer' => '/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA', ### 'client-ssl-cert-subject' => '/C=US/ST=New York/L=New York/O=Yahoo Holdings Inc./CN=*.fantasysports.yahoo.com', ### 'client-ssl-cipher' => 'ECDHE-ECDSA-AES128-GCM-SHA256', ### 'client-ssl-socket-class' => 'IO::Socket::SSL', ### 'client-ssl-version' => 'TLSv1_2', ### connection => 'close', ### 'content-length' => '6046', ### 'content-type' => 'application/json;charset=utf-8', ### date => 'Mon, 13 May 2024 02:39:49 GMT', ### 'expect-ct' => 'max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only"', ### 'referrer-policy' => 'no-referrer-when-downgrade', ### server => 'ATS', ### 'strict-transport-security' => 'max-age=31536000', ### vary => 'Origin,Accept-Encoding', ### 'x-content-type-options' => 'nosniff', ### 'x-envoy-decorator-operation' => 'finance-company-fundamentals-api--mtls-production-bf1.finance-k8s.svc.yahoo.local:4080/*', ### 'x-envoy-upstream-service-time' => '6', ### 'x-xss-protection' => '1; mode=block' ### }, 'HTTP::Headers' ), ### _msg => 'OK', ### _protocol => 'HTTP/1.1', ### _rc => '200', ### _request => bless( { ### _content => '', ### _headers => bless( { ### '::std_case' => { ### cookie => 'Cookie', ### cookie2 => 'Cookie2' ### }, ### cookie => 'A1S=d=AQABBHV9QWYCEOJoxM83vNmwSIZbFrBhRWkFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsIhN07GaPqO6jW5JGsLQHY; A1=d=AQABBHV9QWYCEOJoxM83vNmwSIZbFrBhRWkFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsIhN07GaPqO6jW5JGsLQHY; A3=d=AQABBHV9QWYCEOJoxM83vNmwSIZbFrBhRWkFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsIhN07GaPqO6jW5JGsLQHY', ### cookie2 => '$Version="1"', ### 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36' ### }, 'HTTP::Headers' ), ### _method => 'GET', ### _uri => bless( do{\(my $o = 'https://query2.finance.yahoo.com/v11/finance/quoteSummary/?symbols=BK&crumb=JGPWAQ1pidr&modules=price,summaryDetail,defaultKeyStatistics')}, 'URI::https' ), ### _uri_canonical => $VAR1->[0]{_request}{_uri} ### }, 'HTTP::Request' ) ### }, 'HTTP::Response' ) ### store_date symbol: 'BK' ### store_date pieces: { ### eurodate => '10.05.2024 16:00:01' ### } eurodate 10.05.2024 16:00:01 -> Day 10, Month 05, Year 2024 ### format: 1 Final Year-Month-Day -> 2024-05-10 ### format: 1 Finance::Quote fields Gnucash uses: symbol: BK <=== required date: 05/10/2024 <=== recommended currency: USD <=== required last: 58.44 <=\ nav: <=== one of these price: <=/ timezone: <=== optional All fields returned by Finance::Quote for stock BK stock field value ----- ----- ----- BK close: 58.35 BK currency: USD BK date: 05/10/2024 BK div_yield: 2.7934877 BK eps: 3.99 BK exchange: NYSE BK high: 58.74 BK isodate: 2024-05-10 BK last: 58.44 BK low: 58.33 BK method: yahoo_json BK name: BK (The Bank of New York Mellon Cor) BK open: 58.54 BK pe: 14.646616 BK success: 1 BK symbol: BK BK type: EQUITY BK volume: 3255507 BK year_range: 39.65 - 58.74 ===== ### [Sun May 12 22:39:50 2024] cookie_jar : bless( { ### COOKIES => { ### '.yahoo.com' => { ### '/' => { ### A1 => [ ### 0, ### 'd=AQABBHZ9QWYCEOTf4LbDO4JVA3Ha6gdlPioFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsNQ1vqNIJpCkbaO90i4QSk', ### undef, ### 1, ### 1, ### 1747125590, ### undef, ### { ### HttpOnly => undef, ### SameSite => 'Lax' ### } ### ], ### A1S => [ ### 0, ### 'd=AQABBHZ9QWYCEOTf4LbDO4JVA3Ha6gdlPioFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsNQ1vqNIJpCkbaO90i4QSk', ### undef, ### 1, ### 1, ### undef, ### 1, ### { ### SameSite => 'Lax' ### } ### ], ### A3 => [ ### 0, ### 'd=AQABBHZ9QWYCEOTf4LbDO4JVA3Ha6gdlPioFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsNQ1vqNIJpCkbaO90i4QSk', ### undef, ### 1, ### 1, ### 1747125590, ### undef, ### { ### HttpOnly => undef, ### SameSite => 'None' ### } ### ] ### } ### } ### } ### }, 'HTTP::Cookies' ) ### [Sun May 12 22:39:50 2024] crumb : 'YpqW.CLjrEe' ### [Sun May 12 22:39:50 2024] url : 'https://query2.finance.yahoo.com/v11/finance/quoteSummary/?symbols=FSPSX&crumb=YpqW.CLjrEe&modules=price,summaryDetail,defaultKeyStatistics' ### [Sun May 12 22:39:50 2024] reply : bless( { ### _content => '{"quoteSummary":{"symbols":["FSPSX"],"result":[{"summaryDetail":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"previousClose":{"raw":50.13,"fmt":"50.13"},"open":{},"dayLow":{},"dayHigh":{},"regularMarketPreviousClose":{"raw":50.13,"fmt":"50.13"},"regularMarketOpen":{},"regularMarketDayLow":{},"regularMarketDayHigh":{},"dividendRate":{},"dividendYield":{},"exDividendDate":{},"payoutRatio":{},"fiveYearAvgDividendYield":{},"beta":{},"forwardPE":{},"volume":{},"regularMarketVolume":{},"averageVolume":{"raw":0,"fmt":null,"longFmt":"0"},"averageVolume10days":{"raw":0,"fmt":null,"longFmt":"0"},"averageDailyVolume10Day":{"raw":0,"fmt":null,"longFmt":"0"},"bid":{},"ask":{},"bidSize":{},"askSize":{},"marketCap":{},"yield":{"raw":0.031,"fmt":"3.10%"},"ytdReturn":{"raw":0.0255114,"fmt":"2.55%"},"totalAssets":{"raw":48568942592,"fmt":"48.57B","longFmt":"48,568,942,592"},"expireDate":{},"strikePrice":{},"openInterest":{},"fiftyTwoWeekLow":{"raw":42.04,"fmt":"42.04"},"fiftyTwoWeekHigh":{"raw":50.27,"fmt":"50.27"},"priceToSalesTrailing12Months":{},"fiftyDayAverage":{"raw":49.2752,"fmt":"49.28"},"twoHundredDayAverage":{"raw":46.5677,"fmt":"46.57"},"trailingAnnualDividendRate":{"raw":0.0,"fmt":"0.00"},"trailingAnnualDividendYield":{"raw":0.0,"fmt":"0.00%"},"navPrice":{},"currency":"USD","fromCurrency":null,"toCurrency":null,"lastMarket":null,"coinMarketCapLink":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"algorithm":null,"maxSupply":{},"startDate":{},"tradeable":false},"price":{"maxAge":1,"preMarketChange":{},"preMarketPrice":{},"postMarketChange":{},"postMarketPrice":{},"regularMarketChangePercent":{"raw":0.002792739,"fmt":"0.28%"},"regularMarketChange":{"raw":0.14,"fmt":"0.14"},"regularMarketTime":1715385676,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"regularMarketPrice":{"raw":50.27,"fmt":"50.27"},"regularMarketDayHigh":{},"regularMarketDayLow":{},"regularMarketVolume":{},"averageDailyVolume10Day":{"raw":0,"fmt":null,"longFmt":"0"},"averageDailyVolume3Month":{"raw":0,"fmt":null,"longFmt":"0"},"regularMarketPreviousClose":{"raw":50.13,"fmt":"50.13"},"regularMarketSource":"DELAYED","regularMarketOpen":{},"strikePrice":{},"openInterest":{},"exchange":"NAS","exchangeName":"Nasdaq","exchangeDataDelayedBy":0,"marketState":"CLOSED","quoteType":"MUTUALFUND","symbol":"FSPSX","underlyingSymbol":null,"shortName":"Fidelity International Index Fu","longName":"Fidelity International Index","currency":"USD","quoteSourceName":"Delayed Quote","currencySymbol":"$","fromCurrency":null,"toCurrency":null,"lastMarket":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"marketCap":{}},"defaultKeyStatistics":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"enterpriseValue":{},"forwardPE":{},"profitMargins":{},"morningStarOverallRating":{"raw":4,"fmt":"4","longFmt":"4"},"morningStarRiskRating":{"raw":3,"fmt":"3","longFmt":"3"},"category":null,"bookValue":{},"priceToBook":{},"annualReportExpenseRatio":{"raw":3.5E-4,"fmt":"0.03%"},"ytdReturn":{},"beta3Year":{"raw":1.06,"fmt":"1.06"},"totalAssets":{"raw":48568942592,"fmt":"48.57B","longFmt":"48,568,942,592"},"yield":{},"fundFamily":null,"fundInceptionDate":{"raw":1315440000,"fmt":"2011-09-08"},"legalType":null,"threeYearAverageReturn":{},"fiveYearAverageReturn":{},"priceToSalesTrailing12Months":{},"lastFiscalYearEnd":{},"nextFiscalYearEnd":{},"mostRecentQuarter":{},"earningsQuarterlyGrowth":{},"revenueQuarterlyGrowth":{},"netIncomeToCommon":{},"trailingEps":{},"forwardEps":{},"pegRatio":{},"lastSplitFactor":null,"lastSplitDate":{},"enterpriseToRevenue":{},"enterpriseToEbitda":{},"52WeekChange":{},"SandP52WeekChange":{},"lastDividendValue":{"raw":0.178,"fmt":"0.18"},"lastDividendDate":{},"lastCapGain":{"raw":9.0,"fmt":"9.00"},"annualHoldingsTurnover":{"raw":0.03,"fmt":"3.00%"}}}],"error":null}}', ### _headers => bless( { ### '::std_case' => { ### 'client-date' => 'Client-Date', ### 'client-peer' => 'Client-Peer', ### 'client-response-num' => 'Client-Response-Num', ### 'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer', ### 'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject', ### 'client-ssl-cipher' => 'Client-SSL-Cipher', ### 'client-ssl-socket-class' => 'Client-SSL-Socket-Class', ### 'client-ssl-version' => 'Client-SSL-Version', ### 'expect-ct' => 'Expect-CT', ### 'referrer-policy' => 'Referrer-Policy', ### 'set-cookie' => 'Set-Cookie', ### 'set-cookie2' => 'Set-Cookie2', ### 'strict-transport-security' => 'Strict-Transport-Security', ### 'x-content-type-options' => 'X-Content-Type-Options', ### 'x-envoy-decorator-operation' => 'X-Envoy-Decorator-Operation', ### 'x-envoy-upstream-service-time' => 'X-Envoy-Upstream-Service-Time', ### 'x-xss-protection' => 'X-XSS-Protection' ### }, ### age => '0', ### 'cache-control' => 'public, max-age=1, stale-while-revalidate=9', ### 'client-date' => 'Mon, 13 May 2024 02:39:50 GMT', ### 'client-peer' => '69.147.82.61:443', ### 'client-response-num' => 1, ### 'client-ssl-cert-issuer' => '/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA', ### 'client-ssl-cert-subject' => '/C=US/ST=New York/L=New York/O=Yahoo Holdings Inc./CN=*.fantasysports.yahoo.com', ### 'client-ssl-cipher' => 'ECDHE-ECDSA-AES128-GCM-SHA256', ### 'client-ssl-socket-class' => 'IO::Socket::SSL', ### 'client-ssl-version' => 'TLSv1_2', ### connection => 'close', ### 'content-length' => '3838', ### 'content-type' => 'application/json;charset=utf-8', ### date => 'Mon, 13 May 2024 02:39:50 GMT', ### 'expect-ct' => 'max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only"', ### 'referrer-policy' => 'no-referrer-when-downgrade', ### server => 'ATS', ### 'strict-transport-security' => 'max-age=31536000', ### vary => 'Origin,Accept-Encoding', ### 'x-content-type-options' => 'nosniff', ### 'x-envoy-decorator-operation' => 'finance-company-fundamentals-api--mtls-production-bf1.finance-k8s.svc.yahoo.local:4080/*', ### 'x-envoy-upstream-service-time' => '5', ### 'x-xss-protection' => '1; mode=block' ### }, 'HTTP::Headers' ), ### _msg => 'OK', ### _protocol => 'HTTP/1.1', ### _rc => '200', ### _request => bless( { ### _content => '', ### _headers => bless( { ### '::std_case' => { ### cookie => 'Cookie', ### cookie2 => 'Cookie2' ### }, ### cookie => 'A1=d=AQABBHZ9QWYCEOTf4LbDO4JVA3Ha6gdlPioFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsNQ1vqNIJpCkbaO90i4QSk; A1S=d=AQABBHZ9QWYCEOTf4LbDO4JVA3Ha6gdlPioFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsNQ1vqNIJpCkbaO90i4QSk; A3=d=AQABBHZ9QWYCEOTf4LbDO4JVA3Ha6gdlPioFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAsNQ1vqNIJpCkbaO90i4QSk', ### cookie2 => '$Version="1"', ### 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36' ### }, 'HTTP::Headers' ), ### _method => 'GET', ### _uri => bless( do{\(my $o = 'https://query2.finance.yahoo.com/v11/finance/quoteSummary/?symbols=FSPSX&crumb=YpqW.CLjrEe&modules=price,summaryDetail,defaultKeyStatistics')}, 'URI::https' ), ### _uri_canonical => $VAR1->[0]{_request}{_uri} ### }, 'HTTP::Request' ) ### }, 'HTTP::Response' ) ### store_date symbol: 'FSPSX' ### store_date pieces: { ### eurodate => '10.05.2024 20:01:16' ### } eurodate 10.05.2024 20:01:16 -> Day 10, Month 05, Year 2024 ### format: 1 Final Year-Month-Day -> 2024-05-10 ### format: 1 Finance::Quote fields Gnucash uses: symbol: FSPSX <=== required date: 05/10/2024 <=== recommended currency: USD <=== required last: 50.27 <=\ nav: <=== one of these price: <=/ timezone: <=== optional All fields returned by Finance::Quote for stock FSPSX stock field value ----- ----- ----- FSPSX close: 50.13 FSPSX currency: USD FSPSX date: 05/10/2024 FSPSX div_yield: 0 Use of uninitialized value in printf at c:\Program Files (x86)\gnucash\bin\gnc-fq-dump line 138. FSPSX eps: FSPSX exchange: Nasdaq Use of uninitialized value in printf at c:\Program Files (x86)\gnucash\bin\gnc-fq-dump line 138. FSPSX high: FSPSX isodate: 2024-05-10 FSPSX last: 50.27 Use of uninitialized value in printf at c:\Program Files (x86)\gnucash\bin\gnc-fq-dump line 138. FSPSX low: FSPSX method: yahoo_json FSPSX name: FSPSX (Fidelity International Index Fu) Use of uninitialized value in printf at c:\Program Files (x86)\gnucash\bin\gnc-fq-dump line 138. FSPSX open: Use of uninitialized value in printf at c:\Program Files (x86)\gnucash\bin\gnc-fq-dump line 138. FSPSX pe: FSPSX success: 1 FSPSX symbol: FSPSX FSPSX type: MUTUALFUND Use of uninitialized value in printf at c:\Program Files (x86)\gnucash\bin\gnc-fq-dump line 138. FSPSX volume: FSPSX year_range: 42.04 - 50.27 ===== ### [Sun May 12 22:39:51 2024] cookie_jar : bless( { ### COOKIES => { ### '.yahoo.com' => { ### '/' => { ### A1 => [ ### 0, ### 'd=AQABBHZ9QWYCEBEJP9MT4BV5zWuqRpqMCgUFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAs4yv-F0SFOvAyLBgljlocw', ### undef, ### 1, ### 1, ### 1747125591, ### undef, ### { ### HttpOnly => undef, ### SameSite => 'Lax' ### } ### ], ### A1S => [ ### 0, ### 'd=AQABBHZ9QWYCEBEJP9MT4BV5zWuqRpqMCgUFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAs4yv-F0SFOvAyLBgljlocw', ### undef, ### 1, ### 1, ### undef, ### 1, ### { ### SameSite => 'Lax' ### } ### ], ### A3 => [ ### 0, ### 'd=AQABBHZ9QWYCEBEJP9MT4BV5zWuqRpqMCgUFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAs4yv-F0SFOvAyLBgljlocw', ### undef, ### 1, ### 1, ### 1747125591, ### undef, ### { ### HttpOnly => undef, ### SameSite => 'None' ### } ### ] ### } ### } ### } ### }, 'HTTP::Cookies' ) ### [Sun May 12 22:39:51 2024] crumb : 'iUvcCE5vGoU' ### [Sun May 12 22:39:51 2024] url : 'https://query2.finance.yahoo.com/v11/finance/quoteSummary/?symbols=SBIN.NS&crumb=iUvcCE5vGoU&modules=price,summaryDetail,defaultKeyStatistics' ### [Sun May 12 22:39:51 2024] reply : bless( { ### _content => '{"quoteSummary":{"symbols":["SBIN.NS"],"result":[{"summaryDetail":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"previousClose":{"raw":819.8,"fmt":"819.80"},"open":{"raw":827.0,"fmt":"827.00"},"dayLow":{"raw":815.6,"fmt":"815.60"},"dayHigh":{"raw":832.05,"fmt":"832.05"},"regularMarketPreviousClose":{"raw":819.8,"fmt":"819.80"},"regularMarketOpen":{"raw":827.0,"fmt":"827.00"},"regularMarketDayLow":{"raw":815.6,"fmt":"815.60"},"regularMarketDayHigh":{"raw":832.05,"fmt":"832.05"},"dividendRate":{"raw":13.7,"fmt":"13.70"},"dividendYield":{"raw":0.0168,"fmt":"1.68%"},"exDividendDate":{"raw":1716336000,"fmt":"2024-05-22"},"payoutRatio":{"raw":0.1503,"fmt":"15.03%"},"fiveYearAvgDividendYield":{"raw":1.39,"fmt":"1.39"},"beta":{"raw":0.809,"fmt":"0.81"},"trailingPE":{"raw":10.862367,"fmt":"10.86"},"forwardPE":{"raw":10.185163,"fmt":"10.19"},"volume":{"raw":20543142,"fmt":"20.54M","longFmt":"20,543,142"},"regularMarketVolume":{"raw":20543142,"fmt":"20.54M","longFmt":"20,543,142"},"averageVolume":{"raw":19251797,"fmt":"19.25M","longFmt":"19,251,797"},"averageVolume10days":{"raw":27457050,"fmt":"27.46M","longFmt":"27,457,050"},"averageDailyVolume10Day":{"raw":27457050,"fmt":"27.46M","longFmt":"27,457,050"},"bid":{"raw":0.0,"fmt":"0.00"},"ask":{"raw":0.0,"fmt":"0.00"},"bidSize":{"raw":0,"fmt":null,"longFmt":"0"},"askSize":{"raw":0,"fmt":null,"longFmt":"0"},"marketCap":{"raw":7290066829312,"fmt":"7.29T","longFmt":"7,290,066,829,312"},"yield":{},"ytdReturn":{},"totalAssets":{},"expireDate":{},"strikePrice":{},"openInterest":{},"fiftyTwoWeekLow":{"raw":543.2,"fmt":"543.20"},"fiftyTwoWeekHigh":{"raw":839.65,"fmt":"839.65"},"priceToSalesTrailing12Months":{"raw":2.2284658,"fmt":"2.23"},"fiftyDayAverage":{"raw":772.671,"fmt":"772.67"},"twoHundredDayAverage":{"raw":653.3315,"fmt":"653.33"},"trailingAnnualDividendRate":{"raw":13.7,"fmt":"13.70"},"trailingAnnualDividendYield":{"raw":0.016711393,"fmt":"1.67%"},"navPrice":{},"currency":"INR","fromCurrency":null,"toCurrency":null,"lastMarket":null,"coinMarketCapLink":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"algorithm":null,"maxSupply":{},"startDate":{},"tradeable":false},"price":{"maxAge":1,"preMarketChange":{},"preMarketPrice":{},"postMarketChange":{},"postMarketPrice":{},"regularMarketChangePercent":{"raw":-0.01755973,"fmt":"-1.76%"},"regularMarketChange":{"raw":-14.600037,"fmt":"-14.60"},"regularMarketTime":1715335200,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"regularMarketPrice":{"raw":816.85,"fmt":"816.85"},"regularMarketDayHigh":{"raw":832.05,"fmt":"832.05"},"regularMarketDayLow":{"raw":815.6,"fmt":"815.60"},"regularMarketVolume":{"raw":20543142,"fmt":"20.54M","longFmt":"20,543,142.00"},"averageDailyVolume10Day":{"raw":27457050,"fmt":"27.46M","longFmt":"27,457,050"},"averageDailyVolume3Month":{"raw":19251797,"fmt":"19.25M","longFmt":"19,251,797"},"regularMarketPreviousClose":{"raw":819.8,"fmt":"819.80"},"regularMarketSource":"FREE_REALTIME","regularMarketOpen":{"raw":827.0,"fmt":"827.00"},"strikePrice":{},"openInterest":{},"exchange":"NSI","exchangeName":"NSE","exchangeDataDelayedBy":15,"marketState":"PREPRE","quoteType":"EQUITY","symbol":"SBIN.NS","underlyingSymbol":null,"shortName":"STATE BK OF INDIA","longName":"State Bank of India","currency":"INR","quoteSourceName":"Delayed Quote","currencySymbol":"₹","fromCurrency":null,"toCurrency":null,"lastMarket":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"marketCap":{"raw":7290066829312,"fmt":"7.29T","longFmt":"7,290,066,829,312.00"}},"defaultKeyStatistics":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"enterpriseValue":{"raw":10581073461248,"fmt":"10.58T","longFmt":"10,581,073,461,248"},"forwardPE":{"raw":10.185163,"fmt":"10.19"},"profitMargins":{"raw":0.20507,"fmt":"20.51%"},"floatShares":{"raw":3750652396,"fmt":"3.75B","longFmt":"3,750,652,396"},"sharesOutstanding":{"raw":8924609536,"fmt":"8.92B","longFmt":"8,924,609,536"},"sharesShort":{},"sharesShortPriorMonth":{},"sharesShortPreviousMonthDate":{},"dateShortInterest":{},"sharesPercentSharesOut":{},"heldPercentInsiders":{"raw":0.58252,"fmt":"58.25%"},"heldPercentInstitutions":{"raw":0.27014,"fmt":"27.01%"},"shortRatio":{},"shortPercentOfFloat":{},"beta":{"raw":0.809,"fmt":"0.81"},"impliedSharesOutstanding":{"raw":8924609536,"fmt":"8.92B","longFmt":"8,924,609,536"},"morningStarOverallRating":{},"morningStarRiskRating":{},"category":null,"bookValue":{"raw":464.939,"fmt":"464.94"},"priceToBook":{"raw":1.7568971,"fmt":"1.76"},"annualReportExpenseRatio":{},"ytdReturn":{},"beta3Year":{},"totalAssets":{},"yield":{},"fundFamily":null,"fundInceptionDate":{},"legalType":null,"threeYearAverageReturn":{},"fiveYearAverageReturn":{},"priceToSalesTrailing12Months":{},"lastFiscalYearEnd":{"raw":1711843200,"fmt":"2024-03-31"},"nextFiscalYearEnd":{"raw":1743379200,"fmt":"2025-03-31"},"mostRecentQuarter":{"raw":1711843200,"fmt":"2024-03-31"},"earningsQuarterlyGrowth":{"raw":0.182,"fmt":"18.20%"},"revenueQuarterlyGrowth":{},"netIncomeToCommon":{"raw":670846681088,"fmt":"670.85B","longFmt":"670,846,681,088"},"trailingEps":{"raw":75.2,"fmt":"75.20"},"forwardEps":{"raw":80.2,"fmt":"80.2"},"pegRatio":{"raw":1.58,"fmt":"1.58"},"lastSplitFactor":"10:1","lastSplitDate":{"raw":1416441600,"fmt":"2014-11-20"},"enterpriseToRevenue":{"raw":3.234,"fmt":"3.23"},"enterpriseToEbitda":{},"52WeekChange":{"raw":0.4046228,"fmt":"40.46%"},"SandP52WeekChange":{"raw":0.26265144,"fmt":"26.27%"},"lastDividendValue":{"raw":13.7,"fmt":"13.70"},"lastDividendDate":{"raw":1716336000,"fmt":"2024-05-22"},"lastCapGain":{},"annualHoldingsTurnover":{}}}],"error":null}}', ### _headers => bless( { ### '::std_case' => { ### 'client-date' => 'Client-Date', ### 'client-peer' => 'Client-Peer', ### 'client-response-num' => 'Client-Response-Num', ### 'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer', ### 'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject', ### 'client-ssl-cipher' => 'Client-SSL-Cipher', ### 'client-ssl-socket-class' => 'Client-SSL-Socket-Class', ### 'client-ssl-version' => 'Client-SSL-Version', ### 'expect-ct' => 'Expect-CT', ### 'referrer-policy' => 'Referrer-Policy', ### 'set-cookie' => 'Set-Cookie', ### 'set-cookie2' => 'Set-Cookie2', ### 'strict-transport-security' => 'Strict-Transport-Security', ### 'x-content-type-options' => 'X-Content-Type-Options', ### 'x-envoy-decorator-operation' => 'X-Envoy-Decorator-Operation', ### 'x-envoy-upstream-service-time' => 'X-Envoy-Upstream-Service-Time', ### 'x-xss-protection' => 'X-XSS-Protection' ### }, ### age => '1', ### 'cache-control' => 'public, max-age=1, stale-while-revalidate=9', ### 'client-date' => 'Mon, 13 May 2024 02:39:51 GMT', ### 'client-peer' => '69.147.82.61:443', ### 'client-response-num' => 1, ### 'client-ssl-cert-issuer' => '/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA', ### 'client-ssl-cert-subject' => '/C=US/ST=New York/L=New York/O=Yahoo Holdings Inc./CN=*.fantasysports.yahoo.com', ### 'client-ssl-cipher' => 'ECDHE-ECDSA-AES128-GCM-SHA256', ### 'client-ssl-socket-class' => 'IO::Socket::SSL', ### 'client-ssl-version' => 'TLSv1_2', ### connection => 'close', ### 'content-length' => '5632', ### 'content-type' => 'application/json;charset=utf-8', ### date => 'Mon, 13 May 2024 02:39:50 GMT', ### 'expect-ct' => 'max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only"', ### 'referrer-policy' => 'no-referrer-when-downgrade', ### server => 'ATS', ### 'strict-transport-security' => 'max-age=31536000', ### vary => 'Origin,Accept-Encoding', ### 'x-content-type-options' => 'nosniff', ### 'x-envoy-decorator-operation' => 'finance-company-fundamentals-api--mtls-production-bf1.finance-k8s.svc.yahoo.local:4080/*', ### 'x-envoy-upstream-service-time' => '4', ### 'x-xss-protection' => '1; mode=block' ### }, 'HTTP::Headers' ), ### _msg => 'OK', ### _protocol => 'HTTP/1.1', ### _rc => '200', ### _request => bless( { ### _content => '', ### _headers => bless( { ### '::std_case' => { ### cookie => 'Cookie', ### cookie2 => 'Cookie2' ### }, ### cookie => 'A3=d=AQABBHZ9QWYCEBEJP9MT4BV5zWuqRpqMCgUFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAs4yv-F0SFOvAyLBgljlocw; A1=d=AQABBHZ9QWYCEBEJP9MT4BV5zWuqRpqMCgUFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAs4yv-F0SFOvAyLBgljlocw; A1S=d=AQABBHZ9QWYCEBEJP9MT4BV5zWuqRpqMCgUFEgEBAQHOQmZLZtxH0iMA_eMAAA&S=AQAAAs4yv-F0SFOvAyLBgljlocw', ### cookie2 => '$Version="1"', ### 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36' ### }, 'HTTP::Headers' ), ### _method => 'GET', ### _uri => bless( do{\(my $o = 'https://query2.finance.yahoo.com/v11/finance/quoteSummary/?symbols=SBIN.NS&crumb=iUvcCE5vGoU&modules=price,summaryDetail,defaultKeyStatistics')}, 'URI::https' ), ### _uri_... [truncated message content] |
From: Bruce S. <bs...@as...> - 2024-05-13 00:57:52
|
On 5/12/24 5:12 PM, Kalpesh Patel wrote: > But when I put it in a debug mode, only single security is passed and > called multiple time when more than one security’s price is looked up. > This seems contrary to what it should be doing in that it should bucket > it up and call it once with all the security for that specific module. > Is this what the behavior should be thus the for loop being of no use in > them or am I missing something that causes to call the modules multiple > times with one security at a time? This is because I am interested in > performance of it as well how many time a module needs to make a LWP or > equivalent calls. Any insight will be appreciated. If you look at the DEBUG output of DEBUG=1 ./Examples/stockdump.pl yahoo_json AAPL MSFT stockdump.pl and the Examples directory is retrieved when you clone the repo and part of the package in CPAN. you will see the "cookie_jar" and "crumb" values only once, not twice. The "method" "yahoo_json" is only called once, not for each symbol. I believe some of the test files are written such that the method is called for each symbol in the test. If your question is about why query the data source in the loop for each symbol, it's because most of the data sources, including some of those based on APIs, are capable of returning data for just one symbol at a time. Those who initially wrote modules around APIs that are capable of multiple symbols in a single query chose to follow that convention. Seeing that some sources have or had throttling (Alphavantage at once time was 6 per minute), I would bet that the huge majority of F::Q users do not care about the performance of how quickly stock data is returned. About AV's throttling, at one time if you asked for 10 symbols at once you would get a message indicating you exceeded the throttle limit. As each *symbol*, even in one query, counted as a separate hit against both your daily limit and per minute throttling. There are a few modules (see BSEIndia.pm) that make one URI fetch which retrieves a CSV files, then pulls data for each symbol from the CSV data. |
From: Kalpesh P. <kal...@us...> - 2024-05-13 00:12:46
|
From: Kalpesh Patel <kal...@us...> Sent: Sunday, May 12, 2024 2:38 PM To: 'fin...@so...' <fin...@so...> Subject: Question on the details of module Hi F::Q devel team: So I have been developing my own quote modules and I noticed that even though at the nutty-gritty level there is a loop to iterate over multiple securities, it always seems to be a single security that is passed. For example looking at the snippet of code for YahooJSON.pm : sub yahoo_json { my $quoter = shift; my @stocks = @_; my ( %info, $reply, $url); my ( $my_date, $amp_stocks, $symbol ); my $ua = $quoter->user_agent(); Further down I see a loop like this: ### [<now>] crumb : $crumb foreach my $stocks (@stocks) { # Issue 202 - Fix symbols with Ampersand # Can also be written as But when I put it in a debug mode, only single security is passed and called multiple time when more than one security's price is looked up. This seems contrary to what it should be doing in that it should bucket it up and call it once with all the security for that specific module. Is this what the behavior should be thus the for loop being of no use in them or am I missing something that causes to call the modules multiple times with one security at a time? This is because I am interested in performance of it as well how many time a module needs to make a LWP or equivalent calls. Any insight will be appreciated. Thanks. |
From: Bruce S. <bs...@as...> - 2024-04-16 15:34:35
|
> I started getting a new error message I've never seen before from > all of you queries for stock prices from YahooWeb. The message is This list is not for issue and bug reporting. There is already an issue opened on GitHub. |
From: Mike A. <mt...@um...> - 2024-04-16 07:13:29
|
I started getting a new error message I've never seen before from all of you queries for stock prices from YahooWeb. The message is 500 Header line too long (limit is 8192) This seems to be generated in Net/HTTP/Methods.pm around line 266. When I look at the URL being fetched (which is "https://finance.yahoo.com/quote/GE/history?p=GE") with Safari or curl it looks fine. Has anyone else seen this? Does anyone know what is causing it? This started happening today and nothing has knowingly changed on my machine since this last worked. I'm using Finance Quote 1.59 installed from Macports. Mike |