LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 03-16-2019, 10:49 AM   #1
GPGAgent
Senior Member
 
Registered: Oct 2018
Location: Surrey UK
Distribution: Mint 20 xfce 64bit
Posts: 1,026
Blog Entries: 3

Rep: Reputation: 133Reputation: 133
Question LibreOffice Calc -Stock market (equities) price updates


Hi,

I'm looking for a method to update a portfolio of stocks (equities) I track in a LibreOffice Calc spreadsheet automatically, somewhat like the Googlefinance functions you can use on a Google Docs spreadsheet in Chrome, e.g. =GoogleFinance("LON.BP.","price") would return the value of a share in BP on the London stock exchange.
 
Old 03-16-2019, 06:50 PM   #2
Beryllos
Member
 
Registered: Apr 2013
Location: Massachusetts
Distribution: Debian
Posts: 529

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
I suppose you could use wget or curl to grab the data and your own script to put it into a csv file which can be opened in Calc. A nice little programming project.
 
Old 03-16-2019, 07:11 PM   #3
scasey
LQ Veteran
 
Registered: Feb 2013
Location: Tucson, AZ, USA
Distribution: CentOS 7.9.2009
Posts: 5,727

Rep: Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211
Excel has/had a "remote data" option which would pull data from a URL. Does Calc have the same ability?
Help menu can be your friend.
 
Old 03-16-2019, 07:14 PM   #4
äxl
Member
 
Registered: Feb 2013
Location: Germany, EU
Distribution: Debian (stable release)
Posts: 67

Rep: Reputation: 10
LibreOffice has =webservice (and =importxml) to call from JSON files. You will need links but I only know links to grab BTC exchange courses.

Another alternative is to "insert sheet" from online or from a file and then you can choose an online link. From that sheet you can export data to your original sheet.

Last edited by äxl; 03-16-2019 at 07:28 PM.
 
1 members found this post helpful.
Old 03-17-2019, 10:37 AM   #5
GPGAgent
Senior Member
 
Registered: Oct 2018
Location: Surrey UK
Distribution: Mint 20 xfce 64bit
Posts: 1,026

Original Poster
Blog Entries: 3

Rep: Reputation: 133Reputation: 133
Quote:
Originally Posted by äxl View Post
LibreOffice has =webservice (and =importxml) to call from JSON files. You will need links but I only know links to grab BTC exchange courses.

Another alternative is to "insert sheet" from online or from a file and then you can choose an online link. From that sheet you can export data to your original sheet.

I've seen this in my searches:
Code:
=NUMBERVALUE(WEBSERVICE("http://download.finance.yahoo.com/d/quotes?s="&U4&"&f=l1"),".")
where U4 cell contains LON:RDSB = i.e. Royal Dutch Sheel (B) shares on the London Stock exchange
But no luck getting it to work.

curl and wget look possible, need to see how they work first.
Cheers folks
 
Old 03-17-2019, 11:21 AM   #6
GPGAgent
Senior Member
 
Registered: Oct 2018
Location: Surrey UK
Distribution: Mint 20 xfce 64bit
Posts: 1,026

Original Poster
Blog Entries: 3

Rep: Reputation: 133Reputation: 133
Okay folks I've found this:
This page:
https://www.bloomberg.com/markets/chart/data/1D/ulvr:ln
returns this:

Code:
precision	2
prev_close	4193
data_values
The data I want in a cell is on line 2 second item: 4193

I've tried webservice:

Code:
=webservice"https://www.bloomberg.com/markets/chart/data/1D/ulvr:ln"
and get an error
Code:
err:509
This
Code:
=WEBSERVICE("https://www.bloomberg.com/markets/chart/data/1d/ulvr:ln")
doesn't error, but doesn't return anything.

It's getting close I think but I need help on the syntax, google hasn't found anything useful so far

Cheers
 
Old 03-17-2019, 12:00 PM   #7
scasey
LQ Veteran
 
Registered: Feb 2013
Location: Tucson, AZ, USA
Distribution: CentOS 7.9.2009
Posts: 5,727

Rep: Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211
This, perhaps? https://help.libreoffice.org/Calc/WEBSERVICE
 
Old 03-17-2019, 12:26 PM   #8
äxl
Member
 
Registered: Feb 2013
Location: Germany, EU
Distribution: Debian (stable release)
Posts: 67

Rep: Reputation: 10
Quote:
Originally Posted by GPGAgent View Post
I've seen this in my searches:
Code:
=NUMBERVALUE(WEBSERVICE("http://download.finance.yahoo.com/d/quotes?s="&U4&"&f=l1"),".")
where U4 cell contains LON:RDSB = i.e. Royal Dutch Sheel (B) shares on the London Stock exchange
But no luck getting it to work.

curl and wget look possible, need to see how they work first.
Cheers folks
My search engine says that download.finance.yahoo.com is down since Jan. 2018.
Maybe use https://finance.yahoo.com/quote/RDS-B?p=RDS-B ?

My VPN is blocked from Bloomeberg so can't test right now.
If curl/wget don't work maybe also try this:
https://help.libreoffice.org/Calc/In...Table_WebQuery
 
Old 03-17-2019, 12:35 PM   #9
GPGAgent
Senior Member
 
Registered: Oct 2018
Location: Surrey UK
Distribution: Mint 20 xfce 64bit
Posts: 1,026

Original Poster
Blog Entries: 3

Rep: Reputation: 133Reputation: 133
Quote:
Originally Posted by äxl View Post
My search engine says that download.finance.yahoo.com is down since Jan. 2018.
Maybe use https://finance.yahoo.com/quote/RDS-B?p=RDS-B ?

My VPN is blocked from Bloomeberg so can't test right now.
If curl/wget don't work maybe also try this:
https://help.libreoffice.org/Calc/In...Table_WebQuery
Yep that's right about Yahoo, I knew that.

Bloomberg works fine for me, I can see the share price, I just need to get it into a cell!
 
Old 06-09-2019, 07:25 AM   #10
olin000
LQ Newbie
 
Registered: Jun 2019
Posts: 2

Rep: Reputation: Disabled
You could use Alpha Vantage API and PARSEJSON function from LibreOffice GetRest Plugin to get a stock quote.
 
Old 06-09-2019, 07:25 AM   #11
olin000
LQ Newbie
 
Registered: Jun 2019
Posts: 2

Rep: Reputation: Disabled
The below method could work for you. Just verified.
(Seemingly free) registration at https://www.alphavantage.co/ is required, but you can test a demo quote of MSFT without it.

To get the last stock price you can use the link:
https://www.alphavantage.co/query?fu...FT&apikey=demo

Some other data series (like historical price quotes) are available as well. Refer to the documentation https://www.alphavantage.co/documentation/.

For parsing the JSON output you can use LibreOffice GetRest Plugin from https://extensions.libreoffice.org/e...getrest-plugin (https://github.com/DmytroBazunov/Lib...eGetRestPlugin). The direct download link is http://dl.bintray.com/binnarywolf/Li...RestPlugin.oxt.

For me the dot (".") in the node name e.g. "05. price" was causing an error, so I replaced it with a simple substitute.

At the end the final formula looks like this:
=+PARSEJSON(SUBSTITUTE(PARSEJSON(WEBSERVICE("https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=MSFT&apikey=demo"),"Global Quote"),"05. price","05 price"),"05 price")

Feel free to suggest a more elegant way, but the above should work.


BTW when testing Bloomberg (e.g. https://www.bloomberg.com/markets/ap...rice/AAPL%3AUS) it seems to work when accessed from a browser, but when the link is queried with LibreOffice WEBSERVICE then the "Are you a robot?"/CAPTCHA protection is being activated and displayed in the cell content as a result.

Cheers.
 
Old 11-24-2020, 11:36 AM   #12
ademar111190
LQ Newbie
 
Registered: Nov 2020
Posts: 2

Rep: Reputation: Disabled
Minor improvement

Just find a way to do the thing without pluging, besides the poor performance, it may be enough for an user use case.

Code:
=NUMBERVALUE(
  REGEX(
    REGEX(
      SUBSTITUTE(
        WEBSERVICE(
          "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol="& <<YOUR TICKET>>  &"&apikey="& << YOUR API KEY >>
        ),
        $B$2,
        "*"
      ),
      ".*price"": """,
      "",
      "g"
    ),
    """,.*",
    "",
    "g"
  ),
  "."
)
Ghe $B$2 is a cell with a new line "\n" I could not find how to represent that character inside a string.
 
Old 12-29-2020, 09:56 AM   #13
cmw
LQ Newbie
 
Registered: Dec 2020
Posts: 2

Rep: Reputation: Disabled
I have a Python extension for LibreOffice Calc that may do what you need: https://github.com/cmallwitz/Financials-Extension
 
Old 12-30-2020, 11:38 AM   #14
Steve R.
Member
 
Registered: Jun 2009
Location: Morehead City, NC
Distribution: Mint 20.3
Posts: 521

Rep: Reputation: 98
This may be a piece of useless information considering that Yahoo appears not to be available. I was unable to figure out how the code worked. The only real reason for posting the link below is that others may find elements of the code useful

Bash script for Yahoo Finance historical data.

I've been curious concerning how to download stock prices. Since I am able to download stock prices with KMyMoney, I have not put much effort into developing a bash script to download stock prices.
 
Old 12-30-2020, 01:16 PM   #15
cmw
LQ Newbie
 
Registered: Dec 2020
Posts: 2

Rep: Reputation: Disabled
Quote:
Originally Posted by Steve R. View Post
This may be a piece of useless information considering that Yahoo appears not to be available. I was unable to figure out how the code worked. The only real reason for posting the link below is that others may find elements of the code useful

Bash script for Yahoo Finance historical data.

I've been curious concerning how to download stock prices. Since I am able to download stock prices with KMyMoney, I have not put much effort into developing a bash script to download stock prices.
Not sure what your question is - do you have a specific question about the Python code or the accompanying README? Have you tried the extension from Calc?
 
  


Reply

Tags
calc, libreoffice



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Command Line Stock price Program/Script wanted dmchess Linux - Software 9 12-10-2017 12:38 PM
CLI command to pull Stock Price and volume from Google dmchess Linux - Desktop 15 12-10-2017 10:14 AM
Stock market "find the best price model" program cigarstub Programming 1 01-07-2007 08:24 AM
Processor Upgrade (Pentium M) VS. Price: Which has the best price/tech ratio? hanzj Linux - Laptop and Netbook 8 03-22-2005 06:18 PM
Upgrading stock 2.4.22 kernel to 2.5.x then to 2.6.6 with existing stock .config file Kyl3 Slackware 8 06-09-2004 05:34 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 01:14 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration