Getting Stock Prices on Raspberry Pi (using Python)

62,842

315

15

Introduction: Getting Stock Prices on Raspberry Pi (using Python)

About: Scott Kildall is an new media artist and researcher. He works at Autodesk, Pier 9 and is an artist-in-residence with the SETI Institute

I'm working on some new projects involving getting stock price data from the web, which will be tracked and displayed via my Raspberry Pi. I wanted to share the setup on how to do this using Python.

This short Instructable will show you how install a stock querying library to get (mostly) realtime stock prices using Yahoo Finance API. There's no GitHub involved!

You can also use this stock price-gathering engine on any Linux server.

Step 1: Setup Your Raspberry Pi

If you haven't done so already, you'll want to do a basic configuration of your Raspberry Pi. You'll need internet access for this software installation.

If you are just getting started, my Ultimate Raspberry Pi Configuration Guide will get up and running.

I prefer using ssh and am using Terminal on a Mac, but as long as you have internet connection, you'll be fine.

We will be using the command line for this tutorial on a Raspberry Pi.

Step 2: Run Updates and Upgrades

Whenever you add new libraries to your Raspberry Pi, you want to update and upgrade your software packages. We'll start with this step.

Type in

sudo apt-get update

then

sudo apt-get upgrade

choose Y to continue when asked

You'll see the usual scroll of Linux and will have to wait several minutes. Get up and do some stretching after each of these commands.

Step 3: Install Pip

pip is a package manager and installer for Python. We want to have this installed to get the appropriate Yahoo python stock libraries loaded onto the Pi.

Type in:

sudo apt-get install python-pip

choose Y to continue when asked

This will take a few minutes.

Step 4: Install Ystockquote

ystockquote is a Python module that will let you easily gather stock quotes from Yahoo. It does this reasonably quickly, a lot more so than BeautifulSoup, which would be another way to get stock data.

Type in:

sudo pip install ystockquote

Step 5: Write the Python Script

We will create a new directory and a Python script to get the stock data. Type in:

mkdir stockquote
cd stockquote
nano stockquote.py

This will bring up the nano editor.

Type in this following 4-line Python script

import ystockquote
tickerSymbol = 'ADSK'
allInfo = ystockquote.get_all(tickerSymbol)
print tickerSymbol + " Price = " + allInfo["price"]


cntrl-X, Y will save the .py file.

Step 6: Run It, Done!

Now run it.

python stockquote.py

You'll see the latest stock quote from Autodesk.

Buy! Buy! Buy!

I hope this was helpful!
Scott Kildall

For more on the my projects, you can find me here:
@kildall or www.kildall.com/blog

Share

Recommendations

  • Metalworking Contest

    Metalworking Contest
  • Fix It! Contest

    Fix It! Contest
  • Tiny Home Contest

    Tiny Home Contest

15 Discussions

0
None
tonyD5

9 months ago

it worked

I'm getting the same error, was a solution found?

how does one import the ystockquote module for python 3?

Script for multiple symbols:

import ystockquote

tickersymbols = ['ADSK','AAPL','ZNGA','GPRO','GOOG','EA']

for tickerSymbol in tickersymbols:

allInfo = ystockquote.get_all(tickerSymbol)

price = float(allInfo["price"])

change = float(allInfo["change"])

percent = change/(change + price)*100

peratio = allInfo["price_earnings_ratio"]

print tickerSymbol + "\t= %+3.2f (%+0.2f, %+0.2f%%) P/E %s" % (price, change, percent, peratio)

1 reply

Type error: can only concatenate list (not "str") to list

Everything works great. Can you suggest how to multiply the stock price by a set number (for example #of shares) to display a new number?

0
None
PiAlex

2 years ago

Is there a way to get it to also trade off the prices ?

0
None
PiAlex

2 years ago

Is there a way to get it to also trade off the prices ?

I would like to see the expansion of this to stock trading

Awesome little project! I am working on expanding on it. Thanks!!!

Hi.

How do i make a code box when making an instructable, because i am making an instructable and without it it looks really bad?

This project is clean, simple, and useful. I appreciate the integration with your RaspPi configuration 'ible, too.

Now to write a program to make the Raspberry Pi trade stock on the market on its own, haha!

Nice instructable!