Getting Stock Prices on Raspberry Pi (using Python)

86,086

324

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

1 Person Made This Project!

Recommendations

  • Big and Small Contest

    Big and Small Contest
  • Game Design: Student Design Challenge

    Game Design: Student Design Challenge
  • For the Home Contest

    For the Home Contest

15 Comments

0
tonyD5
tonyD5

5 years ago

it worked

0
Overmind121
Overmind121

5 years ago

I have an error where it says, "KeyError: 'price'

0
BenH274
BenH274

Reply 5 years ago

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

1
Archer19
Archer19

6 years ago

how does one import the ystockquote module for python 3?

0
mmanuel2
mmanuel2

8 years ago on Introduction

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)

0
KingN7
KingN7

Reply 6 years ago

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

0
eplambec
eplambec

6 years ago

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
PiAlex
PiAlex

7 years ago

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

0
PiAlex
PiAlex

7 years ago

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

0
DwayneWei
DwayneWei

7 years ago on Introduction

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

0
NoobT
NoobT

8 years ago on Introduction

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

0
Jacoby Yarrow

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?

0
wilgubeast
wilgubeast

8 years ago on Introduction

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

0
Klappstuhl
Klappstuhl

8 years ago on Introduction

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

Nice instructable!