OPA project demonstration

Julien Hervé

September 26, 2023

Context

The initial situation

Fill in the blanks

Final architecture

Profit !

Before we start …

Interactivity (1)

Parts of the demo can be run in your browser 🧑‍💻

Interactivity (2)

While we are at it..

  • Choose a company within this list :
    • Google/Alphabet [GOOG]
    • Facebook/Meta [META]
    • Nvidia [NVDA]
    • Pepsi [PEP]
    • Adobe [ADBE]
    • Netflix [NFLX]
    • Tesla [TSLA]
  • Vote in comments ! 🗳️

Some concepts (1)

  • ticker / symbol
    • a unique short identifer for a company stock
    • AAPL => Apple, MSFT => Microsoft, META => Meta

Some concepts (2)

  • OHLC :
    • “open”, “high”, “low”, “close”
    • characterizes the volatility of a given stock
    • in simple cases, only the “close” value
OHLC graph

Some concepts (3)

  • volume :
    • the number of stock values exchanged
    • characterizes the activity on a given stock
volume graph

The external API

What we start with

Choosing the data provider

Reading the external API over the network

External API

  • Slow
  • API is limited (~250 hits/day)
  • No custom querying (e.g. several tickers)

Caching the data

Before

Adding a local cache

Adding a local cache

Data reader and local storage

  • Data is retrieved once and for all
  • No more API limits
  • Data can be queried in powerful ways

Adding an HTTP API

Before

Adding the API

Adding the API

[connect to http://63.35.39.206:8000/docs]

HTTP API

  • Allows access to third-parties
  • Extensible at will
  • Secure

Data dashboard

Inspiration (1)

Apple trending line

Inspiration (2)

Apple Candlesticks graph

[connect to http://63.35.39.206:8050/]

Wait !

  • 3 companies aren’t that much to analyse the market
  • What if we want to add new companies ?
  • Let’s check the votes !

Thanks for your attention !

Extras

Tests

  • Unit (module-level)
  • Integration (with the database)
  • Functional (e.g. checks that the API works)

Interactive shell

Very useful for development and quick debugging !